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