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