minimal!
This commit is contained in:
parent
ee6cba4be7
commit
3025671f4f
4 changed files with 13 additions and 16 deletions
|
|
@ -1,20 +1,16 @@
|
|||
cmake_minimum_required(VERSION 3.29.6)
|
||||
|
||||
set(CMAKE_TOOLCHAIN_FILE "$ENV{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake")
|
||||
set(CMAKE_CXX_COMPILER clang++)
|
||||
set(CMAKE_CXX_STANDARD 20)
|
||||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
|
||||
|
||||
set(GLFW_BUILD_WAYLAND ON)
|
||||
set(GLFW_PLATFORM GLFW_PLATFORM_WAYLAND)
|
||||
|
||||
project(HelloWorld CXX)
|
||||
|
||||
find_package(fmt CONFIG REQUIRED)
|
||||
find_package(glfw3 CONFIG REQUIRED)
|
||||
find_package(glad CONFIG REQUIRED)
|
||||
find_package(OpenGL REQUIRED)
|
||||
|
||||
add_executable(main src/main.cpp)
|
||||
|
||||
target_link_libraries(main PRIVATE fmt::fmt glfw glad::glad)
|
||||
target_link_libraries(main PRIVATE fmt::fmt glfw OpenGL)
|
||||
|
|
|
|||
|
|
@ -7,8 +7,8 @@ pkgs.llvmPackages.stdenv.mkDerivation {
|
|||
buildInputs = with pkgs.buildPackages; [
|
||||
fmt
|
||||
glfw-wayland
|
||||
libglvnd
|
||||
libglvnd.dev
|
||||
libGL
|
||||
libGL.dev
|
||||
];
|
||||
# nativeBuildInputs is usually what you want -- tools you need to run
|
||||
nativeBuildInputs = with pkgs.buildPackages; [
|
||||
|
|
|
|||
14
src/main.cpp
14
src/main.cpp
|
|
@ -1,29 +1,33 @@
|
|||
#include <fmt/core.h>
|
||||
#include <glad/glad.h>
|
||||
#include <GLFW/glfw3.h>
|
||||
#include <fmt/core.h>
|
||||
|
||||
int main() {
|
||||
|
||||
int supported = glfwPlatformSupported(GLFW_PLATFORM_WAYLAND);
|
||||
fmt::print("Wayland support: {}\n", supported == GLFW_TRUE);
|
||||
|
||||
if (!glfwInit()) {
|
||||
const char *description;
|
||||
int code = glfwGetError(&description);
|
||||
fmt::print("GLFW failed to init! {}", code);
|
||||
fmt::print("GLFW failed to init! {} - {}\n", code, description);
|
||||
return -1;
|
||||
}
|
||||
GLFWwindow *window =
|
||||
glfwCreateWindow(640, 480, "HELLO WORLD!", glfwGetPrimaryMonitor(), NULL);
|
||||
glfwCreateWindow(640, 480, "GLFW", glfwGetPrimaryMonitor(), NULL);
|
||||
|
||||
if (!window) {
|
||||
glfwTerminate();
|
||||
fmt::print("Window or OpenGL context creation failed");
|
||||
fmt::print("Window or OpenGL context creation failed\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
glfwMakeContextCurrent(window);
|
||||
glClearColor(0.4f, 0.3f, 0.4f, 0.0f);
|
||||
|
||||
/* Loop until the user closes the window */
|
||||
while (!glfwWindowShouldClose(window)) {
|
||||
/* Render here */
|
||||
// glClear(GL_COLOR_BUFFER_BIT);
|
||||
|
||||
/* Swap front and back buffers */
|
||||
glfwSwapBuffers(window);
|
||||
|
|
|
|||
|
|
@ -1,3 +0,0 @@
|
|||
{
|
||||
"dependencies": ["glad"]
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue