cmake_minimum_required(VERSION 3.10.0)

project(test_eu_harmonic)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/lib)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/lib)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/lib)

add_executable(test_read test_read.cpp)
add_executable(test_pp_mode test_pp_mode.cpp)
add_executable(test_pv_mode test_pv_mode.cpp)
add_executable(test_pt_mode test_pt_mode.cpp)
add_executable(test_ip_mode test_ip_mode.cpp)

if(WIN32)
target_link_libraries(test_read ${CMAKE_SOURCE_DIR}/lib/eu_harmonic.dll)
target_link_libraries(test_pp_mode ${CMAKE_SOURCE_DIR}/lib/eu_harmonic.dll)
target_link_libraries(test_pv_mode ${CMAKE_SOURCE_DIR}/lib/eu_harmonic.dll)
target_link_libraries(test_pt_mode ${CMAKE_SOURCE_DIR}/lib/eu_harmonic.dll)
target_link_libraries(test_ip_mode ${CMAKE_SOURCE_DIR}/lib/eu_harmonic.dll)
else()
target_link_libraries(test_read ${CMAKE_SOURCE_DIR}/lib/libeu_harmonic.so)
target_link_libraries(test_pp_mode ${CMAKE_SOURCE_DIR}/lib/libeu_harmonic.so)
target_link_libraries(test_pv_mode ${CMAKE_SOURCE_DIR}/lib/libeu_harmonic.so)
target_link_libraries(test_pt_mode ${CMAKE_SOURCE_DIR}/lib/libeu_harmonic.so)
target_link_libraries(test_ip_mode ${CMAKE_SOURCE_DIR}/lib/libeu_harmonic.so pthread)
endif()

add_dependencies(test_read eu_harmonic)
add_dependencies(test_pp_mode eu_harmonic)
add_dependencies(test_pv_mode eu_harmonic)
add_dependencies(test_pt_mode eu_harmonic)
add_dependencies(test_ip_mode eu_harmonic)
