Files
sonus/tests/CMakeLists.txt
khodowany 3aa3a67e5d
publish / publish (push) Successful in 13m11s
Playback
2026-10-06 00:04:22 -05:00

33 lines
952 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
transport.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
)