Import Geant4 10.3.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-12-09 12:35:28 +01:00
parent 4ec577e5c4
commit a3452e42ac
3514 changed files with 210500 additions and 89628 deletions
+35
View File
@@ -0,0 +1,35 @@
# Locate DCMTK package
# in a directory defined via DCMTK_DIR CMake or environment variable
# Defines:
#
# DCMTK_INCLUDE_DIRS
# DCMTK_LIBRARIES
# DCMTK_FOUND
# includes
#
find_path(DCMTK_INCLUDE_DIR dcmtk/dcmdata/dcfilefo.h
HINTS $ENV{DCMTK_DIR}/include ${DCMTK_DIR}/include)
set(DCMTK_INCLUDE_DIRS ${DCMTK_INCLUDE_DIR})
# libraries
#
find_library(DCMTK_DCMPSTAT_LIBRARY
NAMES dcmpstat
HINTS "$ENV{DCMTK_DIR}/lib" "${DCMTK_DIR}/lib")
get_filename_component(DCMTK_LIBRARY_DIR
${DCMTK_DCMPSTAT_LIBRARY} DIRECTORY)
set(DCMTK_LIBRARIES
-L${DCMTK_LIBRARY_DIR} -ldcmpstat -ldcmwlm -lijg8 -ldcmdata -ldcmjpeg -ldcmqrdb
-li2d -loflog -ldcmdsig -ldcmjpls -ldcmsr -lijg12 -lofstd -ldcmimage -ldcmnet
-ldcmtls -lijg16 -ldcmjpeg -ldcmrt -lcharls -ldcmimgle)
# handle the QUIETLY and REQUIRED arguments and set DCMTK_FOUND to TRUE if
# all listed variables are TRUE
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(DCMTK DEFAULT_MSG DCMTK_INCLUDE_DIRS DCMTK_LIBRARIES)
mark_as_advanced(DCMTK_FOUND DCMTK_INCLUDE_DIRS DCMTK_LIBRARIES)
+9 -4
View File
@@ -1,3 +1,4 @@
# Copied from Geant4 installation, need patch
# - Find StatTest
# This module tries to find the StatTest application
# Once done this will define
@@ -13,7 +14,6 @@
#
# STATTEST_ROOT_DIR Root directory to StatTest package
#
#Search application
#Note that the second suggested path is G4 specific...
find_path(STATTEST_APP_DIR
@@ -68,12 +68,13 @@ if(STATTEST_FOUND)
# G4TEST testname
# CONFIG conffile
# INPUT inputfile
# [DEBUG]
# [DEBUG]
# [TEXT] #Input is text file instead of root
# [REFERENCE reference]
# [LABELS label1 label2 ...]
# [IMG filename])
function(STATTEST_ADD_TEST stattest)
CMAKE_PARSE_ARGUMENTS(ARG "DEBUG"
CMAKE_PARSE_ARGUMENTS(ARG "DEBUG;TEXT"
"CONFIG;INPUT;REFERENCE;G4TEST;IMG"
"LABELS" ${ARGN}
)
@@ -99,7 +100,11 @@ if(STATTEST_FOUND)
set(_command ${STATTEST_CMD} -g ${ARG_IMG})
else()
set(_command ${STATTEST_CMD})
endif()
endif()
if(ARG_TEXT)
set(_command ${_command} "-T")
endif()
#Mandatory parameters
set(_command ${_command} ${ARG_CONFIG} ${ARG_INPUT})
+1 -1
View File
@@ -70,7 +70,7 @@ endif()
if(NOT CMAKE_CONFIGURATION_TYPES)
if(NOT CMAKE_BUILD_TYPE)
# Default to a Release build if nothing else...
set(CMAKE_BUILD_TYPE RelWithDebInfo
set(CMAKE_BUILD_TYPE Release
CACHE STRING "Choose the type of build, options are: None Release TestRelease MinSizeRel Debug RelWithDebInfo MinSizeRel Maintainer."
FORCE
)
+7 -2
View File
@@ -13,10 +13,15 @@ set(Geant4_CXX_FLAGS \"${CMAKE_CXX_FLAGS} ${GEANT4_CXXSTD_FLAGS}\")
set(Geant4_EXE_LINKER_FLAGS \"${CMAKE_EXE_LINKER_FLAGS}\")")
foreach(_mode DEBUG MINSIZEREL RELEASE RELWITHDEBINFO)
set(GEANT4_COMPILER_FLAG_HINTS "${GEANT4_COMPILER_FLAG_HINTS}
set(GEANT4_COMPILER_FLAG_HINTS "${GEANT4_COMPILER_FLAG_HINTS}
set(Geant4_CXX_FLAGS_${_mode} \"${CMAKE_CXX_FLAGS_${_mode}}\")")
endforeach()
if(NOT CMAKE_CONFIGURATION_TYPES)
set(GEANT4_COMPILER_FLAG_HINTS "${GEANT4_COMPILER_FLAG_HINTS}
set(Geant4_BUILD_TYPE \"${CMAKE_BUILD_TYPE}\")")
endif()
# Core compile definitions...
set(GEANT4_CORE_DEFINITIONS )
@@ -88,7 +93,7 @@ if(GEANT4_USE_QT)
# On WIN32, re-import the Qt targets.
if(WIN32)
set(GEANT4_THIRD_PARTY_IMPORT_SETUP "${GEANT4_THIRD_PARTY_IMPORT_SETUP}
set(GEANT4_QT4_IMPORT_SETUP "
# Qt reimport on WIN32
set(QT_QMAKE_EXECUTABLE ${QT_QMAKE_EXECUTABLE})
set(QT_USE_IMPORTED_TARGETS ON)
+8 -8
View File
@@ -18,31 +18,31 @@ geant4_add_dataset(
# - Low energy electromagnetics
geant4_add_dataset(
NAME G4EMLOW
VERSION 6.48
VERSION 6.50
FILENAME G4EMLOW
EXTENSION tar.gz
ENVVAR G4LEDATA
MD5SUM 844064faa16a063a6a08406dc7895b68
MD5SUM 2a0dbeb2dd57158919c149f33675cce5
)
# - Photon evaporation
geant4_add_dataset(
NAME PhotonEvaporation
VERSION 3.2
VERSION 4.3
FILENAME G4PhotonEvaporation
EXTENSION tar.gz
ENVVAR G4LEVELGAMMADATA
MD5SUM 01d5ba17f615d3def01f7c0c6b19bd69
MD5SUM 012fcdeaa517efebba5770e6c1cbd882
)
# - Radioisotopes
geant4_add_dataset(
NAME RadioactiveDecay
VERSION 4.4.1
VERSION 5.1
FILENAME G4RadioactiveDecay
EXTENSION tar.gz
ENVVAR G4RADIOACTIVEDATA
MD5SUM 0aa6c879c17b26f1ca85d3ac915fc30e
MD5SUM 994853b153c6f805e60e2b83b9ac10e0
)
# - Neutron XS
@@ -98,10 +98,10 @@ geant4_add_dataset(
# - ENSDFSTATE
geant4_add_dataset(
NAME G4ENSDFSTATE
VERSION 1.3.1
VERSION 2.1
FILENAME G4ENSDFSTATE
EXTENSION tar.gz
ENVVAR G4ENSDFSTATEDATA
MD5SUM eddd153110184256a57ce6b753f0d527
MD5SUM 95d970b97885aeafaa8909f29997b0df
)
+2
View File
@@ -185,6 +185,8 @@ function(geant4_export_datasets _type _output)
else()
message(FATAL_ERROR "incorrect argument to geant4_export_datasets")
endif()
# Ensure CMake paths
file(TO_CMAKE_PATH "${_tmpprop}" _tmpprop)
list(APPEND _tuple ${_tmpprop})
get_property(_fname GLOBAL PROPERTY ${_ds}_FILENAME)
+11 -4
View File
@@ -24,9 +24,16 @@ endfunction()
#-----------------------------------------------------------------------
# GNU C++ or Clang/AppleClang Compiler on all(?) platforms
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 -Wno-variadic-macros -Wshadow -pipe")
# Warnings
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")
# Use pipes rather than temp files
set(CMAKE_CXX_FLAGS_INIT "${CMAKE_CXX_FLAGS_INIT} -pipe")
# Additional per-mode flags
set(CMAKE_CXX_FLAGS_DEBUG_INIT "-g -DG4FPE_DEBUG")
set(CMAKE_CXX_FLAGS_RELEASE_INIT "-O2 -DNDEBUG")
set(CMAKE_CXX_FLAGS_RELEASE_INIT "-O3 -DNDEBUG")
# Assist auto-vectorization
set(CMAKE_CXX_FLAGS_RELEASE_INIT "${CMAKE_CXX_FLAGS_RELEASE_INIT} -fno-trapping-math -ftree-vectorize -fno-math-errno")
set(CMAKE_CXX_FLAGS_MINSIZEREL_INIT "-Os -DNDEBUG")
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "-O2 -g")
@@ -60,7 +67,7 @@ if(MSVC)
# 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_RELEASE_INIT "-MD -O2 -DNDEBUG")
set(CMAKE_CXX_FLAGS_RELEASE_INIT "-MD -Ox -DNDEBUG")
set(CMAKE_CXX_FLAGS_MINSIZEREL_INIT "-MD -Os -DNDEBUG")
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "-MD -O2 -Zi")
@@ -77,7 +84,7 @@ endif()
if(CMAKE_CXX_COMPILER_ID MATCHES "Intel")
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_RELEASE_INIT "-O2 -DNDEBUG")
set(CMAKE_CXX_FLAGS_RELEASE_INIT "-O3 -DNDEBUG")
set(CMAKE_CXX_FLAGS_MINSIZEREL_INIT "-Os -DNDEBUG")
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "-O2 -g")
@@ -256,6 +256,43 @@ endif
endif()
endfunction()
#-----------------------------------------------------------------------
# function _g4tc_append_path(<output> <shell> <name> <value>)
# Set output to a string whose value is the shell command to
# append supplied value to the path style environment variable
# name (e.g. 'PATH')
#
function(_g4tc_append_path TEMPLATE_NAME SHELL_FAMILY PATH_VARIABLE
APPEND_VARIABLE)
# -- bourne block
if(${SHELL_FAMILY} STREQUAL "bourne")
# We have to make this section verbatim
set(${TEMPLATE_NAME}
"
if test \"x\$${PATH_VARIABLE}\" = \"x\" ; then
export ${PATH_VARIABLE}=${APPEND_VARIABLE}
else
export ${PATH_VARIABLE}=\${${PATH_VARIABLE}}:${APPEND_VARIABLE}
fi
"
PARENT_SCOPE
)
# -- cshell block
elseif(${SHELL_FAMILY} STREQUAL "cshell")
# Again, this is verbatim so final output is formatted correctly
set(${TEMPLATE_NAME}
"
if ( ! \${?${PATH_VARIABLE}} ) then
setenv ${PATH_VARIABLE} ${APPEND_VARIABLE}
else
setenv ${PATH_VARIABLE} \${${PATH_VARIABLE}}:${APPEND_VARIABLE}
endif
"
PARENT_SCOPE
)
endif()
endfunction()
#-----------------------------------------------------------------------
# MACRO(_g4tc_configure_tc_variables)
# Macro to perform the actual setting of the low level toolchain variables
@@ -408,6 +445,28 @@ macro(_g4tc_configure_tc_variables SHELL_FAMILY SCRIPT_NAME)
set(GEANT4_TC_G4LIB_USE_G3TOG4 "# NOT BUILT WITH G3TOG4 SUPPORT")
endif()
# - USolids/VecGeom
if(GEANT4_USE_USOLIDS)
# Derive base dir from include path, NB, not 100% robust as Geant4GNUmake makes
# significant assumptions about how USolids was installed
get_filename_component(_USOLIDS_INCLUDE_DIR "${USOLIDS_INCLUDE_DIRS}" REALPATH)
get_filename_component(_USOLIDS_BASE_DIR "${_USOLIDS_INCLUDE_DIR}" DIRECTORY)
_g4tc_setenv_command(GEANT4_TC_USOLIDS_BASE_DIR ${SHELL_FAMILY} USOLIDS_BASE_DIR "${_USOLIDS_BASE_DIR}")
if(GEANT4_USE_ALL_USOLIDS)
_g4tc_setenv_command(GEANT4_TC_G4GEOM_USE_USOLIDS ${SHELL_FAMILY} G4GEOM_USE_USOLIDS 1)
set(GEANT4_TC_G4GEOM_USE_PARTIAL_USOLIDS "# FULL USOLIDS REPLACEMENT")
else()
set(GEANT4_TC_G4GEOM_USE_USOLIDS "# PARTIAL USOLIDS REPLACEMENT")
_g4tc_setenv_command(GEANT4_TC_G4GEOM_USE_PARTIAL_USOLIDS ${SHELL_FAMILY} G4GEOM_USE_PARTIAL_USOLIDS 1)
foreach(__g4_usolid_shape ${GEANT4_USE_PARTIAL_USOLIDS_SHAPE_LIST})
_g4tc_setenv_command(GEANT4_TC_G4GEOM_USE_U${__g4_usolid_shape} ${SHELL_FAMILY} G4GEOM_USE_U${__g4_usolid_shape} 1)
endforeach()
endif()
else()
set(GEANT4_TC_USOLIDS_BASE_DIR "# NOT BUILT WITH USOLIDS SUPPORT")
endif()
# - USER INTERFACE AND VISUALIZATION MODULES...
# - Terminals
if(NOT WIN32)
@@ -433,7 +492,12 @@ macro(_g4tc_configure_tc_variables SHELL_FAMILY SCRIPT_NAME)
_g4tc_setenv_command(GEANT4_TC_G4UI_USE_QT ${SHELL_FAMILY} G4UI_USE_QT 1)
_g4tc_setenv_command(GEANT4_TC_G4VIS_USE_OPENGLQT ${SHELL_FAMILY} G4VIS_USE_OPENGLQT 1)
# Might need library setup, but for now recommend system install....
# Dynamic loader path (NB Darwin section is obsolete on El Capitan and higher)
if(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
_g4tc_prepend_path(GEANT4_TC_QT_LIB_PATH_SETUP ${SHELL_FAMILY} DYLD_LIBRARY_PATH \${QTLIBPATH})
else()
_g4tc_prepend_path(GEANT4_TC_QT_LIB_PATH_SETUP ${SHELL_FAMILY} LD_LIBRARY_PATH \${QTLIBPATH})
endif()
else()
set(GEANT4_TC_G4UI_USE_QT "# NOT BUILT WITH QT INTERFACE")
endif()
@@ -769,13 +833,26 @@ foreach(_shell bourne;cshell)
get_filename_component(_CLHEP_LIB_DIR "${_CLHEP_LIB_DIR}" REALPATH)
get_filename_component(_CLHEP_LIB_DIR "${_CLHEP_LIB_DIR}" DIRECTORY)
_g4tc_prepend_path(GEANT4_TC_CLHEP_LIB_PATH_SETUP
_g4tc_append_path(GEANT4_TC_CLHEP_LIB_PATH_SETUP
${_shell}
${_libpathname}
"${_CLHEP_LIB_DIR}"
)
endif()
# - XercesC
set(GEANT4_TC_XERCESC_LIB_PATH_SETUP "# GDML SUPPORT NOT AVAILABLE")
if(GEANT4_USE_GDML)
get_filename_component(_XERCESC_LIB_DIR "${XERCESC_LIBRARY}" REALPATH)
get_filename_component(_XERCESC_LIB_DIR "${XERCESC_LIBRARY}" DIRECTORY)
_g4tc_append_path(GEANT4_TC_XERCESC_LIB_PATH_SETUP
${_shell}
${_libpathname}
"${_XERCESC_LIB_DIR}"
)
endif()
# - Set data paths
set(GEANT4_ENV_DATASETS )
foreach(_ds ${GEANT4_EXPORTED_DATASETS})
@@ -786,7 +863,7 @@ foreach(_shell bourne;cshell)
# - Set Font Path
set(GEANT4_ENV_TOOLS_FONT_PATH "# FREETYPE SUPPORT NOT AVAILABLE")
if(GEANT4_USE_FREETYPE)
_g4tc_prepend_path(GEANT4_ENV_TOOLS_FONT_PATH
_g4tc_append_path(GEANT4_ENV_TOOLS_FONT_PATH
${_shell}
TOOLS_FONT_PATH
"${TOOLS_FONT_PATH}"