mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-24 23:30:03 +02:00
Merge branch 'developer' into blocktrigger
This commit is contained in:
commit
215454d7cc
@ -32,13 +32,16 @@ if (CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR)
|
||||
set(SLS_MASTER_PROJECT ON)
|
||||
endif()
|
||||
|
||||
option (SLS_USE_HDF5 "HDF5 File format" OFF)
|
||||
option (SLS_USE_TEXTCLIENT "Text Client" ON)
|
||||
option (SLS_USE_RECEIVER "Receiver" ON)
|
||||
option (SLS_USE_GUI "GUI" OFF)
|
||||
option (SLS_USE_SIMULATOR "Simulator" OFF)
|
||||
option (SLS_USE_TESTS "TESTS" OFF)
|
||||
option (SLS_USE_INTEGRATION_TESTS "Integration Tests" OFF)
|
||||
option(SLS_USE_HDF5 "HDF5 File format" OFF)
|
||||
option(SLS_BUILD_SHARED_LIBRARIES "Build shared libaries" ON)
|
||||
option(SLS_USE_TEXTCLIENT "Text Client" ON)
|
||||
option(SLS_USE_DETECTOR "Detector libs" ON)
|
||||
option(SLS_USE_RECEIVER "Receiver" ON)
|
||||
option(SLS_USE_RECEIVER_BINARIES "Receiver binaries" ON)
|
||||
option(SLS_USE_GUI "GUI" OFF)
|
||||
option(SLS_USE_SIMULATOR "Simulator" OFF)
|
||||
option(SLS_USE_TESTS "TESTS" OFF)
|
||||
option(SLS_USE_INTEGRATION_TESTS "Integration Tests" OFF)
|
||||
option(SLS_USE_SANITIZER "Sanitizers for debugging" OFF)
|
||||
option(SLS_USE_PYTHON "Python bindings" OFF)
|
||||
option(SLS_USE_CTBGUI "ctb GUI" OFF)
|
||||
@ -200,9 +203,9 @@ endif(SLS_USE_TESTS)
|
||||
# Common functionallity to detector and receiver
|
||||
add_subdirectory(slsSupportLib)
|
||||
|
||||
if (SLS_USE_TEXTCLIENT)
|
||||
if (SLS_USE_DETECTOR OR SLS_USE_TEXTCLIENT)
|
||||
add_subdirectory(slsDetectorSoftware)
|
||||
endif (SLS_USE_TEXTCLIENT)
|
||||
endif ()
|
||||
|
||||
if (SLS_USE_RECEIVER)
|
||||
add_subdirectory(slsReceiverSoftware)
|
||||
|
@ -26,6 +26,8 @@ target_link_libraries(slsDetectorObject
|
||||
slsProjectWarnings
|
||||
)
|
||||
|
||||
set(DETECTOR_LIBRARY_TARGETS slsDetectorObject)
|
||||
|
||||
|
||||
set(PUBLICHEADERS
|
||||
include/sls/detectorData.h
|
||||
@ -35,13 +37,16 @@ set(PUBLICHEADERS
|
||||
)
|
||||
|
||||
#Shared library
|
||||
add_library(slsDetectorShared SHARED $<TARGET_OBJECTS:slsDetectorObject>)
|
||||
target_link_libraries(slsDetectorShared PUBLIC slsDetectorObject)
|
||||
set_target_properties(slsDetectorShared PROPERTIES
|
||||
LIBRARY_OUTPUT_NAME SlsDetector
|
||||
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
|
||||
PUBLIC_HEADER "${PUBLICHEADERS}"
|
||||
)
|
||||
if(SLS_BUILD_SHARED_LIBRARIES)
|
||||
add_library(slsDetectorShared SHARED $<TARGET_OBJECTS:slsDetectorObject>)
|
||||
target_link_libraries(slsDetectorShared PUBLIC slsDetectorObject)
|
||||
set_target_properties(slsDetectorShared PROPERTIES
|
||||
LIBRARY_OUTPUT_NAME SlsDetector
|
||||
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
|
||||
PUBLIC_HEADER "${PUBLICHEADERS}"
|
||||
)
|
||||
list(APPEND DETECTOR_LIBRARY_TARGETS slsDetectorShared)
|
||||
endif(SLS_BUILD_SHARED_LIBRARIES)
|
||||
|
||||
#Static library
|
||||
add_library(slsDetectorStatic STATIC $<TARGET_OBJECTS:slsDetectorObject>)
|
||||
@ -52,54 +57,59 @@ set_target_properties(slsDetectorStatic PROPERTIES
|
||||
ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
|
||||
PUBLIC_HEADER "${PUBLICHEADERS}"
|
||||
)
|
||||
list(APPEND DETECTOR_LIBRARY_TARGETS slsDetectorStatic)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# message("Detector LTO_AVAILABLE:" ${SLS_LTO_AVAILABLE})
|
||||
if((CMAKE_BUILD_TYPE STREQUAL "Release") AND SLS_LTO_AVAILABLE)
|
||||
set_property(TARGET slsDetectorObject PROPERTY INTERPROCEDURAL_OPTIMIZATION True)
|
||||
set_property(TARGET slsDetectorStatic PROPERTY INTERPROCEDURAL_OPTIMIZATION True)
|
||||
set_property(TARGET slsDetectorShared PROPERTY INTERPROCEDURAL_OPTIMIZATION True)
|
||||
set_property(TARGET ${DETECTOR_LIBRARY_TARGETS} PROPERTY INTERPROCEDURAL_OPTIMIZATION True)
|
||||
# set_property(TARGET slsDetectorObject PROPERTY INTERPROCEDURAL_OPTIMIZATION True)
|
||||
# set_property(TARGET slsDetectorStatic PROPERTY INTERPROCEDURAL_OPTIMIZATION True)
|
||||
# set_property(TARGET slsDetectorShared PROPERTY INTERPROCEDURAL_OPTIMIZATION True)
|
||||
endif()
|
||||
|
||||
# Loop over list to generate command line binaries
|
||||
set(bin_names "sls_detector_put"
|
||||
"sls_detector_get"
|
||||
"sls_detector_acquire"
|
||||
"sls_detector_help")
|
||||
set(cmd_name "PUT" "GET" "READOUT" "HELP")
|
||||
list(LENGTH bin_names len1)
|
||||
math(EXPR len2 "${len1} - 1")
|
||||
|
||||
foreach(val RANGE ${len2})
|
||||
list(GET bin_names ${val} val1)
|
||||
list(GET cmd_name ${val} val2)
|
||||
message(STATUS "${val1} ${val2}")
|
||||
if(SLS_USE_TEXTCLIENT)
|
||||
# Loop over list to generate command line binaries
|
||||
set(bin_names "sls_detector_put"
|
||||
"sls_detector_get"
|
||||
"sls_detector_acquire"
|
||||
"sls_detector_help")
|
||||
set(cmd_name "PUT" "GET" "READOUT" "HELP")
|
||||
list(LENGTH bin_names len1)
|
||||
math(EXPR len2 "${len1} - 1")
|
||||
|
||||
add_executable(${val1} src/CmdLineApp.cpp)
|
||||
target_link_libraries(${val1}
|
||||
slsDetectorStatic
|
||||
pthread
|
||||
rt
|
||||
)
|
||||
set_target_properties(${val1} PROPERTIES
|
||||
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
|
||||
COMPILE_DEFINITIONS ${val2}=1
|
||||
)
|
||||
if(SLS_LTO_AVAILABLE)
|
||||
set_property(TARGET ${val1} PROPERTY INTERPROCEDURAL_OPTIMIZATION True)
|
||||
endif()
|
||||
endforeach()
|
||||
foreach(val RANGE ${len2})
|
||||
list(GET bin_names ${val} val1)
|
||||
list(GET cmd_name ${val} val2)
|
||||
message(STATUS "${val1} ${val2}")
|
||||
|
||||
add_executable(${val1} src/CmdLineApp.cpp)
|
||||
target_link_libraries(${val1}
|
||||
slsDetectorStatic
|
||||
pthread
|
||||
rt
|
||||
)
|
||||
set_target_properties(${val1} PROPERTIES
|
||||
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
|
||||
COMPILE_DEFINITIONS ${val2}=1
|
||||
)
|
||||
if(SLS_LTO_AVAILABLE)
|
||||
set_property(TARGET ${val1} PROPERTY INTERPROCEDURAL_OPTIMIZATION True)
|
||||
endif()
|
||||
endforeach()
|
||||
install(TARGETS ${bin_names} DESTINATION bin)
|
||||
|
||||
install(TARGETS ${bin_names} DESTINATION bin)
|
||||
|
||||
endif(SLS_USE_TEXTCLIENT)
|
||||
|
||||
if (SLS_USE_TESTS)
|
||||
add_subdirectory(tests)
|
||||
endif(SLS_USE_TESTS)
|
||||
|
||||
|
||||
install(TARGETS slsDetectorShared slsDetectorObject slsDetectorStatic
|
||||
install(TARGETS ${DETECTOR_LIBRARY_TARGETS}
|
||||
EXPORT "${TARGETS_EXPORT_NAME}"
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
|
@ -56,15 +56,19 @@ if (SLS_USE_HDF5)
|
||||
endif ()
|
||||
endif (SLS_USE_HDF5)
|
||||
|
||||
set(RECEIVER_LIBRARY_TARGETS slsReceiverObject)
|
||||
|
||||
#Shared library
|
||||
add_library(slsReceiverShared SHARED $<TARGET_OBJECTS:slsReceiverObject>)
|
||||
target_link_libraries(slsReceiverShared PUBLIC slsReceiverObject)
|
||||
set_target_properties(slsReceiverShared PROPERTIES
|
||||
LIBRARY_OUTPUT_NAME SlsReceiver
|
||||
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
|
||||
PUBLIC_HEADER "${PUBLICHEADERS}"
|
||||
)
|
||||
if(SLS_BUILD_SHARED_LIBRARIES)
|
||||
add_library(slsReceiverShared SHARED $<TARGET_OBJECTS:slsReceiverObject>)
|
||||
target_link_libraries(slsReceiverShared PUBLIC slsReceiverObject)
|
||||
set_target_properties(slsReceiverShared PROPERTIES
|
||||
LIBRARY_OUTPUT_NAME SlsReceiver
|
||||
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
|
||||
PUBLIC_HEADER "${PUBLICHEADERS}"
|
||||
)
|
||||
list(APPEND RECEIVER_LIBRARY_TARGETS slsReceiverShared)
|
||||
endif(SLS_BUILD_SHARED_LIBRARIES)
|
||||
|
||||
#Static library
|
||||
add_library(slsReceiverStatic STATIC $<TARGET_OBJECTS:slsReceiverObject>)
|
||||
@ -74,63 +78,74 @@ set_target_properties(slsReceiverStatic PROPERTIES
|
||||
ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
|
||||
PUBLIC_HEADER "${PUBLICHEADERS}"
|
||||
)
|
||||
list(APPEND RECEIVER_LIBRARY_TARGETS slsReceiverStatic)
|
||||
|
||||
|
||||
# message("Receiver LTO_AVAILABLE:" ${SLS_LTO_AVAILABLE})
|
||||
if((CMAKE_BUILD_TYPE STREQUAL "Release") AND SLS_LTO_AVAILABLE)
|
||||
set_property(TARGET slsReceiverObject PROPERTY INTERPROCEDURAL_OPTIMIZATION True)
|
||||
set_property(TARGET slsReceiverStatic PROPERTY INTERPROCEDURAL_OPTIMIZATION True)
|
||||
set_property(TARGET slsReceiverShared PROPERTY INTERPROCEDURAL_OPTIMIZATION True)
|
||||
set_property(TARGET ${RECEIVER_LIBRARY_TARGETS} PROPERTY INTERPROCEDURAL_OPTIMIZATION True)
|
||||
endif()
|
||||
|
||||
|
||||
add_executable(slsReceiver
|
||||
src/ReceiverApp.cpp
|
||||
)
|
||||
|
||||
# Receiver binaries
|
||||
|
||||
set_target_properties(slsReceiver PROPERTIES
|
||||
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
|
||||
)
|
||||
if(SLS_LTO_AVAILABLE)
|
||||
set_property(TARGET slsReceiver PROPERTY INTERPROCEDURAL_OPTIMIZATION True)
|
||||
endif()
|
||||
if (SLS_USE_RECEIVER_BINARIES)
|
||||
add_executable(slsReceiver
|
||||
src/ReceiverApp.cpp
|
||||
)
|
||||
|
||||
target_link_libraries(slsReceiver PUBLIC
|
||||
PUBLIC
|
||||
slsReceiverStatic
|
||||
pthread
|
||||
rt
|
||||
PRIVATE
|
||||
slsProjectWarnings
|
||||
)
|
||||
set_target_properties(slsReceiver PROPERTIES
|
||||
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
|
||||
)
|
||||
if(SLS_LTO_AVAILABLE)
|
||||
set_property(TARGET slsReceiver PROPERTY INTERPROCEDURAL_OPTIMIZATION True)
|
||||
endif()
|
||||
|
||||
add_executable(slsMultiReceiver
|
||||
src/MultiReceiverApp.cpp
|
||||
)
|
||||
target_link_libraries(slsReceiver PUBLIC
|
||||
PUBLIC
|
||||
slsReceiverStatic
|
||||
pthread
|
||||
rt
|
||||
PRIVATE
|
||||
slsProjectWarnings
|
||||
)
|
||||
|
||||
add_executable(slsMultiReceiver
|
||||
src/MultiReceiverApp.cpp
|
||||
)
|
||||
|
||||
set_target_properties(slsMultiReceiver PROPERTIES
|
||||
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
|
||||
)
|
||||
if(SLS_LTO_AVAILABLE)
|
||||
set_property(TARGET slsMultiReceiver PROPERTY INTERPROCEDURAL_OPTIMIZATION True)
|
||||
endif()
|
||||
set_target_properties(slsMultiReceiver PROPERTIES
|
||||
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
|
||||
)
|
||||
if(SLS_LTO_AVAILABLE)
|
||||
set_property(TARGET slsMultiReceiver PROPERTY INTERPROCEDURAL_OPTIMIZATION True)
|
||||
endif()
|
||||
|
||||
target_link_libraries(slsMultiReceiver
|
||||
PUBLIC
|
||||
slsReceiverStatic
|
||||
pthread
|
||||
rt
|
||||
PRIVATE
|
||||
slsProjectWarnings
|
||||
)
|
||||
target_link_libraries(slsMultiReceiver
|
||||
PUBLIC
|
||||
slsReceiverStatic
|
||||
pthread
|
||||
rt
|
||||
PRIVATE
|
||||
slsProjectWarnings
|
||||
)
|
||||
|
||||
if (SLS_USE_TESTS)
|
||||
add_subdirectory(tests)
|
||||
endif(SLS_USE_TESTS)
|
||||
|
||||
|
||||
install(TARGETS slsReceiverShared slsReceiver slsMultiReceiver slsReceiverObject slsReceiverStatic
|
||||
install(TARGETS 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}/sls
|
||||
)
|
||||
|
||||
endif(SLS_USE_RECEIVER_BINARIES)
|
||||
|
||||
if (SLS_USE_TESTS)
|
||||
add_subdirectory(tests)
|
||||
endif(SLS_USE_TESTS)
|
||||
|
||||
|
||||
install(TARGETS ${RECEIVER_LIBRARY_TARGETS}
|
||||
EXPORT "${TARGETS_EXPORT_NAME}"
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
|
@ -72,15 +72,21 @@ if (SLS_USE_TESTS)
|
||||
add_subdirectory(tests)
|
||||
endif(SLS_USE_TESTS)
|
||||
|
||||
# Add shared library version of the support lib
|
||||
add_library(slsSupportShared SHARED $<TARGET_OBJECTS:slsSupportObject>)
|
||||
target_link_libraries(slsSupportShared PUBLIC slsSupportObject)
|
||||
#List of targets to support adding removing targets as config
|
||||
set(SUPPORT_LIBRARY_TARGETS slsSupportObject)
|
||||
|
||||
set_target_properties(slsSupportShared PROPERTIES
|
||||
LIBRARY_OUTPUT_NAME SlsSupport
|
||||
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
|
||||
PUBLIC_HEADER "${PUBLICHEADERS}"
|
||||
)
|
||||
# Add shared library version of the support lib
|
||||
if(SLS_BUILD_SHARED_LIBRARIES)
|
||||
add_library(slsSupportShared SHARED $<TARGET_OBJECTS:slsSupportObject>)
|
||||
target_link_libraries(slsSupportShared PUBLIC slsSupportObject)
|
||||
|
||||
set_target_properties(slsSupportShared PROPERTIES
|
||||
LIBRARY_OUTPUT_NAME SlsSupport
|
||||
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
|
||||
PUBLIC_HEADER "${PUBLICHEADERS}"
|
||||
)
|
||||
list(APPEND SUPPORT_LIBRARY_TARGETS slsSupportShared)
|
||||
endif(SLS_BUILD_SHARED_LIBRARIES)
|
||||
|
||||
# Add static version of the support lib
|
||||
add_library(slsSupportStatic STATIC $<TARGET_OBJECTS:slsSupportObject>)
|
||||
@ -91,14 +97,13 @@ set_target_properties(slsSupportStatic PROPERTIES
|
||||
ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
|
||||
PUBLIC_HEADER "${PUBLICHEADERS}"
|
||||
)
|
||||
list(APPEND SUPPORT_LIBRARY_TARGETS slsSupportStatic)
|
||||
|
||||
if((CMAKE_BUILD_TYPE STREQUAL "Release") AND SLS_LTO_AVAILABLE)
|
||||
set_property(TARGET slsSupportObject PROPERTY INTERPROCEDURAL_OPTIMIZATION True)
|
||||
set_property(TARGET slsSupportShared PROPERTY INTERPROCEDURAL_OPTIMIZATION True)
|
||||
set_property(TARGET slsSupportStatic PROPERTY INTERPROCEDURAL_OPTIMIZATION True)
|
||||
set_property(TARGET ${SUPPORT_LIBRARY_TARGETS} PROPERTY INTERPROCEDURAL_OPTIMIZATION True)
|
||||
endif()
|
||||
|
||||
install(TARGETS slsSupportShared slsSupportStatic slsSupportObject
|
||||
install(TARGETS ${SUPPORT_LIBRARY_TARGETS}
|
||||
EXPORT "${TARGETS_EXPORT_NAME}"
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
|
@ -28,11 +28,11 @@ target_link_libraries(tests
|
||||
slsProjectWarnings
|
||||
)
|
||||
|
||||
if (SLS_USE_TEXTCLIENT)
|
||||
if (SLS_USE_DETECTOR)
|
||||
target_link_libraries(tests PUBLIC
|
||||
slsDetectorShared
|
||||
)
|
||||
endif (SLS_USE_TEXTCLIENT)
|
||||
endif (SLS_USE_DETECTOR)
|
||||
|
||||
if (SLS_USE_RECEIVER)
|
||||
target_link_libraries(tests PUBLIC
|
||||
|
Loading…
x
Reference in New Issue
Block a user