add_library(daqd_stream_server STATIC
        daqd_stream.cc
        daqd_stream_intl.cc
        param.c
        ini_parser.cc
        remote_meta_data.cc
        sub_cds_metadata_plugin.cc
        )
target_include_directories(daqd_stream_server PUBLIC
        $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
        $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
target_include_directories(daqd_stream_server
        PRIVATE
        ${CMAKE_CURRENT_SOURCE_DIR}/private)
target_link_libraries(daqd_stream_server PUBLIC
        daqd_stream_core
        daqd_stream_client)
target_link_libraries(daqd_stream_server PRIVATE
        vendor
        daqd_stream_plugins
        daqd_stream_common
        cds::pub_sub
        CURL::libcurl
        Threads::Threads)

install(TARGETS daqd_stream_server
        EXPORT daqd_stream_install
        DESTINATION lib)
install(FILES
        include/daqd_stream/daqd_stream_server.hh
        DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/daqd_stream")

add_executable(daqd_stream_service_unit_tests
        tests/test_main.cc
        tests/test_ifo_config.cc
        tests/test_bad_sizes.cc
        tests/simple_http.cc)
target_link_libraries(daqd_stream_service_unit_tests
        PRIVATE
        vendor
        daqd_stream_plugins
        daqd_stream_client
        daqd_stream_common
        daqd_stream_server
        catch2)
target_include_directories(daqd_stream_service_unit_tests PRIVATE
        ${CMAKE_CURRENT_SOURCE_DIR}/private)

add_test(NAME test_daqd_stream_service_unit_tests
        COMMAND daqd_stream_service_unit_tests
        WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")

add_executable( test_consuming_frame_data
        tests/test_main.cc
        tests/test_consuming_frame_data.cc)
target_link_libraries(test_consuming_frame_data
        catch2
        daqd_stream_client
        daqd_stream_plugins
        daqd_stream_common
        daqd_stream_server
        frame_utils
        test_helpers)

add_executable( test_consuming_local_data
        tests/test_main.cc
        tests/test_consuming_local_data.cc
        tests/simple_http.cc)
target_include_directories( test_consuming_local_data PRIVATE
        "${CMAKE_CURRENT_SOURCE_DIR}/tests")
target_link_libraries(test_consuming_local_data
        catch2
        daqd_stream_client
        daqd_stream_plugins
        daqd_stream_common
        daqd_stream_server
        frame_utils
        test_helpers
        curl)

add_test(NAME test_consuming_frame_data
        COMMAND test_consuming_frame_data
        WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")

add_test(NAME test_consuming_local_data
        COMMAND test_consuming_local_data
        WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")