Geant4 Cross Reference |
1 #--------------------------------------------- 2 # Setup the project 3 # 4 cmake_minimum_required(VERSION 3.16...3.27) 5 project(ch0) 6 7 #--------------------------------------------- 8 # Find Geant4 package, activating all availabl 9 # You can set WITH_GEANT4_UIVIS to OFF via the 10 # to build a batch mode only executable 11 # 12 13 option(WITH_GEANT4_UIVIS "Build example with G 14 if(WITH_GEANT4_UIVIS) 15 find_package(Geant4 REQUIRED ui_all vis_all) 16 else() 17 find_package(Geant4 REQUIRED) 18 endif() 19 20 #--------------------------------------------- 21 # Setup Geant4 include directories and compile 22 # Setup include directory for this project 23 # 24 include(${Geant4_USE_FILE}) 25 include_directories(${PROJECT_SOURCE_DIR}/incl 26 27 #--------------------------------------------- 28 # Locate sources and headers for this project 29 # NB: headers are included so they will show u 30 # 31 file(GLOB sources ${PROJECT_SOURCE_DIR}/src/*. 32 file(GLOB headers ${PROJECT_SOURCE_DIR}/includ 33 34 #--------------------------------------------- 35 # Install data 36 # 37 file(GLOB _data RELATIVE ${PROJECT_SOURCE_DIR} 38 foreach(_dat ${_data}) 39 configure_file( 40 ${PROJECT_SOURCE_DIR}/${_dat} 41 ${PROJECT_BINARY_DIR}/${_dat} 42 COPYONLY 43 ) 44 endforeach() 45 file(GLOB _data RELATIVE ${PROJECT_SOURCE_DIR} 46 foreach(_dat ${_data}) 47 configure_file( 48 ${PROJECT_SOURCE_DIR}/mac/${_dat} 49 ${PROJECT_BINARY_DIR}/${_dat} 50 COPYONLY 51 ) 52 endforeach() 53 file(GLOB _data RELATIVE ${PROJECT_SOURCE_DIR} 54 foreach(_dat ${_data}) 55 configure_file( 56 ${PROJECT_SOURCE_DIR}/analysis/${_dat} 57 ${PROJECT_BINARY_DIR}/${_dat} 58 COPYONLY 59 ) 60 endforeach() 61 62 63 #--------------------------------------------- 64 # Add the executable, and link it to the Geant 65 # 66 add_executable(ch0 ch0.cc ${sources} ${headers 67 target_link_libraries(ch0 ${Geant4_LIBRARIES}) 68 69 70 #--------------------------------------------- 71 # For internal Geant4 use - but has no effect 72 # example standalone 73 # 74 add_custom_target(ch0_custom DEPENDS ch0) 75 76 #--------------------------------------------- 77 # Install the executable to 'bin' directory un 78 # 79 install(TARGETS ch0 DESTINATION bin)