Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/cmake/Templates/Geant4Config.cmake.in

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 ]

Diff markup

Differences between /cmake/Templates/Geant4Config.cmake.in (Version 11.3.0) and /cmake/Templates/Geant4Config.cmake.in (Version 5.2.p1)


  1 # - Geant4 CMake Configuration File for Extern    
  2 # This file is configured by Geant4 for use by    
  3 # This file is configured by Geant4's CMake sy    
  4 #                                                 
  5 # It defines the following variables              
  6 #  Geant4_INCLUDE_DIRS - include directories f    
  7 #  Geant4_LIBRARIES    - libraries to link aga    
  8 #  Geant4_BUILD_TYPE   - Build type (e.g. "Rel    
  9 #                        install. Only set if     
 10 #                        a single mode tool (e    
 11 #  Geant4_CXX_FLAGS    - Recommended CXX flags    
 12 #                        build the Geant4 libr    
 13 #  Geant4_CXX_FLAGS_<CONFIG> - Recommended CXX    
 14 #  Geant4_USE_FILE     - path to a CMake modul    
 15 #                        help setup CMake vari    
 16 #  Geant4_CXXSTD       - C++ Standard used to     
 17 #  Geant4_TLS_MODEL    - Thread Local Storage     
 18 #                        the build used an exp    
 19 #                                                 
 20 # You may supply a version number through find    
 21 # against the version of this build. Standard     
 22 # the EXACT flag may be passed, and otherwise     
 23 # as compatible with the requested version if:    
 24 #                                                 
 25 #  VERSION_OF_THIS_BUILD >= VERSION_REQUESTED     
 26 #                                                 
 27 # By default only the core (or kernel) of Gean    
 28 # module. You can specify additional component    
 29 # COMPONENTS argument to find_package. By defa    
 30 # Geant4 are appended to the Geant4_LIBRARIES     
 31 # additional components will enable a check on    
 32 # components, with the following per component    
 33 #                                                 
 34 #  Geant4_${COMPONENT}_FOUND    TRUE is the Ge    
 35 #                               found             
 36 #                                                 
 37 #  Geant4_${COMPONENT}_LIBRARY  Contains the l    
 38 #                               "component" IF    
 39 #                                                 
 40 # In Geant4, components can be optional subcom    
 41 # available library. In that case there will b    
 42 # Geant4_{COMPONENT}_LIBRARY variable. These n    
 43 # generally activated by compile definitions t    
 44 # COMPILE_DEFINITIONS property.                   
 45 #                                                 
 46 # If you use the REQUIRED and/or COMPONENTS ar    
 47 # specify components, then the module will iss    
 48 # found Geant4 does not have the requested com    
 49 # specified through the OPTIONAL_COMPONENTS ar    
 50 # only if the found Geant4 supports them, with    
 51 # they are not supported.                         
 52 #                                                 
 53 # The components available generally correspon    
 54 # the Geant4 libraries or optional extras that    
 55 #                                                 
 56 # Library Configuration                           
 57 # ---------------------                           
 58 #  static            (Static libraries availab    
 59 #                     when static libraries ar    
 60 #                     Geant4_LIBRARIES being p    
 61 #                     versions of the Geant4 l    
 62 #                     guarantee the use of sta    
 63 #  multithreaded     (Libraries are multithrea    
 64 #                                                 
 65 #  usolids           (Geant4 solids are replac    
 66 #                                                 
 67 #  smartstack        (G4event library G4StackM    
 68 #                                                 
 69 #  php_as_hp         (G4processes library Part    
 70 #                                                 
 71 # Optional Components                             
 72 # -------------------                             
 73 #  gdml              (GDML support)               
 74 #  g3tog4            (Geant3 geometry call lis    
 75 #  freetype          (G4analysis library has f    
 76 #  hdf5              (G4analysis library has H    
 77 #                                                 
 78 #  ui_tcsh           (TCsh Style Application C    
 79 #  ui_win32          (WIN32 Style Application     
 80 #                                                 
 81 #  motif             (Motif-X11/OpenGL Graphic    
 82 #  qt                (Qt/OpenGL Graphical User    
 83 #                                                 
 84 #  vis_Vtk           (VTK Graphical User Inter    
 85 #  vis_openinventor  (OpenInventor visualizati    
 86 #  vis_opengl_x11    (OpenGL visualization wit    
 87 #  vis_opengl_win32  (OpenGL visualization wit    
 88 #  vis_raytracer_x11 (RayTracer visualization     
 89 #                                                 
 90 # In addition, two 'shorthand' components are     
 91 # available User Interface and Visualization d    
 92 #                                                 
 93 #  ui_all            (All available UI drivers    
 94 #  vis_all           (All available Vis driver    
 95 #                                                 
 96 # These never result in a FATAL_ERROR, even if    
 97 # argument is set. This is because these optio    
 98 # components being available.                     
 99 #                                                 
