terrain_rendering/CMakeLists.txt

64 lines
1.6 KiB
CMake

cmake_minimum_required(VERSION 3.19)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
project(Main)
file(GLOB SOURCES src/*.h src/*.cpp src/*.c)
add_executable(Main ${SOURCES})
target_include_directories(Main PUBLIC include src)
# # Add ImGui sources
# file(GLOB IMGUI_SOURCES
# ${CMAKE_CURRENT_LIST_DIR}/include/imgui/*.cpp
# )
# file(GLOB TINY_GLTF_SOURCES ${CMAKE_CURRENT_LIST_DIR}/include/tiny_gltf/*.cc)
# target_sources(Main PRIVATE ${IMGUI_SOURCES})
# target_sources(Main PRIVATE ${TINY_GLTF_SOURCES})
find_package(glfw3 3.4 REQUIRED)
set(OpenGL_GL_PREFERENCE GLVND)
find_package(OpenGL REQUIRED)
find_package(glm REQUIRED)
# # copy shader files
# file(GLOB GLSL_SOURCE_FILES
# shaders/*.frag
# shaders/*.vert
# )
# add_custom_target(Shaders DEPENDS ${GLSL_SOURCE_FILES})
# add_dependencies(Main Shaders)
# add_custom_command(TARGET Shaders POST_BUILD
# COMMAND ${CMAKE_COMMAND} -E copy_directory
# "$<TARGET_PROPERTY:Main,SOURCE_DIR>/shaders"
# "$<TARGET_PROPERTY:Main,BINARY_DIR>/$<CONFIGURATION>/shaders"
# )
# # copy assets
# file(GLOB ASSET_FILES assets/*)
# add_custom_target(
# Assets
# DEPENDS ${ASSET_FILES}
# )
# add_dependencies(Main Assets)
# add_custom_command(TARGET Assets POST_BUILD
# COMMAND ${CMAKE_COMMAND} -E copy_directory
# "$<TARGET_PROPERTY:Main,SOURCE_DIR>/assets"
# "$<TARGET_PROPERTY:Main,BINARY_DIR>/$<CONFIGURATION>/assets"
# )
if(UNIX)
set(GLFW3_LIBRARY glfw)
endif()
include_directories(${GLFW3_INCLUDE_DIR} ${GLM_INCLUDE_DIR})
target_link_libraries(Main ${GLFW3_LIBRARY} OpenGL::GL)