Geant4 Cross Reference |
1 #---------------------------------------------------------------------------- 2 # Setup the project 3 cmake_minimum_required(VERSION 3.16...3.27) 4 project(B03) 5 6 #---------------------------------------------------------------------------- 7 # Find Geant4 package, no UI and Vis drivers activated 8 # 9 find_package(Geant4 REQUIRED) 10 11 #---------------------------------------------------------------------------- 12 # Setup Geant4 include directories and compile definitions 13 # 14 include(${Geant4_USE_FILE}) 15 16 #---------------------------------------------------------------------------- 17 # Locate sources and headers for this project 18 # 19 include_directories(${PROJECT_SOURCE_DIR}/include 20 ${Geant4_INCLUDE_DIR}) 21 file(GLOB sources ${PROJECT_SOURCE_DIR}/src/*.cc) 22 file(GLOB headers ${PROJECT_SOURCE_DIR}/include/*.hh) 23 24 #---------------------------------------------------------------------------- 25 # Add the executable, and link it to the Geant4 libraries 26 # 27 add_executable(exampleB03 exampleB03.cc ${sources} ${headers}) 28 target_link_libraries(exampleB03 ${Geant4_LIBRARIES}) 29 30 #---------------------------------------------------------------------------- 31 # Copy all scripts to the build directory, i.e. the directory in which we 32 # build B03. This is so that we can run the executable directly because it 33 # relies on these scripts being in the current working directory. 34 # 35 set(B03_SCRIPTS 36 exampleB03.out 37 ) 38 39 foreach(_script ${B03_SCRIPTS}) 40 configure_file( 41 ${PROJECT_SOURCE_DIR}/${_script} 42 ${PROJECT_BINARY_DIR}/${_script} 43 COPYONLY 44 ) 45 endforeach() 46 47 #---------------------------------------------------------------------------- 48 # Add program to the project targets 49 # (this avoids the need of typing the program name after make) 50 # 51 add_custom_target(B03 DEPENDS exampleB03) 52 53 #---------------------------------------------------------------------------- 54 # Install the executable to 'bin' directory under CMAKE_INSTALL_PREFIX 55 # 56 install(TARGETS exampleB03 DESTINATION bin) 57