Dear experts,
I am trying to make KFParticle works in O2. It has been installed during O2 installation, but is not properly configured. Sorry that i am not familiar with the new CMake system in O2. I have tried the following steps, But unfortunately it does not work.
(1) Add “find_package(KFParticle)” in “O2/dependencies/O2Dependencies.cmake”.
(2) Create “FindKFParticle.cmake” in the same folder “O2/dependencies/”. In this cmake file, I add the following lines:
"find_package(KFParticle NO_MODULE)
if(NOT KFParticle_FOUND)
return()
endif()
add_library(KFParticle IMPORTED INTERFACE)
set_target_properties(KFParticle
PROPERTIES
INTERFACE_LINK_LIBRARIES “${KFPARTICLE_LIBRARIES}”
INTERFACE_INCLUDE_DIRECTORIES “${KFPARTICLE_INCLUDE_DIR}”)
Promote the imported target to global visibility (so we can alias it)
set_target_properties(KFParticle PROPERTIES IMPORTED_GLOBAL TRUE)
add_library(KFParticle::KFParticle ALIAS KFParticle)".
(3) In “O2/Analysis/Tasks/PWGHF/CMakeLists.txt”, i add the following lines:
o2_add_dpl_workflow(hf-candidate-creator-3prong-kf
SOURCES HFCandidateCreator3ProngKF.cxx
PUBLIC_LINK_LIBRARIES O2::Framework O2::AnalysisDataModel O2::AnalysisCore O2::DetectorsVertexing ROOT::EG KFParticle::KFParticle
COMPONENT_NAME Analysis)
When trying to find KFParticle package, it returns "-- Could NOT find KFParticle (missing: KFParticle_DIR)”.
When compiling my task, it returns
“CMake Error at cmake/O2AddExecutable.cmake:94 (add_executable):
Target “O2exe-analysis-hf-candidate-creator-3prong-kf” links to target
“KFParticle::KFParticle” but the target was not found. Perhaps a
find_package() call is missing for an IMPORTED target, or an ALIAS target
is missing?
Call Stack (most recent call first):
cmake/O2AddWorkflow.cmake:37 (o2_add_executable)
Analysis/Tasks/PWGHF/CMakeLists.txt:46 (o2_add_dpl_workflow)”
Can anyone help me to fix it?