# $Id: CMakeLists.txt 104871 2017-06-23 14:17:13Z gcosmo $ #---------------------------------------------------------------------------- # Setup the project # set (CMAKE_CXX_STANDARD 11) cmake_minimum_required(VERSION 2.6 FATAL_ERROR) set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Wall") set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} --no-undefined") project(B4c) list(APPEND CMAKE_PREFIX_PATH $ENV{ROOTSYS}) find_package(ROOT REQUIRED COMPONENTS Core RIO Net Hist Graf Graf3d Gpad Tree TreePlayer Rint Postscript Matrix Physics MathCore Thread EG MultiProc m dl GenVector) include(${ROOT_USE_FILE}) #---------------------------------------------------------------------------- # Find Geant4 package, activating all available UI and Vis drivers by default # You can set WITH_GEANT4_UIVIS to OFF via the command line or ccmake/cmake-gui # to build a batch mode only executable # option(WITH_GEANT4_UIVIS "Build example with Geant4 UI and Vis drivers" ON) if(WITH_GEANT4_UIVIS) find_package(Geant4 REQUIRED ui_all vis_all) else() find_package(Geant4 REQUIRED) endif() #---------------------------------------------------------------------------- # Setup Geant4 include directories and compile definitions # Setup include directory for this project # include(${Geant4_USE_FILE}) include_directories(${PROJECT_SOURCE_DIR}/include) include_directories(/data/neutrino02/jnugent/newsaroman/NewSaRoMaN/third_party/play/Generator/src) #---------------------------------------------------------------------------- # Locate sources and headers for this project # NB: headers are included so they will show up in IDEs # file(GLOB sources ${PROJECT_SOURCE_DIR}/src/*.cc) file(GLOB headers ${PROJECT_SOURCE_DIR}/include/*.hh) #---------------------------------------------------------------------------- # Add the executable, and link it to the Geant4 libraries # link_directories(/data/neutrino02/jnugent/newsaroman/NewSaRoMaN/third_party/play/Generator/lib) link_directories(/data/neutrino02/jnugent/newsaroman/NewSaRoMaN/third_party/Pythia/pythia6428/) add_executable(exampleB4c exampleB4c.cc ${sources} ${headers}) target_link_libraries(exampleB4c ${Geant4_LIBRARIES} GMessenger GRegistry GAlgorithm GInteraction GHEP GBase GNumerical GUtils GPDG GBaryonResonance GEVGCore GEVGDrivers GNtuple GGeo GFluxDrivers GPDF GElFF GDecay GFragmentation GNuclear GLlewellynSmith GCrossSections GCharm GElas GGiBUU GReinSehgal GQPM GBodekYang GEVGModules GQEL GRES GDIS GCoh GDfrc GMEC GNuE GNuGamma GHadronTransp GAlvarezRuso GBergerSehgal GSingleKaon GMuELoss /data/neutrino02/jnugent/newsaroman/NewSaRoMaN/third_party/xerces-c-3.2.2/src/.libs/libxerces-c.so log4cpp xml2 EGPythia6 ${ROOT_LIBRARIES}) link_libraries("--discard-none") #SET(CMAKE_EXE_LINKER_FLAGS "-ldiscard-none") #---------------------------------------------------------------------------- # Copy all scripts to the build directory, i.e. the directory in which we # build B4c. This is so that we can run the executable directly because it # relies on these scripts being in the current working directory. # set(EXAMPLEB4C_SCRIPTS exampleB4c.out exampleB4.in gui.mac init_vis.mac plotHisto.C run1.mac run2.mac vis.mac ) foreach(_script ${EXAMPLEB4C_SCRIPTS}) configure_file( ${PROJECT_SOURCE_DIR}/${_script} ${PROJECT_BINARY_DIR}/${_script} COPYONLY ) endforeach() #---------------------------------------------------------------------------- # Install the executable to 'bin' directory under CMAKE_INSTALL_PREFIX # install(TARGETS exampleB4c DESTINATION bin)