Import Geant4 10.4.0 source tree

This commit is contained in:
Gabriele Cosmo
2017-12-08 12:52:30 +01:00
parent 98e455a940
commit fc6af9e721
2166 changed files with 276760 additions and 100873 deletions
+10
View File
@@ -9,6 +9,16 @@
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
28 November 2017 B.Morgan (MPI-V10-03-02)
- Repace ROOT_INCLUDE_DIR with ROOT_INCLUDE_DIRS
20 Sep 2017 B. Morgan (MPI-V10-03-01)
- Migrate ctests definitions file to base directory
- Update to provide tests to build/test G4mpi and each
example without requiring obsolete GEANT4_BUILD_EXAMPLES
switch.
- COWORKS with ctests-V10-03-12
5 Oct 2016 A. Dotti (MPI-V10-02-02)
- Porting of scoring merging to new G4StatDouble based hits
@@ -0,0 +1,110 @@
#Workaround: rely on executables build by cmake since it does not compile
#correctly because FindG4mpi.cmake is not found
find_package(MPI QUIET)
if(NOT MPI_CXX_FOUND)
message(STATUS "G4 Examples: MPI not found --> mpi based tests disabled")
return()
endif()
message(STATUS "G4 Examples: mpi examples will use mpi launcher: " ${MPIEXEC})
# Base output dir for MPI examples:
set(G4MPI_CTESTS_BASE_OUTPUT_DIR "${CMAKE_BINARY_DIR}/examples/extended/parallel/MPI")
# Set G4mpi_DIR fo later pass-down to examples
set(G4mpi_DIR "${G4MPI_CTESTS_BASE_OUTPUT_DIR}/G4mpi")
# - Build/Test G4mpi
geant4_add_test(mpi-libg4mpi
COMMAND ${CMAKE_COMMAND} -E echo "G4mpi build complete"
SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/source
BINARY_DIR ${G4mpi_DIR}
PROJECT libG4mpi
BUILD G4mpi
ENVIRONMENT ${GEANT4_TEST_ENVIRONMENT}
LABELS MPI
)
# - Build/Test exMPI01
# variable to simplify paths
set(G4MPI_EX01_BINDIR ${G4MPI_CTESTS_BASE_OUTPUT_DIR}/exMPI01)
geant4_add_test(mpi-ex01-sequential
SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/examples/exMPI01
BINARY_DIR ${G4MPI_EX01_BINDIR}
PROJECT exMPI01
BUILD exMPI01
COMMAND ${G4MPI_EX01_BINDIR}/exMPI01 run.mac
WORKING_DIRECTORY ${G4MPI_EX01_BINDIR}
ENVIRONMENT ${GEANT4_TEST_ENVIRONMENT}
DEPENDS mpi-libg4mpi
LABELS MPI
)
# Needs G4mpi
set_property(TEST mpi-ex01-sequential APPEND PROPERTY ENVIRONMENT G4mpi_DIR=${G4mpi_DIR})
geant4_add_test(mpi-ex01
COMMAND ${MPIEXEC} -n 2 ${G4MPI_EX01_BINDIR}/exMPI01 run.mac
WORKING_DIRECTORY ${G4MPI_EX01_BINDIR}
ENVIRONMENT ${GEANT4_TEST_ENVIRONMENT}
DEPENDS mpi-ex01-sequential
LABELS MPI
)
# - Build/Test exMPI02
# Needs ROOT
find_package(ROOT QUIET)
if(ROOT_FOUND)
set(G4MPI_EX02_BINDIR ${G4MPI_CTESTS_BASE_OUTPUT_DIR}/exMPI02)
geant4_add_test(mpi-ex02-sequential
SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/examples/exMPI02
BINARY_DIR ${G4MPI_EX02_BINDIR}
PROJECT exMPI02
BUILD exMPI02
COMMAND ${G4MPI_EX02_BINDIR}/exMPI02 run.mac
WORKING_DIRECTORY ${G4MPI_EX02_BINDIR}
ENVIRONMENT ${GEANT4_TEST_ENVIRONMENT}
DEPENDS mpi-libg4mpi
LABELS MPI
)
# Needs G4mpi
set_property(TEST mpi-ex02-sequential APPEND PROPERTY ENVIRONMENT G4mpi_DIR=${G4mpi_DIR})
geant4_add_test(mpi-ex02
COMMAND ${MPIEXEC} -n 2 ${G4MPI_EX02_BINDIR}/exMPI02 run.mac
WORKING_DIRECTORY ${G4MPI_EX02_BINDIR}
ENVIRONMENT ${GEANT4_TEST_ENVIRONMENT}
DEPENDS mpi-ex02-sequential
LABELS MPI
)
else()
message(STATUS "G4 Examples: MPI example exMPI02 disabled: ROOT not found")
endif()
# - Build/Test exMPI03
# variable to simplify paths
set(G4MPI_EX03_BINDIR ${G4MPI_CTESTS_BASE_OUTPUT_DIR}/exMPI03)
geant4_add_test(mpi-ex03-sequential
SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/examples/exMPI03
BINARY_DIR ${G4MPI_EX03_BINDIR}
PROJECT exMPI03
BUILD exMPI03
COMMAND ${G4MPI_EX03_BINDIR}/exMPI03 run.mac
WORKING_DIRECTORY ${G4MPI_EX03_BINDIR}
ENVIRONMENT ${GEANT4_TEST_ENVIRONMENT}
DEPENDS mpi-libg4mpi
LABELS MPI
)
# Needs G4mpi
set_property(TEST mpi-ex03-sequential APPEND PROPERTY ENVIRONMENT G4mpi_DIR=${G4mpi_DIR})
geant4_add_test(mpi-ex03
COMMAND ${MPIEXEC} -n 2 ${G4MPI_EX03_BINDIR}/exMPI03 run.mac
WORKING_DIRECTORY ${G4MPI_EX03_BINDIR}
ENVIRONMENT ${GEANT4_TEST_ENVIRONMENT}
DEPENDS mpi-ex03-sequential
LABELS MPI
)
@@ -1,65 +0,0 @@
if(BASE_OUTPUT_DIRECTORY)
set(_bindir ${BASE_OUTPUT_DIRECTORY}/bin)
else()
set(_bindir ${CMAKE_BINARY_DIR}/outputs/runtime)
endif()
set(_srcdir ${CMAKE_SOURCE_DIR}/examples/extended/parallel/MPI/examples)
#Workaround: rely on executables build by cmake since it does not compile
#correctly because FindG4mpi.cmake is not found
find_package(MPI QUIET)
if(NOT MPI_CXX_FOUND)
message(STATUS "G4 Examples: MPI not found --> mpi based tests disabled")
return()
endif()
#Needed for exMPI02
find_package(ROOT QUIET)
MESSAGE(STATUS "G4 Examples: mpi examples will use mpi launcher: " ${MPIEXEC})
if(NOT GEANT4_BUILD_EXAMPLES)
MESSAGE("G4 Examples: mpi tests requires GEANT4_BUILD_EXAMPLES=ON, disabling
tests.")
return()
endif()
GEANT4_ADD_TEST(mpi-ex01-sequential
COMMAND ${_bindir}/exMPI01
${_srcdir}/exMPI01/run.mac
ENVIRONMENT ${GEANT4_TEST_ENVIRONMENT}
LABELS MPI)
GEANT4_ADD_TEST(mpi-ex01
COMMAND ${MPIEXEC} -n 2 ${_bindir}/exMPI01
${_srcdir}/exMPI01/run.mac
ENVIRONMENT ${GEANT4_TEST_ENVIRONMENT}
DEPENDS mpi-ex01-sequential
LABELS MPI)
if(ROOT_FOUND)
GEANT4_ADD_TEST(mpi-ex02-sequential
COMMAND ${_bindir}/exMPI02
${_srcdir}/exMPI02/run.mac
ENVIRONMENT ${GEANT4_TEST_ENVIRONMENT}
LABELS MPI)
GEANT4_ADD_TEST(mpi-ex02
COMMAND ${MPIEXEC} -n 2 ${_bindir}/exMPI02
${_srcdir}/exMPI02/run.mac
ENVIRONMENT ${GEANT4_TEST_ENVIRONMENT}
DEPENDS mpi-ex02-sequential
LABELS MPI)
else()
MESSAGE(STATUS "G4 Examples: MPI example exMPI02 disabled: ROOT not found")
endif()
GEANT4_ADD_TEST(mpi-ex03-sequential
COMMAND ${_bindir}/exMPI03
${_srcdir}/exMPI03/run.mac
ENVIRONMENT ${GEANT4_TEST_ENVIRONMENT}
LABELS MPI)
GEANT4_ADD_TEST(mpi-ex03
COMMAND ${MPIEXEC} -n 2 ${_bindir}/exMPI03
${_srcdir}/exMPI03/run.mac
ENVIRONMENT ${GEANT4_TEST_ENVIRONMENT}
DEPENDS mpi-ex03-sequential
LABELS MPI)
@@ -44,7 +44,7 @@ file(GLOB headers ${PROJECT_SOURCE_DIR}/include/*.hh)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include
${Geant4_INCLUDE_DIR}
${ROOT_INCLUDE_DIR}
${ROOT_INCLUDE_DIRS}
${G4mpi_INCLUDE_DIR})