Files
ouros/CMakeLists.txt
2026-04-12 14:18:55 -05:00

52 lines
1.1 KiB
CMake

cmake_minimum_required(VERSION 3.10)
project(ouros)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
if(MSVC)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /O2 /Oi /Ot /GT")
elseif(LINUX)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++20 -O3")
endif()
set(CMAKE_INSTALL_PREFIX ${PROJECT_SOURCE_DIR})
#add_subdirectory(src)
set(Vulkan_INCLUDE_DIR "${VULKAN_PATH}/Include")
set(Vulkan_LIBRARY "${VULKAN_PATH}/Lib/vulkan-1.lib")
find_package(Vulkan REQUIRED)
set(SDL3_DIR "${VULKAN_PATH}/cmake")
find_package(SDL3 REQUIRED)
# TODO: cascade cmakelists.txt
add_executable(ouros
src/main.cpp
src/app/App.cpp
src/app/Window.cpp
src/engine/Engine.cpp
)
target_include_directories(ouros PRIVATE
"${CMAKE_CURRENT_SOURCE_DIR}/"
"${CMAKE_CURRENT_SOURCE_DIR}/src"
)
if(WIN32)
set(SDL3_DLL "${VULKAN_PATH}/Bin/SDL3.dll")
add_custom_command(TARGET ouros POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different
"${SDL3_DLL}"
$<TARGET_FILE_DIR:ouros>
)
endif()
target_link_libraries(ouros PRIVATE
SDL3::SDL3
Vulkan::Vulkan
)