mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-24 23:30:03 +02:00
bumped cmake to 3.5
This commit is contained in:
parent
09f1a8956e
commit
3b4d36c3d4
@ -1,8 +1,8 @@
|
|||||||
cmake_minimum_required(VERSION 2.8)
|
cmake_minimum_required(VERSION 3.5)
|
||||||
# cmake_minimum_required(VERSION 3.5)
|
|
||||||
project(slsDetectorPackage)
|
project(slsDetectorPackage)
|
||||||
set(PROJECT_VERSION 5.0.0)
|
set(PROJECT_VERSION 5.0.0)
|
||||||
# set(PACKAGE_VERSION ${})
|
|
||||||
|
|
||||||
|
|
||||||
include(cmake/project_version.cmake)
|
include(cmake/project_version.cmake)
|
||||||
|
|
||||||
@ -31,8 +31,6 @@ if (CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR)
|
|||||||
set(SLS_MASTER_PROJECT ON)
|
set(SLS_MASTER_PROJECT ON)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
option (SLS_USE_HDF5 "HDF5 File format" OFF)
|
option (SLS_USE_HDF5 "HDF5 File format" OFF)
|
||||||
option (SLS_USE_TEXTCLIENT "Text Client" OFF)
|
option (SLS_USE_TEXTCLIENT "Text Client" OFF)
|
||||||
option (SLS_USE_RECEIVER "Receiver" OFF)
|
option (SLS_USE_RECEIVER "Receiver" OFF)
|
||||||
@ -41,7 +39,6 @@ option (SLS_USE_TESTS "TESTS" ON)
|
|||||||
option (SLS_USE_INTEGRATION_TESTS "Integration Tests" ON)
|
option (SLS_USE_INTEGRATION_TESTS "Integration Tests" ON)
|
||||||
option(SLS_USE_SANITIZER "Sanitizers for debugging" OFF)
|
option(SLS_USE_SANITIZER "Sanitizers for debugging" OFF)
|
||||||
option(SLS_USE_PYTHON "Python bindings" OFF)
|
option(SLS_USE_PYTHON "Python bindings" OFF)
|
||||||
|
|
||||||
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)
|
||||||
@ -49,9 +46,23 @@ if (NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
|
|||||||
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Build type (default Release)" FORCE)
|
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Build type (default Release)" FORCE)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
|
#Add two fake libraries to manage options
|
||||||
|
add_library(slsProjectOptions INTERFACE)
|
||||||
|
add_library(slsProjectWarnings INTERFACE)
|
||||||
|
target_compile_features(slsProjectOptions INTERFACE cxx_std_11)
|
||||||
|
target_compile_options(slsProjectWarnings INTERFACE
|
||||||
|
-Wall
|
||||||
|
-Wnon-virtual-dtor
|
||||||
|
-Woverloaded-virtual
|
||||||
|
-Wnull-dereference
|
||||||
|
-Wdouble-promotion
|
||||||
|
-Wformat=2
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
#Testing for minimum version for compilers
|
#Testing for minimum version for compilers
|
||||||
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
|
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
|
||||||
# clang does not support -Wno-misleading-indentation
|
|
||||||
if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.2)
|
if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.2)
|
||||||
message(FATAL_ERROR "Clang version must be at least 3.2!")
|
message(FATAL_ERROR "Clang version must be at least 3.2!")
|
||||||
endif()
|
endif()
|
||||||
@ -59,24 +70,28 @@ elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
|
|||||||
if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.8)
|
if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.8)
|
||||||
message(FATAL_ERROR "GCC version must be at least 4.8!")
|
message(FATAL_ERROR "GCC version must be at least 4.8!")
|
||||||
endif()
|
endif()
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-misleading-indentation -Wno-stringop-truncation -Wno-class-memaccess")
|
target_compile_options(slsProjectWarnings INTERFACE
|
||||||
|
-Wno-misleading-indentation # mostly in rapidjson remove using clang format
|
||||||
|
-Wno-class-memaccess # also in rapidjson
|
||||||
|
-Wduplicated-cond
|
||||||
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Suppressed warnings in GCC
|
|
||||||
# -Wno-stringop-truncation happens when we do sls::strcpy_safe truncates string instead of overwrite buffer
|
|
||||||
# -Wno-class-memaccess - on memcpy in rapidjson should be investigated upgrade implementation?
|
|
||||||
# -Wno-misleading-indentation - until clang format
|
|
||||||
|
|
||||||
#set (CMAKE_CXX_STANDARD 11)
|
|
||||||
#set (CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -std=c++11 ")
|
|
||||||
|
|
||||||
if(SLS_USE_SANITIZER)
|
if(SLS_USE_SANITIZER)
|
||||||
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS_DEBUG} -fno-omit-frame-pointer -fsanitize=address,undefined")
|
target_compile_options(slsProjectOptions INTERFACE -fsanitize=address,undefined)
|
||||||
set (CMAKE_LINKER_FLAGS "${CMAKE_LINKER_FLAGS_DEBUG} -fno-omit-frame-pointer -fsanitize=address,undefiend")
|
target_link_libraries(slsProjectOptions INTERFACE -fsanitize=address,undefined)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
|
# Install fake the library
|
||||||
|
install(TARGETS slsProjectOptions slsProjectWarnings
|
||||||
|
EXPORT "${TARGETS_EXPORT_NAME}"
|
||||||
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
|
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
|
||||||
|
)
|
||||||
|
|
||||||
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
||||||
set(CMAKE_INSTALL_RPATH "$ORIGIN")
|
set(CMAKE_INSTALL_RPATH "$ORIGIN")
|
||||||
set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
|
set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
|
||||||
|
@ -18,6 +18,8 @@ target_include_directories(slsDetectorShared PUBLIC
|
|||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries(slsDetectorShared PUBLIC
|
target_link_libraries(slsDetectorShared PUBLIC
|
||||||
|
slsProjectOptions
|
||||||
|
slsProjectWarnings
|
||||||
slsSupportLib
|
slsSupportLib
|
||||||
${ZeroMQ_LIBRARIES}
|
${ZeroMQ_LIBRARIES}
|
||||||
)
|
)
|
||||||
@ -42,6 +44,8 @@ add_executable(sls_detector_get
|
|||||||
src/sls_detector_client.cpp
|
src/sls_detector_client.cpp
|
||||||
)
|
)
|
||||||
target_link_libraries(sls_detector_get
|
target_link_libraries(sls_detector_get
|
||||||
|
slsProjectOptions
|
||||||
|
slsProjectWarnings
|
||||||
slsDetectorShared
|
slsDetectorShared
|
||||||
slsSupportLib
|
slsSupportLib
|
||||||
pthread
|
pthread
|
||||||
@ -57,6 +61,8 @@ add_executable(sls_detector_put
|
|||||||
src/sls_detector_client.cpp
|
src/sls_detector_client.cpp
|
||||||
)
|
)
|
||||||
target_link_libraries(sls_detector_put
|
target_link_libraries(sls_detector_put
|
||||||
|
slsProjectOptions
|
||||||
|
slsProjectWarnings
|
||||||
slsDetectorShared
|
slsDetectorShared
|
||||||
pthread
|
pthread
|
||||||
${ZeroMQ_LIBRARIES}
|
${ZeroMQ_LIBRARIES}
|
||||||
@ -71,6 +77,8 @@ add_executable(sls_detector_acquire
|
|||||||
src/sls_detector_client.cpp
|
src/sls_detector_client.cpp
|
||||||
)
|
)
|
||||||
target_link_libraries(sls_detector_acquire
|
target_link_libraries(sls_detector_acquire
|
||||||
|
slsProjectOptions
|
||||||
|
slsProjectWarnings
|
||||||
slsDetectorShared
|
slsDetectorShared
|
||||||
pthread
|
pthread
|
||||||
${ZeroMQ_LIBRARIES}
|
${ZeroMQ_LIBRARIES}
|
||||||
@ -85,6 +93,8 @@ add_executable(sls_detector_help
|
|||||||
src/sls_detector_client.cpp
|
src/sls_detector_client.cpp
|
||||||
)
|
)
|
||||||
target_link_libraries(sls_detector_help
|
target_link_libraries(sls_detector_help
|
||||||
|
slsProjectOptions
|
||||||
|
slsProjectWarnings
|
||||||
slsDetectorShared
|
slsDetectorShared
|
||||||
pthread
|
pthread
|
||||||
${ZeroMQ_LIBRARIES}
|
${ZeroMQ_LIBRARIES}
|
||||||
|
@ -39,6 +39,8 @@ add_library(slsReceiverShared SHARED
|
|||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries(slsReceiverShared PUBLIC
|
target_link_libraries(slsReceiverShared PUBLIC
|
||||||
|
slsProjectOptions
|
||||||
|
slsProjectWarnings
|
||||||
slsSupportLib
|
slsSupportLib
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -66,6 +68,8 @@ set_target_properties(slsReceiver PROPERTIES
|
|||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries(slsReceiver PUBLIC
|
target_link_libraries(slsReceiver PUBLIC
|
||||||
|
slsProjectOptions
|
||||||
|
slsProjectWarnings
|
||||||
slsSupportLib
|
slsSupportLib
|
||||||
slsReceiverShared
|
slsReceiverShared
|
||||||
pthread
|
pthread
|
||||||
|
@ -49,6 +49,8 @@ set_target_properties(slsSupportLib PROPERTIES
|
|||||||
PUBLIC_HEADER "${PUBLICHEADERS}"
|
PUBLIC_HEADER "${PUBLICHEADERS}"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
target_link_libraries(slsSupportLib slsProjectOptions slsProjectWarnings)
|
||||||
|
|
||||||
if (SLS_USE_TESTS)
|
if (SLS_USE_TESTS)
|
||||||
add_subdirectory(tests)
|
add_subdirectory(tests)
|
||||||
endif(SLS_USE_TESTS)
|
endif(SLS_USE_TESTS)
|
||||||
|
@ -258,7 +258,7 @@ public:
|
|||||||
|
|
||||||
|
|
||||||
/** Json Header Format */
|
/** Json Header Format */
|
||||||
const char* jsonHeaderFormat =
|
const char jsonHeaderFormat[] =
|
||||||
"{"
|
"{"
|
||||||
"\"jsonversion\":%u, "
|
"\"jsonversion\":%u, "
|
||||||
"\"bitmode\":%u, "
|
"\"bitmode\":%u, "
|
||||||
|
Loading…
x
Reference in New Issue
Block a user