Import Geant4 11.2.0 source tree
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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()
|
||||
|
||||
|
||||
@@ -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
|
||||
)
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user