Geant4 Cross Reference |
1 #--------------------------------------------- 1 #---------------------------------------------------------------------------- 2 # Setup the project 2 # Setup the project 3 # 3 # 4 cmake_minimum_required(VERSION 3.16...3.27) << 4 cmake_minimum_required(VERSION 3.8...3.18) >> 5 if(${CMAKE_VERSION} VERSION_LESS 3.12) >> 6 cmake_policy(VERSION ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}) >> 7 endif() 5 project(pdb4dna) 8 project(pdb4dna) 6 9 7 #--------------------------------------------- 10 #---------------------------------------------------------------------------- 8 # Find Geant4 package, activating all availabl 11 # Find Geant4 package, activating all available UI and Vis drivers by default 9 # You can set WITH_GEANT4_UIVIS to OFF via the 12 # You can set WITH_GEANT4_UIVIS to OFF via the command line or ccmake/cmake-gui 10 # to build a batch mode only executable 13 # to build a batch mode only executable 11 # 14 # 12 option(WITH_GEANT4_UIVIS "Build example with G 15 option(WITH_GEANT4_UIVIS "Build example with Geant4 UI and Vis drivers" ON) 13 if(WITH_GEANT4_UIVIS) 16 if(WITH_GEANT4_UIVIS) 14 find_package(Geant4 REQUIRED ui_all vis_all) 17 find_package(Geant4 REQUIRED ui_all vis_all) 15 else() 18 else() 16 find_package(Geant4 REQUIRED) 19 find_package(Geant4 REQUIRED) 17 endif() 20 endif() 18 21 19 #--------------------------------------------- 22 #---------------------------------------------------------------------------- 20 # Setup Geant4 include directories and compile 23 # Setup Geant4 include directories and compile definitions 21 # Setup include directory for this project 24 # Setup include directory for this project 22 # 25 # 23 include(${Geant4_USE_FILE}) 26 include(${Geant4_USE_FILE}) 24 include_directories(${PROJECT_SOURCE_DIR}/incl 27 include_directories(${PROJECT_SOURCE_DIR}/include) 25 28 26 #--------------------------------------------- 29 #---------------------------------------------------------------------------- 27 # Locate sources and headers for this project 30 # Locate sources and headers for this project 28 # NB: headers are included so they will show u 31 # NB: headers are included so they will show up in IDEs 29 # 32 # 30 file(GLOB sources ${PROJECT_SOURCE_DIR}/src/*. 33 file(GLOB sources ${PROJECT_SOURCE_DIR}/src/*.cc) 31 file(GLOB headers ${PROJECT_SOURCE_DIR}/includ 34 file(GLOB headers ${PROJECT_SOURCE_DIR}/include/*.hh) 32 35 33 #--------------------------------------------- 36 #---------------------------------------------------------------------------- 34 # Add the executable, and link it to the Geant 37 # Add the executable, and link it to the Geant4 libraries 35 # 38 # 36 add_executable(pdb4dna pdb4dna.cc ${sources} $ 39 add_executable(pdb4dna pdb4dna.cc ${sources} ${headers}) 37 target_link_libraries(pdb4dna ${Geant4_LIBRARI 40 target_link_libraries(pdb4dna ${Geant4_LIBRARIES}) 38 41 39 #--------------------------------------------- 42 #---------------------------------------------------------------------------- 40 # Copy all scripts to the build directory, i.e 43 # Copy all scripts to the build directory, i.e. the directory in which we 41 # build pdb4dna. This is so that we can run th 44 # build pdb4dna. This is so that we can run the executable directly because 42 # it relies on these scripts being in the curr 45 # it relies on these scripts being in the current working directory. 43 # 46 # 44 set(EXAMPLEpdb4dna_SCRIPTS 47 set(EXAMPLEpdb4dna_SCRIPTS 45 gui.mac 48 gui.mac 46 init.mac 49 init.mac 47 init_vis.mac 50 init_vis.mac 48 pdb4dna.in 51 pdb4dna.in 49 runInGUI.mac 52 runInGUI.mac 50 vis.mac 53 vis.mac 51 analysis.C 54 analysis.C 52 1ZBB.pdb 55 1ZBB.pdb 53 ) 56 ) 54 57 55 foreach(_script ${EXAMPLEpdb4dna_SCRIPTS}) 58 foreach(_script ${EXAMPLEpdb4dna_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 pdb4dna DESTINATION bin) 69 install(TARGETS pdb4dna DESTINATION bin)