Warning, /pfRICH/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001
0002 cmake_minimum_required(VERSION 3.0 FATAL_ERROR)
0003
0004 project(pfRICH)
0005
0006 set(CMAKE_BUILD_TYPE Debug)
0007
0008 cmake_policy(SET CMP0079 NEW) # allow `target_link_libraries` from any dir
0009
0010 #----------------------------------------------------------------------------
0011
0012 find_package(ROOT 6.0.00 REQUIRED COMPONENTS RIO Hist Tree)
0013 include(${ROOT_USE_FILE})
0014
0015 #----------------------------------------------------------------------------
0016
0017 find_package(Geant4 REQUIRED ui_all vis_all)
0018 include(${Geant4_USE_FILE})
0019
0020 #----------------------------------------------------------------------------
0021
0022 include(CheckCXXCompilerFlag)
0023
0024 SET(CMAKE_CXX_FLAGS "-Wall -std=c++0x -Wno-misleading-indentation")
0025
0026 check_cxx_compiler_flag(-std=c++17 HAVE_FLAG_STD_CXX17)
0027 if(HAVE_FLAG_STD_CXX17)
0028 # Have -std=c++17, use it;
0029 SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
0030 else()
0031 check_cxx_compiler_flag(-std=c++11 HAVE_FLAG_STD_CXX11)
0032 if(HAVE_FLAG_STD_CXX11)
0033 # Have -std=c++11, use it;
0034 SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
0035 endif()
0036 endif()
0037
0038 #----------------------------------------------------------------------------
0039
0040 include_directories(
0041 ${Geant4_INCLUDE_DIR}
0042 ${ROOT_INCLUDE_DIRS}
0043
0044 ${IRT}/include
0045 ${BMF}/include
0046 ${HEPMC3}/include
0047 ${XERCES}/include
0048
0049 ${PROJECT_SOURCE_DIR}/include
0050 ${PROJECT_SOURCE_DIR}/g4irt/include
0051
0052 ${PROJECT_SOURCE_DIR}/share/include
0053 ${PROJECT_SOURCE_DIR}/epic/include
0054 #${PROJECT_SOURCE_DIR}/ftbf/include
0055 ${PROJECT_SOURCE_DIR}/cern/include
0056 #${PROJECT_SOURCE_DIR}/tstand/include
0057 #${PROJECT_SOURCE_DIR}/simple/include
0058 )
0059
0060 file(GLOB SHARE_HEADERS ${PROJECT_SOURCE_DIR}/share/include/*.h)
0061 #file(GLOB EPIC_HEADERS ${PROJECT_SOURCE_DIR}/epic/include/*.h)
0062 #file(GLOB FTBF_HEADERS ${PROJECT_SOURCE_DIR}/ftbf/include/*.h)
0063 file(GLOB CERN_HEADERS ${PROJECT_SOURCE_DIR}/cern/include/*.h)
0064 #file(GLOB TSTAND_HEADERS ${PROJECT_SOURCE_DIR}/tstand/include/*.h)
0065 #file(GLOB SIMPLE_HEADERS ${PROJECT_SOURCE_DIR}/simple/include/*.h)
0066
0067 SET(G4IRT_LIB g4irt)
0068 SET(SHARE_LIB pfrich-share)
0069 #SET(EPIC_EXE pfrich-epic)
0070 #SET(FTBF_EXE pfrich-ftbf)
0071 SET(CERN_EXE pfrich-cern-geant)
0072 #SET(SIMPLE_EXE pfrich-simple)
0073 #SET(TSTAND_EXE pfrich-tstand)
0074
0075 SET( G4IRT_SOURCES
0076 ${PROJECT_SOURCE_DIR}/g4irt/source/G4Object.cc
0077 ${PROJECT_SOURCE_DIR}/g4irt/source/G4RadiatorMaterial.cc
0078 ${PROJECT_SOURCE_DIR}/g4irt/source/CherenkovMirror.cc
0079 ${PROJECT_SOURCE_DIR}/g4irt/source/CherenkovSteppingAction.cc
0080 ${PROJECT_SOURCE_DIR}/g4irt/source/CherenkovStackingAction.cc
0081 )
0082
0083 SET( SHARE_SOURCES
0084 ${PROJECT_SOURCE_DIR}/pfRICH.cc
0085
0086 ${PROJECT_SOURCE_DIR}/share/source/TofPetMultiColumn.cc
0087
0088 ${PROJECT_SOURCE_DIR}/share/source/Materials.cc
0089 ${PROJECT_SOURCE_DIR}/share/source/RunAction.cc
0090 ${PROJECT_SOURCE_DIR}/share/source/AsphericLens.cc
0091
0092 ${PROJECT_SOURCE_DIR}/share/source/HRPPD.cc
0093 ${PROJECT_SOURCE_DIR}/share/source/DetectorConstruction.cc
0094 )
0095
0096 #SET( EPIC_SOURCES
0097 # ${PROJECT_SOURCE_DIR}/epic/source/Vessel.cc
0098 # ${PROJECT_SOURCE_DIR}/epic/source/Aerogel.cc
0099 # ${PROJECT_SOURCE_DIR}/epic/source/Acrylic.cc
0100 # ${PROJECT_SOURCE_DIR}/epic/source/Mirrors.cc
0101 # ${PROJECT_SOURCE_DIR}/epic/source/MagneticField.cc
0102
0103 # ${PROJECT_SOURCE_DIR}/epic/source/EpicSetup.cc
0104 # ${PROJECT_SOURCE_DIR}/epic/source/EpicDetectorConstruction.cc
0105 # ${PROJECT_SOURCE_DIR}/epic/source/EpicPrimaryGeneratorAction.cc
0106 #)
0107
0108 SET( FTBF_SOURCES
0109 #-${PROJECT_SOURCE_DIR}/share/source/AsphericLens.cc
0110
0111 #${PROJECT_SOURCE_DIR}/ftbf/source/FTBFSetup.cc
0112 #${PROJECT_SOURCE_DIR}/ftbf/source/FTBFDetectorConstruction.cc
0113 #${PROJECT_SOURCE_DIR}/ftbf/source/FTBFPrimaryGeneratorAction.cc
0114 )
0115
0116 SET( CERN_SOURCES
0117 #-${PROJECT_SOURCE_DIR}/share/source/AsphericLens.cc
0118
0119 ${PROJECT_SOURCE_DIR}/cern/source/CERNSetup.cc
0120 ${PROJECT_SOURCE_DIR}/cern/source/CERNDetectorConstruction.cc
0121 ${PROJECT_SOURCE_DIR}/cern/source/CERNPrimaryGeneratorAction.cc
0122 )
0123
0124 #SET( SIMPLE_SOURCES
0125 # ${PROJECT_SOURCE_DIR}/simple/source/SimpleSetup.cc
0126 # ${PROJECT_SOURCE_DIR}/simple/source/SimpleDetectorConstruction.cc
0127 # ${PROJECT_SOURCE_DIR}/simple/source/SimplePrimaryGeneratorAction.cc
0128 #)
0129
0130 #SET( TSTAND_SOURCES
0131 #-${PROJECT_SOURCE_DIR}/share/source/AsphericLens.cc
0132 # FIXME: unify, please;
0133 #-${PROJECT_SOURCE_DIR}/tstand/source/TestStandAsphericLens.cc
0134
0135 # ${PROJECT_SOURCE_DIR}/tstand/source/TestStandSetup.cc
0136 #-${PROJECT_SOURCE_DIR}/tstand/source/TestStandPhotonDetectors.cc
0137 # ${PROJECT_SOURCE_DIR}/tstand/source/TestStandDetectorConstruction.cc
0138 # ${PROJECT_SOURCE_DIR}/tstand/source/TestStandPrimaryGeneratorAction.cc
0139 #)
0140
0141 ADD_LIBRARY( ${G4IRT_LIB} SHARED ${G4IRT_SOURCES} )
0142 TARGET_LINK_LIBRARIES(${G4IRT_LIB} ${ROOT_LIBRARIES} ${Geant4_LIBRARIES} -L${IRT}/lib IRT2)
0143
0144 ADD_LIBRARY( ${SHARE_LIB} SHARED ${SHARE_SOURCES} )
0145 TARGET_LINK_LIBRARIES(${SHARE_LIB} ${Geant4_LIBRARIES} ${G4IRT_LIB})
0146
0147 #----------------------------------------------------------------------------
0148
0149 #add_executable(${EPIC_EXE} ${EPIC_SOURCES} ${SHARE_HEADERS} ${EPIC_HEADERS})
0150 #target_link_libraries(${EPIC_EXE} ${Geant4_LIBRARIES} ${ROOT_LIBRARIES} ${G4IRT_LIB} ${SHARE_LIB})
0151 #add_executable(${FTBF_EXE} ${FTBF_SOURCES} ${SHARE_HEADERS} ${FTBF_HEADERS})
0152 #target_link_libraries(${FTBF_EXE} ${Geant4_LIBRARIES} ${ROOT_LIBRARIES} ${G4IRT_LIB} ${SHARE_LIB})
0153 add_executable(${CERN_EXE} ${CERN_SOURCES} ${SHARE_HEADERS} ${CERN_HEADERS})
0154 target_link_libraries(${CERN_EXE} ${Geant4_LIBRARIES} ${ROOT_LIBRARIES} ${G4IRT_LIB} ${SHARE_LIB})
0155 #add_executable(${SIMPLE_EXE} ${SIMPLE_SOURCES} ${SHARE_HEADERS} ${SIMPLE_HEADERS})
0156 #target_link_libraries(${SIMPLE_EXE} ${Geant4_LIBRARIES} ${ROOT_LIBRARIES} ${G4IRT_LIB} ${SHARE_LIB})
0157 #add_executable(${TSTAND_EXE} ${TSTAND_SOURCES} ${SHARE_HEADERS} ${TSTAND_HEADERS})
0158 #target_link_libraries(${TSTAND_EXE} ${Geant4_LIBRARIES} ${ROOT_LIBRARIES} ${G4IRT_LIB} ${SHARE_LIB})
0159
0160 #if(DEFINED BMF)
0161 # SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DBMF")
0162 # target_link_libraries(${EPIC_EXE} -L${BMF}/lib bmf)
0163 #endif()
0164 #if(DEFINED HEPMC3)
0165 # SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DHEPMC3")
0166 # target_link_libraries(${EPIC_EXE} -L${HEPMC3}/lib -L${HEPMC3}/lib64 HepMC3)
0167 #endif()
0168 if(DEFINED XERCES)
0169 SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DXERCES")
0170 #target_link_libraries(${EPIC_EXE} -L${XERCES}/lib -L${XERCES}/lib64 xerces-c)
0171 #target_link_libraries(${FTBF_EXE} -L${XERCES}/lib -L${XERCES}/lib64 xerces-c)
0172 target_link_libraries(${CERN_EXE} -L${XERCES}/lib -L${XERCES}/lib64 xerces-c)
0173 #target_link_libraries(${SIMPLE_EXE} -L${XERCES}/lib -L${XERCES}/lib64 xerces-c)
0174 # FIXME: this stuff is only needed for aerogel;
0175 #target_link_libraries(${TSTAND_EXE} -L${XERCES}/lib -L${XERCES}/lib64 xerces-c)
0176 endif()
0177
0178 #----------------------------------------------------------------------------
0179
0180 #install(TARGETS ${EPIC_EXE} DESTINATION bin)
0181 #install(TARGETS ${FTBF_EXE} DESTINATION bin)
0182 install(TARGETS ${CERN_EXE} DESTINATION bin)
0183 #install(TARGETS ${SIMPLE_EXE} DESTINATION bin)
0184 #install(TARGETS ${TSTAND_EXE} DESTINATION bin)
0185 install(TARGETS ${G4IRT_LIB} DESTINATION lib)
0186 install(TARGETS ${SHARE_LIB} DESTINATION lib)
0187