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 ${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" ) 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) foreach(suite core serialization physics assets graphics ui gameplay editor) add_test(NAME destrum_tests.${suite} COMMAND destrum_tests ${suite}) endforeach()