mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-29 17:40:01 +02:00
Merge branch 'developer' into rxrmetadata
This commit is contained in:
commit
30e06c6386
@ -63,17 +63,18 @@ find_package(ClangFormat)
|
|||||||
check_ipo_supported(RESULT SLS_LTO_AVAILABLE)
|
check_ipo_supported(RESULT SLS_LTO_AVAILABLE)
|
||||||
|
|
||||||
|
|
||||||
# Use ld.gold if it is available and isn't disabled explicitly
|
# # Use ld.gold if it is available and isn't disabled explicitly
|
||||||
option(SLS_USE_LD_GOLD "Use GNU gold linker" ON)
|
# option(SLS_USE_LD_GOLD "Use GNU gold linker" ON)
|
||||||
if (SLS_USE_LD_GOLD)
|
# if (SLS_USE_LD_GOLD)
|
||||||
execute_process(COMMAND ${CMAKE_C_COMPILER} -fuse-ld=gold -Wl,--version ERROR_QUIET OUTPUT_VARIABLE LD_VERSION)
|
# execute_process(COMMAND ${CMAKE_C_COMPILER} -fuse-ld=gold -Wl,--version ERROR_QUIET OUTPUT_VARIABLE LD_VERSION)
|
||||||
if ("${LD_VERSION}" MATCHES "GNU gold")
|
# if ("${LD_VERSION}" MATCHES "GNU gold")
|
||||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fuse-ld=gold")
|
# set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fuse-ld=gold")
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fuse-ld=gold")
|
# set(CMAKE_STATIC_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fuse-ld=gold")
|
||||||
else ()
|
# set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fuse-ld=gold")
|
||||||
message(WARNING "GNU gold linker isn't available, using the default system linker.")
|
# else ()
|
||||||
endif ()
|
# message(WARNING "GNU gold linker isn't available, using the default system linker.")
|
||||||
endif ()
|
# endif ()
|
||||||
|
# endif ()
|
||||||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||||
|
|
||||||
if (NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
|
if (NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
|
||||||
@ -240,7 +241,7 @@ if(SLS_MASTER_PROJECT)
|
|||||||
# Set install dir CMake packages
|
# Set install dir CMake packages
|
||||||
set(CMAKE_INSTALL_DIR "share/cmake/${PROJECT_NAME}")
|
set(CMAKE_INSTALL_DIR "share/cmake/${PROJECT_NAME}")
|
||||||
# Set the list of exported targets
|
# Set the list of exported targets
|
||||||
set(PROJECT_LIBRARIES slsSupportLib slsDetectorShared slsReceiverShared)
|
set(PROJECT_LIBRARIES slsSupportShared slsDetectorShared slsReceiverShared)
|
||||||
# Generate and install package config file and version
|
# Generate and install package config file and version
|
||||||
include(cmake/package_config.cmake)
|
include(cmake/package_config.cmake)
|
||||||
endif()
|
endif()
|
||||||
|
@ -33,6 +33,7 @@ requirements:
|
|||||||
- {{ cdt('libselinux') }} # [linux]
|
- {{ cdt('libselinux') }} # [linux]
|
||||||
- {{ cdt('libxdamage') }} # [linux]
|
- {{ cdt('libxdamage') }} # [linux]
|
||||||
- {{ cdt('libxxf86vm') }} # [linux]
|
- {{ cdt('libxxf86vm') }} # [linux]
|
||||||
|
- expat
|
||||||
|
|
||||||
host:
|
host:
|
||||||
- libstdcxx-ng
|
- libstdcxx-ng
|
||||||
@ -45,6 +46,7 @@ requirements:
|
|||||||
- xorg-libxau
|
- xorg-libxau
|
||||||
- xorg-libxrender
|
- xorg-libxrender
|
||||||
- xorg-libxfixes
|
- xorg-libxfixes
|
||||||
|
- expat
|
||||||
|
|
||||||
run:
|
run:
|
||||||
- zeromq
|
- zeromq
|
||||||
@ -96,3 +98,4 @@ outputs:
|
|||||||
- {{ pin_subpackage('slsdetlib', exact=True) }}
|
- {{ pin_subpackage('slsdetlib', exact=True) }}
|
||||||
- qwt 6.*
|
- qwt 6.*
|
||||||
- qt 4.8.*
|
- qt 4.8.*
|
||||||
|
- expat
|
||||||
|
@ -59,14 +59,13 @@ set( HEADERS
|
|||||||
#set(ROOT_INCLUDE_PATH ${CMAKE_CURRENT_SOURCE_DIR})
|
#set(ROOT_INCLUDE_PATH ${CMAKE_CURRENT_SOURCE_DIR})
|
||||||
|
|
||||||
# ROOT dictionary generation
|
# ROOT dictionary generation
|
||||||
include("${ROOT_DIR}/modules/RootNewMacros.cmake")
|
include("${ROOT_DIR}/RootMacros.cmake")
|
||||||
root_generate_dictionary(ctbDict ${HEADERS} LINKDEF ctbLinkDef.h)
|
root_generate_dictionary(ctbDict ${HEADERS} LINKDEF ctbLinkDef.h)
|
||||||
add_library(ctbRootLib SHARED ctbDict.cxx)
|
add_library(ctbRootLib SHARED ctbDict.cxx)
|
||||||
target_include_directories(ctbRootLib PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
|
target_include_directories(ctbRootLib PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
|
||||||
target_link_libraries(ctbRootLib PUBLIC
|
target_link_libraries(ctbRootLib PUBLIC
|
||||||
ROOT::Core
|
ROOT::Core
|
||||||
slsDetectorShared
|
slsDetectorShared
|
||||||
slsSupportLib
|
|
||||||
${ROOT_LIBRARIES}
|
${ROOT_LIBRARIES}
|
||||||
${ROOT_EXE_LINKER_FLAGS}
|
${ROOT_EXE_LINKER_FLAGS}
|
||||||
)
|
)
|
||||||
@ -78,7 +77,6 @@ set_target_properties(
|
|||||||
|
|
||||||
target_link_libraries(ctbGui PUBLIC
|
target_link_libraries(ctbGui PUBLIC
|
||||||
slsDetectorShared
|
slsDetectorShared
|
||||||
slsSupportLib
|
|
||||||
ctbRootLib
|
ctbRootLib
|
||||||
${TIFF_LIBRARIES}
|
${TIFF_LIBRARIES}
|
||||||
)
|
)
|
||||||
|
@ -11,7 +11,7 @@ pybind11_add_module(_slsdet
|
|||||||
target_link_libraries(_slsdet PUBLIC
|
target_link_libraries(_slsdet PUBLIC
|
||||||
slsDetectorShared
|
slsDetectorShared
|
||||||
slsReceiverShared
|
slsReceiverShared
|
||||||
slsSupportLib
|
slsSupportShared
|
||||||
${ZeroMQ_LIBRARIES}
|
${ZeroMQ_LIBRARIES}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
add_executable(using_logger using_logger.cpp)
|
add_executable(using_logger using_logger.cpp)
|
||||||
target_link_libraries(using_logger
|
target_link_libraries(using_logger
|
||||||
slsSupportLib
|
slsSupportShared
|
||||||
pthread
|
pthread
|
||||||
rt
|
rt
|
||||||
)
|
)
|
||||||
@ -22,7 +22,7 @@ set_target_properties(using_logger PROPERTIES
|
|||||||
# add_executable(udp udp.cpp)
|
# add_executable(udp udp.cpp)
|
||||||
# target_link_libraries(udp
|
# target_link_libraries(udp
|
||||||
# slsDetectorShared
|
# slsDetectorShared
|
||||||
# slsSupportLib
|
# slsSupportShared
|
||||||
# pthread
|
# pthread
|
||||||
# rt
|
# rt
|
||||||
# fmt
|
# fmt
|
||||||
|
@ -23,7 +23,7 @@ foreach(exe ${MOENCH_EXECUTABLES})
|
|||||||
|
|
||||||
target_link_libraries(${exe}
|
target_link_libraries(${exe}
|
||||||
PUBLIC
|
PUBLIC
|
||||||
slsSupportLib
|
slsSupportShared
|
||||||
${ZeroMQ_LIBRARIES}
|
${ZeroMQ_LIBRARIES}
|
||||||
pthread
|
pthread
|
||||||
tiff
|
tiff
|
||||||
|
@ -88,6 +88,7 @@ target_include_directories(slsDetectorGui PUBLIC
|
|||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries(slsDetectorGui PUBLIC
|
target_link_libraries(slsDetectorGui PUBLIC
|
||||||
|
slsProjectOptions
|
||||||
slsProjectWarnings
|
slsProjectWarnings
|
||||||
slsDetectorShared
|
slsDetectorShared
|
||||||
${QT_QTCORE_LIBRARIES}
|
${QT_QTCORE_LIBRARIES}
|
||||||
@ -97,6 +98,7 @@ target_link_libraries(slsDetectorGui PUBLIC
|
|||||||
ZLIB::ZLIB
|
ZLIB::ZLIB
|
||||||
Qt4::QtOpenGL
|
Qt4::QtOpenGL
|
||||||
Qt4::QtSvg
|
Qt4::QtSvg
|
||||||
|
expat
|
||||||
)
|
)
|
||||||
|
|
||||||
set_target_properties(slsDetectorGui PROPERTIES
|
set_target_properties(slsDetectorGui PROPERTIES
|
||||||
@ -104,10 +106,10 @@ set_target_properties(slsDetectorGui PROPERTIES
|
|||||||
)
|
)
|
||||||
|
|
||||||
install(TARGETS slsDetectorGui
|
install(TARGETS slsDetectorGui
|
||||||
# EXPORT "${TARGETS_EXPORT_NAME}"
|
EXPORT "${TARGETS_EXPORT_NAME}"
|
||||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||||
# LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
# ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
# PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
|
# PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@ target_include_directories(slsDetectorShared PUBLIC
|
|||||||
|
|
||||||
target_link_libraries(slsDetectorShared
|
target_link_libraries(slsDetectorShared
|
||||||
PUBLIC
|
PUBLIC
|
||||||
slsSupportLib
|
slsSupportStatic
|
||||||
pthread
|
pthread
|
||||||
rt
|
rt
|
||||||
slsProjectOptions
|
slsProjectOptions
|
||||||
|
@ -34,10 +34,12 @@ if((CMAKE_BUILD_TYPE STREQUAL "Release") AND SLS_LTO_AVAILABLE)
|
|||||||
set_property(TARGET slsReceiverShared PROPERTY INTERPROCEDURAL_OPTIMIZATION True)
|
set_property(TARGET slsReceiverShared PROPERTY INTERPROCEDURAL_OPTIMIZATION True)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
target_link_libraries(slsReceiverShared PUBLIC
|
target_link_libraries(slsReceiverShared
|
||||||
|
PUBLIC
|
||||||
slsProjectOptions
|
slsProjectOptions
|
||||||
slsProjectWarnings
|
slsSupportStatic
|
||||||
slsSupportLib
|
PRIVATE
|
||||||
|
slsProjectWarnings #don't propagate warnigns
|
||||||
)
|
)
|
||||||
|
|
||||||
target_include_directories(slsReceiverShared PUBLIC
|
target_include_directories(slsReceiverShared PUBLIC
|
||||||
@ -78,13 +80,13 @@ set_target_properties(slsReceiver PROPERTIES
|
|||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries(slsReceiver PUBLIC
|
target_link_libraries(slsReceiver PUBLIC
|
||||||
slsProjectOptions
|
PUBLIC
|
||||||
slsProjectWarnings
|
|
||||||
slsSupportLib
|
|
||||||
slsReceiverShared
|
slsReceiverShared
|
||||||
pthread
|
pthread
|
||||||
${ZeroMQ_LIBRARIES}
|
${ZeroMQ_LIBRARIES}
|
||||||
rt
|
rt
|
||||||
|
PRIVATE
|
||||||
|
slsProjectWarnings
|
||||||
)
|
)
|
||||||
|
|
||||||
add_executable(slsMultiReceiver
|
add_executable(slsMultiReceiver
|
||||||
@ -95,14 +97,14 @@ set_target_properties(slsMultiReceiver PROPERTIES
|
|||||||
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
|
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries(slsMultiReceiver PUBLIC
|
target_link_libraries(slsMultiReceiver
|
||||||
slsProjectOptions
|
PUBLIC
|
||||||
slsProjectWarnings
|
|
||||||
slsSupportLib
|
|
||||||
slsReceiverShared
|
slsReceiverShared
|
||||||
pthread
|
pthread
|
||||||
${ZeroMQ_LIBRARIES}
|
${ZeroMQ_LIBRARIES}
|
||||||
rt
|
rt
|
||||||
|
PRIVATE
|
||||||
|
slsProjectWarnings
|
||||||
)
|
)
|
||||||
|
|
||||||
if (SLS_USE_TESTS)
|
if (SLS_USE_TESTS)
|
||||||
|
@ -12,9 +12,7 @@ set(SOURCES
|
|||||||
src/sls_detector_exceptions.cpp
|
src/sls_detector_exceptions.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
set(HEADERS
|
# Header files to install as a part of the library
|
||||||
)
|
|
||||||
|
|
||||||
set(PUBLICHEADERS
|
set(PUBLICHEADERS
|
||||||
include/sls_detector_defs.h
|
include/sls_detector_defs.h
|
||||||
include/sls_detector_exceptions.h
|
include/sls_detector_exceptions.h
|
||||||
@ -26,6 +24,10 @@ set(PUBLICHEADERS
|
|||||||
include/TimeHelper.h
|
include/TimeHelper.h
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Additional headers to be installed if SLS_DEVEL_HEADERS
|
||||||
|
# is specified as an option. Aim is to give the developer
|
||||||
|
# access to utilities in the support library while
|
||||||
|
# at the same time offer a minimal install
|
||||||
if(SLS_DEVEL_HEADERS)
|
if(SLS_DEVEL_HEADERS)
|
||||||
set(PUBLICHEADERS
|
set(PUBLICHEADERS
|
||||||
${PUBLICHEADERS}
|
${PUBLICHEADERS}
|
||||||
@ -44,54 +46,66 @@ if(SLS_DEVEL_HEADERS)
|
|||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_library(slsSupportLib SHARED
|
# Create an object library to avoid building the library twice
|
||||||
|
add_library(slsSupportObject OBJECT
|
||||||
${SOURCES}
|
${SOURCES}
|
||||||
${HEADERS}
|
${HEADERS}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
target_include_directories(slsSupportObject
|
||||||
if((CMAKE_BUILD_TYPE STREQUAL "Release") AND SLS_LTO_AVAILABLE)
|
PUBLIC
|
||||||
set_property(TARGET slsSupportLib PROPERTY INTERPROCEDURAL_OPTIMIZATION True)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
target_include_directories(slsSupportLib PUBLIC
|
|
||||||
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
|
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
|
||||||
"$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>"
|
"$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>"
|
||||||
)
|
PRIVATE
|
||||||
|
|
||||||
target_include_directories(slsSupportLib PRIVATE
|
|
||||||
${ZeroMQ_INCLUDE_DIRS}
|
${ZeroMQ_INCLUDE_DIRS}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
target_link_libraries(slsSupportObject
|
||||||
set_target_properties(slsSupportLib PROPERTIES
|
|
||||||
LIBRARY_OUTPUT_NAME SlsSupport
|
|
||||||
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
|
|
||||||
PUBLIC_HEADER "${PUBLICHEADERS}"
|
|
||||||
)
|
|
||||||
|
|
||||||
target_link_libraries(slsSupportLib
|
|
||||||
PUBLIC
|
PUBLIC
|
||||||
slsProjectOptions
|
slsProjectOptions
|
||||||
# ${ZeroMQ_LIBRARIES}
|
# zmq
|
||||||
zmq
|
${ZeroMQ_LIBRARIES}
|
||||||
rapidjson
|
rapidjson
|
||||||
PRIVATE
|
PRIVATE
|
||||||
slsProjectWarnings
|
slsProjectWarnings
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (SLS_USE_TESTS)
|
if (SLS_USE_TESTS)
|
||||||
add_subdirectory(tests)
|
add_subdirectory(tests)
|
||||||
endif(SLS_USE_TESTS)
|
endif(SLS_USE_TESTS)
|
||||||
|
|
||||||
# Install the library
|
# Add shared library version of the support lib
|
||||||
install(TARGETS slsSupportLib
|
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}"
|
||||||
|
)
|
||||||
|
|
||||||
|
# Add static version of the support lib
|
||||||
|
add_library(slsSupportStatic STATIC $<TARGET_OBJECTS:slsSupportObject>)
|
||||||
|
|
||||||
|
target_link_libraries(slsSupportStatic PUBLIC slsSupportObject)
|
||||||
|
|
||||||
|
set_target_properties(slsSupportStatic PROPERTIES
|
||||||
|
ARCHIVE_OUTPUT_NAME SlsSupportStatic
|
||||||
|
ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
|
||||||
|
PUBLIC_HEADER "${PUBLICHEADERS}"
|
||||||
|
)
|
||||||
|
|
||||||
|
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)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
install(TARGETS slsSupportShared slsSupportStatic slsSupportObject
|
||||||
EXPORT "${TARGETS_EXPORT_NAME}"
|
EXPORT "${TARGETS_EXPORT_NAME}"
|
||||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
|
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -8,12 +8,12 @@ set(SLS_TEST_SOURCES
|
|||||||
)
|
)
|
||||||
|
|
||||||
add_executable(testclient src/testclient.cpp)
|
add_executable(testclient src/testclient.cpp)
|
||||||
target_link_libraries(testclient slsSupportLib)
|
target_link_libraries(testclient slsSupportShared)
|
||||||
set_target_properties(testclient PROPERTIES
|
set_target_properties(testclient PROPERTIES
|
||||||
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
||||||
|
|
||||||
add_executable(testserver src/testserver.cpp)
|
add_executable(testserver src/testserver.cpp)
|
||||||
target_link_libraries(testserver slsSupportLib)
|
target_link_libraries(testserver slsSupportShared)
|
||||||
set_target_properties(testserver PROPERTIES
|
set_target_properties(testserver PROPERTIES
|
||||||
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
||||||
|
|
||||||
@ -21,7 +21,7 @@ add_executable(tests ${SLS_TEST_SOURCES})
|
|||||||
target_link_libraries(tests
|
target_link_libraries(tests
|
||||||
slsProjectOptions
|
slsProjectOptions
|
||||||
slsProjectWarnings
|
slsProjectWarnings
|
||||||
slsSupportLib
|
slsSupportShared
|
||||||
pthread
|
pthread
|
||||||
rt
|
rt
|
||||||
)
|
)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user