Merge branch 'fixFaissDependency-0.3.0' into 'branch-0.3.0'

cmake: fix faiss dependency

See merge request megasearch/vecwise_engine!71

Former-commit-id: 32f32c6a00cedc728869975263d5a82302b4ccfe
This commit is contained in:
jinhai 2019-06-11 15:43:25 +08:00
commit 72fb143790
3 changed files with 44 additions and 3 deletions

View File

@ -17,6 +17,7 @@ Please mark all change in change log and use the ticket from JIRA.
- MS-66 - Support time range query
- MS-68 - Remove rocksdb from third-party
- MS-70 - cmake: remove redundant libs in src
- MS-71 - cmake: fix faiss dependency
## Task

View File

@ -38,6 +38,40 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/version.h.macro ${CMAKE_CURRENT_SOURC
project(megasearch VERSION "${MEGASEARCH_VERSION}")
project(vecwise_engine LANGUAGES CUDA CXX)
# Ensure that a default make is set
if("${MAKE}" STREQUAL "")
if(NOT MSVC)
find_program(MAKE make)
endif()
endif()
set(GCC_VERSION 5.3.0)
set(GCC_DIR "${CMAKE_CURRENT_BINARY_DIR}/gcc")
set(GCC_BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR}/gcc/gcc_build")
set(GCC_TAR_NAME "${GCC_BUILD_DIR}/gcc-${GCC_VERSION}.tar.gz")
if (NOT EXISTS ${GCC_TAR_NAME})
file(MAKE_DIRECTORY ${GCC_BUILD_DIR})
file(DOWNLOAD http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-${GCC_VERSION}/${GCC_TAR_NAME}
${GCC_TAR_NAME})
message(STATUS "Building GCC-${GCC_VERSION} from source")
execute_process(
COMMAND
"${CMAKE_COMMAND} -E tar -xf ${GCC_TAR_NAME}"
COMMAND
"./configure --prefix=${GCC_DIR} --with-local-prefix=${GCC_DIR}
--enable-languages=cxx,fortran
--enable-checking=release
--disable-bootstrap"
COMMAND
"${MAKE} -j4"
COMMAND
"${MAKE} install"
RESULT_VARIABLE _status
#OUTPUT_QUIET
#ERROR_QUIET
WORKING_DIRECTORY ${GCC_BUILD_DIR})
endif ()
set(MEGASEARCH_VERSION_MAJOR "${megasearch_VERSION_MAJOR}")
set(MEGASEARCH_VERSION_MINOR "${megasearch_VERSION_MINOR}")
set(MEGASEARCH_VERSION_PATCH "${megasearch_VERSION_PATCH}")

View File

@ -716,17 +716,23 @@ macro(build_faiss)
${FAISS_STATIC_LIB})
# DEPENDS
# ${faiss_dependencies})
ExternalProject_Add_StepDependencies(faiss_ep build openblas_ep)
ExternalProject_Add_StepDependencies(faiss_ep build lapack_ep)
ExternalProject_Add_StepDependencies(faiss_ep build openblas_ep lapack_ep)
file(MAKE_DIRECTORY "${FAISS_INCLUDE_DIR}")
add_library(faiss STATIC IMPORTED)
set_target_properties(
faiss
PROPERTIES IMPORTED_LOCATION "${FAISS_STATIC_LIB}"
INTERFACE_INCLUDE_DIRECTORIES "${FAISS_INCLUDE_DIR}")
INTERFACE_INCLUDE_DIRECTORIES "${FAISS_INCLUDE_DIR}"
INTERFACE_LINK_LIBRARIES "openblas;lapack" )
add_dependencies(faiss faiss_ep)
#add_dependencies(faiss openblas_ep)
#add_dependencies(faiss lapack_ep)
#target_link_libraries(faiss ${OPENBLAS_PREFIX}/lib)
#target_link_libraries(faiss ${LAPACK_PREFIX}/lib)
endmacro()
if(MEGASEARCH_WITH_FAISS)