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) # TODO: use SDL in the vulkanSDK if available set(SDL3_DIR "${SDL3_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 "${SDL3_PATH}/lib/x64/SDL3.dll") # assuming youre not arm or 32 bit add_custom_command(TARGET ouros POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different "${SDL3_DLL}" $ ) endif() target_link_libraries(ouros PRIVATE SDL3::SDL3 Vulkan::Vulkan )