Import Geant4 11.2.0 source tree

This commit is contained in:
Gabriele Cosmo
2023-12-08 10:43:34 +01:00
parent dd1f179cda
commit 860a2b92bf
3962 changed files with 139318 additions and 164259 deletions
+2 -2
View File
@@ -45,8 +45,8 @@ else()
set(_root_isok TRUE)
# - Check if python interpreter is correct version
# (the one compatible with root)
find_package(PythonInterp ${ROOT_PYTHONVER} QUIET)
if(NOT PYTHONINTERP_FOUND)
find_package(Python ${ROOT_PYTHONVER} QUIET COMPONENTS Interpreter)
if(NOT Python_Interpreter_FOUND)
MESSAGE(STATUS "StatTest: Python interpreter of version ${ROOT_PYTHONVER} not found --> StatTest package disabled")
set(STATTEST_FOUND FALSE)
set(_python_isok FALSE)
+15
View File
@@ -221,6 +221,21 @@ function(geant4_export_package_variables _file)
get_property(__var_value CACHE ${__var} PROPERTY VALUE)
get_property(__var_type CACHE ${__var} PROPERTY TYPE)
get_property(__var_help CACHE ${__var} PROPERTY HELPSTRING)
# Variable may not be in cache, only local (canonical case being EXPAT_LIBRARY since CMake 3.27)
# We still need to account for these because they may be required to be in the CACHE at least set in
# earlier versions.
# 1. Variable may not be in cache, only local (canonical case being EXPAT_LIBRARY since CMake 3.27)
# We still need to account for these because they may be required to be in the CACHE at least set in
# earlier versions.
# 2. Depending on CMake version, variable may be in cache but unitialized, here we want the local value
if(((NOT __var_value) AND (NOT __var_type) AND (NOT __var_help)) OR (__var_type STREQUAL "UNINITIALIZED"))
set(__var_value ${${__var}})
# TODO: set type based on whether it looks like a bool or path, but PATH almost invariably what we save
# Only important in cmake GUI and if value needs to be changed, which we don't if package cache is used
set(__var_type PATH)
set(__var_help "no documentation, not a cache value")
endif()
list(APPEND __local_build_setting "geant4_set_and_check_package_variable(${__var} \"${__var_value}\" ${__var_type} \"${__var_help}\")")
endforeach()
@@ -623,6 +623,7 @@ macro(_g4tc_configure_tc_variables SHELL_FAMILY SCRIPT_NAME)
# - Qt UI AND VIS
if(GEANT4_USE_QT)
_g4tc_setenv_command(GEANT4_TC_QT_VERSION ${SHELL_FAMILY} QT_VERSION ${QT_VERSION_MAJOR})
_g4tc_setenv_command(GEANT4_TC_QTHOME ${SHELL_FAMILY} QTHOME ${G4QTHOME})
_g4tc_setenv_command(GEANT4_TC_QTLIBPATH ${SHELL_FAMILY} QTLIBPATH ${G4QTLIBPATH})
_g4tc_setenv_command(GEANT4_TC_G4UI_USE_QT ${SHELL_FAMILY} G4UI_USE_QT 1)
+4 -4
View File
@@ -18,11 +18,11 @@ geant4_add_dataset(
# - Low energy electromagnetics
geant4_add_dataset(
NAME G4EMLOW
VERSION 8.4
VERSION 8.5
FILENAME G4EMLOW
EXTENSION tar.gz
ENVVAR G4LEDATA
MD5SUM 59e2aea7f089f0b97f588b4b8e85dd28
MD5SUM 146d0625d8d39f294056e1618271bc46
)
# - Photon evaporation
@@ -99,11 +99,11 @@ geant4_add_dataset(
# - INCL
geant4_add_dataset(
NAME G4INCL
VERSION 1.1
VERSION 1.2
FILENAME G4INCL
EXTENSION tar.gz
ENVVAR G4INCLDATA
MD5SUM c719b61b1971a823188fc6c937e48287
MD5SUM 0a76df936839bb557dae7254117eb58e
)
# - ENSDFSTATE
+7 -8
View File
@@ -1076,7 +1076,7 @@ endmacro()
# This is used internally by the property get/set functions.
#
function(__geant4_module_validate_property _property)
if(NOT (${_property} MATCHES "PUBLIC_HEADERS|PRIVATE_HEADERS|SOURCES|PRIVATE_COMPILE_DEFINITIONS|PUBLIC_COMPILE_DEFINITIONS|INTERFACE_COMPILE_DEFINITIONS|PRIVATE_INCLUDE_DIRECTORIES|PUBLIC_INCLUDE_DIRECTORIES|INTERFACE_INCLUDE_DIRECTORIES|PRIVATE_LINK_LIBRARIES|PUBLIC_LINK_LIBRARIES|INTERFACE_LINK_LIBRARIES|PARENT_TARGET|CMAKE_LIST_FILE|GLOBAL_DEPENDENCIES|IS_INTERFACE"))
if(NOT (${_property} MATCHES "PUBLIC_HEADERS|PRIVATE_HEADERS|SOURCES|PRIVATE_COMPILE_DEFINITIONS|PUBLIC_COMPILE_DEFINITIONS|INTERFACE_COMPILE_DEFINITIONS|PRIVATE_INCLUDE_DIRECTORIES|PUBLIC_INCLUDE_DIRECTORIES|INTERFACE_INCLUDE_DIRECTORIES|PRIVATE_LINK_LIBRARIES|PUBLIC_LINK_LIBRARIES|INTERFACE_LINK_LIBRARIES|PARENT_TARGET|CMAKE_LIST_FILE|GLOBAL_DEPENDENCIES|IS_INTERFACE|AUTOMOC"))
message(FATAL_ERROR "Undefined property '${_property}'")
endif()
endfunction()
@@ -1357,13 +1357,12 @@ function(__geant4_add_library _name _type)
endif()
endforeach()
# Temp workaround for modules needing Qt. We use AUTOMOC, but can't yet set
# it on a per module basis. However, only have four modules that require
# moc-ing, so hard code for now.
# TODO: likely need an additional "module target properties" to hold things
# that can be passed to set_target_properties
if(__g4mod MATCHES "G4UIimplementation|G4OpenGL|G4OpenInventor|G4ToolsSG" AND GEANT4_USE_QT)
set_target_properties(${_target_name} PROPERTIES AUTOMOC ON)
# Apply any additional properties supported in modules to target
if(GEANT4_USE_QT)
geant4_get_module_property(_needs_moc ${__g4mod} AUTOMOC)
if(_needs_moc)
set_target_properties(${_target_name} PROPERTIES AUTOMOC ON)
endif()
endif()
endforeach()
+3 -1
View File
@@ -74,12 +74,14 @@ mark_as_advanced(GEANT4_USE_QT_QT6)
# - Vtk
option(GEANT4_USE_VTK "Build Geant4 with VTK visualisation" OFF)
mark_as_advanced(GEANT4_USE_VTK)
if(GEANT4_USE_VTK)
find_package(VTK 9 REQUIRED COMPONENTS
CommonColor
InteractionStyle
IOExport
IOGeometry
IOLegacy
IOPLY
GUISupportQt
RenderingVolumeOpenGL2
)
+9 -9
View File
@@ -60,15 +60,13 @@ if(WIN32)
set(EXPAT_FOUND TRUE)
set(GEANT4_USE_BUILTIN_EXPAT TRUE)
set(EXPAT_INCLUDE_DIRS ${PROJECT_SOURCE_DIR}/source/externals/expat/include)
set(EXPAT_LIBRARIES G4expat)
set(G4EXPAT_LIBRARIES G4expat)
else()
option(GEANT4_USE_SYSTEM_EXPAT "Use system Expat library" ON)
if(GEANT4_USE_SYSTEM_EXPAT)
# If system package requested, find it or fail
find_package(EXPAT REQUIRED)
# Shim only needed until we require CMake >= 3.10
include("${CMAKE_CURRENT_LIST_DIR}/G4EXPATShim.cmake")
# Check version requirement externally to provide information
# on using internal expat.
@@ -78,6 +76,8 @@ else()
unset(EXPAT_FOUND)
unset(EXPAT_INCLUDE_DIR CACHE)
unset(EXPAT_LIBRARY CACHE)
unset(EXPAT_LIBRARY_RELEASE CACHE)
unset(EXPAT_LIBRARY_DEBUG CACHE)
message(FATAL_ERROR
"Detected system expat header and library:
EXPAT_INCLUDE_DIR = ${__badexpat_include_dir}
@@ -87,13 +87,13 @@ Set the above CMake variables to point to an expat install of the required versi
endif()
# Backward compatibility for sources.cmake using the variable
set(EXPAT_LIBRARIES EXPAT::EXPAT)
geant4_save_package_variables(EXPAT EXPAT_INCLUDE_DIR EXPAT_LIBRARY)
set(G4EXPAT_LIBRARIES EXPAT::EXPAT)
geant4_save_package_variables(EXPAT EXPAT_INCLUDE_DIR EXPAT_LIBRARY EXPAT_LIBRARY_RELEASE EXPAT_LIBRARY_DEBUG)
else()
set(EXPAT_FOUND TRUE)
set(GEANT4_USE_BUILTIN_EXPAT TRUE)
set(EXPAT_INCLUDE_DIRS ${PROJECT_SOURCE_DIR}/source/externals/expat/include)
set(EXPAT_LIBRARIES G4expat)
set(G4EXPAT_LIBRARIES G4expat)
endif()
endif()
@@ -105,12 +105,12 @@ option(GEANT4_USE_SYSTEM_ZLIB "Use system zlib library" OFF)
if(GEANT4_USE_SYSTEM_ZLIB)
find_package(ZLIB REQUIRED)
# Backward compatibility for sources.cmake using the variable
set(ZLIB_LIBRARIES ZLIB::ZLIB)
set(G4ZLIB_LIBRARIES ZLIB::ZLIB)
geant4_save_package_variables(ZLIB ZLIB_INCLUDE_DIR ZLIB_LIBRARY_DEBUG ZLIB_LIBRARY_RELEASE)
else()
set(ZLIB_FOUND TRUE)
set(GEANT4_USE_BUILTIN_ZLIB TRUE)
set(ZLIB_LIBRARIES G4zlib)
set(G4ZLIB_LIBRARIES G4zlib)
endif()
geant4_add_feature(GEANT4_USE_SYSTEM_ZLIB "Using system zlib library")
@@ -295,7 +295,7 @@ endif()
# - Geant4 USolids/VecGom setup
if(GEANT4_USE_ALL_USOLIDS OR GEANT4_USE_PARTIAL_USOLIDS)
find_package(VecGeom 1.2.0 REQUIRED)
find_package(VecGeom 1.2.6 REQUIRED)
geant4_save_package_variables(VecGeom VecGeom_DIR)
# If VecCore_DIR is set, means updated VecGeom install used, so