1
Fork 0
raytracer/CMakeLists.txt
Joshua Goins 6098f0dcca Port to C++ modules
Still incomplete, but now builds in modules.
2024-09-26 13:49:16 +02:00

31 lines
925 B
CMake

cmake_minimum_required(VERSION 3.17)
project(raytracer)
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
find_package(GLM REQUIRED)
find_package(SDL2 REQUIRED)
add_subdirectory(extern)
add_executable(raytracer)
target_sources(raytracer PRIVATE
src/main.cpp
PRIVATE FILE_SET CXX_MODULES FILES
src/aabb.cpp
src/camera.cpp
src/glm.cpp
src/image.cpp
src/intersections.cpp
src/lighting.cpp
src/octree.cpp
src/ray.cpp
src/scene.cpp)
target_include_directories(raytracer PUBLIC include PRIVATE ${GLM_INCLUDE_DIR})
target_link_libraries(raytracer PUBLIC stb SDL2::Main imgui glad tinyobjloader)
set_target_properties(raytracer PROPERTIES
CXX_STANDARD 23
CXX_STANDARD_REQUIRED YES
CXX_EXTENSIONS NO
CXX_SCAN_FOR_MODULES ON # For main.cpp, which is not in the module set technically
)