Geant4 Cross Reference |
1 # - G4globman module build definition 2 3 # - Configure header for preprocessor symbols 4 # Convert CMake variables -> #cmakedefine symbols 5 set(G4MULTITHREADED ${GEANT4_BUILD_MULTITHREADED}) 6 set(G4_STORE_TRAJECTORY ${GEANT4_BUILD_STORE_TRAJECTORY}) 7 set(G4VERBOSE ${GEANT4_BUILD_VERBOSE_CODE}) 8 9 configure_file(${CMAKE_CURRENT_LIST_DIR}/include/G4GlobalConfig.hh.in 10 ${CMAKE_CURRENT_BINARY_DIR}/include/G4GlobalConfig.hh) 11 12 geant4_get_datasetnames(GEANT4_DATASETS) 13 foreach(_ds ${GEANT4_DATASETS}) 14 geant4_get_dataset_property(${_ds} ENVVAR ${_ds}_ENVVAR) 15 geant4_get_dataset_property(${_ds} DIRECTORY ${_ds}_DIR) 16 set(GEANT4_DATASET_LIST 17 "${GEANT4_DATASET_LIST}\n{ \"${${_ds}_ENVVAR}\", \"${${_ds}_DIR}\" },") 18 endforeach() 19 20 configure_file(${CMAKE_CURRENT_LIST_DIR}/include/G4FindDataDir.hh.in 21 ${CMAKE_CURRENT_BINARY_DIR}/include/G4FindDataDir.hh) 22 23 # 24 # Define the Geant4 Module. 25 # 26 geant4_add_module(G4globman 27 PUBLIC_HEADERS 28 ${CMAKE_CURRENT_BINARY_DIR}/include/G4GlobalConfig.hh 29 G4Allocator.hh 30 G4AllocatorList.hh 31 G4AllocatorPool.hh 32 G4ApplicationState.hh 33 G4AutoDelete.hh 34 G4AutoLock.hh 35 G4Backtrace.hh 36 G4BuffercoutDestination.hh 37 G4CacheDetails.hh 38 G4Cache.hh 39 G4coutDestination.hh 40 G4coutFormatters.hh 41 G4DataVector.hh 42 G4DataVector.icc 43 G4EnvironmentUtils.hh 44 G4ErrorPropagatorData.hh 45 G4ErrorPropagatorData.icc 46 G4Evaluator.hh 47 G4Exception.hh 48 G4ExceptionSeverity.hh 49 G4Exp.hh 50 G4FastVector.hh 51 G4FilecoutDestination.hh 52 G4Filesystem.hh 53 G4FPEDetection.hh 54 G4GeometryTolerance.hh 55 G4GlobalConfig.hh.in 56 G4ios.hh 57 G4LockcoutDestination.hh 58 G4Log.hh 59 G4MasterForwardcoutDestination.hh 60 G4MTBarrier.hh 61 G4MTcoutDestination.hh 62 G4MulticoutDestination.hh 63 G4OrderedTable.hh 64 G4PhysicalConstants.hh 65 G4Physics2DVector.hh 66 G4Physics2DVector.icc 67 G4PhysicsFreeVector.hh 68 G4PhysicsLinearVector.hh 69 G4PhysicsLogVector.hh 70 G4PhysicsModelCatalog.hh 71 G4PhysicsOrderedFreeVector.hh 72 G4PhysicsTable.hh 73 G4PhysicsTable.icc 74 G4PhysicsVector.hh 75 G4PhysicsVector.icc 76 G4PhysicsVectorType.hh 77 G4Pow.hh 78 G4ReferenceCountedHandle.hh 79 G4RotationMatrix.hh 80 G4SliceTimer.hh 81 G4SliceTimer.icc 82 G4StateManager.hh 83 G4StateManager.icc 84 G4String.hh 85 G4String.icc 86 G4SystemOfUnits.hh 87 G4TaskGroup.hh 88 G4Task.hh 89 G4TaskManager.hh 90 G4TaskSingletonDelegator.hh 91 G4TBBTaskGroup.hh 92 G4ThreadData.hh 93 G4Threading.hh 94 G4ThreadLocalSingleton.hh 95 G4ThreadPool.hh 96 G4ThreeVector.hh 97 G4Timer.hh 98 G4Timer.icc 99 G4Tokenizer.hh 100 G4TWorkspacePool.hh 101 G4TwoVector.hh 102 G4Types.hh 103 G4UnitsTable.hh 104 G4UnitsTable.icc 105 G4UserLimits.hh 106 G4UserLimits.icc 107 G4UserTaskQueue.hh 108 G4Version.hh 109 G4VExceptionHandler.hh 110 G4VNotifier.hh 111 G4VStateDependent.hh 112 G4VTask.hh 113 G4VUserTaskQueue.hh 114 globals.hh 115 templates.hh 116 tls.hh 117 windefs.hh 118 SOURCES 119 G4Allocator.cc 120 G4AllocatorPool.cc 121 G4AllocatorList.cc 122 G4BuffercoutDestination.cc 123 G4CacheDetails.cc 124 G4coutDestination.cc 125 G4coutFormatters.cc 126 G4DataVector.cc 127 G4ErrorPropagatorData.cc 128 G4Exception.cc 129 G4FilecoutDestination.cc 130 G4FindDataDir.cc 131 G4GeometryTolerance.cc 132 G4ios.cc 133 G4LockcoutDestination.cc 134 G4MasterForwardcoutDestination.cc 135 G4MTBarrier.cc 136 G4MTcoutDestination.cc 137 G4OrderedTable.cc 138 G4PhysicsFreeVector.cc 139 G4PhysicsLinearVector.cc 140 G4PhysicsLogVector.cc 141 G4PhysicsModelCatalog.cc 142 G4PhysicsTable.cc 143 G4PhysicsVector.cc 144 G4Physics2DVector.cc 145 G4Pow.cc 146 G4ReferenceCountedHandle.cc 147 G4SliceTimer.cc 148 G4StateManager.cc 149 G4ThreadLocalSingleton.cc 150 G4Threading.cc 151 G4Timer.cc 152 G4UnitsTable.cc 153 G4VExceptionHandler.cc 154 G4VStateDependent.cc) 155 156 # - Add path to generated header 157 geant4_module_include_directories(G4globman 158 PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/include>) 159 160 geant4_module_link_libraries(G4globman 161 PUBLIC 162 ${CLHEP_LIBRARIES} 163 ${PTL_LIBRARIES} 164 ${GEANT4_CXX_FILESYSTEM_LIBRARY} # to temporarily support libstdc++fs, libc++fs 165 ) 166 167 # TEMP WORKAROUND: When building/testing examples uing ROOT, ROOT's 168 # dictionary generation is not smart enough to handle target usage 169 # requirements for include paths. Explicitly add the path to the 170 # generated header into build time include paths... 171 # We eventually want to do this through "..._include_directories" or to 172 # remove entirely and require a min version of ROOT 173 set_property(GLOBAL APPEND 174 PROPERTY GEANT4_BUILDTREE_INCLUDE_DIRS "${CMAKE_CURRENT_BINARY_DIR}/include")