# Create a test executable for qutex
add_executable(qutex_tests smocore/qutex_tests.cpp)

# Link against Google Test and the smocore library
target_link_libraries(qutex_tests
    gtest_main
    smocore
    ${Boost_LIBRARIES}
    ${DL_LIBRARY}
)

# Ensure Google Test is built before our test executable
add_dependencies(qutex_tests gtest_main)

# Add the test to CTest
add_test(NAME qutex_tests COMMAND qutex_tests)

# Create a test executable for StagingBuffer
add_executable(stagingBuffer_tests commonLibs/attachmentSupport/stagingBuffer_tests.cpp)

# Link against Google Test and the attachmentSupport library
target_link_libraries(stagingBuffer_tests
    gtest_main
    attachmentSupport
    ${Boost_LIBRARIES}
)

# Ensure Google Test is built before our test executable
add_dependencies(stagingBuffer_tests gtest_main)

# Add the test to CTest
add_test(NAME stagingBuffer_tests COMMAND stagingBuffer_tests)

# Create a test executable for NonViralTaskNursery
add_executable(nonViralTaskNursery_tests
    libspinscale/nonViralTaskNursery_tests.cpp)

target_link_libraries(nonViralTaskNursery_tests
    gtest_main
    spinscale
    ${Boost_LIBRARIES}
)

add_dependencies(nonViralTaskNursery_tests gtest_main)

add_test(NAME nonViralTaskNursery_tests COMMAND nonViralTaskNursery_tests)
