Files
sonus/tests/CMakeLists.txt
T
khodowany b58664d5f4
publish / publish (push) Successful in 14m29s
Cleanup
2026-09-10 09:22:15 -05:00

31 lines
921 B
CMake

get_target_property(sonus_interface_libraries sonus INTERFACE_LINK_LIBRARIES)
if(sonus_interface_libraries AND sonus_interface_libraries MATCHES "miniaudio|OpenSSL|SQLite|raylib")
message(FATAL_ERROR "sonus::sonus must not expose private audio or unrelated third-party libraries in its public link interface")
endif()
add_executable(sonus-test
test.cpp
render_snapshot.cpp
control.cpp
)
find_package(Threads REQUIRED)
target_include_directories(sonus-test PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
${PROJECT_SOURCE_DIR}/src
)
target_link_libraries(sonus-test PRIVATE
sonus::sonus
Threads::Threads
)
target_compile_features(sonus-test PRIVATE cxx_std_23)
add_test(NAME sonus COMMAND sonus-test)
set_tests_properties(sonus PROPERTIES TIMEOUT 20)
add_custom_target(check
COMMAND ${CMAKE_CTEST_COMMAND}
--test-dir ${CMAKE_BINARY_DIR}
-R ^sonus$
--output-on-failure
--timeout 20
USES_TERMINAL
)