diff --git a/3rdparty/faiss/faiss_build.cmake b/3rdparty/faiss/faiss_build.cmake index ea8cd907a56..f5d901e4eba 100644 --- a/3rdparty/faiss/faiss_build.cmake +++ b/3rdparty/faiss/faiss_build.cmake @@ -12,6 +12,9 @@ ExternalProject_Add( URL_HASH SHA256=6550aa32ea28484ec774228b5cc7555c58304dd971bb5e5601999c351f20b9bd DOWNLOAD_DIR "${OPEN3D_THIRD_PARTY_DOWNLOAD_DIR}/faiss" UPDATE_COMMAND "" + PATCH_COMMAND COMMAND ${GIT_EXECUTABLE} init + COMMAND ${GIT_EXECUTABLE} apply --ignore-space-change --ignore-whitespace + ${CMAKE_CURRENT_LIST_DIR}/faiss_cuda_host_compiler.patch CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${MKL_INSTALL_PREFIX} -DCMAKE_CUDA_FLAGS=${CUDA_GENCODES} diff --git a/3rdparty/faiss/faiss_cuda_host_compiler.patch b/3rdparty/faiss/faiss_cuda_host_compiler.patch new file mode 100644 index 00000000000..1559d3dd0c2 --- /dev/null +++ b/3rdparty/faiss/faiss_cuda_host_compiler.patch @@ -0,0 +1,22 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 81524b9..05a7dc8 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -13,7 +13,7 @@ project(faiss + LANGUAGES CXX) + include(GNUInstallDirs) + +-set(CMAKE_CXX_STANDARD 11) ++set(CMAKE_CXX_STANDARD 14) + + list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake") + +@@ -24,7 +24,7 @@ option(FAISS_ENABLE_PYTHON "Build Python extension." ON) + option(FAISS_USE_SYSTEM_BLAS "Build system pre-installed BLAS." OFF) + + if(FAISS_ENABLE_GPU) +- set(CMAKE_CUDA_HOST_COMPILER ${CMAKE_CXX_COMPILER}) ++ set(CMAKE_CUDA_HOST_COMPILER ${CMAKE_CUDA_HOST_COMPILER}) + enable_language(CUDA) + endif() + diff --git a/3rdparty/find_dependencies.cmake b/3rdparty/find_dependencies.cmake index 696dddbb08d..f147b88f524 100644 --- a/3rdparty/find_dependencies.cmake +++ b/3rdparty/find_dependencies.cmake @@ -163,6 +163,7 @@ set(ExternalProject_CMAKE_ARGS -DCMAKE_C_COMPILER_LAUNCHER=${CMAKE_C_COMPILER_LAUNCHER} -DCMAKE_CXX_COMPILER_LAUNCHER=${CMAKE_CXX_COMPILER_LAUNCHER} -DCMAKE_CUDA_COMPILER_LAUNCHER=${CMAKE_CUDA_COMPILER_LAUNCHER} + -DCMAKE_CUDA_HOST_COMPILER=${CMAKE_CUDA_HOST_COMPILER} -DCMAKE_OSX_DEPLOYMENT_TARGET=${CMAKE_OSX_DEPLOYMENT_TARGET} # Always build 3rd party code in Release mode. Ignored by multi-config # generators (XCode, MSVC). MSVC needs matching config anyway.