2025-01-24 21:54:46 +01:00
|
|
|
cmake_minimum_required(VERSION 3.27)
|
2025-01-23 11:55:19 +01:00
|
|
|
set(CMAKE_CXX_STANDARD 23)
|
|
|
|
|
|
|
|
|
|
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
|
|
|
|
set(CMAKE_COMPILE_WARNING_AS_ERROR OFF)
|
|
|
|
|
set(CMAKE_INSTALL_MESSAGE LAZY)
|
|
|
|
|
set(BUILD_SHARED_LIBS OFF)
|
|
|
|
|
set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
|
|
|
|
|
|
2025-01-23 15:26:32 +01:00
|
|
|
set(CMAKE_TOOLCHAIN_FILE ${CMAKE_CURRENT_SOURCE_DIR}/external/vcpkg/scripts/buildsystems/vcpkg.cmake)
|
2025-01-23 12:33:39 +01:00
|
|
|
|
|
|
|
|
project(RayTracer)
|
|
|
|
|
|
2025-01-24 00:19:11 +01:00
|
|
|
find_package(glew CONFIG REQUIRED)
|
2025-01-23 15:31:24 +01:00
|
|
|
find_package(assimp CONFIG REQUIRED)
|
2025-01-23 15:26:32 +01:00
|
|
|
find_package(glfw3 CONFIG REQUIRED)
|
|
|
|
|
find_package(glm CONFIG REQUIRED)
|
|
|
|
|
find_package(Ktx CONFIG REQUIRED)
|
2025-01-24 23:20:26 +01:00
|
|
|
find_package(imgui CONFIG REQUIRED)
|
2025-01-23 12:33:39 +01:00
|
|
|
|
|
|
|
|
add_executable(RayTracer "")
|
2025-01-23 17:19:53 +01:00
|
|
|
target_include_directories(RayTracer PUBLIC src/)
|
2025-01-23 15:31:24 +01:00
|
|
|
target_link_libraries(RayTracer PUBLIC assimp::assimp)
|
2025-01-23 15:26:32 +01:00
|
|
|
target_link_libraries(RayTracer PUBLIC glfw)
|
2025-01-24 23:20:26 +01:00
|
|
|
target_link_libraries(RayTracer PUBLIC imgui::imgui)
|
2025-01-24 09:50:51 +01:00
|
|
|
target_link_libraries(RayTracer PUBLIC GLEW::GLEW)
|
2025-01-23 15:26:32 +01:00
|
|
|
target_link_libraries(RayTracer PUBLIC glm::glm)
|
|
|
|
|
target_link_libraries(RayTracer PUBLIC KTX::ktx)
|
2025-01-26 23:00:13 +01:00
|
|
|
if(WIN32)
|
|
|
|
|
target_include_directories(RayTracer PUBLIC ${VCPKG_INSTALLED_DIR}/x64-windows/include)
|
2025-01-25 18:05:47 +01:00
|
|
|
target_link_libraries(RayTracer PUBLIC ${VCPKG_INSTALLED_DIR}/x64-windows/lib/slang.lib)
|
2025-01-26 23:00:13 +01:00
|
|
|
elseif(APPLE)
|
|
|
|
|
target_include_directories(RayTracer PUBLIC ${VCPKG_INSTALLED_DIR}/arm64-osx/include)
|
2026-07-09 14:11:51 +02:00
|
|
|
SET(CMAKE_OSX_DEPLOYMENT_TARGET 26.0)
|
2025-02-25 05:10:35 +01:00
|
|
|
target_link_libraries(RayTracer PUBLIC
|
2025-02-27 20:25:53 +09:00
|
|
|
"-framework Metal"
|
|
|
|
|
"-framework MetalKit"
|
|
|
|
|
"-framework AppKit"
|
|
|
|
|
"-framework Foundation"
|
|
|
|
|
"-framework QuartzCore"
|
2025-02-25 05:10:35 +01:00
|
|
|
)
|
|
|
|
|
|
2025-01-26 23:00:13 +01:00
|
|
|
endif()
|
2025-01-23 12:33:39 +01:00
|
|
|
add_subdirectory(src/)
|