Newer
Older
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 Vc
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}
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
-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
)