Import Geant4 10.0.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-10 11:51:14 +02:00
parent e2d2f9810a
commit 286caacf06
12421 changed files with 730077 additions and 502383 deletions
+28 -13
View File
@@ -1,11 +1,11 @@
# - Geant4MakeRules_cxx
# Sets the default make rules for a CXX build, specifically the
# Sets the default make rules for a CXX build, specifically the
# initialization of the compiler flags on a platform and compiler
# dependent basis
#
#
#-----------------------------------------------------------------------
# C++ Standard Setup
# C++ ISO Standard Setup
#-----------------------------------------------------------------------
# If the compiler supports setting a particular C++ Standard to use
# when compiling, configure the following global variables that can
@@ -21,8 +21,8 @@
#
# We don't add these flags to CMAKE_CXX_FLAGS_INIT as the choice
# of standard is a configure time choice, and may be changed in
# the cache.
#
# the cache.
#
# Settings for each compiler are handled in a dedicated function.
# Whilst we only handle GNU, Clang and Intel, these are sufficiently
# different in the required flags that individual handling is needed.
@@ -33,7 +33,7 @@
# Determine version of GNU compiler and set available C++
# Standards and flags as appropriate in the function's
# parent scope.
#
#
# Note that this function is safe in CMake < 2.8.2 where
# the Clang compiler is identified as the GNU compiler.
# Clang allows the -dumpversion argument and provides
@@ -73,6 +73,15 @@ function(__configure_cxxstd_clang)
ERROR_STRIP_TRAILING_WHITESPACE
)
string(REGEX REPLACE ".*clang version ([0-9]\\.[0-9]+).*" "\\1" _clangcxx_version ${_clangcxx_dumpedversion})
# Apple Clang 4.2 no longer reports clang version but LLVM version
# Moreover, this is Apple versioning, not LLVM upstream
# If this is the case, the previous regex will not do anything.
# Check to see if we have "Apple LLVM version" in the output,
# and if so extract the original LLVM version which should appear as
# "based on LLVM X.Ysvn"
if(APPLE AND "${_clangcxx_version}" MATCHES ".*Apple LLVM version.*")
string(REGEX REPLACE ".*based on LLVM ([0-9]\\.[0-9]+)svn.*" "\\1" _clangcxx_version ${_clangcxx_version})
endif()
message(STATUS "Clang version : ${_clangcxx_version}")
if(_clangcxx_version VERSION_LESS 2.9)
@@ -123,8 +132,8 @@ endfunction()
# GNU C++ or LLVM/Clang Compiler on all(?) platforms
# NB: At present, only identifies clang correctly on CMake > 2.8.1
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
set(CMAKE_CXX_FLAGS_INIT "-W -Wall -pedantic -Wno-non-virtual-dtor -Wno-long-long -Wwrite-strings -Wpointer-arith -Woverloaded-virtual -pipe")
set(CMAKE_CXX_FLAGS_DEBUG_INIT "-g")
set(CMAKE_CXX_FLAGS_INIT "-W -Wall -pedantic -Wno-non-virtual-dtor -Wno-long-long -Wwrite-strings -Wpointer-arith -Woverloaded-virtual -Wno-variadic-macros -Wshadow -pipe")
set(CMAKE_CXX_FLAGS_DEBUG_INIT "-g")
set(CMAKE_CXX_FLAGS_RELEASE_INIT "-O2 -DNDEBUG")
set(CMAKE_CXX_FLAGS_MINSIZEREL_INIT "-Os -DNDEBUG")
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "-O2 -g")
@@ -147,6 +156,9 @@ if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
else()
__configure_cxxstd_gnu()
endif()
# - Multithreading
set(GEANT4_MULTITHREADED_CXX_FLAGS "-ftls-model=initial-exec -pthread")
endif()
@@ -158,7 +170,7 @@ if(MSVC)
# Hmm, WIN32-VC.gmk uses dashes, but cmake uses slashes, latter probably
# best for native build.
set(CMAKE_CXX_FLAGS_INIT "-GR -EHsc -Zm200 -nologo -D_CONSOLE -D_WIN32 -DWIN32 -DOS -DXPNET -D_CRT_SECURE_NO_DEPRECATE")
set(CMAKE_CXX_FLAGS_DEBUG_INIT "-MDd -Od -Zi")
set(CMAKE_CXX_FLAGS_DEBUG_INIT "-MDd -Od -Zi")
set(CMAKE_CXX_FLAGS_RELEASE_INIT "-MD -O2 -DNDEBUG")
set(CMAKE_CXX_FLAGS_MINSIZEREL_INIT "-MD -Os -DNDEBUG")
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "-MD -O2 -Zi")
@@ -177,7 +189,7 @@ endif()
# Sufficient id on all platforms?
if(CMAKE_CXX_COMPILER MATCHES "icpc.*|icc.*")
set(CMAKE_CXX_FLAGS_INIT "-w1 -Wno-non-virtual-dtor -Wpointer-arith -Wwrite-strings -fp-model precise")
set(CMAKE_CXX_FLAGS_DEBUG_INIT "-g")
set(CMAKE_CXX_FLAGS_DEBUG_INIT "-g")
set(CMAKE_CXX_FLAGS_RELEASE_INIT "-O2 -DNDEBUG")
set(CMAKE_CXX_FLAGS_MINSIZEREL_INIT "-Os -DNDEBUG")
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "-O2 -g")
@@ -189,7 +201,10 @@ if(CMAKE_CXX_COMPILER MATCHES "icpc.*|icc.*")
# C++ Standard Settings
__configure_cxxstd_intel()
# Linker flags
# - Multithreading
set(GEANT4_MULTITHREADED_CXX_FLAGS "-ftls-model=initial-exec -pthread")
# Linker flags
set(CMAKE_EXE_LINKER_FLAGS "-i-dynamic -limf")
endif()
@@ -207,7 +222,7 @@ if(UNIX AND NOT CMAKE_COMPILER_IS_GNUCXX)
#
if(CMAKE_CXX_COMPILER MATCHES "xlC")
set(CMAKE_CXX_FLAGS_INIT "")
set(CMAKE_CXX_FLAGS_DEBUG_INIT "-g -qdbextra -qcheck=all -qfullpath -qtwolink -+")
set(CMAKE_CXX_FLAGS_DEBUG_INIT "-g -qdbextra -qcheck=all -qfullpath -qtwolink -+")
set(CMAKE_CXX_FLAGS_RELEASE_INIT "-O3 -qtwolink -+")
set(CMAKE_CXX_FLAGS_MINSIZEREL_INIT "-O3 -qtwolink -+")
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "-O3 -g -qdbextra -qcheck=all -qfullpath -qtwolink -+")
@@ -218,7 +233,7 @@ if(UNIX AND NOT CMAKE_COMPILER_IS_GNUCXX)
#
if(CMAKE_CXX_COMPILER MATCHES "aCC")
set(CMAKE_CXX_FLAGS_INIT "+DAportable +W823")
set(CMAKE_CXX_FLAGS_DEBUG_INIT "-g")
set(CMAKE_CXX_FLAGS_DEBUG_INIT "-g")
set(CMAKE_CXX_FLAGS_RELEASE_INIT "+O2 +Onolimit")
set(CMAKE_CXX_FLAGS_MINSIZEREL_INIT "-O2 +Onolimit")
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "-O2 +Onolimit -g")
@@ -229,7 +244,7 @@ if(UNIX AND NOT CMAKE_COMPILER_IS_GNUCXX)
#
if(CMAKE_CXX_COMPILER MATCHES "CC" AND CMAKE_SYSTEM_NAME MATCHES "IRIX")
set(CMAKE_CXX_FLAGS_INIT "-ptused -DSOCKET_IRIX_SOLARIS")
set(CMAKE_CXX_FLAGS_DEBUG_INIT "-g")
set(CMAKE_CXX_FLAGS_DEBUG_INIT "-g")
set(CMAKE_CXX_FLAGS_RELEASE_INIT "-O -OPT:Olimit=5000")
set(CMAKE_CXX_FLAGS_MINSIZEREL_INIT "-O -OPT:Olimit=5000")
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "-O -OPT:Olimit=5000 -g")