# Quaternion tests
add_executable(quaternion-tests quaternion-tests.cpp)
 
target_link_libraries(quaternion-tests 
    PRIVATE 
    quaternion
    Catch2::Catch2WithMain
)

# matrix tests
add_executable(matrix-tests matrix-tests.cpp)
 
target_link_libraries(matrix-tests 
    PRIVATE 
    matrix
    qr
    Catch2::Catch2WithMain
)

# matrix timing tests
add_executable(matrix-timing-tests matrix-timing-tests.cpp)
 
target_link_libraries(matrix-timing-tests 
    PRIVATE 
    matrix
    Catch2::Catch2WithMain
)

# Vector 3D Tests
add_executable(vector-3d-tests vector-tests.cpp)

target_link_libraries(vector-3d-tests
    PRIVATE
    vector-3d
    Catch2::Catch2WithMain
)

# SVD building block tests
add_executable(svd-build-blocks-tests svd-build-blocks-tests.cpp)

target_link_libraries(svd-build-blocks-tests
    PRIVATE
    matrix
    svd
    Catch2::Catch2WithMain
)

# SVD integration tests
add_executable(svd-integration-test svd-integration-test.cpp)

target_link_libraries(svd-integration-test
    PRIVATE
    matrix
    svd
    Catch2::Catch2WithMain
)

# QR building block tests
add_executable(qr-build-blocks-tests qr-build-blocks-tests.cpp)

target_link_libraries(qr-build-blocks-tests
    PRIVATE
    matrix
    qr
    Catch2::Catch2WithMain
)