100 # You can also query whether the Geant4 found     
101 # versions of CLHEP, ZLIB, or Expat after call    
102 #                                                 
103 #  Geant4_builtin_clhep_FOUND   (TRUE if Geant    
104 #  Geant4_system_clhep_FOUND    (TRUE if Geant    
105 #  Geant4_builtin_expat_FOUND   (TRUE if Geant    
106 #  Geant4_builtin_zlib_FOUND    (TRUE if Geant    
107 #                                                 
108 # These are not used via components as they do    
109 # the use of Geant4 in an application unless y    
110 # calls to these APIs. As the builtin librarie    
111 # required directly by the Geant4 toolkit, you    
112 # configure time check in these cases that the    
113 # the calls required. In both cases, the Geant    
114 # Geant4_LIBRARIES variables will be populated    
115 # system APIs as required, and you should use     
116 # and link against the same API version.          
117 #                                                 
118 # Environment variables for, and directory pat    
119 # used by some Geant4 physics processes may be    
120 # variables                                       
121 #                                                 
122 #  Geant4_DATASETS               (List of data    
123 #  Geant4_DATASET_<NAME>_ENVVAR  (Name of envi    
124 #                                 Geant4 to ob    
125 #                                 <NAME>)         
126 #  Geant4_DATASET_<NAME>_PATH    (Path to data    
127 #                                 point to a n    
128 #                                 was configur    
129 #                                                 
130 #---------------------------------------------    
131 # Variables used by this module which can chan    
132 # this module. They need to be set prior to th    
133 #                                                 
134 #  Geant4_CONFIG_DEBUG    If set, enable extra    
135 #                         be helpful in debugg    
136 #                         with the configurati    
137 #                                                 
138 #---------------------------------------------    
139                                                   
140 #---------------------------------------------    
141 # DEBUG : print out the variables passed via f    
142 #                                                 
143 if(Geant4_CONFIG_DEBUG)                           
144   message(STATUS "G4CFG_DEBUG : Geant4_VERSION    
145   message(STATUS "G4CFG_DEBUG : Geant4_FIND_VE    
146   message(STATUS "G4CFG_DEBUG : Geant4_FIND_RE    
147   message(STATUS "G4CFG_DEBUG : Geant4_FIND_CO    
148                                                   
149   foreach(_cpt ${Geant4_FIND_COMPONENTS})         
150     message(STATUS "G4CFG_DEBUG : Geant4_FIND_    
151   endforeach()                                    
152                                                   
153   message(STATUS "G4CFG_DEBUG : Geant4_LIBDEPS    
154 endif()                                           
155                                                   
156 #---------------------------------------------    
157 # Check that consumers use the minimum needed     
158 # Geant4 uses cxx_std_EP to define the standar    
159 # 3.8 and above support EP=17. 3.12 and above     
160 # We continue to support the earlier version w    
161 cmake_policy(VERSION 3.8...3.18)                  
162 if(CMAKE_VERSION VERSION_LESS 3.8)                
163   message(FATAL_ERROR "Projects consuming Gean    
164 endif()                                           
165                                                   
166 if(("@CMAKE_CXX_STANDARD@" GREATER_EQUAL 23) A    
167   message(FATAL_ERROR "Projects consuming Gean    
168 endif()                                           
169                                                   
170 if(("@CMAKE_CXX_STANDARD@" GREATER_EQUAL 20) A    
171   message(FATAL_ERROR "Projects consuming Gean    
172 endif()                                           
173                                                   
174 # - Help find dependencies                        
175 include(CMakeFindDependencyMacro)                 
176                                                   
177 #---------------------------------------------    
178 # Locate ourselves, since all other config fil    
179 # installed alongside us...                       
180 #                                                 
181 get_filename_component(_geant4_thisdir "${CMAK    
182                                                   
183 #---------------------------------------------    
184 # Provide *recommended* compiler flags used by    
185 # Don't mess with the actual CMAKE_CXX_FLAGS!!    
186 # It's up to the user what to do with these       
187 @GEANT4_COMPILER_FLAG_HINTS@                      
188                                                   
189 # - Provide variable indicating C++ Standard w    
190 set(Geant4_CXX_STANDARD "@CMAKE_CXX_STANDARD@"    
191                                                   
192 #---------------------------------------------    
193 # Configure the path to the Geant4 headers, us    
194 # possible. This is only known at CMake time,     
195 # supplied variable.                              
196 #                                                 
197 @GEANT4_INCLUDE_DIR_SETUP@                        
198 set(Geant4_INCLUDE_DIRS "${Geant4_INCLUDE_DIR}    
199                                                   
200 # Push our own module path onto the CMake one     
201 # - Popped at end of this module                  
202 list(INSERT CMAKE_MODULE_PATH 0 "${CMAKE_CURRE    
203                                                   
204 #---------------------------------------------    
205 # Data Resources                                  
206 # NB: Because data paths can be "forward decla    
207 # guarantee of data existence. They only provi    
208 #                                                 
209 set(Geant4_DATASET_DESCRIPTIONS "@GEANT4_DATAS    
210                                                   
211 foreach(_g4dataset_tuple ${Geant4_DATASET_DESC    
212   # Format is NAME|ENVVAR|PATH                    
213   string(REPLACE "|" ";" _g4dataset_tuple "${_    
214   list(GET _g4dataset_tuple 0 _g4dataset_name)    
215   list(APPEND Geant4_DATASETS ${_g4dataset_nam    
216   list(GET _g4dataset_tuple 1 Geant4_DATASET_$    
217   list(GET _g4dataset_tuple 2 Geant4_DATASET_$    
218 endforeach()                                      
219 unset(Geant4_DATASET_DESCRIPTIONS)                
220                                                   
221 #---------------------------------------------    
222 # Optional Build Components                       
223 #---------------------------------------------    
224 # - General Multithreading                        
225 set(Geant4_multithreaded_FOUND @GEANT4_BUILD_M    
226 if(Geant4_multithreaded_FOUND)                    
227   # - Define variable to indicate TLS model us    
228   set(Geant4_TLS_MODEL "@GEANT4_BUILD_TLS_MODE    
229   if(Geant4_TLS_MODEL STREQUAL "auto")            
230     unset(Geant4_TLS_MODEL)                       
231   endif()                                         
232 endif()                                           
233                                                   
234 # - Smart track stack                             
235 set(Geant4_smartstack_FOUND @GEANT4_USE_SMARTS    
236                                                   
237 # - ParticleHP as HP                              
238 set(Geant4_php_as_hp_FOUND @GEANT4_BUILD_PHP_A    
239                                                   
240 # - G3toG4                                        
241 set(Geant4_g3tog4_FOUND @GEANT4_USE_G3TOG4@)      
242 if(Geant4_g3tog4_FOUND)                           
243   if(Geant4_FIND_REQUIRED_g3tog4)                 
244     set(_geant4_use_g3tog4_library ON)            
245   endif()                                         
246 endif()                                           
247                                                   
248 #---------------------------------------------    
249 # Optional Components that may depend on exter    
250 #---------------------------------------------    
251 # Optionally import build-time package setting    
252 # for find_package to work with                   
253 include("${CMAKE_CURRENT_LIST_DIR}/Geant4Packa    
254                                                   
255 # - CLHEP                                         
256 set(Geant4_system_clhep_FOUND @GEANT4_USE_SYST    
257 if(Geant4_system_clhep_FOUND)                     
258   set(Geant4_builtin_clhep_FOUND FALSE)           
259   find_dependency(CLHEP @CLHEP_VERSION@ EXACT     
260 else()                                            
261   set(Geant4_builtin_clhep_FOUND TRUE)            
262 endif()                                           
263                                                   
264 # - EXPAT                                         
265 set(Geant4_builtin_expat_FOUND @GEANT4_USE_BUI    
266 if(NOT Geant4_builtin_expat_FOUND)                
267   find_dependency(EXPAT @EXPAT_VERSION_STRING@    
268   include("${CMAKE_CURRENT_LIST_DIR}/G4EXPATSh    
269 endif()                                           
270                                                   
271 # - ZLIB                                          
272 set(Geant4_builtin_zlib_FOUND @GEANT4_USE_BUIL    
273 if(NOT Geant4_builtin_zlib_FOUND)                 
274   find_dependency(ZLIB @ZLIB_VERSION_STRING@)     
275 endif()                                           
276                                                   
277 # - PTL/TBB                                       
278 set(Geant4_system_ptl_FOUND @GEANT4_USE_SYSTEM    
279 set(Geant4_TBB_FOUND @GEANT4_USE_TBB@)            
280 if(Geant4_system_ptl_FOUND)                       
281   set(Geant4_builtin_ptl_FOUND FALSE)             
282   if(Geant4_TBB_FOUND)                            
283     find_dependency(PTL @PTL_VERSION@ COMPONEN    
284   else()                                          
285     find_dependency(PTL @PTL_VERSION@)            
286   endif()                                         
287 else()                                            
288   # We know exactly where PTL is                  
289   set(Geant4_builtin_ptl_FOUND TRUE)              
290   if(CMAKE_VERSION VERSION_GREATER 3.8.9999)      
291     find_dependency(PTL NO_DEFAULT_PATH PATHS     
292   else()                                          
293     find_package(PTL REQUIRED NO_DEFAULT_PATH     
294   endif()                                         
295 endif()                                           
296                                                   
297 # - GDML                                          
298 set(Geant4_gdml_FOUND @GEANT4_USE_GDML@)          
299 if(Geant4_gdml_FOUND)                             
300   find_dependency(XercesC @XercesC_VERSION@)      
301 endif()                                           
302                                                   
303 # - VecGeom                                       
304 set(Geant4_usolids_FOUND @GEANT4_USE_USOLIDS_E    
305 if(Geant4_usolids_FOUND)                          
306   find_dependency(VecGeom @VecGeom_VERSION@)      
307 endif()                                           
308                                                   
309 # - Freetype                                      
310 set(Geant4_freetype_FOUND @GEANT4_USE_FREETYPE    
311 if(Geant4_freetype_FOUND)                         
312   find_dependency(Freetype @FREETYPE_VERSION_S    
313   include("${CMAKE_CURRENT_LIST_DIR}/G4Freetyp    
314 endif()                                           
315                                                   
316 # - HDF5                                          
317 set(Geant4_hdf5_FOUND @GEANT4_USE_HDF5@)          
318 if(Geant4_hdf5_FOUND)                             
319   find_dependency(HDF5)                           
320   include("${CMAKE_CURRENT_LIST_DIR}/G4HDF5Shi    
321 endif()                                           
322                                                   
323 #---------------------------------------------    
324 # UI/VIS                                          
325 #                                                 
326 # Prefer Legacy GL when using CMake >= 3.10       
327 set(OpenGL_GL_PREFERENCE_SAVE "${OpenGL_GL_PRE    
328 set(OpenGL_GL_PREFERENCE "LEGACY")                
329                                                   
330 # - Helper variables for ui/vis_all components    
331 if("ui_all" IN_LIST Geant4_FIND_COMPONENTS)       
332   set(Geant4_ui_all_FOUND TRUE)                   
333 endif()                                           
334                                                   
335 if("vis_all" IN_LIST Geant4_FIND_COMPONENTS)      
336   set(Geant4_vis_all_FOUND TRUE)                  
337 endif()                                           
338                                                   
339 # - UI : TCSH                                     
340 set(Geant4_ui_tcsh_FOUND @UNIX@)                  
341                                                   
342 # - UI : win32                                    
343 set(Geant4_ui_win32_FOUND @WIN32@)                
344                                                   
345 #---------------------------------------------    
346 # Components which requires slightly more comp    
347 #                                                 
348 # - Visualization : RayTracerX                    
349 set(Geant4_vis_raytracer_x11_FOUND @GEANT4_USE    
350 if(Geant4_vis_raytracer_x11_FOUND)                
351   find_dependency(X11)                            
352   include("${CMAKE_CURRENT_LIST_DIR}/G4X11Shim    
353 endif()                                           
354                                                   
355 # - Qt (UI and Vis!)                              
356 set(Geant4_qt_FOUND @GEANT4_USE_QT@)              
357 set(Geant4_qt3d_FOUND @GEANT4_USE_QT3D@)          
358 if(Geant4_qt_FOUND)                               
359   # Must always refind Qt to recreate imported    
360   # are in the public interface, always need l    
361   find_dependency(Qt@QT_VERSION_MAJOR@Core REQ    
362   find_dependency(Qt@QT_VERSION_MAJOR@Gui REQU    
363   find_dependency(Qt@QT_VERSION_MAJOR@Widgets     
364   find_dependency(Qt@QT_VERSION_MAJOR@OpenGL R    
365   if(@QT_VERSION_MAJOR@ GREATER 5)                
366     find_dependency(Qt@QT_VERSION_MAJOR@OpenGL    
367   endif()                                         
368                                                   
369   if(Geant4_qt3d_FOUND)                           
370     find_dependency(Qt@QT_VERSION_MAJOR@3DCore    
371     find_dependency(Qt@QT_VERSION_MAJOR@3DExtr    
372     find_dependency(Qt@QT_VERSION_MAJOR@3DRend    
373   endif()                                         
374                                                   
375   # Also require OpenGL                           
376   find_dependency(OpenGL)                         
377                                                   
378   # Qt must be activated both directly and for    
379   if(("qt" IN_LIST Geant4_FIND_COMPONENTS)        
380      OR ("vis_openinventor" IN_LIST Geant4_FIN    
381      OR Geant4_ui_all_FOUND OR Geant4_vis_all_    
382     set(_geant4_use_opengl_library ON)            
383     # Qt3D is always on if available              
384     set(_geant4_use_qt3D_library ${Geant4_qt3d    
385   endif()                                         
386 endif()                                           
387                                                   
388 # - Motif (UI and Vis!)                           
389 set(Geant4_motif_FOUND @GEANT4_USE_XM@)           
390 if(Geant4_motif_FOUND)                            
391   find_dependency(X11)                            
392   include("${CMAKE_CURRENT_LIST_DIR}/G4X11Shim    
393   find_dependency(Motif)                          
394   include("${CMAKE_CURRENT_LIST_DIR}/G4MotifSh    
395   if(APPLE)                                       
396     find_dependency(XQuartzGL)                    
397   else()                                          
398     find_dependency(OpenGL)                       
399   endif()                                         
400                                                   
401   # Motif can be activated both directly and f    
402   if(("motif" IN_LIST Geant4_FIND_COMPONENTS)     
403      OR ("vis_openinventor" IN_LIST Geant4_FIN    
404      OR Geant4_ui_all_FOUND OR Geant4_vis_all_    
405     set(_geant4_use_opengl_library ON)            
406   endif()                                         
407 endif()                                           
408                                                   
409 # - OpenGL X11                                    
410 set(Geant4_vis_opengl_x11_FOUND @GEANT4_USE_OP    
411 if(Geant4_vis_opengl_x11_FOUND)                   
412   find_dependency(X11)                            
413   include("${CMAKE_CURRENT_LIST_DIR}/G4X11Shim    
414   if(APPLE)                                       
415     find_dependency(XQuartzGL)                    
416   else()                                          
417     find_dependency(OpenGL)                       
418   endif()                                         
419                                                   
420   if(("vis_opengl_x11" IN_LIST Geant4_FIND_COM    
421     set(_geant4_use_opengl_library ON)            
422   endif()                                         
423 endif()                                           
424                                                   
425 # - OpenGL Win32                                  
426 set(Geant4_vis_opengl_win32_FOUND @GEANT4_USE_    
427 if(Geant4_vis_opengl_win32_FOUND)                 
428   find_dependency(OpenGL)                         
429   if(("vis_opengl_win32" IN_LIST Geant4_FIND_C    
430     set(_geant4_use_opengl_library ON)            
431   endif()                                         
432 endif()                                           
433                                                   
434 # - OpenInventor                                  
435 set(Geant4_vis_openinventor_FOUND @GEANT4_USE_    
436 set(Geant4_vis_openinventor_qt_FOUND @GEANT4_U    
437 if(Geant4_vis_openinventor_FOUND)                 
438   find_dependency(Coin)                           
439                                                   
440   if(Geant4_vis_openinventor_qt_FOUND)            
441     # Qt dependency handled by Geant4_vis_qt_F    
442     # always ON if Inventor_QT is                 
443     find_dependency(SoQt)                         
444   else()                                          
445     if(WIN32)                                     
446       find_dependency(SoWin)                      
447     else()                                        
448       # Motif/X11/GL dependency handled by Gea    
449       # always ON if Inventor/Xt is.              
450       find_dependency(SoXt)                       
451     endif()                                       
452   endif()                                         
453                                                   
454   if(("vis_openinventor" IN_LIST Geant4_FIND_C    
455     set(_geant4_use_inventor_library ON)          
456   endif()                                         
457 endif()                                           
458                                                   
459 # Reset any OpenGL Preference                     
460 set(OpenGL_GL_PREFERENCE "${OpenGL_GL_PREFEREN    
461                                                   
462 set(Geant4_vis_Vtk_FOUND @GEANT4_USE_VTK@)        
463 if(Geant4_vis_Vtk_FOUND)                          
464   find_dependency(VTK 9 REQUIRED COMPONENTS       
465     CommonColor                                   
466     InteractionStyle                              
467     IOExport                                      
468     GUISupportQt                                  
469     RenderingVolumeOpenGL2                        
470   )                                               
471   set(_geant4_use_vtk_library ON)                 
472 endif()                                           
473                                                   
474 #---------------------------------------------    
475 # Include the files listing all the imported t    
476 # Intel/MSVC Compile Features                     
477 # (Not needed if used in the same Geant4 proje    
478 # This is always installed in the same locatio    
479 #                                                 
480 if(NOT CMAKE_PROJECT_NAME STREQUAL Geant4)        
481   include("${_geant4_thisdir}/Modules/IntelCom    
482   include("${_geant4_thisdir}/Modules/MSVCComp    
483                                                   
484   if(NOT Geant4_LIBDEPS_LOADED)                   
485     include("${_geant4_thisdir}/Geant4LibraryD    
486     set(Geant4_LIBDEPS_LOADED 1)                  
487   endif()                                         
488 endif()                                           
489                                                   
490 #---------------------------------------------    
491 # Now perform final configuration of libraries    
492 # We provide FOUND variables for presence of s    
493 # User can supply "static" component to force     
494 # available.                                      
495 set(Geant4_shared_FOUND @BUILD_SHARED_LIBS@)      
496 set(Geant4_static_FOUND @BUILD_STATIC_LIBS@)      
497                                                   
498 # - Default setting : shared if available, sta    
499 if(Geant4_shared_FOUND)                           
500   set(_geant4_lib_use_suffix "")                  
501 else()                                            
502   set(_geant4_lib_use_suffix "-static")           
503 endif()                                           
504                                                   
505 if(("static" IN_LIST Geant4_FIND_COMPONENTS) A    
506   set(_geant4_lib_use_suffix "-static")           
507 endif()                                           
508                                                   
509 # The list of libraries probably should be aut    
510 # for now. We don't have to divide the list of    
511 # do so for consistency with the way we'll nee    
512 # - Always on Vis Components                      
513 set(_geant4_internal_libraries                    
514   Geant4::G4Tree${_geant4_lib_use_suffix}         
515   Geant4::G4FR${_geant4_lib_use_suffix}           
516   Geant4::G4GMocren${_geant4_lib_use_suffix}      
517   Geant4::G4visHepRep${_geant4_lib_use_suffix}    
518   Geant4::G4RayTracer${_geant4_lib_use_suffix}    
519   Geant4::G4VRML${_geant4_lib_use_suffix}         
520   Geant4::G4ToolsSG${_geant4_lib_use_suffix})     
521                                                   
522 # - G4OpenGL if it's requested.                   
523 if(_geant4_use_opengl_library)                    
524   list(APPEND _geant4_internal_libraries Geant    
525 endif()                                           
526                                                   
527 # - Qt3D if it's requested.                       
528 if(_geant4_use_qt3D_library)                      
529   list(APPEND _geant4_internal_libraries Geant    
530 endif()                                           
531                                                   
532 # - G4OpenInventor if it's requested.             
533 if(_geant4_use_inventor_library)                  
534   list(APPEND _geant4_internal_libraries Geant    
535 endif()                                           
536                                                   
537 if(_geant4_use_vtk_library)                       
538   list(APPEND _geant4_internal_libraries Geant    
539 endif()                                           
540                                                   
541 # - GDML always added for now as old G4persist    
542 if(Geant4_gdml_FOUND)                             
543   set(_geant4_g4gdml_library Geant4::G4gdml${_    
544 endif()                                           
545                                                   
546 # - G3toG4 if it's requested                      
547 if(_geant4_use_g3tog4_library)                    
548   set(_geant4_g3tog4_library Geant4::G3toG4${_    
549 endif()                                           
550                                                   
551 set(_geant4_physicslists_library Geant4::G4phy    
552                                                   
553 # - 'Kernel' libraries                            
554 list(APPEND _geant4_internal_libraries            
555   Geant4::G4vis_management${_geant4_lib_use_su    
556   Geant4::G4modeling${_geant4_lib_use_suffix}     
557   Geant4::G4interfaces${_geant4_lib_use_suffix    
558   Geant4::G4mctruth${_geant4_lib_use_suffix}      
559   Geant4::G4geomtext${_geant4_lib_use_suffix}     
560   ${_geant4_g4gdml_library}                       
561   ${_geant4_g3tog4_library}                       
562   Geant4::G4analysis${_geant4_lib_use_suffix}     
563   Geant4::G4error_propagation${_geant4_lib_use    
564   Geant4::G4readout${_geant4_lib_use_suffix}      
565   ${_geant4_physicslists_library}                 
566   Geant4::G4run${_geant4_lib_use_suffix}          
567   Geant4::G4event${_geant4_lib_use_suffix}        
568   Geant4::G4tracking${_geant4_lib_use_suffix}     
569   Geant4::G4parmodels${_geant4_lib_use_suffix}    
570   Geant4::G4processes${_geant4_lib_use_suffix}    
571   Geant4::G4digits_hits${_geant4_lib_use_suffi    
572   Geant4::G4track${_geant4_lib_use_suffix}        
573   Geant4::G4particles${_geant4_lib_use_suffix}    
574   Geant4::G4geometry${_geant4_lib_use_suffix}     
575   Geant4::G4materials${_geant4_lib_use_suffix}    
576   Geant4::G4graphics_reps${_geant4_lib_use_suf    
577   Geant4::G4intercoms${_geant4_lib_use_suffix}    
578   Geant4::G4global${_geant4_lib_use_suffix}       
579   # G4tools is INTERFACE, so same for both sta    
580   Geant4::G4tools                                 
581   )                                               
582                                                   
583 # - Any externals built by Geant4                 
584 foreach(_extlib @GEANT4_EXTERNALS_TARGETS@)       
585   list(APPEND                                     
586     _geant4_internal_libraries                    
587     Geant4::${_extlib}${_geant4_lib_use_suffix    
588     )                                             
589 endforeach()                                      
590                                                   
591 # - Now set them to Geant4_LIBRARIES              
592 set(Geant4_LIBRARIES ${_geant4_internal_librar    
593                                                   
594 #---------------------------------------------    
595 # Remove any duplicates from the Geant4_{INCLU    
596 # variables so that multiple passes append thi    
597 #                                                 
598 if(Geant4_INCLUDE_DIRS)                           
599   list(REMOVE_DUPLICATES Geant4_INCLUDE_DIRS)     
600 endif()                                           
601                                                   
602 if(Geant4_LIBRARIES)                              
603   list(REMOVE_DUPLICATES Geant4_LIBRARIES)        
604 endif()                                           
605                                                   
606 #---------------------------------------------    
607 # Point the user to the UseGeant4.cmake file w    
608 # to help them with setting up Geant4             
609 #                                                 
610 set(Geant4_USE_FILE "${_geant4_thisdir}/UseGea    
611                                                   
612 #---------------------------------------------    
613 # Pop our custom module path from the CMake on    
614 list(REMOVE_AT CMAKE_MODULE_PATH 0)               
615                                                   
616 #---------------------------------------------    
617 # Check FOUNDness of required components.         
618 foreach(_comp ${Geant4_FIND_COMPONENTS})          
619   if(NOT Geant4_${_comp}_FOUND)                   
620     if(Geant4_FIND_REQUIRED_${_comp})             
621       message(WARNING "Geant4 required compone    
622       set(Geant4_FOUND FALSE)                     
623     endif()                                       
624   endif()                                         
625 endforeach()                                      
626                                                   
627 #---------------------------------------------    
628 # Reporting via FindPackageHandleStandardArgs     
629 include(FindPackageHandleStandardArgs)            
630 set(${CMAKE_FIND_PACKAGE_NAME}_CONFIG "${CMAKE    
631 find_package_handle_standard_args(@PROJECT_NAM