diff --git a/ports/blas/CONTROL b/ports/blas/CONTROL index 6f660d228e5580..e9e1a785b347c2 100644 --- a/ports/blas/CONTROL +++ b/ports/blas/CONTROL @@ -1,4 +1,5 @@ Source: blas Version: 1 +Port-Version: 1 Description: Metapackage for packages which provide BLAS Build-Depends: openblas diff --git a/ports/blas/portfile.cmake b/ports/blas/portfile.cmake index f70aa46eabd3fb..a37948d649c1ec 100644 --- a/ports/blas/portfile.cmake +++ b/ports/blas/portfile.cmake @@ -1,5 +1,34 @@ SET(VCPKG_POLICY_EMPTY_PACKAGE enabled) +# OpenBLAS +set(BLA_VENDOR OpenBLAS) + +# For possible overlays: + +#NETLIB reference implementation (contained in lapack-reference) +#set(BLA_VENDOR Generic) + +# Intel MKL +#if(VCPKG_TARGET_ARCHITECTURE STREQUAL x64) +# set(BLA_VENDOR Intel10_64lp) +#elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL x86) +# set(BLA_VENDOR Intel10_32) +#else() +# message(FATAL_ERROR "Unsupported target architecture for Intel MKL!") +#endif() + +# Apple Accelerate Framework +# set(BLA_VENDOR Apple) + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + set(BLA_STATIC ON) +else() + set(BLA_STATIC OFF) +endif() + +configure_file("${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake.in" "${CURRENT_PACKAGES_DIR}/share/${PORT}/vcpkg-cmake-wrapper.cmake" @ONLY) # Make sure BLAS can be found vcpkg_configure_cmake(SOURCE_PATH ${CURRENT_PORT_DIR} - OPTIONS -DCMAKE_PREFIX_PATH="${CURRENT_PACKAGES_DIR}") + OPTIONS -DCMAKE_PREFIX_PATH="${CURRENT_PACKAGES_DIR}" + -DBLA_VENDOR=${BLA_VENDOR} + -DBLA_STATIC=${BLA_STATIC}) diff --git a/ports/blas/vcpkg-cmake-wrapper.cmake.in b/ports/blas/vcpkg-cmake-wrapper.cmake.in new file mode 100644 index 00000000000000..bda7ab98d8f5ff --- /dev/null +++ b/ports/blas/vcpkg-cmake-wrapper.cmake.in @@ -0,0 +1,5 @@ +set(BLA_VENDOR @BLA_VENDOR@) +set(BLA_STATIC @BLA_STATIC@) +_find_package(${ARGS}) +unset(BLA_VENDOR) +unset(BLA_STATIC) \ No newline at end of file diff --git a/ports/lapack-reference/CONTROL b/ports/lapack-reference/CONTROL index 701e48b7d3b2f1..3e18ebd2b3db1c 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 11655858c9d384..deaa1c4959b3ed 100644 --- a/ports/lapack-reference/portfile.cmake +++ b/ports/lapack-reference/portfile.cmake @@ -138,6 +138,12 @@ if(VCPKG_TARGET_IS_WINDOWS) 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) + if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + set(BLA_STATIC ON) + else() + set(BLA_STATIC OFF) + endif() + set(BLA_VENDOR Generic) + configure_file("${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" "${CURRENT_PACKAGES_DIR}/share/lapack/vcpkg-cmake-wrapper.cmake" @ONLY) + file(COPY "${CMAKE_CURRENT_LIST_DIR}/FindLAPACK.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/lapack") endif() diff --git a/ports/lapack-reference/vcpkg-cmake-wrapper.cmake b/ports/lapack-reference/vcpkg-cmake-wrapper.cmake index b3a7128fff0150..d945ec8d9e6b29 100644 --- a/ports/lapack-reference/vcpkg-cmake-wrapper.cmake +++ b/ports/lapack-reference/vcpkg-cmake-wrapper.cmake @@ -6,6 +6,8 @@ list(REMOVE_ITEM ARGS "NO_MODULE") list(REMOVE_ITEM ARGS "CONFIG") list(REMOVE_ITEM ARGS "MODULE") +set(BLA_VENDOR @BLA_VENDOR@) +set(BLA_STATIC @BLA_STATIC@) _find_package(${ARGS}) set(CMAKE_MODULE_PATH ${LAPACK_PREV_MODULE_PATH}) diff --git a/ports/lapack/CONTROL b/ports/lapack/CONTROL index 6147ef3a807f8f..b040b6ddff36a0 100644 --- a/ports/lapack/CONTROL +++ b/ports/lapack/CONTROL @@ -1,5 +1,5 @@ Source: lapack Version: 3 -Port-Version: 1 +Port-Version: 2 Description: Metapackage for packages which provide LAPACK Build-Depends: clapack(arm&windows), lapack-reference(!arm|!windows) diff --git a/ports/lapack/portfile.cmake b/ports/lapack/portfile.cmake index 2a59fa7267d7c2..6610dc604d04fd 100644 --- a/ports/lapack/portfile.cmake +++ b/ports/lapack/portfile.cmake @@ -1,5 +1,17 @@ SET(VCPKG_POLICY_EMPTY_PACKAGE enabled) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + set(BLA_STATIC ON) +else() + set(BLA_STATIC OFF) +endif() +set(BLA_VENDOR Generic) +if(VCPKG_TARGET_IS_WINDOWS) # The other wrapper is in lapack-reference + configure_file("${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" "${CURRENT_PACKAGES_DIR}/share/lapack/vcpkg-cmake-wrapper.cmake" @ONLY) +endif() # Make sure LAPACK can be found vcpkg_configure_cmake(SOURCE_PATH ${CURRENT_PORT_DIR} - OPTIONS -DCMAKE_PREFIX_PATH="${CURRENT_PACKAGES_DIR}") + OPTIONS -DCMAKE_PREFIX_PATH="${CURRENT_PACKAGES_DIR}" + -DBLA_VENDOR=${BLA_VENDOR} + -DBLA_STATIC=${BLA_STATIC}) + diff --git a/ports/lapack/vcpkg-cmake-wrapper.cmake.in b/ports/lapack/vcpkg-cmake-wrapper.cmake.in new file mode 100644 index 00000000000000..bda7ab98d8f5ff --- /dev/null +++ b/ports/lapack/vcpkg-cmake-wrapper.cmake.in @@ -0,0 +1,5 @@ +set(BLA_VENDOR @BLA_VENDOR@) +set(BLA_STATIC @BLA_STATIC@) +_find_package(${ARGS}) +unset(BLA_VENDOR) +unset(BLA_STATIC) \ No newline at end of file diff --git a/versions/b-/blas.json b/versions/b-/blas.json index 7fb01927b6b3e0..e766feae419fc8 100644 --- a/versions/b-/blas.json +++ b/versions/b-/blas.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "e9b2b37537892de237c078a3d12963654c7dbbe1", + "version-string": "1", + "port-version": 1 + }, { "git-tree": "2877c1693c63195d4edacfb42156c9d8874ad046", "version-string": "1", diff --git a/versions/baseline.json b/versions/baseline.json index f45c801d233d49..0cbeb92b6b2047 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -350,7 +350,7 @@ }, "blas": { "baseline": "1", - "port-version": 0 + "port-version": 1 }, "blaze": { "baseline": "3.8", @@ -2762,11 +2762,11 @@ }, "lapack": { "baseline": "3", - "port-version": 1 + "port-version": 2 }, "lapack-reference": { "baseline": "3.8.0", - "port-version": 4 + "port-version": 5 }, "lastools": { "baseline": "2020-05-09", diff --git a/versions/l-/lapack-reference.json b/versions/l-/lapack-reference.json index 0fd9ba4d7e79f5..1f5cca68611a6b 100644 --- a/versions/l-/lapack-reference.json +++ b/versions/l-/lapack-reference.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "b517efd51168209fcdc218bd43bb487656fb0dba", + "version-string": "3.8.0", + "port-version": 5 + }, { "git-tree": "34971ac86a76f6bffefe5962980c3991abf87a58", "version-string": "3.8.0", diff --git a/versions/l-/lapack.json b/versions/l-/lapack.json index 5d618ffb530d51..c5c7d817e20aaa 100644 --- a/versions/l-/lapack.json +++ b/versions/l-/lapack.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "459d9d4feb9b3dd3820651e696a38f7bd278e2ea", + "version-string": "3", + "port-version": 2 + }, { "git-tree": "e3e10603a14f3b981ce689ba768d42a1a2ec07d4", "version-string": "3",