Files
Destrum/tests/CMakeLists.txt
T
2026-10-30 10:16:17 +01:00

48 lines
1.9 KiB
CMake

add_executable(destrum_tests
main.cpp
TestUtils.h
core_tests.cpp
serialization_tests.cpp
physics_tests.cpp
assets_tests.cpp
graphics_tests.cpp
ui_tests.cpp
gameplay_tests.cpp
editor_tests.cpp
audio_tests.cpp
jobs_tests.cpp
cooker_tests.cpp
${CMAKE_SOURCE_DIR}/lightkeeper/src/components/Activatable.cpp
${CMAKE_SOURCE_DIR}/lightkeeper/src/components/Interactable.cpp
${CMAKE_SOURCE_DIR}/lightkeeper/src/components/InteractableButton.cpp
${CMAKE_SOURCE_DIR}/lightkeeper/src/components/WinGoal.cpp
${CMAKE_SOURCE_DIR}/lightkeeper/src/components/Checkpoint.cpp
${CMAKE_SOURCE_DIR}/lightkeeper/src/components/PlayerRespawn.cpp
${CMAKE_SOURCE_DIR}/lightkeeper/src/components/FirstPersonController.cpp
${CMAKE_SOURCE_DIR}/lightkeeper/src/components/CrosshairUI.cpp
${CMAKE_SOURCE_DIR}/lightkeeper/src/components/WinScreenUI.cpp
)
set_target_properties(destrum_tests PROPERTIES
CXX_STANDARD 20
CXX_STANDARD_REQUIRED ON
CXX_EXTENSIONS OFF
)
target_compile_definitions(destrum_tests PRIVATE
SDL_MAIN_HANDLED
DESTRUM_ENGINE_ASSETS_SRC_DIR="${CMAKE_SOURCE_DIR}/destrum/assets_src"
LIGHTKEEPER_ASSETS_SRC_DIR="${CMAKE_SOURCE_DIR}/lightkeeper/assets_src"
DESTRUM_THECHEF_PATH="$<TARGET_FILE:TheChef>"
)
add_dependencies(destrum_tests TheChef)
target_include_directories(destrum_tests PRIVATE "${CMAKE_SOURCE_DIR}/lightkeeper/include")
target_link_libraries(destrum_tests PRIVATE destrum::destrum destrum::editor)
destrum_enable_warnings(destrum_tests)
destrum_copy_runtime_dlls(destrum_tests)
foreach(suite core serialization physics assets graphics ui gameplay editor audio jobs cooker)
add_test(NAME destrum_tests.${suite} COMMAND destrum_tests ${suite})
endforeach()