Warning, /geant4/examples/extended/eventgenerator/HepMC/MCTruth/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 #----------------------------------------------------------------------------
0002 # Setup the project
0003 cmake_minimum_required(VERSION 3.16...3.27)
0004 project(MCTruth)
0005
0006 #----------------------------------------------------------------------------
0007 # Find Geant4 package, no UI and Vis drivers activated
0008 #
0009 find_package(Geant4 REQUIRED)
0010
0011 #----------------------------------------------------------------------------
0012 # Setup Geant4 include directories and compile definitions
0013 #
0014 include(${Geant4_USE_FILE})
0015
0016
0017 #----------------------------------------------------------------------------
0018 # Find HepMC (required package)
0019 #
0020 find_package(HepMC REQUIRED)
0021
0022 #----------------------------------------------------------------------------
0023 # Locate sources and headers for this project
0024 #
0025 include_directories(${PROJECT_SOURCE_DIR}/include
0026 ${Geant4_INCLUDE_DIR}
0027 ${HEPMC_INCLUDE_DIR})
0028 file(GLOB sources ${PROJECT_SOURCE_DIR}/src/*.cc)
0029 file(GLOB headers ${PROJECT_SOURCE_DIR}/include/*.hh)
0030
0031 #----------------------------------------------------------------------------
0032 # Add the executable, and link it to the Geant4 libraries
0033 #
0034 add_executable(mctruthex mctruthex.cc ${sources} ${headers})
0035 target_link_libraries(mctruthex ${Geant4_LIBRARIES} ${HEPMC_LIBRARIES} )
0036
0037 #----------------------------------------------------------------------------
0038 # Copy all scripts to the build directory, i.e. the directory in which we
0039 # build MCTruth. This is so that we can run the executable directly because it
0040 # relies on these scripts being in the current working directory.
0041 #
0042 set(MCTruth_SCRIPTS
0043
0044 )
0045
0046 foreach(_script ${MCTruth_SCRIPTS})
0047 configure_file(
0048 ${PROJECT_SOURCE_DIR}/${_script}
0049 ${PROJECT_BINARY_DIR}/${_script}
0050 COPYONLY
0051 )
0052 endforeach()
0053
0054 #----------------------------------------------------------------------------
0055 # Add program to the project targets
0056 # (this avoids the need of typing the program name after make)
0057 #
0058 add_custom_target(MCTruth DEPENDS mctruthex)
0059
0060 #----------------------------------------------------------------------------
0061 # Install the executable to 'bin' directory under CMAKE_INSTALL_PREFIX
0062 #
0063 install(TARGETS mctruthex DESTINATION bin)
0064