aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>2020-05-01 01:05:06 +0800
committerGitHub <noreply@github.com>2020-04-30 10:05:06 -0700
commit695d2a8a4de7a4065edc514508795d83b5dd4eb3 (patch)
tree41a6ee1c938d91b053af3ed5d334cd325f306be7
parent2e33b93e276002bba6db5667828ce57f7fe7d7c7 (diff)
downloadvcpkg-695d2a8a4de7a4065edc514508795d83b5dd4eb3.tar.gz
vcpkg-695d2a8a4de7a4065edc514508795d83b5dd4eb3.zip
[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>
-rw-r--r--ports/armadillo/CONTROL2
-rw-r--r--ports/armadillo/add-disable-find-package.patch92
-rw-r--r--ports/armadillo/portfile.cmake11
-rw-r--r--scripts/ci.baseline.txt2
4 files changed, 101 insertions, 6 deletions
diff --git a/ports/armadillo/CONTROL b/ports/armadillo/CONTROL
index 41b52bea7..463b8e670 100644
--- a/ports/armadillo/CONTROL
+++ b/ports/armadillo/CONTROL
@@ -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)
diff --git a/ports/armadillo/add-disable-find-package.patch b/ports/armadillo/add-disable-find-package.patch
new file mode 100644
index 000000000..65197e202
--- /dev/null
+++ b/ports/armadillo/add-disable-find-package.patch
@@ -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/
diff --git a/ports/armadillo/portfile.cmake b/ports/armadillo/portfile.cmake
index 512aa813e..586864495 100644
--- a/ports/armadillo/portfile.cmake
+++ b/ports/armadillo/portfile.cmake
@@ -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()
diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt
index e80c4d118..ed44356d7 100644
--- a/scripts/ci.baseline.txt
+++ b/scripts/ci.baseline.txt
@@ -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`