[lapack] add metaport lapack to switch lapack impl with an overlay (#12464)

* [lapack-select] add port lapack-select to select the lapack implementation

* move (!osx) check into lapack select

* correct the platform selection logic so that clapack is not forced.
added external as a feature.
made a dummy project to find the external provided LAPACK

* fix the oscx regression. Actually need to specify external dependency on OSX

* rename port to lapack and use build-depends
This commit is contained in:
Alexander Neumann 2020-08-07 07:10:15 +02:00 committed by GitHub
parent 4f9117c0de
commit da839ba61a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 38 additions and 16 deletions

View File

@ -1,4 +1,5 @@
Source: armadillo
Version: 2019-04-16-8
Version: 2019-04-16
Port-Version: 9
Description: Armadillo is a high quality linear algebra library (matrix maths) for the C++ language, aiming towards a good balance between speed and ease of use
Build-Depends: openblas (!osx), clapack (!osx)
Build-Depends: openblas (!osx), lapack

View File

@ -1,5 +1,6 @@
Source: blaze
Version: 3.7
Build-Depends: clapack (!osx), boost-exception
Port-Version: 1
Build-Depends: lapack, boost-exception
Homepage: https://bitbucket.org/blaze-lib/blaze
Description: Blaze is an open-source, high-performance C++ math library for dense and sparse arithmetic.

View File

@ -1,11 +1,12 @@
Source: ceres
Version: 1.14.0-7
Version: 1.14.0
Port-Version: 8
Build-Depends: glog, eigen3
Homepage: https://github.com/ceres-solver/ceres-solver
Description: non-linear optimization package
Feature: lapack
Build-Depends: clapack (!osx)
Build-Depends: lapack
Description: Use Lapack in Ceres
Feature: suitesparse

View File

@ -1,5 +1,6 @@
Source: clapack
Version: 3.2.1-13
Version: 3.2.1
Port-Version: 13
Homepage: https://www.netlib.org/clapack
Description: CLAPACK (f2c'ed version of LAPACK)
Build-Depends: openblas (!osx)

View File

@ -1,6 +1,7 @@
Source: dlib
Version: 19.19-1
Build-Depends: libjpeg-turbo, libpng, openblas (!osx), clapack (!osx)
Version: 19.19
Port-Version: 2
Build-Depends: libjpeg-turbo, libpng, openblas (!osx), lapack
Homepage: https://github.com/davisking/dlib
Description: Modern C++ toolkit containing machine learning algorithms and tools for creating complex software in C++
Default-Features: fftw3, sqlite3

View File

@ -1,6 +1,7 @@
Source: ensmallen
Version: 2.11.2
Port-Version: 1
Homepage: https://github.com/mlpack/ensmallen
Description: A header-only C++ library for mathematical optimization.
Build-Depends: openblas (!osx), clapack (!osx), armadillo
Build-Depends: openblas (!osx), lapack, armadillo

View File

@ -1,5 +1,6 @@
Source: g2o
Version: 2020-02-07
Build-Depends: suitesparse, eigen3, clapack (!osx), ceres
Port-Version: 1
Build-Depends: suitesparse, eigen3, lapack, ceres
Description: g2o: A General Framework for Graph Optimization
Homepage: https://openslam.org/g2o.html

View File

@ -1,8 +1,9 @@
Source: geogram
Version: 1.6.9-7
Version: 1.6.9
Port-Version: 8
Homepage: https://gforge.inria.fr/projects/geogram/
Description: Geogram is a programming library of geometric algorithms.
Build-Depends: openblas (!osx), clapack (!osx)
Build-Depends: openblas (!osx), lapack
Feature: graphics
Description: Build viewers and geogram_gfx library.

View File

@ -0,0 +1,5 @@
cmake_minimum_required(VERSION 3.17)
project(Find_LAPACK_external)
find_package(LAPACK REQUIRED)
#TODO make sure that the found LAPACK is outside VCPKG

4
ports/lapack/CONTROL Normal file
View File

@ -0,0 +1,4 @@
Source: lapack
Version: 0
Description: Metapackage for packages which provide LAPACK
Build-Depends: clapack (!osx)

View File

@ -0,0 +1,3 @@
SET(VCPKG_POLICY_EMPTY_PACKAGE enabled)
# Make sure LAPACK can be found
vcpkg_configure_cmake(SOURCE_PATH ${CURRENT_PORT_DIR})

View File

@ -1,8 +1,9 @@
Source: mlpack
Version: 3.2.2-3
Version: 3.2.2
Port-Version: 4
Homepage: https://github.com/mlpack/mlpack
Description: mlpack is a fast, flexible machine learning library, written in C++, that aims to provide fast, extensible implementations of cutting-edge machine learning algorithms.
Build-Depends: openblas (!osx), clapack (!osx), boost, armadillo, ensmallen, stb
Build-Depends: openblas (!osx), lapack, boost, armadillo, ensmallen, stb
Feature: tools
Description: Build command-line executables.

View File

@ -1,6 +1,7 @@
Source: suitesparse
Version: 5.4.0-6
Build-Depends: clapack (!osx)
Version: 5.4.0
Port-Version: 7
Build-Depends: lapack
Homepage: http://faculty.cse.tamu.edu/davis/SuiteSparse
Description: algebra library