Advanced Computing Platform for Theoretical Physics
Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Yu-Chen Ding
crmc
Commits
b9ded815
Commit
b9ded815
authored
Apr 16, 2021
by
ralfulrich
Browse files
best guess
parent
617a922a
Changes
3
Hide whitespace changes
Inline
Side-by-side
CMakeLists.txt
View file @
b9ded815
...
...
@@ -12,6 +12,9 @@ endmacro ()
# Enable/Disable models to be built
CRMC_OPTION
(
CRMC_STATIC
"Build with static library"
OFF
)
#if ON should not combined DPMJET/PHOJET/PYTHIA because they use different version of pythia (for dynamic library no problem)
OPTION
(
__CRMCPROG__
"Build stabdalone CRMC program"
OFF
)
# standard CRMC installation (crmc protgram)
OPTION
(
__GEANT4__
"Build with geant4 interface"
ON
)
# crmc-geant4 interface
OPTION
(
__GEANT4PHYS__
"Build with geant4 interface"
ON
)
# crmc geant4 physics list (requires geant4 to be installed)
CRMC_OPTION
(
CRMC_QGSJET01
"Build with QGSJet 2003"
OFF
)
CRMC_OPTION
(
CRMC_GHEISHA
"Build with GHeisha 2002"
OFF
)
...
...
@@ -42,9 +45,9 @@ if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
set
(
CMAKE_INSTALL_PREFIX $ENV{PWD} CACHE PATH
"default install path"
FORCE
)
endif
()
MESSAGE
(
STATUS
"source
${
CMAKE_SOURCE_DIR
}
"
)
MESSAGE
(
STATUS
"build
${
CMAKE_BINARY_DIR
}
"
)
MESSAGE
(
STATUS
"install
${
CMAKE_INSTALL_PREFIX
}
"
)
MESSAGE
(
STATUS
"source
${
CMAKE_SOURCE_DIR
}
"
)
MESSAGE
(
STATUS
"build
${
CMAKE_BINARY_DIR
}
"
)
MESSAGE
(
STATUS
"install
${
CMAKE_INSTALL_PREFIX
}
"
)
## The version number. Only nummeric PLEASE!
SET
(
CRMC_VERSION_MAJOR 1
)
...
...
@@ -165,17 +168,17 @@ FIND_PACKAGE (Boost 1.35 REQUIRED
COMPONENTS filesystem iostreams system program_options
)
FIND_PACKAGE
(
HepMC COMPONENTS HepMC HepMCfio
)
if
(
${
HEPMC_FOUND
}
MATCHES TRUE
)
if
(
HEPMC_FOUND
)
INCLUDE_DIRECTORIES
(
"
${
HepMC_INCLUDE_DIRS
}
"
)
LIST
(
APPEND CRMC_SOURCES src/OutputPolicyHepMC.cc
)
LIST
(
APPEND CRMC_HEADERS src/OutputPolicyHepMC.h
)
set_property
(
SOURCE src/CRMC.cc src/CRMCoptions.cc src/crmcMain.cc
APPEND PROPERTY COMPILE_DEFINITIONS WITH_HEPMC
)
MESSAGE
(
"Build HEPMC Output Interface"
)
endif
(
${
HEPMC_FOUND
}
MATCHES TRUE
)
endif
(
HEPMC_FOUND
)
FIND_PACKAGE
(
HepMC3 COMPONENTS HepMC3
)
if
(
${
HepMC3_FOUND
}
)
if
(
HepMC3_FOUND
)
INCLUDE_DIRECTORIES
(
"
${
HEPMC3_INCLUDE_DIR
}
"
)
LIST
(
APPEND CRMC_SOURCES src/OutputPolicyHepMC3.cc
)
LIST
(
APPEND CRMC_HEADERS
...
...
@@ -187,15 +190,15 @@ if (${HepMC3_FOUND})
MESSAGE
(
"Build HEPMC3 Output Interface"
)
FIND_PACKAGE
(
Rivet
)
if
(
${
Rivet_FOUND
}
MATCHES TRUE
)
if
(
Rivet_FOUND
)
INCLUDE_DIRECTORIES
(
"
${
RIVET_INCLUDE_DIR
}
"
)
LIST
(
APPEND CRMC_SOURCES src/OutputPolicyRivet.cc
)
LIST
(
APPEND CRMC_HEADERS src/OutputPolicyRivet.h
)
set_property
(
SOURCE src/CRMC.cc src/CRMCoptions.cc src/crmcMain.cc
APPEND PROPERTY COMPILE_DEFINITIONS WITH_RIVET
)
MESSAGE
(
"Build Rivet interface"
)
endif
(
${
Rivet_FOUND
}
MATCHES TRUE
)
endif
(
${
HepMC3_FOUND
}
)
endif
(
Rivet_FOUND
)
endif
(
HepMC3_FOUND
)
FIND_PACKAGE
(
Fastjet COMPONENTS fastjet
)
if
(
FASTJET_FOUND
)
...
...
@@ -413,21 +416,49 @@ ENDIF (CRMC_STATIC)
#include directories for headers
INCLUDE_DIRECTORIES
(
"
${
CMAKE_BINARY_DIR
}
/src"
)
INCLUDE_DIRECTORIES
(
"
${
Boost_INCLUDE_DIRS
}
"
)
if
(
__GEANT4__ OR __GEANT4PHYS__
)
# require Geant4
# set (Geant4_CONFIG_DEBUG ON)
find_package
(
Geant4 REQUIRED CONFIG
)
if
(
NOT Geant4_FOUND
)
message
(
error
"Geant4 not found. Provide Geant4_DIR to find it, or add geant4-config to your PATH."
)
endif
(
NOT Geant4_FOUND
)
message
(
"Geant4 found:
${
Geant4_VERSION
}
"
)
endif
(
__GEANT4__ OR __GEANT4PHYS__
)
# ========= USED IN GEANT4 interface =========
if
(
__GEANT4__
)
ADD_LIBRARY
(
Crmc SHARED src/CRMCinterface.cc
)
INSTALL
(
TARGETS Crmc
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib/static
)
endif
(
__GEANT4__
)
# ========= USED IN GEANT4 interface =========
IF
(
__GEANT4PHYS__
)
ADD_SUBDIRECTORY
(
"
${
PROJECT_SOURCE_DIR
}
/src/geant4"
)
ENDIF
(
__GEANT4PHYS__
)
# the executable
IF
(
__CRMCPROG__
)
ADD_EXECUTABLE
(
crmc
${
CRMC_SOURCES
}
)
# linking of modules
TARGET_LINK_LIBRARIES
(
crmc
${
CMAKE_DL_LIBS
}
)
if
(
${
HEPMC_FOUND
}
MATCHES TRUE
)
if
(
HEPMC_FOUND
)
TARGET_LINK_LIBRARIES
(
crmc
${
HepMC_LIBRARIES
}
)
endif
(
${
HEPMC_FOUND
}
MATCHES TRUE
)
if
(
${
HepMC3_FOUND
}
)
endif
(
HEPMC_FOUND
)
if
(
HepMC3_FOUND
)
TARGET_LINK_LIBRARIES
(
crmc
${
HEPMC3_LIBRARIES
}
)
if
(
${
Rivet_FOUND
}
MATCHES TRUE
)
if
(
Rivet_FOUND
)
STRING
(
STRIP
"
${
RIVET_LIB_DIR
}
"
RIVET_LIBRARY_DIR
)
TARGET_LINK_LIBRARIES
(
crmc
${
RIVET_LIBRARY_DIR
}
/libRivet.so
)
endif
(
${
Rivet_FOUND
}
MATCHES TRUE
)
endif
(
${
HepMC3_FOUND
}
)
endif
(
Rivet_FOUND
)
endif
(
HepMC3_FOUND
)
TARGET_LINK_LIBRARIES
(
crmc
${
Boost_LIBRARIES
}
)
if
(
Root_FOUND
)
TARGET_LINK_LIBRARIES
(
crmc
${
ROOT_LIBRARIES
}
)
...
...
@@ -438,6 +469,7 @@ IF (CRMC_STATIC)
ELSE
(
CRMC_STATIC
)
TARGET_LINK_LIBRARIES
(
crmc HepEvtDummy
)
ENDIF
(
CRMC_STATIC
)
ENDIF
(
__CRMCPROG__
)
## installation
# configure the parameter file
...
...
@@ -458,7 +490,9 @@ endforeach()
INSTALL
(
FILES
${
TABSDIR
}
DESTINATION share/crmc/
)
# install executable
INSTALL
(
TARGETS crmc RUNTIME
)
if
(
__CRMCPROG__
)
INSTALL
(
TARGETS crmc RUNTIME
)
endif
(
__CRMCPROG__
)
INSTALL
(
FILES
${
CMAKE_BINARY_DIR
}
/src/epos.inc
src/epos.incems
src/epos.inchy
...
...
src/crmcMain.cc
View file @
b9ded815
...
...
@@ -71,7 +71,7 @@ main(int argc, char **argv)
break
;
#endif
#ifdef WITH_
HEPMC3
#ifdef WITH_
RIVET
case
CRMCoptions
::
eRivet
:
{
CRMC2Rivet
crmc
(
cfg
);
...
...
src/geant4/CMakeLists.txt
View file @
b9ded815
EXECUTE_PROCESS
(
COMMAND geant4-config
"--cflags"
OUTPUT_VARIABLE GEANT4_CXXFLAGS
)
EXECUTE_PROCESS
(
COMMAND geant4-config
"--libs"
OUTPUT_VARIABLE GEANT4_LIBS
)
SET
(
CMAKE_CXX_FLAGS
"
${
CMAKE_CXX_FLAGS
}
${
GEANT4_CXXFLAGS
}
"
)
STRING
(
STRIP
${
CMAKE_CXX_FLAGS
}
CMAKE_CXX_FLAGS
)
STRING
(
STRIP
${
GEANT4_LIBS
}
GEANT4_LIBS
)
ADD_LIBRARY
(
GeantCrmc SHARED G4HadronPhysicsCRMC.cc G4HadronicInelasticModelCRMC.cc
)
ADD_LIBRARY
(
GeantCrmc SHARED G4HadronPhysicsCRMC.cc G4HadronicInelasticModelCRMC.cc
)
TARGET_LINK_LIBRARIES
(
GeantCrmc
${
GEANT4_LIBS
}
)
INSTALL
(
TARGETS GeantCrmc
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib/static
)
INSTALL
(
FILES G4HadronPhysicsCRMC.hh G4HadronicInelasticModelCRMC.hh
DESTINATION src
)
TARGET_compile_definitions
(
GeantCrmc PRIVATE
${
Geant4_DEFINITIONS
}
)
TARGET_include_directories
(
GeantCrmc PRIVATE
${
Geant4_INCLUDE_DIRS
}
)
TARGET_LINK_LIBRARIES
(
GeantCrmc
${
Geant4_LIBRARIES
}
)
INSTALL
(
TARGETS GeantCrmc
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib/static
)
INSTALL
(
FILES G4HadronPhysicsCRMC.hh G4HadronicInelasticModelCRMC.hh
DESTINATION src
)
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment