Files
sonus/tests/CMakeLists.txt
T
khodowany 8bedccaa02
publish / publish (push) Successful in 14m12s
Package
2026-09-30 19:46:20 -05:00

32 lines
936 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
sequence.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
)