cmake_minimum_required(VERSION 3.5) project(another-gl LANGUAGES C CXX) set(CXX_STANDARD 20) set(OpenGL_GL_PREFERENCE GLVND) find_package(glm REQUIRED) find_package(spdlog REQUIRED) find_package(glfw3 REQUIRED) find_package(OpenGL REQUIRED) add_executable(another-gl main.cpp glad.c renderer.cpp shader.cpp callbacks.cpp) target_include_directories(another-gl PUBLIC ${glm_INCLUDE_DIRS} ${glfw3_INCLUDE_DIRS} ${spdlog_INCLUDE_DIRS} ${CMAKE_SOURCE_DIR}/include) target_link_libraries(another-gl glfw glm::glm spdlog::spdlog OpenGL::GL) add_custom_target(copy-files-vert ALL COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/vert.glsl ${CMAKE_CURRENT_BINARY_DIR}) add_custom_target(copy-files-frag ALL COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/frag.glsl ${CMAKE_CURRENT_BINARY_DIR})