Geant4 Cross Reference |
1 #--------------------------------------------- << 1 cmake_minimum_required(VERSION 2.6 FATAL_ERROR) 2 # Setup the project << 3 cmake_minimum_required(VERSION 3.16...3.27) << 4 project(monopole) << 5 2 6 #--------------------------------------------- << 3 set(name monopole) 7 # Find Geant4 package, activating all availabl << 4 project(${name}) 8 # You can set WITH_GEANT4_UIVIS to OFF via the << 5 find_package(Geant4 REQUIRED) 9 # to build a batch mode only executable << 10 # << 11 option(WITH_GEANT4_UIVIS "Build example with G << 12 if(WITH_GEANT4_UIVIS) << 13 find_package(Geant4 REQUIRED ui_all vis_all) << 14 else() << 15 find_package(Geant4 REQUIRED) << 16 endif() << 17 << 18 #--------------------------------------------- << 19 # Setup Geant4 include directories and compile << 20 # << 21 include(${Geant4_USE_FILE}) 6 include(${Geant4_USE_FILE}) 22 7 23 #--------------------------------------------- << 8 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include ${Geant4_INCLUDE_DIR}) 24 # Locate sources and headers for this project << 9 file(GLOB sources ${CMAKE_CURRENT_SOURCE_DIR}/src/*.cc) 25 # << 26 include_directories(${PROJECT_SOURCE_DIR}/incl << 27 ${Geant4_INCLUDE_DIR}) << 28 file(GLOB sources ${PROJECT_SOURCE_DIR}/src/*. << 29 file(GLOB headers ${PROJECT_SOURCE_DIR}/includ << 30 << 31 #--------------------------------------------- << 32 # Add the executable, and link it to the Geant << 33 # << 34 add_executable(monopole monopole.cc ${sources} << 35 target_link_libraries(monopole ${Geant4_LIBRAR << 36 << 37 #--------------------------------------------- << 38 # Copy all scripts to the build directory, i.e << 39 # build monopole. This is so that we can run t << 40 # relies on these scripts being in the current << 41 # << 42 set(monopole_SCRIPTS << 43 monopole.in init_vis.mac vis.mac << 44 ) << 45 << 46 foreach(_script ${monopole_SCRIPTS}) << 47 configure_file( << 48 ${PROJECT_SOURCE_DIR}/${_script} << 49 ${PROJECT_BINARY_DIR}/${_script} << 50 COPYONLY << 51 ) << 52 endforeach() << 53 << 54 #--------------------------------------------- << 55 # Install the executable to 'bin' directory un << 56 # << 57 install(TARGETS monopole DESTINATION bin) << 58 10 >> 11 add_executable(${name} EXCLUDE_FROM_ALL ${name}.cc ${sources}) >> 12 target_link_libraries(${name} ${Geant4_LIBRARIES})