Geant4 Cross Reference |
1 #---------------------------------------------------------------------------- 2 # Setup the project 3 cmake_minimum_required(VERSION 3.16...3.27) 4 project(wholeNuclearDNA) 5 6 #---------------------------------------------------------------------------- 7 # Find Geant4 package, activating all available UI and Vis drivers by default 8 # You can set WITH_GEANT4_UIVIS to OFF via the command line or ccmake/cmake-gui 9 # to build a batch mode only executable 10 # 11 option(WITH_GEANT4_UIVIS "Build example with Geant4 UI and Vis drivers" ON) 12 if(WITH_GEANT4_UIVIS) 13 find_package(Geant4 REQUIRED ui_all vis_all) 14 else() 15 find_package(Geant4 REQUIRED) 16 endif() 17 18 #---------------------------------------------------------------------------- 19 # Setup Geant4 include directories and compile definitions 20 # 21 include(${Geant4_USE_FILE}) 22 23 #---------------------------------------------------------------------------- 24 # Locate sources and headers for this project 25 # 26 include_directories(${PROJECT_SOURCE_DIR}/include 27 ${Geant4_INCLUDE_DIR}) 28 file(GLOB sources ${PROJECT_SOURCE_DIR}/src/*.cc) 29 file(GLOB headers ${PROJECT_SOURCE_DIR}/include/*.hh) 30 31 #---------------------------------------------------------------------------- 32 # Add the executable, and link it to the Geant4 libraries 33 # 34 35 add_executable(${PROJECT_NAME} ${PROJECT_NAME}.cc ${sources} ${headers}) 36 target_link_libraries(${PROJECT_NAME} ${Geant4_LIBRARIES} ) 37 38 #---------------------------------------------------------------------------- 39 # Copy all scripts to the build directory, i.e. the directory in which we 40 # build microdosimetry. This is so that we can run the executable directly because it 41 # relies on these scripts being in the current working directory. 42 # 43 set(dnageometry_SCRIPTS 44 wholenucleardna.in 45 vis.mac 46 chromo1.dat 47 chromo2.dat 48 chromo3.dat 49 chromo4.dat 50 chromo5.dat 51 chromo6.dat 52 chromo7.dat 53 chromo8.dat 54 chromo9.dat 55 chromo10.dat 56 chromo11.dat 57 chromo12.dat 58 chromo13.dat 59 chromo14.dat 60 chromo15.dat 61 chromo16.dat 62 chromo17.dat 63 chromo18.dat 64 chromo19.dat 65 chromo20.dat 66 chromo21.dat 67 chromo22.dat 68 chromoX.dat 69 chromoY.dat 70 ) 71 72 file(GLOB SCRIPTS ${PROJECT_SOURCE_DIR}/*.mac 73 ${PROJECT_SOURCE_DIR}/*.in 74 ${PROJECT_SOURCE_DIR}/*.dat 75 ${PROJECT_SOURCE_DIR}/*.C 76 ) 77 78 foreach(_script ${SCRIPTS}) 79 configure_file( 80 ${_script} 81 ${PROJECT_BINARY_DIR}/. 82 COPYONLY 83 ) 84 endforeach() 85 86 #---------------------------------------------------------------------------- 87 # Install the executable to 'bin' directory under CMAKE_INSTALL_PREFIX 88 # 89 install(TARGETS ${PROJECT_NAME} DESTINATION bin) 90