Back to home page

EIC code displayed by LXR

 
 

    


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