Geant4 Cross Reference |
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.27) 4 project(Hadr06) 4 project(Hadr06) 5 5 6 #--------------------------------------------- 6 #---------------------------------------------------------------------------- 7 # Find Geant4 package, activating all availabl 7 # Find Geant4 package, activating all available UI and Vis drivers by default 8 # You can set WITH_GEANT4_UIVIS to OFF via the 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 9 # to build a batch mode only executable 10 # 10 # 11 option(WITH_GEANT4_UIVIS "Build example with G 11 option(WITH_GEANT4_UIVIS "Build example with Geant4 UI and Vis drivers" ON) 12 if(WITH_GEANT4_UIVIS) 12 if(WITH_GEANT4_UIVIS) 13 find_package(Geant4 REQUIRED ui_all vis_all) 13 find_package(Geant4 REQUIRED ui_all 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 # Locate sources and headers for this project 24 # Locate sources and headers for this project 25 # 25 # 26 include_directories(${PROJECT_SOURCE_DIR}/incl 26 include_directories(${PROJECT_SOURCE_DIR}/include 27 ${Geant4_INCLUDE_DIR}) 27 ${Geant4_INCLUDE_DIR}) 28 file(GLOB sources ${PROJECT_SOURCE_DIR}/src/*. 28 file(GLOB sources ${PROJECT_SOURCE_DIR}/src/*.cc) 29 file(GLOB headers ${PROJECT_SOURCE_DIR}/includ 29 file(GLOB headers ${PROJECT_SOURCE_DIR}/include/*.hh) 30 30 31 #--------------------------------------------- 31 #---------------------------------------------------------------------------- 32 # Add the executable, and link it to the Geant 32 # Add the executable, and link it to the Geant4 libraries 33 # 33 # 34 add_executable(Hadr06 Hadr06.cc ${sources} ${h 34 add_executable(Hadr06 Hadr06.cc ${sources} ${headers}) 35 target_link_libraries(Hadr06 ${Geant4_LIBRARIE 35 target_link_libraries(Hadr06 ${Geant4_LIBRARIES} ) 36 36 37 #--------------------------------------------- 37 #---------------------------------------------------------------------------- 38 # Copy all scripts to the build directory, i.e 38 # Copy all scripts to the build directory, i.e. the directory in which we 39 # build Hadr06. This is so that we can run the 39 # build Hadr06. This is so that we can run the executable directly because it 40 # relies on these scripts being in the current 40 # relies on these scripts being in the current working directory. 41 # 41 # 42 set(Hadr04_SCRIPTS 42 set(Hadr04_SCRIPTS 43 debug.mac 43 debug.mac 44 envHadronic.csh 44 envHadronic.csh 45 envHadronic.sh 45 envHadronic.sh 46 fission.mac 46 fission.mac 47 graphite.mac 47 graphite.mac 48 hadr06.in 48 hadr06.in 49 plotHisto.C 49 plotHisto.C 50 run1.mac 50 run1.mac 51 singleFission.mac 51 singleFission.mac 52 vis.mac 52 vis.mac 53 ) 53 ) 54 54 55 foreach(_script ${Hadr04_SCRIPTS}) 55 foreach(_script ${Hadr04_SCRIPTS}) 56 configure_file( 56 configure_file( 57 ${PROJECT_SOURCE_DIR}/${_script} 57 ${PROJECT_SOURCE_DIR}/${_script} 58 ${PROJECT_BINARY_DIR}/${_script} 58 ${PROJECT_BINARY_DIR}/${_script} 59 COPYONLY 59 COPYONLY 60 ) 60 ) 61 endforeach() 61 endforeach() 62 62 63 #--------------------------------------------- 63 #---------------------------------------------------------------------------- 64 # Install the executable to 'bin' directory un 64 # Install the executable to 'bin' directory under CMAKE_INSTALL_PREFIX 65 # 65 # 66 install(TARGETS Hadr06 DESTINATION bin) 66 install(TARGETS Hadr06 DESTINATION bin) 67 67