[armadillo] Add dependent port superlu on osx (#11063)

* [armadillo] Add dependent port superlu on osx

* [armadillo] Suppress automatic dependency enablement

* [mlpack] Re-enable in CI

Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
This commit is contained in:
Jack·Boos·Yu 2020-05-01 01:05:06 +08:00 committed by GitHub
parent 2e33b93e27
commit 695d2a8a4d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 101 additions and 6 deletions

View File

@ -1,4 +1,4 @@
Source: armadillo
Version: 2019-04-16-6
Version: 2019-04-16-8
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)

View File

@ -0,0 +1,92 @@
diff --git a/cmake_aux/Modules/ARMA_FindACML.cmake b/cmake_aux/Modules/ARMA_FindACML.cmake
index 7d0655e..fa435ff 100644
--- a/cmake_aux/Modules/ARMA_FindACML.cmake
+++ b/cmake_aux/Modules/ARMA_FindACML.cmake
@@ -5,6 +5,11 @@
# also defined, but not for general use are
# ACML_LIBRARY, where to find the ACML library.
+if(CMAKE_DISABLE_FIND_PACKAGE_ACML)
+ set(ACML_FOUND "NO")
+ return()
+endif()
+
SET(ACML_NAMES ${ACML_NAMES} acml)
FIND_LIBRARY(ACML_LIBRARY
NAMES ${ACML_NAMES}
diff --git a/cmake_aux/Modules/ARMA_FindACMLMP.cmake b/cmake_aux/Modules/ARMA_FindACMLMP.cmake
index 3390179..ead7b1e 100644
--- a/cmake_aux/Modules/ARMA_FindACMLMP.cmake
+++ b/cmake_aux/Modules/ARMA_FindACMLMP.cmake
@@ -5,6 +5,11 @@
# also defined, but not for general use are
# ACMLMP_LIBRARY, where to find the ACMLMP library.
+if(CMAKE_DISABLE_FIND_PACKAGE_ACMLMP)
+ set(ACMLMP_FOUND NO)
+ return()
+endif()
+
SET(ACMLMP_NAMES ${ACMLMP_NAMES} acml_mp)
FIND_LIBRARY(ACMLMP_LIBRARY
NAMES ${ACMLMP_NAMES}
diff --git a/cmake_aux/Modules/ARMA_FindARPACK.cmake b/cmake_aux/Modules/ARMA_FindARPACK.cmake
index 1a709ad..3029c25 100644
--- a/cmake_aux/Modules/ARMA_FindARPACK.cmake
+++ b/cmake_aux/Modules/ARMA_FindARPACK.cmake
@@ -4,6 +4,10 @@
# ARPACK_FOUND - system has ARPACK
# ARPACK_LIBRARY - Link this to use ARPACK
+if(CMAKE_DISABLE_FIND_PACKAGE_ARPACK)
+ set(ARPACK_FOUND NO)
+ return()
+endif()
find_library(ARPACK_LIBRARY
NAMES arpack
diff --git a/cmake_aux/Modules/ARMA_FindATLAS.cmake b/cmake_aux/Modules/ARMA_FindATLAS.cmake
index 491a361..e40a0ff 100644
--- a/cmake_aux/Modules/ARMA_FindATLAS.cmake
+++ b/cmake_aux/Modules/ARMA_FindATLAS.cmake
@@ -1,3 +1,8 @@
+if(CMAKE_DISABLE_FIND_PACKAGE_ATLAS)
+ set(ATLAS_FOUND NO)
+ return()
+endif()
+
find_path(ATLAS_CBLAS_INCLUDE_DIR
NAMES cblas.h
PATHS /usr/include/atlas/ /usr/include/ /usr/local/include/atlas/ /usr/local/include/
diff --git a/cmake_aux/Modules/ARMA_FindMKL.cmake b/cmake_aux/Modules/ARMA_FindMKL.cmake
index 0fd5b06..d6bcd49 100644
--- a/cmake_aux/Modules/ARMA_FindMKL.cmake
+++ b/cmake_aux/Modules/ARMA_FindMKL.cmake
@@ -6,6 +6,11 @@
## the link below explains why we're linking only with mkl_rt
## https://software.intel.com/en-us/articles/a-new-linking-model-single-dynamic-library-mkl_rt-since-intel-mkl-103
+if(CMAKE_DISABLE_FIND_PACKAGE_MKL)
+ set(MKL_FOUND NO)
+ return()
+endif()
+
set(MKL_NAMES ${MKL_NAMES} mkl_rt)
#set(MKL_NAMES ${MKL_NAMES} mkl_lapack)
#set(MKL_NAMES ${MKL_NAMES} mkl_intel_thread)
diff --git a/cmake_aux/Modules/ARMA_FindSuperLU5.cmake b/cmake_aux/Modules/ARMA_FindSuperLU5.cmake
index abf046d..e496cb0 100644
--- a/cmake_aux/Modules/ARMA_FindSuperLU5.cmake
+++ b/cmake_aux/Modules/ARMA_FindSuperLU5.cmake
@@ -5,6 +5,11 @@
# SuperLU_LIBRARY - Link this to use SuperLU
# SuperLU_INCLUDE_DIR - directory of SuperLU headers
+if(CMAKE_DISABLE_FIND_PACKAGE_SuperLU)
+ set(SuperLU_FOUND OFF)
+ return()
+endif()
+
find_path(SuperLU_INCLUDE_DIR slu_ddefs.h
/usr/include/superlu/
/usr/include/SuperLU/

View File

@ -1,5 +1,3 @@
include(vcpkg_common_functions)
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_gitlab(
@ -11,7 +9,8 @@ vcpkg_from_gitlab(
HEAD_REF 9.400.x
PATCHES
remove_custom_modules.patch
fix-CMakePath.patch
fix-CMakePath.patch
add-disable-find-package.patch
)
file(REMOVE ${SOURCE_PATH}/cmake_aux/Modules/ARMA_FindBLAS.cmake)
@ -24,6 +23,12 @@ vcpkg_configure_cmake(
PREFER_NINJA
OPTIONS
-DDETECT_HDF5=false
-DCMAKE_DISABLE_FIND_PACKAGE_SuperLU=ON
-DCMAKE_DISABLE_FIND_PACKAGE_ACML=ON
-DCMAKE_DISABLE_FIND_PACKAGE_ACMLMP=ON
-DCMAKE_DISABLE_FIND_PACKAGE_ARPACK=ON
-DCMAKE_DISABLE_FIND_PACKAGE_ATLAS=ON
-DCMAKE_DISABLE_FIND_PACKAGE_MKL=ON
)
vcpkg_install_cmake()

View File

@ -1081,8 +1081,6 @@ miniupnpc:arm-uwp=fail
miniupnpc:x64-uwp=fail
minizip:arm-uwp=fail
minizip:x64-uwp=fail
mlpack:x64-linux=ignore
mlpack:x64-osx=ignore
mman:x64-linux=fail
mman:x64-osx=fail
# mmx installs many problematic headers, such as `json.h` and `sched.h`