mirror of https://github.com/milvus-io/milvus.git
add yamlcpp cache
Former-commit-id: 7f42eaac59377be0b36b00bbcfead3d4c7810ebbpull/191/head
parent
8a01674e4c
commit
19fd38f467
|
@ -1877,6 +1877,7 @@ macro(build_yamlcpp)
|
|||
message(STATUS "Building yaml-cpp-${YAMLCPP_VERSION} from source")
|
||||
set(YAMLCPP_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/yaml-cpp_ep-prefix/src/yaml-cpp_ep")
|
||||
set(YAMLCPP_STATIC_LIB "${YAMLCPP_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}yaml-cpp${CMAKE_STATIC_LIBRARY_SUFFIX}")
|
||||
set(YAMLCPP_INCLUDE_DIR "${YAMLCPP_PREFIX}/include")
|
||||
set(YAMLCPP_CMAKE_ARGS
|
||||
${EP_COMMON_CMAKE_ARGS}
|
||||
"-DCMAKE_INSTALL_PREFIX=${YAMLCPP_PREFIX}"
|
||||
|
@ -1884,24 +1885,53 @@ macro(build_yamlcpp)
|
|||
-DYAML_CPP_BUILD_TESTS=OFF
|
||||
-DYAML_CPP_BUILD_TOOLS=OFF)
|
||||
|
||||
externalproject_add(yaml-cpp_ep
|
||||
URL
|
||||
${YAMLCPP_SOURCE_URL}
|
||||
${EP_LOG_OPTIONS}
|
||||
BUILD_COMMAND
|
||||
${MAKE}
|
||||
${MAKE_BUILD_ARGS}
|
||||
BUILD_BYPRODUCTS
|
||||
"${YAMLCPP_STATIC_LIB}"
|
||||
CMAKE_ARGS
|
||||
${YAMLCPP_CMAKE_ARGS})
|
||||
if(USE_JFROG_CACHE STREQUAL "ON")
|
||||
set(YAMLCPP_CACHE_PACKAGE_NAME "yaml-cpp_${YAMLCPP_MD5}.tar.gz")
|
||||
set(YAMLCPP_CACHE_URL "${JFROG_ARTFACTORY_CACHE_URL}/${YAMLCPP_CACHE_PACKAGE_NAME}")
|
||||
set(YAMLCPP_CACHE_PACKAGE_PATH "${THIRDPARTY_PACKAGE_CACHE}/${YAMLCPP_CACHE_PACKAGE_NAME}")
|
||||
|
||||
file(MAKE_DIRECTORY "${YAMLCPP_PREFIX}/include")
|
||||
file(DOWNLOAD ${YAMLCPP_CACHE_URL} ${YAMLCPP_CACHE_PACKAGE_PATH} STATUS status)
|
||||
list(GET status 0 status_code)
|
||||
message(STATUS "DOWNLOADING FROM ${YAMLCPP_CACHE_URL} TO ${YAMLCPP_CACHE_PACKAGE_PATH}. STATUS = ${status_code}")
|
||||
if (NOT status_code EQUAL 0)
|
||||
externalproject_add(yaml-cpp_ep
|
||||
URL
|
||||
${YAMLCPP_SOURCE_URL}
|
||||
${EP_LOG_OPTIONS}
|
||||
BUILD_COMMAND
|
||||
${MAKE}
|
||||
${MAKE_BUILD_ARGS}
|
||||
BUILD_BYPRODUCTS
|
||||
"${YAMLCPP_STATIC_LIB}"
|
||||
CMAKE_ARGS
|
||||
${YAMLCPP_CMAKE_ARGS})
|
||||
|
||||
ExternalProject_Create_Cache(yaml-cpp_ep ${YAMLCPP_CACHE_PACKAGE_PATH} "${CMAKE_CURRENT_BINARY_DIR}/yaml-cpp_ep-prefix" ${JFROG_USER_NAME} ${JFROG_PASSWORD} ${YAMLCPP_CACHE_URL})
|
||||
|
||||
file(MAKE_DIRECTORY "${YAMLCPP_INCLUDE_DIR}")
|
||||
else()
|
||||
ExternalProject_Use_Cache(yaml-cpp_ep ${YAMLCPP_CACHE_PACKAGE_PATH} ${CMAKE_CURRENT_BINARY_DIR})
|
||||
endif()
|
||||
else()
|
||||
externalproject_add(yaml-cpp_ep
|
||||
URL
|
||||
${YAMLCPP_SOURCE_URL}
|
||||
${EP_LOG_OPTIONS}
|
||||
BUILD_COMMAND
|
||||
${MAKE}
|
||||
${MAKE_BUILD_ARGS}
|
||||
BUILD_BYPRODUCTS
|
||||
"${YAMLCPP_STATIC_LIB}"
|
||||
CMAKE_ARGS
|
||||
${YAMLCPP_CMAKE_ARGS})
|
||||
|
||||
file(MAKE_DIRECTORY "${YAMLCPP_INCLUDE_DIR}")
|
||||
endif()
|
||||
|
||||
add_library(yaml-cpp STATIC IMPORTED)
|
||||
set_target_properties(yaml-cpp
|
||||
PROPERTIES IMPORTED_LOCATION "${YAMLCPP_STATIC_LIB}"
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${YAMLCPP_PREFIX}/include")
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${YAMLCPP_INCLUDE_DIR}")
|
||||
|
||||
add_dependencies(yaml-cpp yaml-cpp_ep)
|
||||
endmacro()
|
||||
|
|
Loading…
Reference in New Issue