set(PACKAGE rda-rdautils)

message(STATUS ${PACKAGE})

find_package (Eigen3 3.3 REQUIRED NO_MODULE)

set(APP_NAMES rdadiags rcp903_test rcp903_burnin wsr98d_test wsr98d_amuxIO_monitor wsr98d_typetest pstr1163_tool burst_to_filter zeroing_to_corrections)
set(LIBEXEC_APP_NAMES bite_export)
set(SERVICE_FILE bite_export.service)
set(SIGMET_BITE_EXPORT sigmet-bite_export)

if (DEFINED BASE_SOURCE_DIR)
    include_directories(
            ${BASE_SOURCE_DIR}/user_lib
            ${BASE_SOURCE_DIR}/config_lib)
endif (DEFINED BASE_SOURCE_DIR)

include_directories(
        /usr/include/modbus
        ${CMAKE_CURRENT_SOURCE_DIR}/../include
        ${CMAKE_CURRENT_SOURCE_DIR}/../pcicards_lib
        ${CMAKE_CURRENT_SOURCE_DIR}/../rdasubs_lib
        ${CMAKE_CURRENT_SOURCE_DIR}/../softplane
        ${CMAKE_CURRENT_SOURCE_DIR}/../netcards_lib)

# One long list to get arround problem with static libs
link_libraries(
        rdasubs dsp-iris softplane netcards pcicards antenna-iris config-iris
        himath-iris user-iris exthdr-iris dl rt pthread m z IPP::ipps tirpc modbus)

#link_libraries(config-iris himath-iris antenna-iris user-iris exthdr-iris dl rt pthread m)

add_executable(rcp903_burnin rcp903_burnin.c)
add_executable(pstr1163_tool pstr1163_tool.c)
add_executable(bite_export bite_export.c)
add_executable(wsr98d_test wsr98d_test.c)
add_executable(wsr98d_amuxIO_monitor wsr98d_amuxIO_monitor.c)
add_executable(wsr98d_typetest wsr98d_typetest.c)
add_executable(rcp903_test rcp903_test.c)
add_executable(rdadiags rdadiags.c)
add_executable(scandinova_tool scandinova_tool.c)
add_executable(burst_to_filter burst_to_filter.cpp)
target_include_directories(burst_to_filter PRIVATE
        ${CMAKE_CURRENT_SOURCE_DIR}/../signals/include
        ${CMAKE_CURRENT_SOURCE_DIR}/../signals/utilities/lightio
        ${CMAKE_CURRENT_SOURCE_DIR}/../ifdr10_lib
        ${CMAKE_CURRENT_SOURCE_DIR}/../api_data_schemas/cpp)
target_compile_options(burst_to_filter PRIVATE -Wsign-conversion --fast-math)
target_link_libraries(burst_to_filter
        ifdr10 ifdr_rpc_client ${ifdr_rpc_libs} boost_program_options Eigen3::Eigen)
add_executable(zeroing_to_corrections zeroing_to_corrections.cpp)
target_include_directories(zeroing_to_corrections PRIVATE
        ${CMAKE_CURRENT_SOURCE_DIR}/../signals/include
        ${CMAKE_CURRENT_SOURCE_DIR}/../signals/utilities/lightio
        ${CMAKE_CURRENT_SOURCE_DIR}/../ifdr10_lib
        ${CMAKE_CURRENT_SOURCE_DIR}/../api_data_schemas/cpp)
target_compile_options(zeroing_to_corrections PRIVATE -Wsign-conversion --fast-math)
target_link_libraries(zeroing_to_corrections
        ifdr10 ifdr_rpc_client ${ifdr_rpc_libs} boost_program_options Eigen3::Eigen)

install(
  TARGETS ${APP_NAMES}
  DESTINATION ${IRIS_BIN}
  COMPONENT base)

install(
  TARGETS ${LIBEXEC_APP_NAMES}
  DESTINATION ${IRIS_LIBEXEC_SERVICES}
  COMPONENT base)

install(
  FILES ${SERVICE_FILE}
  DESTINATION ${IRIS_SYSCONFDIR}
  COMPONENT base)

install(
  FILES ${SIGMET_BITE_EXPORT}
  DESTINATION ${IRIS_LOGROTATE}
  COMPONENT base)

install(
  PROGRAMS configure_canopen_multiturn_encoders.py
  RENAME configure_canopen_multiturn_encoders
  DESTINATION ${IRIS_SCRIPT}
  COMPONENT rcp8)

install(
  TARGETS scandinova_tool
  DESTINATION ${IRIS_BIN}
  COMPONENT rcp8)

install(
  FILES scandinova_tool.conf
  DESTINATION ${IRIS_CONFIG_TMPL}
  COMPONENT rcp8)
