diff options
| author | bucurb <bobuc@microsoft.com> | 2021-07-16 20:03:54 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-07-16 12:03:54 -0700 |
| commit | 0f059596124b7afce437e5dad4588fb3ff06719e (patch) | |
| tree | 4249f4e415513eecc06dda3c9e966d6ee4a275da /ports | |
| parent | 0bf44b144bb767f48685ac84e5bfd76f05db958f (diff) | |
| download | vcpkg-0f059596124b7afce437e5dad4588fb3ff06719e.tar.gz vcpkg-0f059596124b7afce437e5dad4588fb3ff06719e.zip | |
[Faiss] Fix dependencies (#18780)
* fixed targets
* bumped port version
* updated sha
* lapack-reference should always write into lapack
* lapack-reference sha
* Fixed clapack target
* versions
* sha
* ensure cmake finds the cuda compiler
* sha
Diffstat (limited to 'ports')
| -rw-r--r-- | ports/clapack/FindLAPACK.cmake | 24 | ||||
| -rw-r--r-- | ports/clapack/vcpkg.json | 2 | ||||
| -rw-r--r-- | ports/faiss/fix-dependencies.patch | 34 | ||||
| -rw-r--r-- | ports/faiss/portfile.cmake | 11 | ||||
| -rw-r--r-- | ports/faiss/vcpkg.json | 3 | ||||
| -rw-r--r-- | ports/lapack-reference/CONTROL | 2 | ||||
| -rw-r--r-- | ports/lapack-reference/portfile.cmake | 6 |
7 files changed, 65 insertions, 17 deletions
diff --git a/ports/clapack/FindLAPACK.cmake b/ports/clapack/FindLAPACK.cmake index eff9bae70..aa546e672 100644 --- a/ports/clapack/FindLAPACK.cmake +++ b/ports/clapack/FindLAPACK.cmake @@ -200,10 +200,11 @@ if(CLAPACK_FOUND AND NOT TARGET clapack::clapack) endif() endif() -if(CLAPACK_FOUND AND NOT TARGET lapack) +# Ensure consistency with both CMake's vanilla as well as lapack-reference's FindLAPACK.cmake module and register the LAPACK::LAPACK target +if(CLAPACK_FOUND AND NOT TARGET LAPACK::LAPACK) if(EXISTS "${LAPACK_LIBRARY_RELEASE_DLL}") - add_library(lapack SHARED IMPORTED) - set_target_properties(lapack PROPERTIES + add_library(LAPACK::LAPACK SHARED IMPORTED) + set_target_properties(LAPACK::LAPACK PROPERTIES IMPORTED_LOCATION_RELEASE "${LAPACK_LIBRARY_RELEASE_DLL}" IMPORTED_IMPLIB_RELEASE "${oLAPACK_LIBRARY_RELEASE}" INTERFACE_INCLUDE_DIRECTORIES "${LAPACK_INCLUDE_DIR}" @@ -211,23 +212,28 @@ if(CLAPACK_FOUND AND NOT TARGET lapack) IMPORTED_CONFIGURATIONS Release IMPORTED_LINK_INTERFACE_LANGUAGES "C") if(EXISTS "${LAPACK_LIBRARY_DEBUG_DLL}") - set_property(TARGET lapack APPEND PROPERTY IMPORTED_CONFIGURATIONS Debug) - set_target_properties(lapack PROPERTIES + set_property(TARGET LAPACK::LAPACK APPEND PROPERTY IMPORTED_CONFIGURATIONS Debug) + set_target_properties(LAPACK::LAPACK PROPERTIES IMPORTED_LOCATION_DEBUG "${LAPACK_LIBRARY_DEBUG_DLL}" IMPORTED_IMPLIB_DEBUG "${oLAPACK_LIBRARY_DEBUG}") endif() else() - add_library(lapack UNKNOWN IMPORTED) - set_target_properties(lapack PROPERTIES + add_library(LAPACK::LAPACK UNKNOWN IMPORTED) + set_target_properties(LAPACK::LAPACK PROPERTIES IMPORTED_LOCATION_RELEASE "${oLAPACK_LIBRARY_RELEASE}" INTERFACE_INCLUDE_DIRECTORIES "${LAPACK_INCLUDE_DIR}" IMPORTED_CONFIGURATIONS Release INTERFACE_LINK_LIBRARIES "$<$<NOT:$<CONFIG:DEBUG>>:${oF2C_LIBRARY_RELEASE}>;$<$<CONFIG:DEBUG>:${oF2C_LIBRARY_DEBUG}>;$<$<NOT:$<CONFIG:DEBUG>>:${LAPACK_BLAS_LIBRARY_RELEASE}>;$<$<CONFIG:DEBUG>:${LAPACK_BLAS_LIBRARY_DEBUG}>;$<LINK_ONLY:${ADDITIONAL_LAPACK_LIBRARY}>;$<LINK_ONLY:${PTHREAD_LINK_NAME}>" IMPORTED_LINK_INTERFACE_LANGUAGES "C") if(EXISTS "${LAPACK_LIBRARY_DEBUG}") - set_property(TARGET lapack APPEND PROPERTY IMPORTED_CONFIGURATIONS Debug) - set_target_properties(lapack PROPERTIES + set_property(TARGET LAPACK::LAPACK APPEND PROPERTY IMPORTED_CONFIGURATIONS Debug) + set_target_properties(LAPACK::LAPACK PROPERTIES IMPORTED_LOCATION_DEBUG "${oLAPACK_LIBRARY_DEBUG}") endif() endif() endif() + +# Preserve backwards compatibility and also register the 'lapack' target +if(CLAPACK_FOUND AND NOT TARGET lapack) + add_library(lapack ALIAS LAPACK::LAPACK) +endif() diff --git a/ports/clapack/vcpkg.json b/ports/clapack/vcpkg.json index 18f01ec83..f0fd61e8f 100644 --- a/ports/clapack/vcpkg.json +++ b/ports/clapack/vcpkg.json @@ -1,7 +1,7 @@ { "name": "clapack", "version-string": "3.2.1", - "port-version": 18, + "port-version": 19, "description": "CLAPACK (f2c'ed version of LAPACK)", "homepage": "https://www.netlib.org/clapack", "dependencies": [ diff --git a/ports/faiss/fix-dependencies.patch b/ports/faiss/fix-dependencies.patch new file mode 100644 index 000000000..caddb6b57 --- /dev/null +++ b/ports/faiss/fix-dependencies.patch @@ -0,0 +1,34 @@ +diff --git a/cmake/faiss-config.cmake.in b/cmake/faiss-config.cmake.in
+index 43ea9d4c..437a7f81 100644
+--- a/cmake/faiss-config.cmake.in
++++ b/cmake/faiss-config.cmake.in
+@@ -4,4 +4,7 @@
+ # This source code is licensed under the BSD-style license found in the
+ # LICENSE file in the root directory of this source tree.
+
++find_dependency(OpenMP REQUIRED)
++find_dependency(BLAS REQUIRED)
++find_dependency(LAPACK REQUIRED)
+ include("${CMAKE_CURRENT_LIST_DIR}/faiss-targets.cmake")
+diff --git a/faiss/CMakeLists.txt b/faiss/CMakeLists.txt
+index 51680fd1..691f52c2 100644
+--- a/faiss/CMakeLists.txt
++++ b/faiss/CMakeLists.txt
+@@ -148,14 +148,14 @@ find_package(OpenMP REQUIRED)
+ target_link_libraries(faiss PRIVATE OpenMP::OpenMP_CXX)
+
+ find_package(MKL)
+-if(MKL_FOUND)
++if(0)
+ target_link_libraries(faiss PRIVATE ${MKL_LIBRARIES})
+ else()
+ find_package(BLAS REQUIRED)
+- target_link_libraries(faiss PRIVATE ${BLAS_LIBRARIES})
++ target_link_libraries(faiss PRIVATE BLAS::BLAS)
+
+ find_package(LAPACK REQUIRED)
+- target_link_libraries(faiss PRIVATE ${LAPACK_LIBRARIES})
++ target_link_libraries(faiss PRIVATE LAPACK::LAPACK)
+ endif()
+
+ install(TARGETS faiss
diff --git a/ports/faiss/portfile.cmake b/ports/faiss/portfile.cmake index 05a4273bf..51529558f 100644 --- a/ports/faiss/portfile.cmake +++ b/ports/faiss/portfile.cmake @@ -6,12 +6,21 @@ vcpkg_from_github( REF 0fb6c00cfa9487416b5cdf514f5f796476eecb06 # v1.6.4
SHA512 c7019615103fd29124c1f4458a47faebc5fe35545eea185c41cf643f2eabe82d134dc558c85f67faea7680c292abd7477ceefde157a7c3969eda78b77a23462b
HEAD_REF master
+ PATCHES
+ fix-dependencies.patch
)
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
- gpu FAISS_ENABLE_GPU
+ FEATURES
+ gpu FAISS_ENABLE_GPU
)
+if ("${FAISS_ENABLE_GPU}")
+ if (NOT VCPKG_CMAKE_SYSTEM_NAME AND NOT ENV{CUDACXX})
+ set(ENV{CUDACXX} "$ENV{CUDA_PATH}/bin/nvcc.exe")
+ endif()
+endif()
+
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
diff --git a/ports/faiss/vcpkg.json b/ports/faiss/vcpkg.json index 039513d3a..4b9c63691 100644 --- a/ports/faiss/vcpkg.json +++ b/ports/faiss/vcpkg.json @@ -1,6 +1,7 @@ { "name": "faiss", - "version-string": "1.6.4", + "version-semver": "1.6.4", + "port-version": 1, "description": "Faiss is a library for efficient similarity search and clustering of dense vectors.", "homepage": "https://github.com/facebookresearch/faiss", "license": "MIT", diff --git a/ports/lapack-reference/CONTROL b/ports/lapack-reference/CONTROL index 701e48b7d..3e18ebd2b 100644 --- a/ports/lapack-reference/CONTROL +++ b/ports/lapack-reference/CONTROL @@ -1,6 +1,6 @@ Source: lapack-reference
Version: 3.8.0
-Port-Version: 4
+Port-Version: 5
Description: LAPACK — Linear Algebra PACKage http://www.netlib.org/lapack/
Default-Features: blas-select
Build-Depends: vcpkg-gfortran (windows)
diff --git a/ports/lapack-reference/portfile.cmake b/ports/lapack-reference/portfile.cmake index 11655858c..70e6059ff 100644 --- a/ports/lapack-reference/portfile.cmake +++ b/ports/lapack-reference/portfile.cmake @@ -137,7 +137,5 @@ if(VCPKG_TARGET_IS_WINDOWS) endif()
endif()
-if(NOT VCPKG_TARGET_IS_WINDOWS)
- file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/lapack)
- file(COPY ${CMAKE_CURRENT_LIST_DIR}/FindLAPACK.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/lapack)
-endif()
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/lapack)
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/FindLAPACK.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/lapack)
|
