mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-28 01:00:02 +02:00
121 lines
2.6 KiB
CMake
Executable File
121 lines
2.6 KiB
CMake
Executable File
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}
|
|
)
|
|
|
|
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
|
|
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
|
|
"$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>")
|
|
|
|
|
|
# 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)
|