set(SOURCES src/Implementation.cpp src/ClientInterface.cpp src/Receiver.cpp src/File.cpp src/BinaryFile.cpp src/ThreadObject.cpp src/Listener.cpp src/DataProcessor.cpp src/DataStreamer.cpp src/Fifo.cpp ) # HDF5 if (SLS_USE_HDF5) if (HDF5_FOUND) add_definitions( -DHDF5C ${HDF5_DEFINITIONS} ) list (APPEND SOURCES src/HDF5File.cpp ) endif () endif (SLS_USE_HDF5) add_library(slsReceiverShared SHARED ${SOURCES} ${HEADERS} ) if((CMAKE_BUILD_TYPE STREQUAL "Release") AND SLS_LTO_AVAILABLE) set_property(TARGET slsReceiverShared PROPERTY INTERPROCEDURAL_OPTIMIZATION True) endif() target_link_libraries(slsReceiverShared PUBLIC slsProjectOptions slsProjectWarnings slsSupportLib ) target_include_directories(slsReceiverShared PUBLIC "$" "$") # HDF5 if (SLS_USE_HDF5) if (HDF5_FOUND) target_link_libraries(slsReceiverShared PUBLIC ${HDF5_LIBRARIES}) target_include_directories(slsReceiverShared PUBLIC ${HDF5_INCLUDE_DIRS} ${CMAKE_INSTALL_PREFIX}/include) endif () endif (SLS_USE_HDF5) #What is included in slsReceiverLib? set(PUBLICHEADERS include/Receiver.h ) set_target_properties(slsReceiverShared PROPERTIES LIBRARY_OUTPUT_NAME SlsReceiver LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin PUBLIC_HEADER "${PUBLICHEADERS}" ) add_executable(slsReceiver src/ReceiverApp.cpp) set_target_properties(slsReceiver PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin ) target_link_libraries(slsReceiver PUBLIC slsProjectOptions slsProjectWarnings slsSupportLib slsReceiverShared pthread ${ZeroMQ_LIBRARIES} rt ) add_executable(slsMultiReceiver src/MultiReceiverApp.cpp) set_target_properties(slsMultiReceiver PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin ) target_link_libraries(slsMultiReceiver PUBLIC slsProjectOptions slsProjectWarnings slsSupportLib slsReceiverShared pthread ${ZeroMQ_LIBRARIES} rt ) if (SLS_USE_TESTS) add_subdirectory(tests) endif(SLS_USE_TESTS) install(TARGETS slsReceiverShared slsReceiver slsMultiReceiver EXPORT "${TARGETS_EXPORT_NAME}" RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) install(FILES ${ZMQ_STATIC_ARCHIVE} DESTINATION lib)