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 11.0.p1)


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