2025-01-23 11:55:19 +01:00
|
|
|
cmake_minimum_required(VERSION 3.7...3.23)
|
|
|
|
|
if(${CMAKE_VERSION} VERSION_LESS 3.12)
|
|
|
|
|
cmake_policy(VERSION ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION})
|
|
|
|
|
endif()
|
|
|
|
|
set(CMAKE_CXX_STANDARD 23)
|
|
|
|
|
# Handle superbuild first
|
|
|
|
|
option (USE_SUPERBUILD "Whether or not a superbuild should be invoked" ON)
|
|
|
|
|
|
|
|
|
|
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 12:33:39 +01:00
|
|
|
set(CMAKE_TOOLCHAIN_FILE ${CMAKE_CURRENT_SOURCE_DIR}/vcpkg/scripts/buildsystems/vcpkg.cmake)
|
|
|
|
|
|
|
|
|
|
project(RayTracer)
|
|
|
|
|
|
|
|
|
|
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/build)
|
|
|
|
|
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/build)
|
|
|
|
|
#Workaround for vs, because it places artifacts into an additional subfolder
|
|
|
|
|
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG ${CMAKE_CURRENT_SOURCE_DIR}/build)
|
|
|
|
|
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE ${CMAKE_CURRENT_SOURCE_DIR}/build)
|
|
|
|
|
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELWITHDEBINFO ${CMAKE_CURRENT_SOURCE_DIR}/build)
|
|
|
|
|
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_MINSIZEREL ${CMAKE_CURRENT_SOURCE_DIR}/build)
|
|
|
|
|
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_CURRENT_SOURCE_DIR}/build)
|
|
|
|
|
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_CURRENT_SOURCE_DIR}/build)
|
|
|
|
|
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO ${CMAKE_CURRENT_SOURCE_DIR}/build)
|
|
|
|
|
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_MINSIZEREL ${CMAKE_CURRENT_SOURCE_DIR}/build)
|
|
|
|
|
|
|
|
|
|
find_package(Assimp CONFIG REQUIRED)
|
|
|
|
|
|
|
|
|
|
add_executable(RayTracer "")
|
|
|
|
|
|
|
|
|
|
add_subdirectory(src/)
|