Skip to content

Commit

Permalink
[lapack] add metaport lapack to switch lapack impl with an overlay (#…
Browse files Browse the repository at this point in the history
…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
  • Loading branch information
Neumann-A authored Aug 7, 2020
1 parent 4f9117c commit da839ba
Show file tree
Hide file tree
Showing 13 changed files with 38 additions and 16 deletions.
5 changes: 3 additions & 2 deletions ports/armadillo/CONTROL
Original file line number Diff line number Diff line change
@@ -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
3 changes: 2 additions & 1 deletion ports/blaze/CONTROL
Original file line number Diff line number Diff line change
@@ -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.
5 changes: 3 additions & 2 deletions ports/ceres/CONTROL
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
Source: ceres
Version: 1.14.0-7
Version: 1.14.0
Port-Version: 8
Build-Depends: glog, eigen3
Homepage: https:/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
Expand Down
3 changes: 2 additions & 1 deletion ports/clapack/CONTROL
Original file line number Diff line number Diff line change
@@ -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)
5 changes: 3 additions & 2 deletions ports/dlib/CONTROL
Original file line number Diff line number Diff line change
@@ -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:/davisking/dlib
Description: Modern C++ toolkit containing machine learning algorithms and tools for creating complex software in C++
Default-Features: fftw3, sqlite3
Expand Down
3 changes: 2 additions & 1 deletion ports/ensmallen/CONTROL
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
Source: ensmallen
Version: 2.11.2
Port-Version: 1
Homepage: https:/mlpack/ensmallen
Description: A header-only C++ library for mathematical optimization.
Build-Depends: openblas (!osx), clapack (!osx), armadillo
Build-Depends: openblas (!osx), lapack, armadillo

3 changes: 2 additions & 1 deletion ports/g2o/CONTROL
Original file line number Diff line number Diff line change
@@ -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
5 changes: 3 additions & 2 deletions ports/geogram/CONTROL
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
Source: geogram
Version: 1.6.9-7
Version: 1.6.9
Port-Version: 8

This comment has been minimized.

Copy link
@dsmtE

dsmtE Aug 11, 2020

Contributor

Hello @Neumann-A ,
Can you explain to me what "Port-version" means here?
I've updated geogram (#12562) but I don't understand how to solve this conflict... (https:/microsoft/vcpkg/pull/12562/conflicts)

Can I set "Port-version" to 1 like that?

Version: 1.7.5
Port-Version: 1

This comment has been minimized.

Copy link
@Neumann-A

Neumann-A Aug 11, 2020

Author Contributor

Can I set "Port-version" to 1 like that?

Yes. Port-Version is just an internal version update due to changes in e.g. the portfile or due to adding new patches.

This comment has been minimized.

Copy link
@dsmtE

dsmtE Aug 11, 2020

Contributor

thanks for your explanation.

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.
Expand Down
5 changes: 5 additions & 0 deletions ports/lapack/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -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 changes: 4 additions & 0 deletions ports/lapack/CONTROL
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
Source: lapack
Version: 0
Description: Metapackage for packages which provide LAPACK
Build-Depends: clapack (!osx)
3 changes: 3 additions & 0 deletions ports/lapack/portfile.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
SET(VCPKG_POLICY_EMPTY_PACKAGE enabled)
# Make sure LAPACK can be found
vcpkg_configure_cmake(SOURCE_PATH ${CURRENT_PORT_DIR})
5 changes: 3 additions & 2 deletions ports/mlpack/CONTROL
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
Source: mlpack
Version: 3.2.2-3
Version: 3.2.2
Port-Version: 4
Homepage: https:/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.
5 changes: 3 additions & 2 deletions ports/suitesparse/CONTROL
Original file line number Diff line number Diff line change
@@ -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

Expand Down

0 comments on commit da839ba

Please sign in to comment.