set(SOURCES src/slsReceiverImplementation.cpp src/slsReceiverTCPIPInterface.cpp src/slsReceiver.cpp src/slsReceiverUsers.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} ) check_ipo_supported(RESULT result) if(result) 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/slsReceiverUsers.h ) set_target_properties(slsReceiverShared PROPERTIES LIBRARY_OUTPUT_NAME SlsReceiver LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin PUBLIC_HEADER "${PUBLICHEADERS}" ) add_executable(slsReceiver src/main.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 ) if (SLS_USE_TESTS) add_subdirectory(tests) endif(SLS_USE_TESTS) install(TARGETS slsReceiverShared slsReceiver 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)