Merge remote-tracking branch 'mega/branch-1.2' into branch-1.2

Former-commit-id: 8af3d1b93944bba3c4015d278ac14756c43f804e
pull/191/head
Yang Xuan 2019-05-30 11:32:20 +08:00
commit 430d09a36f
2 changed files with 49 additions and 20 deletions

View File

@ -16,6 +16,7 @@ Please mark all change in change log and use the ticket from JIRA.
- MS-21 - Implement SDK interface part 2 - MS-21 - Implement SDK interface part 2
- MS-26 - cmake. Add thirdparty packages - MS-26 - cmake. Add thirdparty packages
- MS-31 - cmake: add prometheus - MS-31 - cmake: add prometheus
- MS-33 - cmake: add -j4 to make third party packages build faster
### Task ### Task

View File

@ -152,14 +152,16 @@ if("${MAKE}" STREQUAL "")
endif() endif()
endif() endif()
# Using make -j in sub-make is fragile set(MAKE_BUILD_ARGS "-j4")
# see discussion https://github.com/apache/MEGASEARCH/pull/2779
if(${CMAKE_GENERATOR} MATCHES "Makefiles") ## Using make -j in sub-make is fragile
set(MAKE_BUILD_ARGS "") ## see discussion https://github.com/apache/MEGASEARCH/pull/2779
else() #if(${CMAKE_GENERATOR} MATCHES "Makefiles")
# limit the maximum number of jobs for ninja # set(MAKE_BUILD_ARGS "")
set(MAKE_BUILD_ARGS "-j4") #else()
endif() # # limit the maximum number of jobs for ninja
# set(MAKE_BUILD_ARGS "-j4")
#endif()
# ---------------------------------------------------------------------- # ----------------------------------------------------------------------
# Find pthreads # Find pthreads
@ -537,6 +539,9 @@ macro(build_easyloggingpp)
${EP_LOG_OPTIONS} ${EP_LOG_OPTIONS}
CMAKE_ARGS CMAKE_ARGS
${EASYLOGGINGPP_CMAKE_ARGS} ${EASYLOGGINGPP_CMAKE_ARGS}
BUILD_COMMAND
${MAKE}
${MAKE_BUILD_ARGS}
BUILD_BYPRODUCTS BUILD_BYPRODUCTS
${EASYLOGGINGPP_STATIC_LIB}) ${EASYLOGGINGPP_STATIC_LIB})
@ -577,7 +582,8 @@ macro(build_openblas)
BUILD_IN_SOURCE BUILD_IN_SOURCE
1 1
BUILD_COMMAND BUILD_COMMAND
${MAKE} ${MAKE_BUILD_ARGS} ${MAKE}
${MAKE_BUILD_ARGS}
INSTALL_COMMAND INSTALL_COMMAND
${MAKE} ${MAKE}
PREFIX=${OPENBLAS_PREFIX} PREFIX=${OPENBLAS_PREFIX}
@ -623,6 +629,9 @@ macro(build_lapack)
${EP_LOG_OPTIONS} ${EP_LOG_OPTIONS}
CMAKE_ARGS CMAKE_ARGS
${LAPACK_CMAKE_ARGS} ${LAPACK_CMAKE_ARGS}
BUILD_COMMAND
${MAKE}
${MAKE_BUILD_ARGS}
BUILD_BYPRODUCTS BUILD_BYPRODUCTS
${LAPACK_STATIC_LIB}) ${LAPACK_STATIC_LIB})
@ -694,6 +703,9 @@ macro(build_faiss)
# ${FAISS_PREFIX} # ${FAISS_PREFIX}
# BUILD_COMMAND # BUILD_COMMAND
# ${MAKE} ${MAKE_BUILD_ARGS} # ${MAKE} ${MAKE_BUILD_ARGS}
BUILD_COMMAND
${MAKE}
${MAKE_BUILD_ARGS}
BUILD_IN_SOURCE BUILD_IN_SOURCE
1 1
# INSTALL_DIR # INSTALL_DIR
@ -774,6 +786,9 @@ macro(build_gtest)
ExternalProject_Add(googletest_ep ExternalProject_Add(googletest_ep
URL URL
${GTEST_SOURCE_URL} ${GTEST_SOURCE_URL}
BUILD_COMMAND
${MAKE}
${MAKE_BUILD_ARGS}
BUILD_BYPRODUCTS BUILD_BYPRODUCTS
${GTEST_STATIC_LIB} ${GTEST_STATIC_LIB}
${GTEST_MAIN_STATIC_LIB} ${GTEST_MAIN_STATIC_LIB}
@ -936,27 +951,25 @@ macro(build_prometheus)
"${PROMETHEUS_PUSH_STATIC_LIB}" "${PROMETHEUS_PUSH_STATIC_LIB}"
"${PROMETHEUS_PULL_STATIC_LIB}") "${PROMETHEUS_PULL_STATIC_LIB}")
#file(MAKE_DIRECTORY "${PROMETHEUS_PREFIX}/include") file(MAKE_DIRECTORY "${PROMETHEUS_PREFIX}/push/include")
add_library(prometheus-cpp-push STATIC IMPORTED) add_library(prometheus-cpp-push STATIC IMPORTED)
set_target_properties(prometheus-cpp-push set_target_properties(prometheus-cpp-push
PROPERTIES IMPORTED_LOCATION "${PROMETHEUS_PUSH_STATIC_LIB}") PROPERTIES IMPORTED_LOCATION "${PROMETHEUS_PUSH_STATIC_LIB}"
# INTERFACE_INCLUDE_DIRECTORIES INTERFACE_INCLUDE_DIRECTORIES "${PROMETHEUS_PREFIX}/push/include")
# "${PROMETHEUS_PREFIX}/push/include")
add_dependencies(prometheus-cpp-push prometheus_ep) add_dependencies(prometheus-cpp-push prometheus_ep)
file(MAKE_DIRECTORY "${PROMETHEUS_PREFIX}/pull/include")
add_library(prometheus-cpp-pull STATIC IMPORTED) add_library(prometheus-cpp-pull STATIC IMPORTED)
set_target_properties(prometheus-cpp-pull set_target_properties(prometheus-cpp-pull
PROPERTIES IMPORTED_LOCATION "${PROMETHEUS_PULL_STATIC_LIB}") PROPERTIES IMPORTED_LOCATION "${PROMETHEUS_PULL_STATIC_LIB}"
# INTERFACE_INCLUDE_DIRECTORIES INTERFACE_INCLUDE_DIRECTORIES "${PROMETHEUS_PREFIX}/pull/include")
# "${PROMETHEUS_PREFIX}/pull/include")
add_dependencies(prometheus-cpp-pull prometheus_ep) add_dependencies(prometheus-cpp-pull prometheus_ep)
file(MAKE_DIRECTORY "${PROMETHEUS_PREFIX}/core/include")
add_library(prometheus-cpp-core STATIC IMPORTED) add_library(prometheus-cpp-core STATIC IMPORTED)
set_target_properties(prometheus-cpp-core set_target_properties(prometheus-cpp-core
PROPERTIES IMPORTED_LOCATION "${PROMETHEUS_CORE_STATIC_LIB}") PROPERTIES IMPORTED_LOCATION "${PROMETHEUS_CORE_STATIC_LIB}"
# INTERFACE_INCLUDE_DIRECTORIES INTERFACE_INCLUDE_DIRECTORIES "${PROMETHEUS_PREFIX}/core/include")
# "${PROMETHEUS_PREFIX}/core/include")
add_dependencies(prometheus-cpp-core prometheus_ep) add_dependencies(prometheus-cpp-core prometheus_ep)
endmacro() endmacro()
@ -1049,6 +1062,9 @@ macro(build_snappy)
externalproject_add(snappy_ep externalproject_add(snappy_ep
${EP_LOG_OPTIONS} ${EP_LOG_OPTIONS}
BUILD_COMMAND
${MAKE}
${MAKE_BUILD_ARGS}
BUILD_IN_SOURCE BUILD_IN_SOURCE
1 1
INSTALL_DIR INSTALL_DIR
@ -1358,6 +1374,9 @@ macro(build_thrift)
BUILD_BYPRODUCTS BUILD_BYPRODUCTS
"${THRIFT_STATIC_LIB}" "${THRIFT_STATIC_LIB}"
"${THRIFT_COMPILER}" "${THRIFT_COMPILER}"
BUILD_COMMAND
${MAKE}
${MAKE_BUILD_ARGS}
CMAKE_ARGS CMAKE_ARGS
${THRIFT_CMAKE_ARGS} ${THRIFT_CMAKE_ARGS}
DEPENDS DEPENDS
@ -1399,6 +1418,9 @@ macro(build_yamlcpp)
URL URL
${YAMLCPP_SOURCE_URL} ${YAMLCPP_SOURCE_URL}
${EP_LOG_OPTIONS} ${EP_LOG_OPTIONS}
BUILD_COMMAND
${MAKE}
${MAKE_BUILD_ARGS}
BUILD_BYPRODUCTS BUILD_BYPRODUCTS
"${YAMLCPP_STATIC_LIB}" "${YAMLCPP_STATIC_LIB}"
CMAKE_ARGS CMAKE_ARGS
@ -1446,6 +1468,9 @@ macro(build_zlib)
URL URL
${ZLIB_SOURCE_URL} ${ZLIB_SOURCE_URL}
${EP_LOG_OPTIONS} ${EP_LOG_OPTIONS}
BUILD_COMMAND
${MAKE}
${MAKE_BUILD_ARGS}
BUILD_BYPRODUCTS BUILD_BYPRODUCTS
"${ZLIB_STATIC_LIB}" "${ZLIB_STATIC_LIB}"
CMAKE_ARGS CMAKE_ARGS
@ -1513,6 +1538,9 @@ macro(build_zstd)
${ZSTD_CMAKE_ARGS} ${ZSTD_CMAKE_ARGS}
SOURCE_SUBDIR SOURCE_SUBDIR
"build/cmake" "build/cmake"
BUILD_COMMAND
${MAKE}
${MAKE_BUILD_ARGS}
INSTALL_DIR INSTALL_DIR
${ZSTD_PREFIX} ${ZSTD_PREFIX}
URL URL