diff options
| author | Stefano Sinigardi <stesinigardi@hotmail.com> | 2019-06-01 00:48:17 +0200 |
|---|---|---|
| committer | Victor Romero <romerosanchezv@gmail.com> | 2019-05-31 15:48:17 -0700 |
| commit | 5898891125b00a3ec2b698bc496735ab997669f5 (patch) | |
| tree | ea6f52bc69dec26f7c88d6766234a7c507607a06 /ports/clapack | |
| parent | 26a9338c5055193915290527eacb37f2ac7fdcb8 (diff) | |
| download | vcpkg-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/CONTROL | 2 | ||||
| -rw-r--r-- | ports/clapack/FindLAPACK.cmake | 198 | ||||
| -rw-r--r-- | ports/clapack/fix-lack-library.patch | 18 | ||||
| -rw-r--r-- | ports/clapack/fix-linux-build.patch | 46 | ||||
| -rw-r--r-- | ports/clapack/lapack.def | 1453 | ||||
| -rw-r--r-- | ports/clapack/link-to-math-lib.patch | 12 | ||||
| -rw-r--r-- | ports/clapack/openblas_linux.patch | 12 | ||||
| -rw-r--r-- | ports/clapack/portfile.cmake | 48 | ||||
| -rw-r--r-- | ports/clapack/remove_internal_blas.patch | 84 | ||||
| -rw-r--r-- | ports/clapack/use-other-blas-and-install-include.patch | 103 | ||||
| -rw-r--r-- | ports/clapack/vcpkg-cmake-wrapper.cmake | 4 |
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}) |
