-
Add patch needed to for NicaFemto which adds missing library dependencies. Add missing link directory and library dependency for fles logging library. Use Vc from FairSoft if available Only build the internal Vc version if none is found in FairSoft installation. This solves the problem with failing macros due to incosistent versions of Vc library and header files.
Add patch needed to for NicaFemto which adds missing library dependencies. Add missing link directory and library dependency for fles logging library. Use Vc from FairSoft if available Only build the internal Vc version if none is found in FairSoft installation. This solves the problem with failing macros due to incosistent versions of Vc library and header files.
InstallKFParticle.cmake 2.99 KiB
set(KFPARTICLE_LIBNAME "${CMAKE_SHARED_LIBRARY_PREFIX}KFParticle${CMAKE_SHARED_LIBRARY_SUFFIX}")
set(KFPARTICLE_SRC_URL "https://github.com/cbmsw/KFParticle.git")
set(KFPARTICLE_DESTDIR "${CMAKE_BINARY_DIR}/external/KFPARTICLE-prefix")
# GIT_TAG is a hash for KFParticle tag cbm/v1.1-1
download_project_if_needed(PROJECT kfparticle_source
GIT_REPOSITORY ${KFPARTICLE_SRC_URL}
GIT_TAG "1eddb796b01d91ac7faf020e3b616556c28da4d0"
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/KFParticle
TEST_FILE CMakeLists.txt
)
If(ProjectUpdated)
File(REMOVE_RECURSE ${CMAKE_BINARY_DIR}/external/KFPARTICLE-prefix)
Message("KFParticle source directory was changed so build directory was deleted")
EndIf()
ExternalProject_Add(KFPARTICLE
DEPENDS ${KF_DEPENDS_ON}
BUILD_IN_SOURCE 0
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/KFParticle
BUILD_BYPRODUCTS ${KFPARTICLE_LIBRARY}
LOG_DOWNLOAD 1 LOG_CONFIGURE 1 LOG_BUILD 1 LOG_INSTALL 1
CMAKE_ARGS -G ${CMAKE_GENERATOR}
-DCMAKE_BUILD_TYPE=RELWITHDEBINFO
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
-DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
-DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}
-DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}
-DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}
-DVc_INCLUDE_DIR=${Vc_INCLUDE_DIR}
-DVc_LIBRARIES=${Vc_LIBRARY}
-DFIXTARGET=TRUE
-DROOTSYS=${SIMPATH}
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON
INSTALL_COMMAND ${CMAKE_COMMAND} --build . --target install
)
add_library(KFParticle SHARED IMPORTED)
set_target_properties(KFParticle PROPERTIES IMPORTED_LOCATION ${CMAKE_BINARY_DIR}/lib)
add_dependencies(KFParticle KFPARTICLE)
set(KFParticle_LIB_DIR ${CMAKE_BINARY_DIR}/lib PARENT_SCOPE)
set(KFParticle_LIBRARIES KFParticle PARENT_SCOPE)
set(KFParticle_INCLUDE_DIR "${CMAKE_BINARY_DIR}/include" PARENT_SCOPE)
set(KFParticle_FOUND TRUE PARENT_SCOPE)
Install(FILES ${CMAKE_BINARY_DIR}/lib/${KFPARTICLE_LIBNAME}
${CMAKE_BINARY_DIR}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}KFParticle.rootmap
${CMAKE_BINARY_DIR}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}KFParticle_rdict.pcm
DESTINATION lib
)
Install(FILES ${CMAKE_BINARY_DIR}/include/KFParticleBase.h
${CMAKE_BINARY_DIR}/include/KFParticle.h
${CMAKE_BINARY_DIR}/include/KFVertex.h
DESTINATION include/KFParticle
)
Install(FILES ${CMAKE_BINARY_DIR}/include/KFMCParticle.h
${CMAKE_BINARY_DIR}/include/KFPartEfficiencies.h
DESTINATION include/KFParticlePerformance
)
Install(FILES ${CMAKE_BINARY_DIR}/include/KFParticleTest.h
DESTINATION include/KFParticleTest
)
Install(FILES ${CMAKE_BINARY_DIR}/include/KFPVertex.h
${CMAKE_BINARY_DIR}/include/KFMCCounter.h
DESTINATION include
)