Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/examples/extended/medical/dna/dnadamage1/CMakeLists.txt

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 /examples/extended/medical/dna/dnadamage1/CMakeLists.txt (Version 11.3.0) and /examples/extended/medical/dna/dnadamage1/CMakeLists.txt (Version 10.7.p2)


  1 #---------------------------------------------      1 #----------------------------------------------------------------------------
  2 # Setup the project                                 2 # Setup the project
  3 cmake_minimum_required(VERSION 3.16...3.27)    <<   3 cmake_minimum_required(VERSION 3.8...3.18)
                                                   >>   4 if(${CMAKE_VERSION} VERSION_LESS 3.12)
                                                   >>   5   cmake_policy(VERSION ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION})
                                                   >>   6 endif()
  4 project(dnadamage1)                                 7 project(dnadamage1)
  5                                                     8 
  6 #---------------------------------------------      9 #----------------------------------------------------------------------------
  7 # Find Geant4 package, activating all availabl     10 # Find Geant4 package, activating all available Vis drivers by default
  8 # You can set WITH_GEANT4_VIS to OFF via the c     11 # You can set WITH_GEANT4_VIS to OFF via the command line or ccmake/cmake-gui
  9 # to build a batch mode only executable            12 # to build a batch mode only executable
 10 #                                                  13 #
 11 option(WITH_GEANT4_VIS "Build example with Gea     14 option(WITH_GEANT4_VIS "Build example with Geant4 Vis drivers" ON)
 12 if(WITH_GEANT4_VIS)                                15 if(WITH_GEANT4_VIS)
 13   find_package(Geant4 REQUIRED vis_all)            16   find_package(Geant4 REQUIRED vis_all)
 14 else()                                             17 else()
 15   find_package(Geant4 REQUIRED)                    18   find_package(Geant4 REQUIRED)
 16 endif()                                            19 endif()
 17                                                    20 
 18 #---------------------------------------------     21 #----------------------------------------------------------------------------
 19 # Setup Geant4 include directories and compile     22 # Setup Geant4 include directories and compile definitions
 20 #                                                  23 #
 21 include(${Geant4_USE_FILE})                        24 include(${Geant4_USE_FILE})
 22                                                    25 
 23 #---------------------------------------------     26 #----------------------------------------------------------------------------
 24 # Dowload geometry data file                       27 # Dowload geometry data file
 25                                                    28 
 26 set(GEOMETRY_NEEDS_DOWNLOAD TRUE)                  29 set(GEOMETRY_NEEDS_DOWNLOAD TRUE)
 27 set(GEOMETRY_FILE_NAME "VoxelStraight.fab2g4dn     30 set(GEOMETRY_FILE_NAME "VoxelStraight.fab2g4dna")
 28 set(GEOMETRY_LOCAL_FILENAME "${PROJECT_BINARY_     31 set(GEOMETRY_LOCAL_FILENAME "${PROJECT_BINARY_DIR}/${GEOMETRY_FILE_NAME}")
 29 set(GEOMETRY_DATASETS_URL                          32 set(GEOMETRY_DATASETS_URL 
 30 "https://cern.ch/geant4-data/examples/dna/dnad     33 "https://cern.ch/geant4-data/examples/dna/dnadamage1/${GEOMETRY_FILE_NAME}")
 31 set(HASH_MD5 "3e28151dc4c4647af3ae37d0385fc443     34 set(HASH_MD5 "3e28151dc4c4647af3ae37d0385fc443")
 32                                                    35 
 33 if(EXISTS "${GEOMETRY_FILE_NAME}")                 36 if(EXISTS "${GEOMETRY_FILE_NAME}")
 34   set(GEOMETRY_NEEDS_DOWNLOAD FALSE)               37   set(GEOMETRY_NEEDS_DOWNLOAD FALSE)
 35 endif()                                            38 endif()
 36                                                    39 
 37                                                    40 
 38 if(GEOMETRY_NEEDS_DOWNLOAD)                        41 if(GEOMETRY_NEEDS_DOWNLOAD)
 39   message(STATUS "Geometry-data: attempting do     42   message(STATUS "Geometry-data: attempting download: ${GEOMETRY_DATASETS_URL}")
 40   file(DOWNLOAD "${GEOMETRY_DATASETS_URL}" "${     43   file(DOWNLOAD "${GEOMETRY_DATASETS_URL}" "${GEOMETRY_LOCAL_FILENAME}"
 41     INACTIVITY_TIMEOUT 50                          44     INACTIVITY_TIMEOUT 50
 42     TIMEOUT 50                                     45     TIMEOUT 50
 43     STATUS DownloadStatus                          46     STATUS DownloadStatus
 44     )                                              47     )
 45                                                    48 
 46   list(GET DownloadStatus 0 DownloadReturnStat     49   list(GET DownloadStatus 0 DownloadReturnStatus)
 47   if(DownloadReturnStatus)                         50   if(DownloadReturnStatus)
 48     message(STATUS "Geometry-data: download FA     51     message(STATUS "Geometry-data: download FAILED: ${DownloadReturnStatus}, 
 49     This example needs internet for the geomet     52     This example needs internet for the geometry data file,
 50     even configuring done and complied.            53     even configuring done and complied. 
 51     Please, check your connection.                 54     Please, check your connection.
 52     ")                                             55     ")
 53   else()                                           56   else()
 54     message(STATUS "Geometry-data: download OK     57     message(STATUS "Geometry-data: download OK")
 55   endif()                                          58   endif()
 56 endif()                                            59 endif()
 57                                                    60 
 58 #---------------------------------------------     61 #----------------------------------------------------------------------------
 59 # Locate sources and headers for this project      62 # Locate sources and headers for this project
 60 #                                                  63 #
 61                                                    64 
 62 include_directories(${PROJECT_SOURCE_DIR}/incl     65 include_directories(${PROJECT_SOURCE_DIR}/include
 63                     ${Geant4_INCLUDE_DIR})         66                     ${Geant4_INCLUDE_DIR})
 64 file(GLOB sources ${PROJECT_SOURCE_DIR}/src/*.     67 file(GLOB sources ${PROJECT_SOURCE_DIR}/src/*.cc)
 65 file(GLOB headers ${PROJECT_SOURCE_DIR}/includ     68 file(GLOB headers ${PROJECT_SOURCE_DIR}/include/*.hh)
 66                                                    69 
 67 #---------------------------------------------     70 #----------------------------------------------------------------------------
 68 # Add the executable, and link it to the Geant     71 # Add the executable, and link it to the Geant4 libraries
 69 #                                                  72 #
 70 add_executable(dnadamage1 dnadamage1.cc ${sour     73 add_executable(dnadamage1 dnadamage1.cc ${sources} ${headers})
 71 target_link_libraries(dnadamage1 ${Geant4_LIBR     74 target_link_libraries(dnadamage1 ${Geant4_LIBRARIES} )
 72                                                    75 
 73 #---------------------------------------------     76 #----------------------------------------------------------------------------
 74 # Copy all scripts to the build directory, i.e     77 # Copy all scripts to the build directory, i.e. the directory in which we
 75 # build dnadamage1. This is so that we can run     78 # build dnadamage1. This is so that we can run the executable directly because it
 76 # relies on these scripts being in the current     79 # relies on these scripts being in the current working directory.
 77 #                                                  80 #
 78                                                    81 
 79 file(GLOB MAC_FILES ${PROJECT_SOURCE_DIR}/*.ma     82 file(GLOB MAC_FILES ${PROJECT_SOURCE_DIR}/*.mac 
 80      ${PROJECT_SOURCE_DIR}/*.in                    83      ${PROJECT_SOURCE_DIR}/*.in
 81      ${PROJECT_SOURCE_DIR}/*.C                     84      ${PROJECT_SOURCE_DIR}/*.C
 82      ${PROJECT_SOURCE_DIR}/include/DNAVolumeTy <<  85   ${PROJECT_SOURCE_DIR}/*.fab2g4dna)
 83      ${PROJECT_SOURCE_DIR}/*.fab2g4dna)        << 
 84                                                    86 
 85 foreach(_script ${MAC_FILES})                      87 foreach(_script ${MAC_FILES})
 86   configure_file(                                  88   configure_file(
 87     ${_script}                                     89     ${_script}
 88     ${PROJECT_BINARY_DIR}/.                        90     ${PROJECT_BINARY_DIR}/.
 89     COPYONLY                                       91     COPYONLY
 90     )                                              92     )
 91 endforeach()                                       93 endforeach()
 92                                                    94 
 93 #---------------------------------------------     95 #----------------------------------------------------------------------------
 94 # Install the executable to 'bin' directory un     96 # Install the executable to 'bin' directory under CMAKE_INSTALL_PREFIX
 95 #                                                  97 #
 96 install(TARGETS dnadamage1 DESTINATION bin)        98 install(TARGETS dnadamage1 DESTINATION bin)
 97                                                    99 
 98                                                   100