1
0
mirror of https://github.com/rwengine/openrw.git synced 2024-11-22 18:32:44 +01:00
openrw/tests/CMakeLists.txt

111 lines
2.2 KiB
CMake
Raw Normal View History

##############################################################################
# Unit Tests
##############################################################################
find_package(Boost COMPONENTS filesystem unit_test_framework system REQUIRED)
set(TESTS
Animation
Archive
Buoyancy
Character
Chase
Config
Cutscene
Data
FileIndex
GameData
GameWorld
Input
Items
Lifetime
LoaderDFF
LoaderIPL
Logger
Menu
Object
ObjectData
Pickup
Renderer
RWBStream
SaveGame
ScriptMachine
State
Text
TrafficDirector
Vehicle
VisualFX
Weapon
World
ZoneData
)
set(TEST_SOURCES
2017-10-26 01:03:15 +02:00
main.cpp
test_Globals.cpp
test_Globals.hpp
2017-10-26 01:03:15 +02:00
# Hack in rwgame sources until there's a per-target test suite
"${CMAKE_SOURCE_DIR}/rwgame/GameConfig.cpp"
"${CMAKE_SOURCE_DIR}/rwgame/GameWindow.cpp"
"${CMAKE_SOURCE_DIR}/rwgame/GameInput.cpp"
)
2013-09-11 13:10:42 +02:00
foreach(TEST ${TESTS})
list(APPEND TEST_SOURCES "test_${TEST}.cpp")
endforeach()
add_executable(run_tests
${TEST_SOURCES}
)
2013-09-11 13:10:42 +02:00
target_compile_definitions(run_tests
PRIVATE
"RW_TEST_WITH_DATA=$<NOT:$<BOOL:${TESTS_NODATA}>>"
"BOOST_TEST_DYN_LINK"
)
2013-09-11 13:10:42 +02:00
target_include_directories(run_tests
SYSTEM
PRIVATE
${Boost_INCLUDE_DIRS}
)
target_include_directories(run_tests
PRIVATE
2017-10-26 01:03:15 +02:00
"${CMAKE_SOURCE_DIR}/tests"
"${CMAKE_SOURCE_DIR}/rwgame"
)
2013-09-11 13:10:42 +02:00
target_link_libraries(run_tests
2017-10-26 01:03:15 +02:00
PRIVATE
rwengine
2017-10-26 01:47:29 +02:00
SDL2::SDL2
${Boost_FILESYSTEM_LIBRARY}
2017-10-26 01:03:15 +02:00
${Boost_UNIT_TEST_FRAMEWORK_LIBRARY}
${Boost_SYSTEM_LIBRARY}
2017-10-26 01:03:15 +02:00
)
2013-09-11 13:10:42 +02:00
openrw_target_apply_options(TARGET run_tests)
2017-11-03 23:59:02 +01:00
if(SEPARATE_TEST_SUITES)
foreach(TEST ${TESTS})
add_test(
NAME "${TEST}"
COMMAND "$<TARGET_FILE:run_tests>" "-t" "${TEST}Tests"
)
set_tests_properties("${TEST}"
PROPERTIES
TIMEOUT 300
)
endforeach()
else()
add_test(NAME UnitTests
COMMAND "$<TARGET_FILE:run_tests>"
)
set_tests_properties(UnitTests
PROPERTIES
TIMEOUT 300
)
endif()