# Create a library called "libKF" which includes the source files given in # the array . # The extension is already found. Any number of sources could be listed here. set(INCLUDE_DIRECTORIES ${INCLUDE_DIRECTORIES} ${CBMROOT_SOURCE_DIR}/geobase ${CBMROOT_SOURCE_DIR}/parbase ${CBMROOT_SOURCE_DIR}/base ${CBMROOT_SOURCE_DIR}/cbmbase ${CBMROOT_SOURCE_DIR}/field ${CBMROOT_SOURCE_DIR}/cbmdata ${CBMROOT_SOURCE_DIR}/cbmdata/sts ${CBMROOT_SOURCE_DIR}/cbmdata/mvd ${CBMROOT_SOURCE_DIR}/cbmdata/trd ${CBMROOT_SOURCE_DIR}/cbmdata/rich ${CBMROOT_SOURCE_DIR}/cbmdata/tof ${CBMROOT_SOURCE_DIR}/cbmdata/ecal ${CBMROOT_SOURCE_DIR}/cbmdata/global ${CBMROOT_SOURCE_DIR}/KF ${CBMROOT_SOURCE_DIR}/KF/Interface ${CBMROOT_SOURCE_DIR}/KF/KFParticlesFinder ${CBMROOT_SOURCE_DIR}/KF/KFQA ${CBMROOT_SOURCE_DIR}/passive ${CBMROOT_SOURCE_DIR}/mvd ${CBMROOT_SOURCE_DIR}/sts ${CBMROOT_SOURCE_DIR}/rich ${CBMROOT_SOURCE_DIR}/much ${CBMROOT_SOURCE_DIR}/much/geo ${CBMROOT_SOURCE_DIR}/trd ${CBMROOT_SOURCE_DIR}/tof ${CBMROOT_SOURCE_DIR}/ecal ${CBMROOT_SOURCE_DIR}/stt ${CBMROOT_SOURCE_DIR}/L1 ${CBMROOT_SOURCE_DIR}/L1/L1Algo ${CBMROOT_SOURCE_DIR}/L1/ParticleFinder ) include_directories( ${INCLUDE_DIRECTORIES}) set(LINK_DIRECTORIES ${ROOT_LIBRARY_DIR} ) link_directories( ${LINK_DIRECTORIES}) set(KF_SRCS CbmKF.cxx CbmKFFieldMath.cxx CbmKFHit.cxx CbmKFMaterial.cxx CbmKFMath.cxx CbmKFPixelMeasurement.cxx CbmKFPrimaryVertexFinder.cxx CbmKFSecondaryVertexFinder.cxx CbmKFTrackInterface.cxx CbmKFUMeasurement.cxx CbmKFVertexInterface.cxx Interface/CbmEcalTrackExtrapolationKF.cxx Interface/CbmKFStsHit.cxx Interface/CbmKFTrack.cxx Interface/CbmKFTrdHit.cxx Interface/CbmPVFinderKF.cxx Interface/CbmStsFitPerformanceTask.cxx Interface/CbmStsKFTrackFitter.cxx Interface/CbmStsKFSecondaryVertexFinder.cxx Interface/CbmTrdTrackFitterKF.cxx Interface/CbmGlobalTrackFitterKF.cxx CbmKFParticle.cxx CbmKFParticle_simd.cxx CbmKFParticleInterface.cxx KFParticlesFinder/CbmKFParticlesFinder.cxx KFParticlesFinder/CbmKFParticleDatabase.cxx KFQA/CbmKFTrErrMCPoints.cxx KFQA/CbmKFTrackFitQA.cxx KFQA/CbmKFParticlesFinderQA.cxx ) if(RULE_CHECKER_FOUND) CHECK_RULES("${KF_SRCS}" "${INCLUDE_DIRECTORIES}" KF_RULES) endif(RULE_CHECKER_FOUND) # fill list of header files from list of source files # by exchanging the file extension #CHANGE_FILE_EXTENSION(*.cxx *.h KF_HEADERS "${KF_SRCS}") set(KF_HEADERS CbmKF.h CbmKFFieldMath.h CbmKFHit.h CbmKFMaterial.h CbmKFMath.h CbmKFPixelMeasurement.h CbmKFPrimaryVertexFinder.h CbmKFSecondaryVertexFinder.h CbmKFTrackInterface.h CbmKFUMeasurement.h CbmKFVertexInterface.h Interface/CbmEcalTrackExtrapolationKF.h Interface/CbmKFStsHit.h Interface/CbmKFTrack.h Interface/CbmKFTrdHit.h Interface/CbmPVFinderKF.h Interface/CbmStsFitPerformanceTask.h Interface/CbmStsKFTrackFitter.h Interface/CbmStsKFSecondaryVertexFinder.h Interface/CbmTrdTrackFitterKF.h Interface/CbmGlobalTrackFitterKF.h CbmKFParticle.h KFParticlesFinder/CbmKFParticlesFinder.h KFParticlesFinder/CbmKFParticleDatabase.h KFQA/CbmKFTrErrMCPoints.h KFQA/CbmKFTrackFitQA.h KFQA/CbmKFParticlesFinderQA.h KFQA/CbmKFPartEfficiencies.h ) ADD_DEFINITIONS(-Wall -Wabi -Wsign-promo -Wno-pmf-conversions -Wctor-dtor-privacy -Wreorder -Wno-deprecated -Wstrict-null-sentinel -Wno-non-template-friend ) # -Weffc++ -Wnon-virtual-dtor -Woverloaded-virtual -Wold-style-cast : wait for other parts of cbmroot\root. IF (SSE_FOUND) Message(STATUS "KF will be compiled with SSE support") ADD_DEFINITIONS(-DHAVE_SSE) SET_SOURCE_FILES_PROPERTIES(${KF_SRCS} PROPERTIES COMPILE_FLAGS "-msse -O3") ELSE (SSE_FOUND) MESSAGE(STATUS "KF will be compiled without SSE support") SET_SOURCE_FILES_PROPERTIES(${KF_SRCS} PROPERTIES COMPILE_FLAGS "-O3") ENDIF (SSE_FOUND) set(KF_LINKDEF KFLinkDef.h) set(KF_DICTIONARY ${CMAKE_CURRENT_BINARY_DIR}/KFDict.cxx) ROOT_GENERATE_DICTIONARY("${KF_HEADERS}" "${KF_LINKDEF}" "${KF_DICTIONARY}" "${INCLUDE_DIRECTORIES}") set(KF_SRCS ${KF_SRCS} ${KF_DICTIONARY}) add_library(KF SHARED ${KF_SRCS}) target_link_libraries(KF ${ROOT_LIBRARIES}) set_target_properties(KF PROPERTIES ${FAIRROOT_LIBRARY_PROPERTIES}) ################ install ################### install(TARGETS KF DESTINATION ${CMAKE_BINARY_DIR}/lib)