aboutsummaryrefslogtreecommitdiff
path: root/ports/clapack
diff options
context:
space:
mode:
authorStefano Sinigardi <stesinigardi@hotmail.com>2019-06-01 00:48:17 +0200
committerVictor Romero <romerosanchezv@gmail.com>2019-05-31 15:48:17 -0700
commit5898891125b00a3ec2b698bc496735ab997669f5 (patch)
treeea6f52bc69dec26f7c88d6766234a7c507607a06 /ports/clapack
parent26a9338c5055193915290527eacb37f2ac7fdcb8 (diff)
downloadvcpkg-5898891125b00a3ec2b698bc496735ab997669f5.tar.gz
vcpkg-5898891125b00a3ec2b698bc496735ab997669f5.zip
[openexr,openimageio,suitesparse,theia] updates for non-win32 (#6371)
* [openexr,openimageio,suitesparse,theia] updates for non-win32 * [theia] use only valid cmake symbols * [suitesparse] Fix build * [lapack] still not properly integrating with other ports * [lapack] intercept cmake module calls and substitute them with our defs * [suitesparse,clapack] fixes for proper integration * [ceres,clapack] bump CONTROL * [suitesparse] remove unnecessary defs * [clapack] improve wrapper logic * [WIN32] remove wrong symbol * [clapack] fix wrapper integration * [Accelerate] use best framework when available * [clapack] separate config from wrapper * [clapack] fix paths and filenames * [mlpack,armadillo,clapack] improve library handling * [mlpack] remove unnecessary cmake option * [clp,coinutils,osi,liblemon] dependencies of openmvg, improve compatibility with non-win32 * [openmvg] fix for case-sensitive filesystems * [clp,coinutils,osi] simplify CMakeLists removing many unnecessary steps * [sophus] Force rebuild * [theia] fixes for linux, part1 * [io2d] remove broken sintax * [fontconfig] bump version to remove CI cached failure * [theia] fixes for linux, part2 * [theia] remove unnecessary empty folders and comments from portfile * [theia] use correct build type removing forced vars in cmakelists.txt * [openmvg] add missing suitesparse target detection * [sophus] fix Suitesparse dependency * [sophus,openmvg] use suitesparse lowercase for module compatibility on case-sensitive filesystems * [suitesparse] fixes for case-sensitive filesystems * [openmvg] use correct Eigen3 name for case-sensitive filesystems * [sophus] trigger rebuild * [shogun] use modern vcpkg style * [shogun] add missing cmake system processor symbol
Diffstat (limited to 'ports/clapack')
-rw-r--r--ports/clapack/CONTROL2
-rw-r--r--ports/clapack/FindLAPACK.cmake198
-rw-r--r--ports/clapack/fix-lack-library.patch18
-rw-r--r--ports/clapack/fix-linux-build.patch46
-rw-r--r--ports/clapack/lapack.def1453
-rw-r--r--ports/clapack/link-to-math-lib.patch12
-rw-r--r--ports/clapack/openblas_linux.patch12
-rw-r--r--ports/clapack/portfile.cmake48
-rw-r--r--ports/clapack/remove_internal_blas.patch84
-rw-r--r--ports/clapack/use-other-blas-and-install-include.patch103
-rw-r--r--ports/clapack/vcpkg-cmake-wrapper.cmake4
11 files changed, 322 insertions, 1658 deletions
diff --git a/ports/clapack/CONTROL b/ports/clapack/CONTROL
index 1a862a113..9cdebdf74 100644
--- a/ports/clapack/CONTROL
+++ b/ports/clapack/CONTROL
@@ -1,4 +1,4 @@
Source: clapack
-Version: 3.2.1-4
+Version: 3.2.1-6
Description: CLAPACK (f2c'ed version of LAPACK)
Build-Depends: openblas (!osx)
diff --git a/ports/clapack/FindLAPACK.cmake b/ports/clapack/FindLAPACK.cmake
new file mode 100644
index 000000000..dfbf2c73e
--- /dev/null
+++ b/ports/clapack/FindLAPACK.cmake
@@ -0,0 +1,198 @@
+#.rst:
+# clapack config for vcpkg
+# ------------
+#
+# Find the clapack includes and library.
+#
+# Result Variables
+# ^^^^^^^^^^^^^^^^
+#
+# This script defines the following variables:
+#
+# ``CLAPACK_FOUND``
+# True if clapack library found
+#
+# ``CLAPACK_VERSION``
+# Containing the clapack version tag (manually defined)
+#
+# ``CLAPACK_INCLUDE_DIR``
+# Location of clapack headers
+#
+# ``CLAPACK_LIBRARY``
+# List of libraries to link with when using clapack
+#
+# Result Targets
+# ^^^^^^^^^^^^^^
+#
+# This script defines the following targets:
+#
+# ``clapack::clapack``
+# Target to use clapack
+#
+# Compatibility Variables
+# ^^^^^^^^^^^^^^^^^^^^^^^
+#
+# This script defines the following variables for compatibility reasons:
+#
+# ``F2C_FOUND``
+# True if f2c (fortran-to-c wrap layer) library found
+#
+# ``F2C_INCLUDE_DIR``
+# Location of clapack headers
+#
+# ``F2C_LIBRARY``
+# Library containing the fortran-to-c wrap layer, necessary for clapack and automatically included when used
+#
+# ``LAPACK_FOUND``
+# True if clapack library found
+#
+# ``LAPACK_VERSION``
+# Containing the clapack version tag (manually defined)
+#
+# ``LAPACK_INCLUDE_DIR``
+# Location of clapack headers
+#
+# ``LAPACK_LIBRARY``
+# List of libraries to link with when using clapack
+#
+# Compatibility Targets
+# ^^^^^^^^^^^^^^
+#
+# This script defines the following targets for compatibility reasons:
+#
+# ``lapack``
+# Target to use lapack
+
+include(${CMAKE_ROOT}/Modules/SelectLibraryConfigurations.cmake)
+include(${CMAKE_ROOT}/Modules/CheckSymbolExists.cmake)
+include(${CMAKE_ROOT}/Modules/FindPackageHandleStandardArgs.cmake)
+
+set(CLAPACK_VERSION "3.2.1")
+
+if(UNIX)
+ find_library(ADDITIONAL_LAPACK_LIBRARY m)
+endif()
+
+if(NOT F2C_LIBRARY)
+ find_library(F2C_LIBRARY_RELEASE NAMES f2c libf2c)
+ find_library(F2C_LIBRARY_DEBUG NAMES f2cd libf2cd)
+ list(APPEND F2C_LIBRARY_RELEASE ${ADDITIONAL_LAPACK_LIBRARY})
+ list(APPEND F2C_LIBRARY_DEBUG ${ADDITIONAL_LAPACK_LIBRARY})
+ select_library_configurations(F2C)
+endif()
+
+find_package(BLAS)
+
+if(NOT LAPACK_LIBRARY)
+ find_library(LAPACK_LIBRARY_RELEASE NAMES lapack)
+ find_library(LAPACK_LIBRARY_DEBUG NAMES lapackd)
+ list(APPEND LAPACK_LIBRARY_RELEASE ${F2C_LIBRARY_RELEASE})
+ list(APPEND LAPACK_LIBRARY_DEBUG ${F2C_LIBRARY_DEBUG})
+ select_library_configurations(LAPACK)
+endif()
+
+list(APPEND LAPACK_LIBRARY ${BLAS_LIBRARIES})
+
+set(F2C_LIBRARIES "${F2C_LIBRARY}" CACHE STRING "" FORCE)
+set(LAPACK_VERSION "${CLAPACK_VERSION}" CACHE STRING "" FORCE)
+set(LAPACK_LIBRARIES "${LAPACK_LIBRARY}" CACHE STRING "" FORCE)
+set(CLAPACK_LIBRARY "${LAPACK_LIBRARY}" CACHE STRING "" FORCE)
+set(CLAPACK_LIBRARIES "${LAPACK_LIBRARY}" CACHE STRING "" FORCE)
+
+if(NOT F2C_INCLUDE_DIR)
+ find_path(F2C_INCLUDE_DIR NAMES f2c.h)
+endif()
+
+if(NOT LAPACK_INCLUDE_DIR)
+ find_path(LAPACK_INCLUDE_DIR NAMES clapack.h)
+endif()
+
+list(APPEND LAPACK_INCLUDE_DIR ${F2C_INCLUDE_DIR})
+set(LAPACK_INCLUDE_DIRS "${LAPACK_INCLUDE_DIR}" CACHE PATH "" FORCE)
+set(CLAPACK_INCLUDE_DIR "${LAPACK_INCLUDE_DIR}" CACHE PATH "" FORCE)
+set(CLAPACK_INCLUDE_DIRS "${LAPACK_INCLUDE_DIR}" CACHE PATH "" FORCE)
+set(F2C_INCLUDE_DIRS "${F2C_INCLUDE_DIR}" CACHE PATH "" FORCE)
+
+if(WIN32)
+ string( REPLACE ".lib" ".dll" LAPACK_LIBRARY_RELEASE_DLL "${LAPACK_LIBRARY_RELEASE}" )
+ string( REPLACE ".lib" ".dll" LAPACK_LIBRARY_DEBUG_DLL "${LAPACK_LIBRARY_DEBUG}" )
+ string( REPLACE ".lib" ".dll" F2C_LIBRARY_RELEASE_DLL "${F2C_LIBRARY_RELEASE}" )
+ string( REPLACE ".lib" ".dll" F2C_LIBRARY_DEBUG_DLL "${F2C_LIBRARY_DEBUG}" )
+endif()
+
+find_package_handle_standard_args(CLAPACK DEFAULT_MSG CLAPACK_LIBRARY CLAPACK_INCLUDE_DIR)
+mark_as_advanced(CLAPACK_INCLUDE_DIR CLAPACK_LIBRARY)
+
+find_package_handle_standard_args(LAPACK DEFAULT_MSG LAPACK_LIBRARY LAPACK_INCLUDE_DIR)
+mark_as_advanced(LAPACK_INCLUDE_DIR LAPACK_LIBRARY)
+
+find_package_handle_standard_args(F2C DEFAULT_MSG F2C_LIBRARY F2C_INCLUDE_DIR)
+mark_as_advanced(F2C_INCLUDE_DIR F2C_LIBRARY)
+
+#TARGETS
+if( CLAPACK_FOUND AND NOT TARGET clapack::clapack )
+ if( EXISTS "${LAPACK_LIBRARY_RELEASE_DLL}" )
+ add_library( clapack::clapack SHARED IMPORTED )
+ set_target_properties( clapack::clapack PROPERTIES
+ IMPORTED_LOCATION_RELEASE "${LAPACK_LIBRARY_RELEASE_DLL}"
+ IMPORTED_IMPLIB "${LAPACK_LIBRARY_RELEASE}"
+ INTERFACE_INCLUDE_DIRECTORIES "${LAPACK_INCLUDE_DIR}"
+ IMPORTED_CONFIGURATIONS Release
+ IMPORTED_LINK_INTERFACE_LANGUAGES "C" )
+ if( EXISTS "${LAPACK_LIBRARY_DEBUG_DLL}" )
+ set_property( TARGET clapack::clapack APPEND PROPERTY IMPORTED_CONFIGURATIONS Debug )
+ set_target_properties( clapack::clapack PROPERTIES
+ IMPORTED_LOCATION_DEBUG "${LAPACK_LIBRARY_DEBUG_DLL}"
+ IMPORTED_IMPLIB_DEBUG "${LAPACK_LIBRARY_DEBUG}" )
+ endif()
+ else()
+ add_library( clapack::clapack UNKNOWN IMPORTED )
+ set_target_properties( clapack::clapack PROPERTIES
+ IMPORTED_LOCATION_RELEASE "${LAPACK_LIBRARY_RELEASE}"
+ INTERFACE_INCLUDE_DIRECTORIES "${LAPACK_INCLUDE_DIR}"
+ IMPORTED_CONFIGURATIONS Release
+ IMPORTED_LINK_INTERFACE_LANGUAGES "C" )
+ if( EXISTS "${LAPACK_LIBRARY_DEBUG}" )
+ set_property( TARGET clapack::clapack APPEND PROPERTY IMPORTED_CONFIGURATIONS Debug )
+ set_target_properties( clapack::clapack PROPERTIES
+ IMPORTED_LOCATION_DEBUG "${LAPACK_LIBRARY_DEBUG}" )
+ endif()
+ endif()
+endif()
+
+if( CLAPACK_FOUND AND NOT TARGET lapack )
+ if( EXISTS "${LAPACK_LIBRARY_RELEASE_DLL}" )
+ add_library( lapack SHARED IMPORTED )
+ set_target_properties( lapack PROPERTIES
+ IMPORTED_LOCATION_RELEASE "${LAPACK_LIBRARY_RELEASE_DLL}"
+ IMPORTED_IMPLIB "${LAPACK_LIBRARY_RELEASE}"
+ INTERFACE_INCLUDE_DIRECTORIES "${LAPACK_INCLUDE_DIR}"
+ IMPORTED_CONFIGURATIONS Release
+ IMPORTED_LINK_INTERFACE_LANGUAGES "C" )
+ if( EXISTS "${LAPACK_LIBRARY_DEBUG_DLL}" )
+ set_property( TARGET lapack APPEND PROPERTY IMPORTED_CONFIGURATIONS Debug )
+ set_target_properties( lapack PROPERTIES
+ IMPORTED_LOCATION_DEBUG "${LAPACK_LIBRARY_DEBUG_DLL}"
+ IMPORTED_IMPLIB_DEBUG "${LAPACK_LIBRARY_DEBUG}" )
+ endif()
+ else()
+ add_library( lapack UNKNOWN IMPORTED )
+ set_target_properties( lapack PROPERTIES
+ IMPORTED_LOCATION_RELEASE "${LAPACK_LIBRARY_RELEASE}"
+ INTERFACE_INCLUDE_DIRECTORIES "${LAPACK_INCLUDE_DIR}"
+ IMPORTED_CONFIGURATIONS Release
+ IMPORTED_LINK_INTERFACE_LANGUAGES "C" )
+ if( EXISTS "${LAPACK_LIBRARY_DEBUG}" )
+ set_property( TARGET lapack APPEND PROPERTY IMPORTED_CONFIGURATIONS Debug )
+ set_target_properties( lapack PROPERTIES
+ IMPORTED_LOCATION_DEBUG "${LAPACK_LIBRARY_DEBUG}" )
+ endif()
+ endif()
+endif()
+
+set(LAPACK_LIBRARY "${LAPACK_LIBRARY}" CACHE STRING "" FORCE)
+set(F2C_LIBRARY "${F2C_LIBRARY}" CACHE STRING "" FORCE)
+set(LAPACK_LIBRARY_RELEASE "${LAPACK_LIBRARY_RELEASE}" CACHE STRING "" FORCE)
+set(LAPACK_LIBRARY_DEBUG "${LAPACK_LIBRARY_DEBUG}" CACHE STRING "" FORCE)
+set(F2C_LIBRARY_RELEASE "${F2C_LIBRARY_RELEASE}" CACHE STRING "" FORCE)
+set(F2C_LIBRARY_DEBUG "${F2C_LIBRARY_DEBUG}" CACHE STRING "" FORCE)
diff --git a/ports/clapack/fix-lack-library.patch b/ports/clapack/fix-lack-library.patch
deleted file mode 100644
index 8e9bd5178..000000000
--- a/ports/clapack/fix-lack-library.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff --git a/F2CLIBS/libf2c/CMakeLists.txt b/F2CLIBS/libf2c/CMakeLists.txt
-index ca1473f..fa54e94 100644
---- a/F2CLIBS/libf2c/CMakeLists.txt
-+++ b/F2CLIBS/libf2c/CMakeLists.txt
-@@ -63,3 +63,13 @@ if(UNIX)
- target_link_libraries(f2c m)
- endif()
- set_property(TARGET f2c PROPERTY PREFIX lib)
-+install(TARGETS f2c
-+ RUNTIME DESTINATION bin
-+ LIBRARY DESTINATION lib
-+ ARCHIVE DESTINATION lib)
-+
-+install(TARGETS arithchk
-+ RUNTIME DESTINATION tools
-+ LIBRARY DESTINATION lib
-+ ARCHIVE DESTINATION lib)
-+
diff --git a/ports/clapack/fix-linux-build.patch b/ports/clapack/fix-linux-build.patch
deleted file mode 100644
index 230fa9bf6..000000000
--- a/ports/clapack/fix-linux-build.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 8c53def..9e0e398 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -1,10 +1,10 @@
- cmake_minimum_required(VERSION 2.6)
- project(CLAPACK C)
--enable_testing()
-+#enable_testing()
- include(CTest)
-
- # BLAS_LIBRARIES
--find_package(BLAS REQUIRED)
-+find_package(OpenBLAS REQUIRED)
-
- if(WIN32 AND NOT CYGWIN)
- set(SECOND_SRC ${CLAPACK_SOURCE_DIR}/INSTALL/winsecond.c)
-@@ -14,7 +14,7 @@ else()
- set(SECOND_SRC ${CLAPACK_SOURCE_DIR}/INSTALL/second.c)
- set(DSECOND_SRC ${CLAPACK_SOURCE_DIR}/INSTALL/dsecnd.c)
- endif()
--enable_testing()
-+#enable_testing()
- option(USE_BLAS_WRAP "pre-pend f2c_ to each function in blas" OFF)
- if(NOT USE_BLAS_WRAP)
- # _zrotg_ seems to be missing in the wrap header
-@@ -25,7 +25,7 @@ add_subdirectory(F2CLIBS)
-
- # add_subdirectory(BLAS)
- add_subdirectory(SRC)
--add_subdirectory(TESTING)
-+#add_subdirectory(TESTING)
- set(CLAPACK_VERSION 3.2.1)
- set(CPACK_PACKAGE_VERSION_MAJOR 3)
- set(CPACK_PACKAGE_VERSION_MINOR 2)
-@@ -38,6 +38,6 @@ include(CPack)
- # ${CLAPACK_BINARY_DIR}/clapack-config.cmake @ONLY)
-
- install(FILES
-- ${CMAKE_CURRENT_LIST_DIR}/include/clapack.h
-- ${CMAKE_CURRENT_LIST_DIR}/include/f2c.h
-- DESTINATION include)
-\ No newline at end of file
-+ ${CMAKE_CURRENT_LIST_DIR}/INCLUDE/clapack.h
-+ ${CMAKE_CURRENT_LIST_DIR}/INCLUDE/f2c.h
-+ DESTINATION include)
diff --git a/ports/clapack/lapack.def b/ports/clapack/lapack.def
deleted file mode 100644
index e2070d99b..000000000
--- a/ports/clapack/lapack.def
+++ /dev/null
@@ -1,1453 +0,0 @@
-EXPORTS
-sgbbrd_
-sgbcon_
-sgbequ_
-sgbrfs_
-sgbsv_
-sgbsvx_
-sgbtf2_
-sgbtrf_
-sgbtrs_
-sgebak_
-sgebal_
-sgebd2_
-sgebrd_
-sgecon_
-sgeequ_
-sgees_
-sgeesx_
-sgeev_
-sgeevx_
-sgegs_
-sgegv_
-sgehd2_
-sgehrd_
-sgelq2_
-sgelqf_
-sgels_
-sgelsd_
-sgelss_
-sgelsx_
-sgelsy_
-sgeql2_
-sgeqlf_
-sgeqp3_
-sgeqpf_
-sgeqr2_
-sgeqrf_
-sgerfs_
-sgerq2_
-sgerqf_
-sgesc2_
-sgesdd_
-sgesv_
-sgesvd_
-sgesvx_
-sgetc2_
-sgetf2_
-sgetrf_
-sgetri_
-sgetrs_
-sggbak_
-sggbal_
-sgges_
-sggesx_
-sggev_
-sggevx_
-sggglm_
-sgghrd_
-sgglse_
-sggqrf_
-sggrqf_
-sggsvd_
-sggsvp_
-sgtcon_
-sgtrfs_
-sgtsv_
-sgtsvx_
-sgttrf_
-sgttrs_
-sgtts2_
-shgeqz_
-shsein_
-shseqr_
-slabrd_
-slacon_
-slacn2_
-slaein_
-slaexc_
-slag2_
-slags2_
-slagtm_
-slagv2_
-slahqr_
-slahrd_
-slahr2_
-slaic1_
-slaln2_
-slals0_
-slalsa_
-slalsd_
-slangb_
-slange_
-slangt_
-slanhs_
-slansb_
-slansp_
-slansy_
-slantb_
-slantp_
-slantr_
-slanv2_
-slapll_
-slapmt_
-slaqgb_
-slaqge_
-slaqp2_
-slaqps_
-slaqsb_
-slaqsp_
-slaqsy_
-slaqr0_
-slaqr1_
-slaqr2_
-slaqr3_
-slaqr4_
-slaqr5_
-slaqtr_
-slar1v_
-slar2v_
-ilaslr_
-ilaslc_
-slarf_
-slarfb_
-slarfg_
-slarft_
-slarfx_
-slargv_
-slarrv_
-slartv_
-slarfp_
-slarz_
-slarzb_
-slarzt_
-slaswp_
-slasy2_
-slasyf_
-slatbs_
-slatdf_
-slatps_
-slatrd_
-slatrs_
-slatrz_
-slatzm_
-slauu2_
-slauum_
-sopgtr_
-sopmtr_
-sorg2l_
-sorg2r_
-sorgbr_
-sorghr_
-sorgl2_
-sorglq_
-sorgql_
-sorgqr_
-sorgr2_
-sorgrq_
-sorgtr_
-sorm2l_
-sorm2r_
-sormbr_
-sormhr_
-sorml2_
-sormlq_
-sormql_
-sormqr_
-sormr2_
-sormr3_
-sormrq_
-sormrz_
-sormtr_
-spbcon_
-spbequ_
-spbrfs_
-spbstf_
-spbsv_
-spbsvx_
-spbtf2_
-spbtrf_
-spbtrs_
-spocon_
-spoequ_
-sporfs_
-sposv_
-sposvx_
-spotf2_
-spotrf_
-spotri_
-spotrs_
-spstrf_
-spstf2_
-sppcon_
-sppequ_
-spprfs_
-sppsv_
-sppsvx_
-spptrf_
-spptri_
-spptrs_
-sptcon_
-spteqr_
-sptrfs_
-sptsv_
-sptsvx_
-spttrs_
-sptts2_
-srscl_
-ssbev_
-ssbevd_
-ssbevx_
-ssbgst_
-ssbgv_
-ssbgvd_
-ssbgvx_
-ssbtrd_
-sspcon_
-sspev_
-sspevd_
-sspevx_
-sspgst_
-sspgv_
-sspgvd_
-sspgvx_
-ssprfs_
-sspsv_
-sspsvx_
-ssptrd_
-ssptrf_
-ssptri_
-ssptrs_
-sstegr_
-sstein_
-sstev_
-sstevd_
-sstevr_
-sstevx_
-ssycon_
-ssyev_
-ssyevd_
-ssyevr_
-ssyevx_
-ssygs2_
-ssygst_
-ssygv_
-ssygvd_
-ssygvx_
-ssyrfs_
-ssysv_
-ssysvx_
-ssytd2_
-ssytf2_
-ssytrd_
-ssytrf_
-ssytri_
-ssytrs_
-stbcon_
-stbrfs_
-stbtrs_
-stgevc_
-stgex2_
-stgexc_
-stgsen_
-stgsja_
-stgsna_
-stgsy2_
-stgsyl_
-stpcon_
-stprfs_
-stptri_
-stptrs_
-strcon_
-strevc_
-strexc_
-strrfs_
-strsen_
-strsna_
-strsyl_
-strti2_
-strtri_
-strtrs_
-stzrqf_
-stzrzf_
-sstemr_
-slansf_
-spftrf_
-spftri_
-spftrs_
-ssfrk_
-stfsm_
-stftri_
-stfttp_
-stfttr_
-stpttf_
-stpttr_
-strttf_
-strttp_
-sgejsv_
-sgesvj_
-sgsvj0_
-sgsvj1_
-sgeequb_
-ssyequb_
-spoequb_
-sgbequb_
-dgbbrd_
-dgbcon_
-dgbequ_
-dgbrfs_
-dgbsv_
-dgbsvx_
-dgbtf2_
-dgbtrf_
-dgbtrs_
-dgebak_
-dgebal_
-dgebd2_
-dgebrd_
-dgecon_
-dgeequ_
-dgees_
-dgeesx_
-dgeev_
-dgeevx_
-dgegs_
-dgegv_
-dgehd2_
-dgehrd_
-dgelq2_
-dgelqf_
-dgels_
-dgelsd_
-dgelss_
-dgelsx_
-dgelsy_
-dgeql2_
-dgeqlf_
-dgeqp3_
-dgeqpf_
-dgeqr2_
-dgeqrf_
-dgerfs_
-dgerq2_
-dgerqf_
-dgesc2_
-dgesdd_
-dgesv_
-dgesvd_
-dgesvx_
-dgetc2_
-dgetf2_
-dgetrf_
-dgetri_
-dgetrs_
-dggbak_
-dggbal_
-dgges_
-dggesx_
-dggev_
-dggevx_
-dggglm_
-dgghrd_
-dgglse_
-dggqrf_
-dggrqf_
-dggsvd_
-dggsvp_
-dgtcon_
-dgtrfs_
-dgtsv_
-dgtsvx_
-dgttrf_
-dgttrs_
-dgtts2_
-dhgeqz_
-dhsein_
-dhseqr_
-dlabrd_
-dlacon_
-dlacn2_
-dlaein_
-dlaexc_
-dlag2_
-dlags2_
-dlagtm_
-dlagv2_
-dlahqr_
-dlahrd_
-dlahr2_
-dlaic1_
-dlaln2_
-dlals0_
-dlalsa_
-dlalsd_
-dlangb_
-dlange_
-dlangt_
-dlanhs_
-dlansb_
-dlansp_
-dlansy_
-dlantb_
-dlantp_
-dlantr_
-dlanv2_
-dlapll_
-dlapmt_
-dlaqgb_
-dlaqge_
-dlaqp2_
-dlaqps_
-dlaqsb_
-dlaqsp_
-dlaqsy_
-dlaqr0_
-dlaqr1_
-dlaqr2_
-dlaqr3_
-dlaqr4_
-dlaqr5_
-dlaqtr_
-dlar1v_
-dlar2v_
-iladlr_
-iladlc_
-dlarf_
-dlarfb_
-dlarfg_
-dlarft_
-dlarfx_
-dlargv_
-dlarrv_
-dlartv_
-dlarfp_
-dlarz_
-dlarzb_
-dlarzt_
-dlaswp_
-dlasy2_
-dlasyf_
-dlatbs_
-dlatdf_
-dlatps_
-dlatrd_
-dlatrs_
-dlatrz_
-dlatzm_
-dlauu2_
-dlauum_
-dopgtr_
-dopmtr_
-dorg2l_
-dorg2r_
-dorgbr_
-dorghr_
-dorgl2_
-dorglq_
-dorgql_
-dorgqr_
-dorgr2_
-dorgrq_
-dorgtr_
-dorm2l_
-dorm2r_
-dormbr_
-dormhr_
-dorml2_
-dormlq_
-dormql_
-dormqr_
-dormr2_
-dormr3_
-dormrq_
-dormrz_
-dormtr_
-dpbcon_
-dpbequ_
-dpbrfs_
-dpbstf_
-dpbsv_
-dpbsvx_
-dpbtf2_
-dpbtrf_
-dpbtrs_
-dpocon_
-dpoequ_
-dporfs_
-dposv_
-dposvx_
-dpotf2_
-dpotrf_
-dpotri_
-dpotrs_
-dpstrf_
-dpstf2_
-dppcon_
-dppequ_
-dpprfs_
-dppsv_
-dppsvx_
-dpptrf_
-dpptri_
-dpptrs_
-dptcon_
-dpteqr_
-dptrfs_
-dptsv_
-dptsvx_
-dpttrs_
-dptts2_
-drscl_
-dsbev_
-dsbevd_
-dsbevx_
-dsbgst_
-dsbgv_
-dsbgvd_
-dsbgvx_
-dsbtrd_
-dspcon_
-dspev_
-dspevd_
-dspevx_
-dspgst_
-dspgv_
-dspgvd_
-dspgvx_
-dsprfs_
-dspsv_
-dspsvx_
-dsptrd_
-dsptrf_
-dsptri_
-dsptrs_
-dstegr_
-dstein_
-dstev_
-dstevd_
-dstevr_
-dstevx_
-dsycon_
-dsyev_
-dsyevd_
-dsyevr_
-dsyevx_
-dsygs2_
-dsygst_
-dsygv_
-dsygvd_
-dsygvx_
-dsyrfs_
-dsysv_
-dsysvx_
-dsytd2_
-dsytf2_
-dsytrd_
-dsytrf_
-dsytri_
-dsytrs_
-dtbcon_
-dtbrfs_
-dtbtrs_
-dtgevc_
-dtgex2_
-dtgexc_
-dtgsen_
-dtgsja_
-dtgsna_
-dtgsy2_
-dtgsyl_
-dtpcon_
-dtprfs_
-dtptri_
-dtptrs_
-dtrcon_
-dtrevc_
-dtrexc_
-dtrrfs_
-dtrsen_
-dtrsna_
-dtrsyl_
-dtrti2_
-dtrtri_
-dtrtrs_
-dtzrqf_
-dtzrzf_
-dstemr_
-dsgesv_
-dsposv_
-dlag2s_
-slag2d_
-dlat2s_
-dlansf_
-dpftrf_
-dpftri_
-dpftrs_
-dsfrk_
-dtfsm_
-dtftri_
-dtfttp_
-dtfttr_
-dtpttf_
-dtpttr_
-dtrttf_
-dtrttp_
-dgejsv_
-dgesvj_
-dgsvj0_
-dgsvj1_
-dgeequb_
-dsyequb_
-dpoequb_
-dgbequb_
-cbdsqr_
-cgbbrd_
-cgbcon_
-cgbequ_
-cgbrfs_
-cgbsv_
-cgbsvx_
-cgbtf2_
-cgbtrf_
-cgbtrs_
-cgebak_
-cgebal_
-cgebd2_
-cgebrd_
-cgecon_
-cgeequ_
-cgees_
-cgeesx_
-cgeev_
-cgeevx_
-cgegs_
-cgegv_
-cgehd2_
-cgehrd_
-cgelq2_
-cgelqf_
-cgels_
-cgelsd_
-cgelss_
-cgelsx_
-cgelsy_
-cgeql2_
-cgeqlf_
-cgeqp3_
-cgeqpf_
-cgeqr2_
-cgeqrf_
-cgerfs_
-cgerq2_
-cgerqf_
-cgesc2_
-cgesdd_
-cgesv_
-cgesvd_
-cgesvx_
-cgetc2_
-cgetf2_
-cgetrf_
-cgetri_
-cgetrs_
-cggbak_
-cggbal_
-cgges_
-cggesx_
-cggev_
-cggevx_
-cggglm_
-cgghrd_
-cgglse_
-cggqrf_
-cggrqf_
-cggsvd_
-cggsvp_
-cgtcon_
-cgtrfs_
-cgtsv_
-cgtsvx_
-cgttrf_
-cgttrs_
-cgtts2_
-chbev_
-chbevd_
-chbevx_
-chbgst_
-chbgv_
-chbgvd_
-chbgvx_
-chbtrd_
-checon_
-cheev_
-cheevd_
-cheevr_
-cheevx_
-chegs2_
-chegst_
-chegv_
-chegvd_
-chegvx_
-cherfs_
-chesv_
-chesvx_
-chetd2_
-chetf2_
-chetrd_
-chetrf_
-chetri_
-chetrs_
-chgeqz_
-chpcon_
-chpev_
-chpevd_
-chpevx_
-chpgst_
-chpgv_
-chpgvd_
-chpgvx_
-chprfs_
-chpsv_
-chpsvx_
-chptrd_
-chptrf_
-chptri_
-chptrs_
-chsein_
-chseqr_
-clabrd_
-clacgv_
-clacon_
-clacn2_
-clacp2_
-clacpy_
-clacrm_
-clacrt_
-cladiv_
-claed0_
-claed7_
-claed8_
-claein_
-claesy_
-claev2_
-clags2_
-clagtm_
-clahef_
-clahqr_
-clahrd_
-clahr2_
-claic1_
-clals0_
-clalsa_
-clalsd_
-clangb_
-clange_
-clangt_
-clanhb_
-clanhe_
-clanhp_
-clanhs_
-clanht_
-clansb_
-clansp_
-clansy_
-clantb_
-clantp_
-clantr_
-clapll_
-clapmt_
-clarcm_
-claqgb_
-claqge_
-claqhb_
-claqhe_
-claqhp_
-claqp2_
-claqps_
-claqsb_
-claqr0_
-claqr1_
-claqr2_
-claqr3_
-claqr4_
-claqr5_
-claqsp_
-claqsy_
-clar1v_
-clar2v_
-ilaclr_
-ilaclc_
-clarf_
-clarfb_
-clarfg_
-clarft_
-clarfp_
-clarfx_
-clargv_
-clarnv_
-clarrv_
-clartg_
-clartv_
-clarz_
-clarzb_
-clarzt_
-clascl_
-claset_
-clasr_
-classq_
-claswp_
-clasyf_
-clatbs_
-clatdf_
-clatps_
-clatrd_
-clatrs_
-clatrz_
-clatzm_
-clauu2_
-clauum_
-cpbcon_
-cpbequ_
-cpbrfs_
-cpbstf_
-cpbsv_
-cpbsvx_
-cpbtf2_
-cpbtrf_
-cpbtrs_
-cpocon_
-cpoequ_
-cporfs_
-cposv_
-cposvx_
-cpotf2_
-cpotrf_
-cpotri_
-cpotrs_
-cpstrf_
-cpstf2_
-cppcon_
-cppequ_
-cpprfs_
-cppsv_
-cppsvx_
-cpptrf_
-cpptri_
-cpptrs_
-cptcon_
-cpteqr_
-cptrfs_
-cptsv_
-cptsvx_
-cpttrf_
-cpttrs_
-cptts2_
-crot_
-cspcon_
-cspmv_
-cspr_
-csprfs_
-cspsv_
-cspsvx_
-csptrf_
-csptri_
-csptrs_
-csrscl_
-cstedc_
-cstegr_
-cstein_
-csteqr_
-csycon_
-csymv_
-csyr_
-csyrfs_
-csysv_
-csysvx_
-csytf2_
-csytrf_
-csytri_
-csytrs_
-ctbcon_
-ctbrfs_
-ctbtrs_
-ctgevc_
-ctgex2_
-ctgexc_
-ctgsen_
-ctgsja_
-ctgsna_
-ctgsy2_
-ctgsyl_
-ctpcon_
-ctprfs_
-ctptri_
-ctptrs_
-ctrcon_
-ctrevc_
-ctrexc_
-ctrrfs_
-ctrsen_
-ctrsna_
-ctrsyl_
-ctrti2_
-ctrtri_
-ctrtrs_
-ctzrqf_
-ctzrzf_
-cung2l_
-cung2r_
-cungbr_
-cunghr_
-cungl2_
-cunglq_
-cungql_
-cungqr_
-cungr2_
-cungrq_
-cungtr_
-cunm2l_
-cunm2r_
-cunmbr_
-cunmhr_
-cunml2_
-cunmlq_
-cunmql_
-cunmqr_
-cunmr2_
-cunmr3_
-cunmrq_
-cunmrz_
-cunmtr_
-cupgtr_
-cupmtr_
-icmax1_
-scsum1_
-cstemr_
-chfrk_
-ctfttp_
-clanhf_
-cpftrf_
-cpftri_
-cpftrs_
-ctfsm_
-ctftri_
-ctfttr_
-ctpttf_
-ctpttr_
-ctrttf_
-ctrttp_
-cgeequb_
-cgbequb_
-csyequb_
-cpoequb_
-cheequb_
-zbdsqr_
-zgbbrd_
-zgbcon_
-zgbequ_
-zgbrfs_
-zgbsv_
-zgbsvx_
-zgbtf2_
-zgbtrf_
-zgbtrs_
-zgebak_
-zgebal_
-zgebd2_
-zgebrd_
-zgecon_
-zgeequ_
-zgees_
-zgeesx_
-zgeev_
-zgeevx_
-zgegs_
-zgegv_
-zgehd2_
-zgehrd_
-zgelq2_
-zgelqf_
-zgels_
-zgelsd_
-zgelss_
-zgelsx_
-zgelsy_
-zgeql2_
-zgeqlf_
-zgeqp3_
-zgeqpf_
-zgeqr2_
-zgeqrf_
-zgerfs_
-zgerq2_
-zgerqf_
-zgesc2_
-zgesdd_
-zgesv_
-zgesvd_
-zgesvx_
-zgetc2_
-zgetf2_
-zgetrf_
-zgetri_
-zgetrs_
-zggbak_
-zggbal_
-zgges_
-zggesx_
-zggev_
-zggevx_
-zggglm_
-zgghrd_
-zgglse_
-zggqrf_
-zggrqf_
-zggsvd_
-zggsvp_
-zgtcon_
-zgtrfs_
-zgtsv_
-zgtsvx_
-zgttrf_
-zgttrs_
-zgtts2_
-zhbev_
-zhbevd_
-zhbevx_
-zhbgst_
-zhbgv_
-zhbgvd_
-zhbgvx_
-zhbtrd_
-zhecon_
-zheev_
-zheevd_
-zheevr_
-zheevx_
-zhegs2_
-zhegst_
-zhegv_
-zhegvd_
-zhegvx_
-zherfs_
-zhesv_
-zhesvx_
-zhetd2_
-zhetf2_
-zhetrd_
-zhetrf_
-zhetri_
-zhetrs_
-zhgeqz_
-zhpcon_
-zhpev_
-zhpevd_
-zhpevx_
-zhpgst_
-zhpgv_
-zhpgvd_
-zhpgvx_
-zhprfs_
-zhpsv_
-zhpsvx_
-zhptrd_
-zhptrf_
-zhptri_
-zhptrs_
-zhsein_
-zhseqr_
-zlabrd_
-zlacgv_
-zlacon_
-zlacn2_
-zlacp2_
-zlacpy_
-zlacrm_
-zlacrt_
-zladiv_
-zlaed0_
-zlaed7_
-zlaed8_
-zlaein_
-zlaesy_
-zlaev2_
-zlags2_
-zlagtm_
-zlahef_
-zlahqr_
-zlahrd_
-zlahr2_
-zlaic1_
-zlals0_
-zlalsa_
-zlalsd_
-zlangb_
-zlange_
-zlangt_
-zlanhb_
-zlanhe_
-zlanhp_
-zlanhs_
-zlanht_
-zlansb_
-zlansp_
-zlansy_
-zlantb_
-zlantp_
-zlantr_
-zlapll_
-zlapmt_
-zlaqgb_
-zlaqge_
-zlaqhb_
-zlaqhe_
-zlaqhp_
-zlaqp2_
-zlaqps_
-zlaqsb_
-zlaqr0_
-zlaqr1_
-zlaqr2_
-zlaqr3_
-zlaqr4_
-zlaqr5_
-zlaqsp_
-zlaqsy_
-zlar1v_
-zlar2v_
-ilazlr_
-ilazlc_
-zlarcm_
-zlarf_
-zlarfb_
-zlarfg_
-zlarft_
-zlarfp_
-zlarfx_
-zlargv_
-zlarnv_
-zlarrv_
-zlartg_
-zlartv_
-zlarz_
-zlarzb_
-zlarzt_
-zlascl_
-zlaset_
-zlasr_
-zlassq_
-zlaswp_
-zlasyf_
-zlatbs_
-zlatdf_
-zlatps_
-zlatrd_
-zlatrs_
-zlatrz_
-zlatzm_
-zlauu2_
-zlauum_
-zpbcon_
-zpbequ_
-zpbrfs_
-zpbstf_
-zpbsv_
-zpbsvx_
-zpbtf2_
-zpbtrf_
-zpbtrs_
-zpocon_
-zpoequ_
-zporfs_
-zposv_
-zposvx_
-zpotf2_
-zpotrf_
-zpotri_
-zpotrs_
-zpstrf_
-zpstf2_
-zppcon_
-zppequ_
-zpprfs_
-zppsv_
-zppsvx_
-zpptrf_
-zpptri_
-zpptrs_
-zptcon_
-zpteqr_
-zptrfs_
-zptsv_
-zptsvx_
-zpttrf_
-zpttrs_
-zptts2_
-zrot_
-zspcon_
-zspmv_
-zspr_
-zsprfs_
-zspsv_
-zspsvx_
-zsptrf_
-zsptri_
-zsptrs_
-zdrscl_
-zstedc_
-zstegr_
-zstein_
-zsteqr_
-zsycon_
-zsymv_
-zsyr_
-zsyrfs_
-zsysv_
-zsysvx_
-zsytf2_
-zsytrf_
-zsytri_
-zsytrs_
-ztbcon_
-ztbrfs_
-ztbtrs_
-ztgevc_
-ztgex2_
-ztgexc_
-ztgsen_
-ztgsja_
-ztgsna_
-ztgsy2_
-ztgsyl_
-ztpcon_
-ztprfs_
-ztptri_
-ztptrs_
-ztrcon_
-ztrevc_
-ztrexc_
-ztrrfs_
-ztrsen_
-ztrsna_
-ztrsyl_
-ztrti2_
-ztrtri_
-ztrtrs_
-ztzrqf_
-ztzrzf_
-zung2l_
-zung2r_
-zungbr_
-zunghr_
-zungl2_
-zunglq_
-zungql_
-zungqr_
-zungr2_
-zungrq_
-zungtr_
-zunm2l_
-zunm2r_
-zunmbr_
-zunmhr_
-zunml2_
-zunmlq_
-zunmql_
-zunmqr_
-zunmr2_
-zunmr3_
-zunmrq_
-zunmrz_
-zunmtr_
-zupgtr_
-zupmtr_
-izmax1_
-dzsum1_
-zstemr_
-zcgesv_
-zcposv_
-zlag2c_
-clag2z_
-zlat2c_
-zhfrk_
-ztfttp_
-zlanhf_
-zpftrf_
-zpftri_
-zpftrs_
-ztfsm_
-ztftri_
-ztfttr_
-ztpttf_
-ztpttr_
-ztrttf_
-ztrttp_
-zgeequb_
-zgbequb_
-zsyequb_
-zpoequb_
-zheequb_
-sbdsdc_
-sbdsqr_
-sdisna_
-slabad_
-slacpy_
-sladiv_
-slae2_
-slaebz_
-slaed0_
-slaed1_
-slaed2_
-slaed3_
-slaed4_
-slaed5_
-slaed6_
-slaed7_
-slaed8_
-slaed9_
-slaeda_
-slaev2_
-slagtf_
-slagts_
-slamrg_
-slanst_
-slapy2_
-slapy3_
-slarnv_
-slarra_
-slarrb_
-slarrc_
-slarrd_
-slarre_
-slarrf_
-slarrj_
-slarrk_
-slarrr_
-slaneg_
-slartg_
-slaruv_
-slas2_
-slascl_
-slasd0_
-slasd1_
-slasd2_
-slasd3_
-slasd4_
-slasd5_
-slasd6_
-slasd7_
-slasd8_
-slasda_
-slasdq_
-slasdt_
-slaset_
-slasq1_
-slasq2_
-slasq3_
-slasq4_
-slasq5_
-slasq6_
-slasr_
-slasrt_
-slassq_
-slasv2_
-spttrf_
-sstebz_
-sstedc_
-ssteqr_
-ssterf_
-slaisnan_
-sisnan_
-slamch_
-dbdsdc_
-dbdsqr_
-ddisna_
-dlabad_
-dlacpy_
-dladiv_
-dlae2_
-dlaebz_
-dlaed0_
-dlaed1_
-dlaed2_
-dlaed3_
-dlaed4_
-dlaed5_
-dlaed6_
-dlaed7_
-dlaed8_
-dlaed9_
-dlaeda_
-dlaev2_
-dlagtf_
-dlagts_
-dlamrg_
-dlanst_
-dlapy2_
-dlapy3_
-dlarnv_
-dlarra_
-dlarrb_
-dlarrc_
-dlarrd_
-dlarre_
-dlarrf_
-dlarrj_
-dlarrk_
-dlarrr_
-dlaneg_
-dlartg_
-dlaruv_
-dlas2_
-dlascl_
-dlasd0_
-dlasd1_
-dlasd2_
-dlasd3_
-dlasd4_
-dlasd5_
-dlasd6_
-dlasd7_
-dlasd8_
-dlasda_
-dlasdq_
-dlasdt_
-dlaset_
-dlasq1_
-dlasq2_
-dlasq3_
-dlasq4_
-dlasq5_
-dlasq6_
-dlasr_
-dlasrt_
-dlassq_
-dlasv2_
-dpttrf_
-dstebz_
-dstedc_
-dsteqr_
-dsterf_
-dlaisnan_
-disnan_
-dlamch_
-ilaenv_
-ieeeck_
-lsamen_
-iparmq_
-ilaprec_
-ilatrans_
-ilauplo_
-iladiag_
-ilaver_
-lsame_
diff --git a/ports/clapack/link-to-math-lib.patch b/ports/clapack/link-to-math-lib.patch
deleted file mode 100644
index c80a8d4ed..000000000
--- a/ports/clapack/link-to-math-lib.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/F2CLIBS/libf2c/CMakeLists.txt b/F2CLIBS/libf2c/CMakeLists.txt
-index 2bdbd05..ca1473f 100644
---- a/F2CLIBS/libf2c/CMakeLists.txt
-+++ b/F2CLIBS/libf2c/CMakeLists.txt
-@@ -59,4 +59,7 @@ endif()
- include_directories(${CLAPACK_SOURCE_DIR}/F2CLIBS/libf2c)
- include_directories(${CLAPACK_BINARY_DIR}/F2CLIBS/libf2c)
- add_library(f2c STATIC ${OFILES} ${CMAKE_CURRENT_BINARY_DIR}/arith.h)
-+if(UNIX)
-+ target_link_libraries(f2c m)
-+endif()
- set_property(TARGET f2c PROPERTY PREFIX lib)
diff --git a/ports/clapack/openblas_linux.patch b/ports/clapack/openblas_linux.patch
new file mode 100644
index 000000000..e2b7b6e82
--- /dev/null
+++ b/ports/clapack/openblas_linux.patch
@@ -0,0 +1,12 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index c729d95..2b15e31 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,6 +1,6 @@
+ cmake_minimum_required(VERSION 2.6)
+ project(CLAPACK C)
+-find_package(BLAS REQUIRED)
++find_package(OpenBLAS REQUIRED)
+
+ if(WIN32 AND NOT CYGWIN)
+ set(SECOND_SRC ${CLAPACK_SOURCE_DIR}/INSTALL/winsecond.c)
diff --git a/ports/clapack/portfile.cmake b/ports/clapack/portfile.cmake
index 3c4608848..ecdf51c87 100644
--- a/ports/clapack/portfile.cmake
+++ b/ports/clapack/portfile.cmake
@@ -1,45 +1,43 @@
include(vcpkg_common_functions)
-if(NOT VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
- message(FATAL_ERROR "openblas can only be built for x64 currently")
-endif()
+vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/clapack-3.2.1-CMAKE)
vcpkg_download_distfile(ARCHIVE
- URLS "http://www.netlib.org/clapack/clapack-3.2.1-CMAKE.tgz"
- FILENAME "clapack-3.2.1.tgz"
- SHA512 cf19c710291ddff3f6ead7d86bdfdeaebca21291d9df094bf0a8ef599546b007757fb2dbb19b56511bb53ef7456eac0c73973b9627bf4d02982c856124428b49
+ URLS "http://www.netlib.org/clapack/clapack-3.2.1-CMAKE.tgz"
+ FILENAME "clapack-3.2.1.tgz"
+ SHA512 cf19c710291ddff3f6ead7d86bdfdeaebca21291d9df094bf0a8ef599546b007757fb2dbb19b56511bb53ef7456eac0c73973b9627bf4d02982c856124428b49
)
+if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux")
+ set(ADDITIONAL_PATCH "openblas_linux.patch")
+endif()
+
vcpkg_extract_source_archive_ex(
OUT_SOURCE_PATH SOURCE_PATH
ARCHIVE ${ARCHIVE}
PATCHES
- use-other-blas-and-install-include.patch
- link-to-math-lib.patch
+ remove_internal_blas.patch
+ ${ADDITIONAL_PATCH}
)
-if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux")
- vcpkg_apply_patches(
- SOURCE_PATH ${SOURCE_PATH}
- PATCHES "${CMAKE_CURRENT_LIST_DIR}/fix-linux-build.patch"
- )
-endif()
-
-if(NOT VCPKG_CMAKE_SYSTEM_NAME)
- file(COPY ${CMAKE_CURRENT_LIST_DIR}/lapack.def DESTINATION ${SOURCE_PATH}/SRC)
-endif()
-
vcpkg_configure_cmake(
- SOURCE_PATH ${SOURCE_PATH}
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DCMAKE_DEBUG_POSTFIX=d
)
vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+
+#TODO: fix the official exported targets, since they are broken (luckily it seems that no-one uses them for now)
+vcpkg_fixup_cmake_targets(CONFIG_PATH share/clapack)
+
+#we install a cmake wrapper since the official FindLAPACK module in cmake does find clapack easily, unfortunately...
+file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/lapack)
+file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/FindLAPACK.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/lapack)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
# Handle copyright
-file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/clapack)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/clapack/COPYING ${CURRENT_PACKAGES_DIR}/share/clapack/copyright)
-
-vcpkg_copy_pdbs()
+file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/clapack RENAME copyright)
diff --git a/ports/clapack/remove_internal_blas.patch b/ports/clapack/remove_internal_blas.patch
new file mode 100644
index 000000000..471d87a87
--- /dev/null
+++ b/ports/clapack/remove_internal_blas.patch
@@ -0,0 +1,84 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 320ccc6..284e9d3 100755
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,7 +1,6 @@
+ cmake_minimum_required(VERSION 2.6)
+ project(CLAPACK C)
+-enable_testing()
+-include(CTest)
++find_package(BLAS REQUIRED)
+
+ if(WIN32 AND NOT CYGWIN)
+ set(SECOND_SRC ${CLAPACK_SOURCE_DIR}/INSTALL/winsecond.c)
+@@ -11,7 +10,6 @@ else()
+ set(SECOND_SRC ${CLAPACK_SOURCE_DIR}/INSTALL/second.c)
+ set(DSECOND_SRC ${CLAPACK_SOURCE_DIR}/INSTALL/dsecnd.c)
+ endif()
+-enable_testing()
+ option(USE_BLAS_WRAP "pre-pend f2c_ to each function in blas" OFF)
+ if(NOT USE_BLAS_WRAP)
+ # _zrotg_ seems to be missing in the wrap header
+@@ -19,16 +17,15 @@ if(NOT USE_BLAS_WRAP)
+ endif()
+ include_directories(${CLAPACK_SOURCE_DIR}/INCLUDE)
+ add_subdirectory(F2CLIBS)
+-add_subdirectory(BLAS)
+ add_subdirectory(SRC)
+-add_subdirectory(TESTING)
+ set(CLAPACK_VERSION 3.2.1)
+-set(CPACK_PACKAGE_VERSION_MAJOR 3)
+-set(CPACK_PACKAGE_VERSION_MINOR 2)
+-set(CPACK_PACKAGE_VERSION_PATCH 1)
+-include(CPack)
+-export(TARGETS f2c blas lapack FILE clapack-targets.cmake)
++export(TARGETS f2c lapack FILE ${CMAKE_INSTALL_PREFIX}/share/clapack/clapack-targets.cmake)
+ configure_file(${CLAPACK_SOURCE_DIR}/clapack-config-version.cmake.in
+- ${CLAPACK_BINARY_DIR}/clapack-config-version.cmake @ONLY)
++ ${CMAKE_INSTALL_PREFIX}/share/clapack/clapack-config-version.cmake @ONLY)
+ configure_file(${CLAPACK_SOURCE_DIR}/clapack-config.cmake.in
+- ${CLAPACK_BINARY_DIR}/clapack-config.cmake @ONLY)
++ ${CMAKE_INSTALL_PREFIX}/share/clapack/clapack-config.cmake @ONLY)
++install(FILES
++ ${CMAKE_CURRENT_LIST_DIR}/INCLUDE/clapack.h
++ ${CMAKE_CURRENT_LIST_DIR}/INCLUDE/f2c.h
++ DESTINATION include)
++
+diff --git a/F2CLIBS/libf2c/CMakeLists.txt b/F2CLIBS/libf2c/CMakeLists.txt
+index 43d7b3f..6fa3598 100755
+--- a/F2CLIBS/libf2c/CMakeLists.txt
++++ b/F2CLIBS/libf2c/CMakeLists.txt
+@@ -60,3 +60,11 @@ include_directories(${CLAPACK_SOURCE_DIR}/F2CLIBS/libf2c)
+ include_directories(${CLAPACK_BINARY_DIR}/F2CLIBS/libf2c)
+ add_library(f2c ${OFILES} ${CMAKE_CURRENT_BINARY_DIR}/arith.h)
+ set_property(TARGET f2c PROPERTY PREFIX lib)
++if(UNIX)
++ target_link_libraries(f2c m)
++endif()
++install(TARGETS f2c
++ RUNTIME DESTINATION bin
++ LIBRARY DESTINATION lib
++ ARCHIVE DESTINATION lib)
++
+diff --git a/SRC/CMakeLists.txt b/SRC/CMakeLists.txt
+index ac4cce3..07dc8c7 100755
+--- a/SRC/CMakeLists.txt
++++ b/SRC/CMakeLists.txt
+@@ -376,5 +376,9 @@ if(BUILD_COMPLEX16)
+ set(ALLOBJ ${ZLASRC} ${ALLAUX} ${DZLAUX})
+ endif()
+ add_library(lapack ${ALLOBJ} ${ALLXOBJ})
+-target_link_libraries(lapack blas)
++target_link_libraries(lapack ${BLAS_LIBRARIES} f2c)
++install(TARGETS lapack
++ RUNTIME DESTINATION bin
++ LIBRARY DESTINATION lib
++ ARCHIVE DESTINATION lib)
+
+diff --git a/clapack-config.cmake.in b/clapack-config.cmake.in
+index cd19f1d..597f474 100755
+--- a/clapack-config.cmake.in
++++ b/clapack-config.cmake.in
+@@ -1 +1 @@
+-include("@CLAPACK_BINARY_DIR@/clapack-targets.cmake")
++include("@CLAPACK_BINARY_DIR@/clapack-targets.cmake")
diff --git a/ports/clapack/use-other-blas-and-install-include.patch b/ports/clapack/use-other-blas-and-install-include.patch
deleted file mode 100644
index 0f81e64fe..000000000
--- a/ports/clapack/use-other-blas-and-install-include.patch
+++ /dev/null
@@ -1,103 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 320ccc6..8c53def 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -3,6 +3,9 @@ project(CLAPACK C)
- enable_testing()
- include(CTest)
-
-+# BLAS_LIBRARIES
-+find_package(BLAS REQUIRED)
-+
- if(WIN32 AND NOT CYGWIN)
- set(SECOND_SRC ${CLAPACK_SOURCE_DIR}/INSTALL/winsecond.c)
- set(DSECOND_SRC ${CLAPACK_SOURCE_DIR}/INSTALL/windsecnd.c)
-@@ -19,7 +22,8 @@ if(NOT USE_BLAS_WRAP)
- endif()
- include_directories(${CLAPACK_SOURCE_DIR}/INCLUDE)
- add_subdirectory(F2CLIBS)
--add_subdirectory(BLAS)
-+
-+# add_subdirectory(BLAS)
- add_subdirectory(SRC)
- add_subdirectory(TESTING)
- set(CLAPACK_VERSION 3.2.1)
-@@ -27,8 +31,13 @@ set(CPACK_PACKAGE_VERSION_MAJOR 3)
- set(CPACK_PACKAGE_VERSION_MINOR 2)
- set(CPACK_PACKAGE_VERSION_PATCH 1)
- include(CPack)
--export(TARGETS f2c blas lapack FILE clapack-targets.cmake)
--configure_file(${CLAPACK_SOURCE_DIR}/clapack-config-version.cmake.in
-- ${CLAPACK_BINARY_DIR}/clapack-config-version.cmake @ONLY)
--configure_file(${CLAPACK_SOURCE_DIR}/clapack-config.cmake.in
-- ${CLAPACK_BINARY_DIR}/clapack-config.cmake @ONLY)
-+# export(TARGETS f2c blas lapack FILE clapack-targets.cmake)
-+# configure_file(${CLAPACK_SOURCE_DIR}/clapack-config-version.cmake.in
-+# ${CLAPACK_BINARY_DIR}/clapack-config-version.cmake @ONLY)
-+# configure_file(${CLAPACK_SOURCE_DIR}/clapack-config.cmake.in
-+# ${CLAPACK_BINARY_DIR}/clapack-config.cmake @ONLY)
-+
-+install(FILES
-+ ${CMAKE_CURRENT_LIST_DIR}/include/clapack.h
-+ ${CMAKE_CURRENT_LIST_DIR}/include/f2c.h
-+ DESTINATION include)
-\ No newline at end of file
-diff --git a/F2CLIBS/libf2c/CMakeLists.txt b/F2CLIBS/libf2c/CMakeLists.txt
-index 43d7b3f..2bdbd05 100644
---- a/F2CLIBS/libf2c/CMakeLists.txt
-+++ b/F2CLIBS/libf2c/CMakeLists.txt
-@@ -58,5 +58,5 @@ if(WIN32)
- endif()
- include_directories(${CLAPACK_SOURCE_DIR}/F2CLIBS/libf2c)
- include_directories(${CLAPACK_BINARY_DIR}/F2CLIBS/libf2c)
--add_library(f2c ${OFILES} ${CMAKE_CURRENT_BINARY_DIR}/arith.h)
-+add_library(f2c STATIC ${OFILES} ${CMAKE_CURRENT_BINARY_DIR}/arith.h)
- set_property(TARGET f2c PROPERTY PREFIX lib)
-diff --git a/INCLUDE/clapack.h b/INCLUDE/clapack.h
-index d22da98..5ef0a5b 100644
---- a/INCLUDE/clapack.h
-+++ b/INCLUDE/clapack.h
-@@ -3,6 +3,8 @@
- #ifndef __CLAPACK_H
- #define __CLAPACK_H
-
-+#include "f2c.h"
-+
- /* Subroutine */ int caxpy_(integer *n, complex *ca, complex *cx, integer *
- incx, complex *cy, integer *incy);
-
-diff --git a/SRC/CMakeLists.txt b/SRC/CMakeLists.txt
-index ac4cce3..0548c8d 100644
---- a/SRC/CMakeLists.txt
-+++ b/SRC/CMakeLists.txt
-@@ -375,6 +375,17 @@ endif()
- if(BUILD_COMPLEX16)
- set(ALLOBJ ${ZLASRC} ${ALLAUX} ${DZLAUX})
- endif()
--add_library(lapack ${ALLOBJ} ${ALLXOBJ})
--target_link_libraries(lapack blas)
-+if(BUILD_SHARED_LIBS AND MSVC)
-+ add_library(lapack SHARED ${ALLOBJ} ${ALLXOBJ} ${CMAKE_CURRENT_LIST_DIR}/lapack.def)
-+else()
-+ add_library(lapack ${ALLOBJ} ${ALLXOBJ})
-+endif(BUILD_SHARED_LIBS AND MSVC)
-+
-+
-+target_link_libraries(lapack ${BLAS_LIBRARIES} f2c)
-+
-+install(TARGETS lapack
-+ RUNTIME DESTINATION bin
-+ LIBRARY DESTINATION lib
-+ ARCHIVE DESTINATION lib)
-
-diff --git a/TESTING/MATGEN/CMakeLists.txt b/TESTING/MATGEN/CMakeLists.txt
-index b2cb47a..54fa7a8 100644
---- a/TESTING/MATGEN/CMakeLists.txt
-+++ b/TESTING/MATGEN/CMakeLists.txt
-@@ -65,5 +65,5 @@ endif()
- if(BUILD_COMPLEX16)
- set(ALLOBJ $(ZMATGEN) $(DZATGEN))
- endif()
--add_library(tmglib ${ALLOBJ} )
-+add_library(tmglib STATIC ${ALLOBJ} )
-
diff --git a/ports/clapack/vcpkg-cmake-wrapper.cmake b/ports/clapack/vcpkg-cmake-wrapper.cmake
new file mode 100644
index 000000000..69c54ea0d
--- /dev/null
+++ b/ports/clapack/vcpkg-cmake-wrapper.cmake
@@ -0,0 +1,4 @@
+set(LAPACK_PREV_MODULE_PATH ${CMAKE_MODULE_PATH})
+list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR})
+_find_package(${ARGS})
+set(CMAKE_MODULE_PATH ${LAPACK_PREV_MODULE_PATH})