52 lines
1.1 KiB
CMake
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
|
|
)
|