Skip to content
Snippets Groups Projects

Update external packages

6 files
+ 116
69
Compare changes
  • Side-by-side
  • Inline

Files

+ 33
24
@@ -48,28 +48,41 @@ message(STATUS "LCG system: ${LCG_SYSTEM}")
# define a minimun default version
set(GAUDI_CXX_STANDARD_DEFAULT "c++14")
# overriddend depending on the compiler
if (BINARY_TAG_COMP_NAME STREQUAL "clang" AND BINARY_TAG_COMP_VERSION VERSION_GREATER "3.6")
set(GAUDI_CXX_STANDARD_DEFAULT "c++14")
if (BINARY_TAG_COMP_NAME STREQUAL "clang" AND NOT BINARY_TAG_COMP_VERSION VERSION_LESS "3.9")
set(GAUDI_CXX_STANDARD_DEFAULT "c++1z")
elseif(BINARY_TAG_COMP_NAME STREQUAL "gcc")
# Special defaults
if (BINARY_TAG_COMP_VERSION VERSION_LESS "4.7")
set(GAUDI_CXX_STANDARD_DEFAULT "c++98")
elseif(BINARY_TAG_COMP_VERSION VERSION_LESS "4.9")
# C++11 is enable by default on 4.7 <= gcc < 4.9
set(GAUDI_CXX_STANDARD_DEFAULT "c++11")
elseif(BINARY_TAG_COMP_VERSION VERSION_LESS "5.1")
# C++1y (C++14 preview) is enable by default on 4.9 <= gcc < 5.1
set(GAUDI_CXX_STANDARD_DEFAULT "c++1y")
else()
# C++14 is enable by default on gcc >= 5.1
set(GAUDI_CXX_STANDARD_DEFAULT "c++14")
option(GAUDI_GCC_OLD_ABI "use old gcc ABI for c++11 and above (gcc >= 5.1)"
OFF)
if (NOT BINARY_TAG_COMP_VERSION VERSION_LESS "7.0")
set(GAUDI_CXX_STANDARD_DEFAULT "c++17")
endif()
endif()
# special for GaudiHive
set(GAUDI_CPP11_DEFAULT ON)
# Detect the version of the C++ standard used to compile ROOT
# and, if found, use it as default standard for the build.
if(NOT ROOT_CXX_STANDARD)
find_package(ROOT QUIET)
if(ROOT_FOUND)
file(STRINGS ${ROOT_INCLUDE_DIR}/RConfigure.h _RConfigure REGEX "define R__")
foreach(rconfig_line IN LISTS _RConfigure)
if(rconfig_line MATCHES "R__USE_CXX([^ ]+)")
set(ROOT_CXX_STANDARD "c++${CMAKE_MATCH_1}")
endif()
endforeach()
if(ROOT_CXX_STANDARD)
set(ROOT_CXX_STANDARD "${ROOT_CXX_STANDARD}" CACHE INTERNAL
"C++ standard used by ROOT")
mark_as_advanced(ROOT_CXX_STANDARD)
endif()
set(_RConfigure)
set(rconfig_line)
endif()
endif()
if(ROOT_CXX_STANDARD)
set(GAUDI_CXX_STANDARD_DEFAULT "${ROOT_CXX_STANDARD}")
endif()
#--- Gaudi Build Options -------------------------------------------------------
# Build options that map to compile time features
#
@@ -106,9 +119,8 @@ option(GAUDI_SLOW_DEBUG
# - default optimization levels
set(_opt_level_RELEASE "-O3")
set(_opt_ext_RELEASE "-DNDEBUG")
if(NOT GAUDI_SLOW_DEBUG AND
(BINARY_TAG_COMP_NAME STREQUAL "gcc" AND NOT BINARY_TAG_COMP_VERSION VERSION_LESS "4.8"))
# Use -Og with Debug builds in gcc >= 4.8 (if not disabled)
if(NOT GAUDI_SLOW_DEBUG AND BINARY_TAG_COMP_NAME STREQUAL "gcc")
# Use -Og with Debug builds in gcc (if not disabled)
set(_opt_level_DEBUG "-Og")
else()
set(_opt_level_DEBUG "-O0")
@@ -158,6 +170,9 @@ endif()
set(GAUDI_CXX_STANDARD "${GAUDI_CXX_STANDARD_DEFAULT}"
CACHE STRING "Version of the C++ standard to be used.")
if(ROOT_CXX_STANDARD AND NOT ROOT_CXX_STANDARD STREQUAL GAUDI_CXX_STANDARD)
message(WARNING "Requested ${GAUDI_CXX_STANDARD} but ROOT was compiled with ${ROOT_CXX_STANDARD}")
endif()
# If modern c++ and gcc >= 5.1 and requested, use old ABI compatibility
if((NOT GAUDI_CXX_STANDARD STREQUAL "c++98") AND
@@ -385,12 +400,6 @@ add_definitions(-DBOOST_FILESYSTEM_VERSION=3)
# and http://stackoverflow.com/a/20440238/504346
add_definitions(-DBOOST_SPIRIT_USE_PHOENIX_V3)
if(BINARY_TAG_COMP_NAME STREQUAL "gcc" AND BINARY_TAG_COMP_VERSION VERSION_EQUAL "4.3")
# The -pedantic flag gives problems on GCC 4.3.
string(REPLACE "-pedantic" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
string(REPLACE "-pedantic" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
endif()
if(GAUDI_ATLAS)
# FIXME: this macro is used in ATLAS to simplify the migration to Gaudi v25,
# unfortunately it's not possible to detect the version of Gaudi at this point
Loading