Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/cmake/Modules/G4CTest.cmake

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

  1 # - Basic setup for testing Geant4 using CMake/CTest
  2 #
  3 #-----------------------------------------------------------------------
  4 # Integration and unit tests
  5 # - "ENABLE_TESTING" means all tests under tests/
  6 option(GEANT4_ENABLE_TESTING "Enable and define all the tests of the project" OFF)
  7 geant4_add_feature(GEANT4_ENABLE_TESTING "Enable and define all the tests of the project")
  8 mark_as_advanced(GEANT4_ENABLE_TESTING)
  9 
 10 #-----------------------------------------------------------------------
 11 # Configure CTest and relevant Geant4 settings, if required
 12 #
 13 if(GEANT4_ENABLE_TESTING)
 14   # - Core CTest
 15   enable_testing()
 16   include(CTest)
 17   include(G4TestAPI)
 18 
 19   # - Geant4_DIR is needed to locate GeantConfig.cmake file required
 20   # for tests and examples that are built as direct subprojects
 21   # (as opposed to "build-and-test" type situations)
 22   set(Geant4_DIR ${PROJECT_BINARY_DIR})
 23 
 24   # - Base URL for test reference files
 25   set(GEANT4_TEST_REFERENCES_URL "http://cern.ch/geant4-data/stt/references/")
 26 
 27   # - Add datasets to testing environment
 28   geant4_get_datasetnames(_dslist)
 29   foreach(_ds ${_dslist})
 30     geant4_get_dataset_property(${_ds} ENVVAR _dsenvvar)
 31     geant4_get_dataset_property(${_ds} BUILD_DIR _dspath)
 32     list(APPEND GEANT4_TEST_ENVIRONMENT ${_dsenvvar}=${_dspath})
 33   endforeach()
 34 
 35   # - Add TOOLS_FONT_PATH to testing environment if required
 36   if(GEANT4_USE_FREETYPE)
 37     list(APPEND GEANT4_TEST_ENVIRONMENT TOOLS_FONT_PATH=${PROJECT_SOURCE_DIR}/source/externals/g4tools/fonts)
 38   endif()
 39 
 40   # - Configure 'G4RunManagerFactory::CreateRunManager(G4RunManagerType::Default)'
 41   # to use TBB if required
 42   if(GEANT4_BUILD_MULTITHREADED AND GEANT4_USE_TBB)
 43     list(APPEND GEANT4_TEST_ENVIRONMENT G4RUN_MANAGER_TYPE=TBB)
 44   endif()
 45 endif()