Newer
Older
set(ANALYSISTREE_VERSION 8f1ef1ef7bc10cf185c794e96591fa7e6ab74d50) #v2.3.4
Viktor
committed
set(ANALYSISTREE_SRC_URL "https://github.com/HeavyIonAnalysis/AnalysisTree.git")
set(ANALYSISTREE_DESTDIR "${CMAKE_BINARY_DIR}/external/ANALYSISTREE-prefix")
list(APPEND ANALYSISTREE_LIBNAME "AnalysisTreeBase" "AnalysisTreeInfra")
download_project_if_needed(PROJECT AnalysisTree_source
GIT_REPOSITORY ${ANALYSISTREE_SRC_URL}
GIT_TAG ${ANALYSISTREE_VERSION}
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/AnalysisTree
TEST_FILE CMakeLists.txt
PATCH_COMMAND "patch -p1 < ${CMAKE_CURRENT_SOURCE_DIR}/AnalysisTree.patch"
Viktor
committed
)
If(ProjectUpdated)
File(REMOVE_RECURSE ${ANALYSISTREE_DESTDIR})
Message("AnalysisTree source directory was changed so build directory was deleted")
EndIf()
ExternalProject_Add(ANALYSISTREE
BUILD_IN_SOURCE 0
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/AnalysisTree
BUILD_BYPRODUCTS ${ANALYSISTREE_LIBRARY}
LOG_DOWNLOAD 1 LOG_CONFIGURE 1 LOG_BUILD 1 LOG_INSTALL 1
CMAKE_ARGS -G ${CMAKE_GENERATOR}
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-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_INSTALL_PREFIX=${CMAKE_BINARY_DIR}
-DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}
-DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH}
Viktor
committed
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON
INSTALL_COMMAND ${CMAKE_COMMAND} --build . --target install
)
add_library(AnalysisTreeBase SHARED IMPORTED GLOBAL)
set_target_properties(AnalysisTreeBase PROPERTIES
IMPORTED_LOCATION ${CMAKE_BINARY_DIR}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}AnalysisTreeBase${CMAKE_SHARED_LIBRARY_SUFFIX}
INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_BINARY_DIR}/include)
add_dependencies(AnalysisTreeBase ANALYSISTREE)
Viktor
committed
add_library(AnalysisTreeInfra SHARED IMPORTED GLOBAL)
set_target_properties(AnalysisTreeInfra PROPERTIES
IMPORTED_LOCATION ${CMAKE_BINARY_DIR}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}AnalysisTreeInfra${CMAKE_SHARED_LIBRARY_SUFFIX}
INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_BINARY_DIR}/include)
add_dependencies(AnalysisTreeInfra ANALYSISTREE)
Viktor
committed
foreach(LIB_NAME ${ANALYSISTREE_LIBNAME})
Install( FILES
${CMAKE_BINARY_DIR}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}${LIB_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX}
${CMAKE_BINARY_DIR}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}${LIB_NAME}_rdict.pcm
${CMAKE_BINARY_DIR}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}${LIB_NAME}.rootmap
Viktor
committed
DESTINATION lib)
endforeach(LIB_NAME)
Install(DIRECTORY ${CMAKE_BINARY_DIR}/include/AnalysisTree