Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/cmake/Templates/UseGeant4.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 ]

Diff markup

Differences between /cmake/Templates/UseGeant4.cmake (Version 11.3.0) and /cmake/Templates/UseGeant4.cmake (Version 10.2.p3)


  1 # - Use file for Geant4                             1 # - Use file for Geant4
  2 # Add Module directory so that examples can us <<   2 # This file should be included after a find_package call has successfully
  3 # modules. Appended to minimize any conflict w <<   3 # located Geant4. If Geant4 has been located via the Geant4Config.cmake
  4 # settings                                     <<   4 # config file, this will have set the following variable:
  5 # DEPRECATED: Only needed by certain examples  <<   5 #
  6 list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_ <<   6 #  Geant4_USE_FILE : Point to the location of the use file for the found
                                                   >>   7 #                    Geant4 installation.
                                                   >>   8 #
                                                   >>   9 # Inclusion of this file, e.g. via
                                                   >>  10 #
                                                   >>  11 #  include(${Geant4_USE_FILE})
                                                   >>  12 #
                                                   >>  13 # results in the addition of the Geant4 compile definitions and
                                                   >>  14 # include directories to those of the directory in which this file is
                                                   >>  15 # included.
                                                   >>  16 #
                                                   >>  17 # Header paths are added to include_directories as SYSTEM type directories
                                                   >>  18 #
                                                   >>  19 # The recommended Geant4 compiler flags are also prepended to
                                                   >>  20 # CMAKE_CXX_FLAGS but duplicated flags are NOT removed. This permits
                                                   >>  21 # client of UseGeant4 to override Geant4's recommended flags if required
                                                   >>  22 # and at their own risk.
                                                   >>  23 #
                                                   >>  24 # Advanced users requiring special sets of flags, or the removal of
                                                   >>  25 # duplicate flags should therefore *not* use this file, preferring the
                                                   >>  26 # direct use of the Geant4_XXXX variables set by the Geant4Config file.
                                                   >>  27 #
                                                   >>  28 # The last thing the module does is to optionally include an internal Use
                                                   >>  29 # file. This file can contain variables, functions and macros for strict
                                                   >>  30 # internal use in Geant4, such as building and running validation tests.
                                                   >>  31 #
                                                   >>  32 
                                                   >>  33 #-----------------------------------------------------------------------
                                                   >>  34 # We need to set the compile definitions and include directories
                                                   >>  35 #
                                                   >>  36 add_definitions(${Geant4_DEFINITIONS})
                                                   >>  37 include_directories(AFTER SYSTEM ${Geant4_INCLUDE_DIRS})
                                                   >>  38 
                                                   >>  39 #-----------------------------------------------------------------------
                                                   >>  40 # Because Geant4 is sensitive to the compiler flags, let's set the base
                                                   >>  41 # set here. This reproduces as far as possible the behaviour of the
                                                   >>  42 # original makefile system. However, we append any existing CMake flags in
                                                   >>  43 # case the user wishes to override these (at their own risk).
                                                   >>  44 # Though this may lead to duplication, that should not affect behaviour.
                                                   >>  45 #
                                                   >>  46 set(CMAKE_CXX_FLAGS                "${Geant4_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
                                                   >>  47 set(CMAKE_CXX_FLAGS_DEBUG          "${Geant4_CXX_FLAGS_DEBUG} ${CMAKE_CXX_FLAGS_DEBUG}")
                                                   >>  48 set(CMAKE_CXX_FLAGS_MINSIZEREL     "${Geant4_CXX_FLAGS_MINSIZEREL} ${CMAKE_CXX_FLAGS_MINSIZEREL}")
                                                   >>  49 set(CMAKE_CXX_FLAGS_RELEASE        "${Geant4_CXX_FLAGS_RELEASE} ${CMAKE_CXX_FLAGS_RELEASE}")
                                                   >>  50 set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${Geant4_CXX_FLAGS_RELWITHDEBINFO} ${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
                                                   >>  51 set(CMAKE_EXE_LINKER_FLAGS         "${Geant4_EXE_LINKER_FLAGS} ${CMAKE_EXE_LINKER_FLAGS}")
                                                   >>  52 
                                                   >>  53 #-----------------------------------------------------------------------
                                                   >>  54 # Locate ourselves
                                                   >>  55 #
                                                   >>  56 get_filename_component(_use_geant4_dir ${CMAKE_CURRENT_LIST_FILE} PATH)
                                                   >>  57 
                                                   >>  58 #-----------------------------------------------------------------------
                                                   >>  59 # Append the local module path to CMAKE_MODULE_PATH to automatically
                                                   >>  60 # make FindXXX modules for examples available
                                                   >>  61 #
                                                   >>  62 list(APPEND CMAKE_MODULE_PATH ${_use_geant4_dir}/Modules)
                                                   >>  63 
                                                   >>  64 #-----------------------------------------------------------------------
                                                   >>  65 # Include internal use file if it exists. It should only exist in the
                                                   >>  66 # build tree!
                                                   >>  67 #
                                                   >>  68 include(${_use_geant4_dir}/UseGeant4_internal.cmake OPTIONAL)
                                                   >>  69