Geant4 Cross Reference |
1 #---------------------------------------------------------------------------- 2 # Setup the project 3 # 4 cmake_minimum_required(VERSION 3.16...3.27) 5 project(B3a) 6 7 #---------------------------------------------------------------------------- 8 # Find Geant4 package, activating all available UI and Vis drivers by default 9 # See the documentation for a guide on how to enable/disable specific components 10 # 11 find_package(Geant4 REQUIRED ui_all vis_all) 12 13 #---------------------------------------------------------------------------- 14 # Locate sources and headers for this project 15 # NB: headers are included so they will show up in IDEs 16 # 17 file(GLOB sources ${PROJECT_SOURCE_DIR}/src/*.cc) 18 file(GLOB headers ${PROJECT_SOURCE_DIR}/include/*.hh) 19 20 #---------------------------------------------------------------------------- 21 # Add the executable, use our local headers, and link it to the Geant4 libraries 22 # 23 add_executable(exampleB3a exampleB3a.cc ${sources} ${headers}) 24 target_include_directories(exampleB3a PRIVATE include) 25 target_link_libraries(exampleB3a PRIVATE ${Geant4_LIBRARIES}) 26 27 #---------------------------------------------------------------------------- 28 # Copy all scripts to the build directory, i.e. the directory in which we 29 # build B3a. This is so that we can run the executable directly because it 30 # relies on these scripts being in the current working directory. 31 # 32 set(EXAMPLEB3_SCRIPTS 33 debug.mac 34 exampleB3.in 35 exampleB3.out 36 init_vis.mac 37 run1.mac 38 run2.mac 39 vis.mac 40 ) 41 42 foreach(_script ${EXAMPLEB3_SCRIPTS}) 43 configure_file( 44 ${PROJECT_SOURCE_DIR}/${_script} 45 ${PROJECT_BINARY_DIR}/${_script} 46 COPYONLY 47 ) 48 endforeach()