add_executable(fesa_cantilever_reference_tests
    cantilever_reference_test.cpp
)

target_compile_features(
    fesa_cantilever_reference_tests PRIVATE cxx_std_20
)
target_compile_options(
    fesa_cantilever_reference_tests PRIVATE /W4 /permissive- /EHsc
)
target_compile_definitions(
    fesa_cantilever_reference_tests
    PRIVATE
        FESA_REFERENCE_COMPARE_PATH="$<TARGET_FILE:fesa-reference-compare>"
        FESA_REPOSITORY_ROOT="${CMAKE_SOURCE_DIR}"
        FESA_TEST_BINARY_DIR="${CMAKE_BINARY_DIR}"
)
target_link_libraries(
    fesa_cantilever_reference_tests
    PRIVATE
        fesa_core
        GTest::gtest_main
)
add_dependencies(
    fesa_cantilever_reference_tests
    fesa-reference-compare
)

add_test(
    NAME CantileverReference
    COMMAND "$<TARGET_FILE:fesa_cantilever_reference_tests>"
)

set_property(
    TEST CantileverReference
    PROPERTY ENVIRONMENT_MODIFICATION
        ${FESA_DEPENDENCY_RUNTIME_MODIFICATIONS}
)
