mirror of
https://github.com/FairRootGroup/FairMQ.git
synced 2025-10-13 08:41:16 +00:00
CMake: Do not unconditionally override settings without good reason
fixes #342
This commit is contained in:
parent
3c4158addb
commit
2e655823e4
|
@ -11,7 +11,7 @@
|
||||||
cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
|
cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
|
||||||
cmake_policy(VERSION 3.15...3.20)
|
cmake_policy(VERSION 3.15...3.20)
|
||||||
|
|
||||||
set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
|
list(PREPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
|
||||||
include(GitHelper)
|
include(GitHelper)
|
||||||
get_git_version()
|
get_git_version()
|
||||||
|
|
||||||
|
|
|
@ -25,7 +25,9 @@ set(PROJECT_MIN_CXX_STANDARD 17)
|
||||||
if(CMAKE_CXX_STANDARD AND CMAKE_CXX_STANDARD VERSION_LESS PROJECT_MIN_CXX_STANDARD)
|
if(CMAKE_CXX_STANDARD AND CMAKE_CXX_STANDARD VERSION_LESS PROJECT_MIN_CXX_STANDARD)
|
||||||
message(FATAL_ERROR "A minimum CMAKE_CXX_STANDARD of ${PROJECT_MIN_CXX_STANDARD} is required.")
|
message(FATAL_ERROR "A minimum CMAKE_CXX_STANDARD of ${PROJECT_MIN_CXX_STANDARD} is required.")
|
||||||
endif()
|
endif()
|
||||||
set(CMAKE_CXX_EXTENSIONS OFF)
|
if(NOT DEFINED CMAKE_CXX_EXTENSIONS)
|
||||||
|
set(CMAKE_CXX_EXTENSIONS OFF)
|
||||||
|
endif()
|
||||||
|
|
||||||
if(NOT BUILD_SHARED_LIBS)
|
if(NOT BUILD_SHARED_LIBS)
|
||||||
set(BUILD_SHARED_LIBS ON CACHE BOOL "Whether to build shared libraries or static archives")
|
set(BUILD_SHARED_LIBS ON CACHE BOOL "Whether to build shared libraries or static archives")
|
||||||
|
@ -37,7 +39,9 @@ if(NOT CMAKE_POSITION_INDEPENDENT_CODE)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Generate compile_commands.json file (https://clang.llvm.org/docs/JSONCompilationDatabase.html)
|
# Generate compile_commands.json file (https://clang.llvm.org/docs/JSONCompilationDatabase.html)
|
||||||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
if(NOT DEFINED CMAKE_EXPORT_COMPILE_COMMANDS)
|
||||||
|
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||||
|
endif()
|
||||||
|
|
||||||
# Define install dirs
|
# Define install dirs
|
||||||
set(PROJECT_INSTALL_BINDIR ${CMAKE_INSTALL_BINDIR})
|
set(PROJECT_INSTALL_BINDIR ${CMAKE_INSTALL_BINDIR})
|
||||||
|
@ -47,17 +51,19 @@ set(PROJECT_INSTALL_DATADIR ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME_LOWER})
|
||||||
set(PROJECT_INSTALL_CMAKEMODDIR ${PROJECT_INSTALL_DATADIR}/cmake)
|
set(PROJECT_INSTALL_CMAKEMODDIR ${PROJECT_INSTALL_DATADIR}/cmake)
|
||||||
|
|
||||||
# https://cmake.org/Wiki/CMake_RPATH_handling
|
# https://cmake.org/Wiki/CMake_RPATH_handling
|
||||||
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH ON)
|
if(NOT DEFINED CMAKE_INSTALL_RPATH_USE_LINK_PATH)
|
||||||
|
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH ON)
|
||||||
|
endif()
|
||||||
list(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/${PROJECT_INSTALL_LIBDIR}" isSystemDir)
|
list(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/${PROJECT_INSTALL_LIBDIR}" isSystemDir)
|
||||||
if("${isSystemDir}" STREQUAL "-1")
|
if("${isSystemDir}" STREQUAL "-1")
|
||||||
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||||
set(CMAKE_EXE_LINKER_FLAGS ${CMAKE_EXE_LINKER_FLAGS} "-Wl,--enable-new-dtags")
|
list(APPEND CMAKE_EXE_LINKER_FLAGS "-Wl,--enable-new-dtags")
|
||||||
set(CMAKE_SHARED_LINKER_FLAGS ${CMAKE_SHARED_LINKER_FLAGS} "-Wl,--enable-new-dtags")
|
list(APPEND CMAKE_SHARED_LINKER_FLAGS "-Wl,--enable-new-dtags")
|
||||||
set(CMAKE_INSTALL_RPATH "$ORIGIN/../${PROJECT_INSTALL_LIBDIR}")
|
list(PREPEND CMAKE_INSTALL_RPATH "$ORIGIN/../${PROJECT_INSTALL_LIBDIR}")
|
||||||
elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
|
elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
|
||||||
set(CMAKE_INSTALL_RPATH "@loader_path/../${PROJECT_INSTALL_LIBDIR}")
|
list(PREPEND CMAKE_INSTALL_RPATH "@loader_path/../${PROJECT_INSTALL_LIBDIR}")
|
||||||
else()
|
else()
|
||||||
set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${PROJECT_INSTALL_LIBDIR}")
|
list(PREPEND CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${PROJECT_INSTALL_LIBDIR}")
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
@ -85,7 +91,7 @@ if(CMAKE_GENERATOR STREQUAL "Ninja" AND
|
||||||
list(APPEND CMAKE_CXX_FLAGS "-fdiagnostics-color=always")
|
list(APPEND CMAKE_CXX_FLAGS "-fdiagnostics-color=always")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(NOT PROJECT_VERSION_TWEAK)
|
if(NOT DEFINED PROJECT_VERSION_TWEAK)
|
||||||
set(PROJECT_VERSION_HOTFIX 0)
|
set(PROJECT_VERSION_HOTFIX 0)
|
||||||
else()
|
else()
|
||||||
set(PROJECT_VERSION_HOTFIX ${PROJECT_VERSION_TWEAK})
|
set(PROJECT_VERSION_HOTFIX ${PROJECT_VERSION_TWEAK})
|
||||||
|
|
Loading…
Reference in New Issue
Block a user