# ---------------------------------------------------------------------------

find_package(GTest REQUIRED)

add_executable(unittest
    ../src/Base.cpp
    ../src/Blinker.cpp
    ../src/Controller.cpp
    ../src/FunctionGenerator.cpp
    ../src/Interpolation.cpp
    ../src/LowPassFilter.cpp
    ../src/Task.cpp
    ../src/UserParameter.cpp
    ../src/UserSignal.cpp
    Blinker_Test.cpp
    Controller_Test.cpp
    FunctionGenerator_Test.cpp
    Interpolation_Test.cpp
    LowPassFilter_Test.cpp
    PdComProcess.cpp
    UserSignal_Test.cpp
    main.cpp
)

set_target_properties(unittest PROPERTIES
        CXX_STANDARD_REQUIRED 1
        CXX_STANDARD 17
)

# Link test exe against our library and the test framework
find_package(PDCOM REQUIRED)
target_link_libraries(unittest PUBLIC
        GTest::GTest ${PROJECT_NAME}
        EtherLab::pdserv
        pdcom
    )

# Teach ctest about our test
add_test(NAME unittest COMMAND unittest --gtest_output=xml:testresults.xml)

# ---------------------------------------------------------------------------
