cmake_minimum_required(VERSION 3.10.0)

project(test_eu_harmonic)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
if(NOT DEFINED EYOU_LIB_PATH)
    set(EYOU_LIB_PATH ${CMAKE_SOURCE_DIR}/../lib)
endif()
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${EYOU_LIB_PATH})

function(add_custom_test test_name)
    add_executable(${test_name} ${test_name}.cpp)
    if(WIN32)
        target_link_libraries(${test_name} ${EYOU_LIB_PATH}/eu_ethercat.lib)
    elseif(UNIX)
        target_link_libraries(${test_name} ${EYOU_LIB_PATH}/libeu_ethercat.so pthread)
    endif()
    if(DEFINED EYOU_PRO)
        add_dependencies(${test_name} eu_ethercat)
    endif()
endfunction()

add_custom_test(test_read)
add_custom_test(test_pp_mode)
add_custom_test(test_pv_mode)
add_custom_test(test_pt_mode)
add_custom_test(test_csp_mode)
add_custom_test(test_csv_mode)
add_custom_test(test_cst_mode)
add_custom_test(test_zero)
