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