From 53e59a231b83db4acf2502e6e21218bd73922132 Mon Sep 17 00:00:00 2001 From: quicksilver Date: Thu, 1 Aug 2019 21:53:12 +0800 Subject: [PATCH 1/2] add lz4 cache Former-commit-id: e1744edbe7fb3a73298aa056cf85892d584883ff --- cpp/cmake/ThirdPartyPackages.cmake | 81 ++++++++++++++++++++++-------- 1 file changed, 60 insertions(+), 21 deletions(-) diff --git a/cpp/cmake/ThirdPartyPackages.cmake b/cpp/cmake/ThirdPartyPackages.cmake index 43fe20b8bc..fcc037d0ec 100644 --- a/cpp/cmake/ThirdPartyPackages.cmake +++ b/cpp/cmake/ThirdPartyPackages.cmake @@ -1294,28 +1294,67 @@ macro(build_lz4) set(LZ4_BUILD_COMMAND BUILD_COMMAND ${MAKE} ${MAKE_BUILD_ARGS} CFLAGS=${EP_C_FLAGS}) # We need to copy the header in lib to directory outside of the build - externalproject_add(lz4_ep - URL - ${LZ4_SOURCE_URL} - ${EP_LOG_OPTIONS} - UPDATE_COMMAND - ${CMAKE_COMMAND} - -E - copy_directory - "${LZ4_BUILD_DIR}/lib" - "${LZ4_PREFIX}/include" - ${LZ4_PATCH_COMMAND} - CONFIGURE_COMMAND - "" - INSTALL_COMMAND - "" - BINARY_DIR - ${LZ4_BUILD_DIR} - BUILD_BYPRODUCTS - ${LZ4_STATIC_LIB} - ${LZ4_BUILD_COMMAND}) + if(USE_JFROG_CACHE STREQUAL "ON") + set(LZ4_CACHE_PACKAGE_NAME "lz4_${LZ4_MD5}.tar.gz") + set(LZ4_CACHE_URL "${JFROG_ARTFACTORY_CACHE_URL}/${LZ4_CACHE_PACKAGE_NAME}") + set(LZ4_CACHE_PACKAGE_PATH "${THIRDPARTY_PACKAGE_CACHE}/${LZ4_CACHE_PACKAGE_NAME}") + + file(DOWNLOAD ${LZ4_CACHE_URL} ${LZ4_CACHE_PACKAGE_PATH} STATUS status) + list(GET status 0 status_code) + message(STATUS "DOWNLOADING FROM ${LZ4_CACHE_URL} TO ${LZ4_CACHE_PACKAGE_PATH}. STATUS = ${status_code}") + if (NOT status_code EQUAL 0) + externalproject_add(lz4_ep + URL + ${LZ4_SOURCE_URL} + ${EP_LOG_OPTIONS} + UPDATE_COMMAND + ${CMAKE_COMMAND} + -E + copy_directory + "${LZ4_BUILD_DIR}/lib" + "${LZ4_PREFIX}/include" + ${LZ4_PATCH_COMMAND} + CONFIGURE_COMMAND + "" + INSTALL_COMMAND + "" + BINARY_DIR + ${LZ4_BUILD_DIR} + BUILD_BYPRODUCTS + ${LZ4_STATIC_LIB} + ${LZ4_BUILD_COMMAND}) + + ExternalProject_Create_Cache(lz4_ep ${LZ4_CACHE_PACKAGE_PATH} "${CMAKE_CURRENT_BINARY_DIR}/lz4_ep-prefix" ${JFROG_USER_NAME} ${JFROG_PASSWORD} ${LZ4_CACHE_URL}) + + file(MAKE_DIRECTORY "${LZ4_PREFIX}/include") + else() + ExternalProject_Use_Cache(lz4_ep ${LZ4_CACHE_PACKAGE_PATH} ${CMAKE_CURRENT_BINARY_DIR}) + endif() + else() + externalproject_add(lz4_ep + URL + ${LZ4_SOURCE_URL} + ${EP_LOG_OPTIONS} + UPDATE_COMMAND + ${CMAKE_COMMAND} + -E + copy_directory + "${LZ4_BUILD_DIR}/lib" + "${LZ4_PREFIX}/include" + ${LZ4_PATCH_COMMAND} + CONFIGURE_COMMAND + "" + INSTALL_COMMAND + "" + BINARY_DIR + ${LZ4_BUILD_DIR} + BUILD_BYPRODUCTS + ${LZ4_STATIC_LIB} + ${LZ4_BUILD_COMMAND}) + + file(MAKE_DIRECTORY "${LZ4_PREFIX}/include") + endif() - file(MAKE_DIRECTORY "${LZ4_PREFIX}/include") add_library(lz4 STATIC IMPORTED) set_target_properties(lz4 PROPERTIES IMPORTED_LOCATION "${LZ4_STATIC_LIB}" From 945f5cdc2f8d20ccb7b19a5f1a10686200eaeecf Mon Sep 17 00:00:00 2001 From: quicksilver Date: Thu, 1 Aug 2019 22:31:30 +0800 Subject: [PATCH 2/2] MS-306 - Optimize build efficiency Former-commit-id: a86e15afb113af0aed667a8a99bb164fa8bc00a0 --- cpp/CHANGELOG.md | 1 + cpp/cmake/ThirdPartyPackages.cmake | 58 ++++++++---------------------- 2 files changed, 15 insertions(+), 44 deletions(-) diff --git a/cpp/CHANGELOG.md b/cpp/CHANGELOG.md index 2dacba985b..635c213fb0 100644 --- a/cpp/CHANGELOG.md +++ b/cpp/CHANGELOG.md @@ -60,6 +60,7 @@ Please mark all change in change log and use the ticket from JIRA. ## Task - MS-125 - Create 0.3.1 release branch +- MS-306 - Optimize build efficiency # Milvus 0.3.0 (2019-06-30) diff --git a/cpp/cmake/ThirdPartyPackages.cmake b/cpp/cmake/ThirdPartyPackages.cmake index fcc037d0ec..696bd26733 100644 --- a/cpp/cmake/ThirdPartyPackages.cmake +++ b/cpp/cmake/ThirdPartyPackages.cmake @@ -584,51 +584,21 @@ if(MILVUS_BOOST_VENDORED) set(MILVUS_BOOST_LIBS ${BOOST_SYSTEM_LIBRARY} ${BOOST_FILESYSTEM_LIBRARY} ${BOOST_STATIC_SERIALIZATION_LIBRARY}) endif() + externalproject_add(boost_ep + URL + ${BOOST_SOURCE_URL} + BUILD_BYPRODUCTS + ${BOOST_BUILD_PRODUCTS} + BUILD_IN_SOURCE + 1 + CONFIGURE_COMMAND + ${BOOST_CONFIGURE_COMMAND} + BUILD_COMMAND + ${BOOST_BUILD_COMMAND} + INSTALL_COMMAND + "" + ${EP_LOG_OPTIONS}) - set(BOOST_CACHE_PACKAGE_NAME "boost_${BOOST_MD5}.tar.gz") - set(BOOST_CACHE_URL "${JFROG_ARTFACTORY_CACHE_URL}/${BOOST_CACHE_PACKAGE_NAME}") - set(BOOST_CACHE_PACKAGE_PATH "${THIRDPARTY_PACKAGE_CACHE}/${BOOST_CACHE_PACKAGE_NAME}") - - if(USE_JFROG_CACHE STREQUAL "ON") - file(DOWNLOAD ${BOOST_CACHE_URL} ${BOOST_CACHE_PACKAGE_PATH} STATUS status) - list(GET status 0 status_code) - message(STATUS "DOWNLOADING FROM ${BOOST_CACHE_URL} TO ${BOOST_CACHE_PACKAGE_PATH}. STATUS = ${status_code}") - if (NOT status_code EQUAL 0) - externalproject_add(boost_ep - URL - ${BOOST_SOURCE_URL} - BUILD_BYPRODUCTS - ${BOOST_BUILD_PRODUCTS} - BUILD_IN_SOURCE - 1 - CONFIGURE_COMMAND - ${BOOST_CONFIGURE_COMMAND} - BUILD_COMMAND - ${BOOST_BUILD_COMMAND} - INSTALL_COMMAND - "" - ${EP_LOG_OPTIONS}) - - ExternalProject_Create_Cache(boost_ep ${BOOST_CACHE_PACKAGE_PATH} "${CMAKE_CURRENT_BINARY_DIR}/boost_ep-prefix" ${JFROG_USER_NAME} ${JFROG_PASSWORD} ${BOOST_CACHE_URL}) - else() - ExternalProject_Use_Cache(boost_ep ${BOOST_CACHE_PACKAGE_PATH} ${CMAKE_CURRENT_BINARY_DIR}) - endif() - else() - externalproject_add(boost_ep - URL - ${BOOST_SOURCE_URL} - BUILD_BYPRODUCTS - ${BOOST_BUILD_PRODUCTS} - BUILD_IN_SOURCE - 1 - CONFIGURE_COMMAND - ${BOOST_CONFIGURE_COMMAND} - BUILD_COMMAND - ${BOOST_BUILD_COMMAND} - INSTALL_COMMAND - "" - ${EP_LOG_OPTIONS}) - endif() set(Boost_INCLUDE_DIR "${BOOST_PREFIX}") set(Boost_INCLUDE_DIRS "${Boost_INCLUDE_DIR}")