mirror of
https://github.com/libSDL2pp/libSDL2pp.git
synced 2025-08-03 19:05:59 -04:00
63 lines
1.4 KiB
CMake
63 lines
1.4 KiB
CMake
# simple command-line tests
|
|
set(CLI_TESTS
|
|
test_color
|
|
test_color_constexpr
|
|
test_error
|
|
test_optional
|
|
test_pointrect
|
|
test_pointrect_constexpr
|
|
test_rwops
|
|
test_wav
|
|
)
|
|
|
|
# live tests require X11 display and/or audio output
|
|
set(LIVE_TESTS
|
|
live_audiodevice
|
|
live_rendering
|
|
live_window
|
|
)
|
|
|
|
if(SDL2PP_WITH_MIXER)
|
|
set(LIVE_TESTS ${LIVE_TESTS}
|
|
live_mixer
|
|
)
|
|
endif()
|
|
|
|
if(SDL2PP_WITH_IMAGE)
|
|
set(CLI_TESTS ${CLI_TESTS}
|
|
test_surface
|
|
)
|
|
endif()
|
|
|
|
if(SDL2PP_WITH_TTF)
|
|
set(CLI_TESTS ${CLI_TESTS}
|
|
test_font
|
|
)
|
|
endif()
|
|
|
|
add_definitions(-DTESTDATA_DIR="${PROJECT_SOURCE_DIR}/testdata")
|
|
|
|
# header tests: these just include specific headers to check if
|
|
# they are compilable (e.g., includes and forward declarations are
|
|
# complete and do not require extra includes)
|
|
foreach(HEADER ${LIBRARY_HEADERS})
|
|
string(REGEX REPLACE [^a-zA-Z0-9] _ HEADER_NORMALIZED ${HEADER})
|
|
configure_file(header_test.cc.in ${HEADER_NORMALIZED}_test.cc)
|
|
add_executable(${HEADER_NORMALIZED}_test ${HEADER_NORMALIZED}_test.cc)
|
|
target_link_libraries(${HEADER_NORMALIZED}_test SDL2pp::SDL2pp)
|
|
endforeach()
|
|
|
|
foreach(TEST ${CLI_TESTS})
|
|
add_executable(${TEST} ${TEST}.cc)
|
|
target_link_libraries(${TEST} SDL2pp::SDL2pp)
|
|
add_test(${TEST} ${TEST})
|
|
endforeach()
|
|
|
|
foreach(TEST ${LIVE_TESTS})
|
|
add_executable(${TEST} ${TEST}.cc)
|
|
target_link_libraries(${TEST} SDL2pp::SDL2pp)
|
|
if(SDL2PP_ENABLE_LIVE_TESTS)
|
|
add_test(${TEST} ${TEST})
|
|
endif()
|
|
endforeach()
|