Geant4 Cross Reference |
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