From 6d052e3dc0df2498d7707eea9259acee824200e8 Mon Sep 17 00:00:00 2001 From: Han Hu Date: Wed, 12 Apr 2017 10:45:07 +0800 Subject: [PATCH 1/3] Add openblas and only the blas part is compiled. Because no gfortran things is included, openblas is BSD [openblas] Reduce checked in headers, prefer to install from sources --- ports/openblas/CONTROL | 3 ++ ports/openblas/install-openblas.patch | 24 +++++++++ ports/openblas/openblas_common.h | 72 +++++++++++++++++++++++++++ ports/openblas/portfile.cmake | 71 ++++++++++++++++++++++++++ 4 files changed, 170 insertions(+) create mode 100644 ports/openblas/CONTROL create mode 100644 ports/openblas/install-openblas.patch create mode 100644 ports/openblas/openblas_common.h create mode 100644 ports/openblas/portfile.cmake diff --git a/ports/openblas/CONTROL b/ports/openblas/CONTROL new file mode 100644 index 000000000..d6ac6297d --- /dev/null +++ b/ports/openblas/CONTROL @@ -0,0 +1,3 @@ +Source: openblas +Version: v0.2.19 +Description: OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version. diff --git a/ports/openblas/install-openblas.patch b/ports/openblas/install-openblas.patch new file mode 100644 index 000000000..7beb11af9 --- /dev/null +++ b/ports/openblas/install-openblas.patch @@ -0,0 +1,24 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ff42643..1a013ee 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -13,7 +13,7 @@ enable_language(ASM) + enable_language(C) + + if(MSVC) +-set(OpenBLAS_LIBNAME libopenblas) ++set(OpenBLAS_LIBNAME openblas) + else() + set(OpenBLAS_LIBNAME openblas) + endif() +@@ -174,6 +174,10 @@ set_target_properties(${OpenBLAS_LIBNAME} PROPERTIES + SOVERSION ${OpenBLAS_MAJOR_VERSION} + ) + ++install(TARGETS ${OpenBLAS_LIBNAME} ++ RUNTIME DESTINATION bin ++ LIBRARY DESTINATION lib ++ ARCHIVE DESTINATION lib) + + # TODO: Why is the config saved here? Is this necessary with CMake? + #Save the config files for installation diff --git a/ports/openblas/openblas_common.h b/ports/openblas/openblas_common.h new file mode 100644 index 000000000..10b25d4c7 --- /dev/null +++ b/ports/openblas/openblas_common.h @@ -0,0 +1,72 @@ +#pragma once +#include "openblas_config.h" + +#if defined(OPENBLAS_OS_WINNT) || defined(OPENBLAS_OS_CYGWIN_NT) || defined(OPENBLAS_OS_INTERIX) +#define OPENBLAS_WINDOWS_ABI +#define OPENBLAS_OS_WINDOWS + +#ifdef DOUBLE +#define DOUBLE_DEFINED DOUBLE +#undef DOUBLE +#endif +#endif + +#ifdef NEEDBUNDERSCORE +#define BLASFUNC(FUNC) FUNC##_ +#else +#define BLASFUNC(FUNC) FUNC +#endif + + +#ifdef OPENBLAS_QUAD_PRECISION +typedef struct { + unsigned long x[2]; +} xdouble; +#elif defined OPENBLAS_EXPRECISION +#define xdouble long double +#else +#define xdouble double +#endif + +#if defined(OS_WINNT) && defined(__64BIT__) +typedef long long BLASLONG; +typedef unsigned long long BLASULONG; +#else +typedef long BLASLONG; +typedef unsigned long BLASULONG; +#endif + +#ifdef OPENBLAS_USE64BITINT +typedef BLASLONG blasint; +#else +typedef int blasint; +#endif + +#if defined(XDOUBLE) || defined(DOUBLE) +#define FLOATRET FLOAT +#else +#ifdef NEED_F2CCONV +#define FLOATRET double +#else +#define FLOATRET float +#endif +#endif + + +/* Inclusion of a standard header file is needed for definition of __STDC_* + predefined macros with some compilers (e.g. GCC 4.7 on Linux). This occurs + as a side effect of including either or . */ +#include +#define OPENBLAS_COMPLEX_STRUCT +typedef struct { float real, imag; } openblas_complex_float; +typedef struct { double real, imag; } openblas_complex_double; +typedef struct { xdouble real, imag; } openblas_complex_xdouble; +#define openblas_make_complex_float(real, imag) {(real), (imag)} +#define openblas_make_complex_double(real, imag) {(real), (imag)} +#define openblas_make_complex_xdouble(real, imag) {(real), (imag)} +#define openblas_complex_float_real(z) ((z).real) +#define openblas_complex_float_imag(z) ((z).imag) +#define openblas_complex_double_real(z) ((z).real) +#define openblas_complex_double_imag(z) ((z).imag) +#define openblas_complex_xdouble_real(z) ((z).real) +#define openblas_complex_xdouble_imag(z) ((z).imag) diff --git a/ports/openblas/portfile.cmake b/ports/openblas/portfile.cmake new file mode 100644 index 000000000..63f464405 --- /dev/null +++ b/ports/openblas/portfile.cmake @@ -0,0 +1,71 @@ +# Common Ambient Variables: +# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} +# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} +# CURRENT_PORT DIR = ${VCPKG_ROOT_DIR}\ports\${PORT} +# PORT = current port name (zlib, etc) +# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc) +# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic) +# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic) +# VCPKG_ROOT_DIR = +# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm) +# + +include(vcpkg_common_functions) + + +if(NOT VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + message(FATAL_ERROR "openblas can only be built for x64 currently") +endif() + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + message(WARNING "openblas only support dynamic link for msvc") + set(VCPKG_LIBRARY_LINKAGE "dynamic") +endif() + +set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/openblas-0.2.19) +vcpkg_download_distfile(ARCHIVE + URLS "https://codeload.github.com/xianyi/OpenBLAS/zip/v0.2.19" + FILENAME "openblas-v0.2.19.zip" + SHA512 d95dcd1ca5b3bdc5355969d10c22486f7e32f7dfc3a418b5d0a979d030e9f2ed242d2d78267a5896aa83d27b6041e13ee4c6694f9a589765535011eb22dad9e2 +) +vcpkg_extract_source_archive(${ARCHIVE}) + +vcpkg_apply_patches( + SOURCE_PATH ${SOURCE_PATH} + PATCHES "${CMAKE_CURRENT_LIST_DIR}/install-openblas.patch" +) + +# openblas require perl to generate .def for exports +vcpkg_find_acquire_program(PERL) +get_filename_component(PERL_EXE_PATH ${PERL} DIRECTORY) +set(ENV{PATH} "${PERL_EXE_PATH};$ENV{PATH}") + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS -DTARGET=NEHALEM -DBUILD_WITHOUT_LAPACK=ON + # PREFER_NINJA # Disable this option if project cannot be built with Ninja + # OPTIONS -DUSE_THIS_IN_ALL_BUILDS=1 -DUSE_THIS_TOO=2 + # OPTIONS_RELEASE -DOPTIMIZE=1 + # OPTIONS_DEBUG -DDEBUGGABLE=1 +) + + +vcpkg_install_cmake() + +# openblas do not make the config file , so I manually made this +# but I think in most case, libraries will not include these files, they define their own used function prototypes +# this is only to quite vcpkg +file(COPY ${CMAKE_CURRENT_LIST_DIR}/openblas_common.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) + +file(COPY ${SOURCE_PATH}/config.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) +file(RENAME ${CURRENT_PACKAGES_DIR}/include/config.h ${CURRENT_PACKAGES_DIR}/include/openblas_config.h) + +file(READ ${SOURCE_PATH}/cblas.h CBLAS_H) +string(REPLACE "#include \"common.h\"" "#include \"openblas_common.h\"" CBLAS_H ${CBLAS_H}) +file(WRITE ${CURRENT_PACKAGES_DIR}/include/cblas.h) + +# openblas is BSD +file(COPY ${CURRENT_BUILDTREES_DIR}/src/OpenBLAS-0.2.19/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/openblas) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/openblas/LICENSE ${CURRENT_PACKAGES_DIR}/share/openblas/copyright) + +vcpkg_copy_pdbs() From 804a882695c760c7ab54bae155687dc6242d5b48 Mon Sep 17 00:00:00 2001 From: Han Hu Date: Wed, 12 Apr 2017 20:00:49 +0800 Subject: [PATCH 2/3] add clapack port for lapack add dependency [clapack] Use COPYING from sources instead of checked in license. --- ports/clapack/CONTROL | 4 + ports/clapack/lapack.def | 1453 +++++++++++++++++ ports/clapack/portfile.cmake | 52 + .../use-other-blas-and-install-include.patch | 103 ++ 4 files changed, 1612 insertions(+) create mode 100644 ports/clapack/CONTROL create mode 100644 ports/clapack/lapack.def create mode 100644 ports/clapack/portfile.cmake create mode 100644 ports/clapack/use-other-blas-and-install-include.patch diff --git a/ports/clapack/CONTROL b/ports/clapack/CONTROL new file mode 100644 index 000000000..cb470e4cd --- /dev/null +++ b/ports/clapack/CONTROL @@ -0,0 +1,4 @@ +Source: clapack +Version: 3.2.1 +Description: CLAPACK (f2c'ed version of LAPACK) +Build-Depends: openblas diff --git a/ports/clapack/lapack.def b/ports/clapack/lapack.def new file mode 100644 index 000000000..e2070d99b --- /dev/null +++ b/ports/clapack/lapack.def @@ -0,0 +1,1453 @@ +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/portfile.cmake b/ports/clapack/portfile.cmake new file mode 100644 index 000000000..72b1aa23b --- /dev/null +++ b/ports/clapack/portfile.cmake @@ -0,0 +1,52 @@ +# Common Ambient Variables: +# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} +# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} +# CURRENT_PORT DIR = ${VCPKG_ROOT_DIR}\ports\${PORT} +# PORT = current port name (zlib, etc) +# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc) +# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic) +# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic) +# VCPKG_ROOT_DIR = +# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm) +# + +include(vcpkg_common_functions) + +if(NOT VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + message(FATAL_ERROR "openblas can only be built for x64 currently") +endif() + +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" + SHA512 cf19c710291ddff3f6ead7d86bdfdeaebca21291d9df094bf0a8ef599546b007757fb2dbb19b56511bb53ef7456eac0c73973b9627bf4d02982c856124428b49 +) +vcpkg_extract_source_archive(${ARCHIVE}) + +# apply patch can not add file +file(COPY ${CMAKE_CURRENT_LIST_DIR}/lapack.def DESTINATION ${SOURCE_PATH}/SRC) + +vcpkg_apply_patches( + SOURCE_PATH ${SOURCE_PATH} + PATCHES "${CMAKE_CURRENT_LIST_DIR}/use-other-blas-and-install-include.patch" +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + + # Disable this option if project cannot be built with Ninja + # OPTIONS -DUSE_THIS_IN_ALL_BUILDS=1 -DUSE_THIS_TOO=2 + # OPTIONS_RELEASE -DOPTIMIZE=1 + # OPTIONS_DEBUG -DDEBUGGABLE=1 +) + +vcpkg_install_cmake() + +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() diff --git a/ports/clapack/use-other-blas-and-install-include.patch b/ports/clapack/use-other-blas-and-install-include.patch new file mode 100644 index 000000000..0f81e64fe --- /dev/null +++ b/ports/clapack/use-other-blas-and-install-include.patch @@ -0,0 +1,103 @@ +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} ) + From fe054b98c6c2e9d972a61138c6fa183cf7a9193e Mon Sep 17 00:00:00 2001 From: Han Hu Date: Wed, 12 Apr 2017 16:12:17 +0800 Subject: [PATCH 3/3] improve geographiclib by install cmake files. --- ports/geographiclib/CONTROL | 2 +- ports/geographiclib/portfile.cmake | 33 +++++++++++++- .../remove-tools-and-fix-version.patch | 43 +++++++++++++++++++ 3 files changed, 75 insertions(+), 3 deletions(-) create mode 100644 ports/geographiclib/remove-tools-and-fix-version.patch diff --git a/ports/geographiclib/CONTROL b/ports/geographiclib/CONTROL index a463ff055..836049a66 100644 --- a/ports/geographiclib/CONTROL +++ b/ports/geographiclib/CONTROL @@ -1,3 +1,3 @@ Source: geographiclib -Version: 1.47-patch1-2 +Version: 1.47-patch1-3 Description: a small set of C++ classes for performing conversions between geographic, UTM, UPS, MGRS, geocentric, and local cartesian coordinates, for gravity (e.g., EGM2008), geoid height, and geomagnetic field (e.g., WMM2010) calculations, and for solving geodesic problems. diff --git a/ports/geographiclib/portfile.cmake b/ports/geographiclib/portfile.cmake index b636bb62e..96b633aec 100644 --- a/ports/geographiclib/portfile.cmake +++ b/ports/geographiclib/portfile.cmake @@ -18,6 +18,10 @@ vcpkg_download_distfile(ARCHIVE SHA512 d8fdfd7ae093057ec1a4ab922457fe71a3fb9975df5b673c276d62a0e9c4f212dc63652830b9d89e3890bc96aafd335992943cf6a1bce8260acf932d1eb7abfd ) vcpkg_extract_source_archive(${ARCHIVE}) +vcpkg_apply_patches( + SOURCE_PATH ${SOURCE_PATH} + PATCHES "${CMAKE_CURRENT_LIST_DIR}/remove-tools-and-fix-version.patch" +) if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) vcpkg_configure_cmake( @@ -40,14 +44,39 @@ else() endif() vcpkg_install_cmake() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/cmake) +file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share) +file(GLOB GEOGRAPHICLIB_CMAKE_FILES ${CURRENT_PACKAGES_DIR}/cmake/*.cmake ${CURRENT_PACKAGES_DIR}/debug/cmake/*.cmake) +file(COPY ${GEOGRAPHICLIB_CMAKE_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/share/geographiclib) + +file(READ ${CURRENT_PACKAGES_DIR}/debug/cmake/geographiclib-targets.cmake GEOGRAPHICLIB_MODULE) +string(REPLACE "\${_IMPORT_PREFIX}/include" "\${_IMPORT_PREFIX}/../include" GEOGRAPHICLIB_MODULE "${GEOGRAPHICLIB_MODULE}") +file(WRITE ${CURRENT_PACKAGES_DIR}/share/geographiclib/geographiclib-targets.cmake "${GEOGRAPHICLIB_MODULE}") + +file(READ ${CURRENT_PACKAGES_DIR}/debug/cmake/geographiclib-targets-debug.cmake GEOGRAPHICLIB_DEBUG_MODULE) +string(REPLACE "\${_IMPORT_PREFIX}" "\${_IMPORT_PREFIX}/../debug" GEOGRAPHICLIB_DEBUG_MODULE "${GEOGRAPHICLIB_DEBUG_MODULE}") +file(WRITE ${CURRENT_PACKAGES_DIR}/share/geographiclib/geographiclib-targets-debug.cmake "${GEOGRAPHICLIB_DEBUG_MODULE}") + +file(READ ${CURRENT_PACKAGES_DIR}/debug/cmake/geographiclib-namespace-targets-debug.cmake GEOGRAPHICLIB_DEBUG_MODULE) +string(REPLACE "\${_IMPORT_PREFIX}" "\${_IMPORT_PREFIX}/../debug" GEOGRAPHICLIB_DEBUG_MODULE "${GEOGRAPHICLIB_DEBUG_MODULE}") +file(WRITE ${CURRENT_PACKAGES_DIR}/share/geographiclib/geographiclib-namespace-targets-debug.cmake "${GEOGRAPHICLIB_DEBUG_MODULE}") + + +file(READ ${CURRENT_PACKAGES_DIR}/cmake/geographiclib-targets-release.cmake GEOGRAPHICLIB_RELEASE_MODULE) +string(REPLACE "\${_IMPORT_PREFIX}" "\${_IMPORT_PREFIX}/.." GEOGRAPHICLIB_RELEASE_MODULE "${GEOGRAPHICLIB_RELEASE_MODULE}") +file(WRITE ${CURRENT_PACKAGES_DIR}/share/geographiclib/geographiclib-targets-release.cmake "${GEOGRAPHICLIB_RELEASE_MODULE}") + +file(READ ${CURRENT_PACKAGES_DIR}/cmake/geographiclib-namespace-targets-release.cmake GEOGRAPHICLIB_RELEASE_MODULE) +string(REPLACE "\${_IMPORT_PREFIX}" "\${_IMPORT_PREFIX}/.." GEOGRAPHICLIB_RELEASE_MODULE "${GEOGRAPHICLIB_RELEASE_MODULE}") +file(WRITE ${CURRENT_PACKAGES_DIR}/share/geographiclib/geographiclib-namespace-targets-release.cmake "${GEOGRAPHICLIB_RELEASE_MODULE}") + file(COPY ${CURRENT_BUILDTREES_DIR}/src/GeographicLib-1.47/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/geographiclib) file(RENAME ${CURRENT_PACKAGES_DIR}/share/geographiclib/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/geographiclib/copyright) file(GLOB EXE_FILES "${CURRENT_PACKAGES_DIR}/bin/*.exe" "${CURRENT_PACKAGES_DIR}/debug/bin/*.exe") +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/cmake) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/cmake) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -file(REMOVE_RECURSE ${EXE_FILES}) +# file(REMOVE_RECURSE ${EXE_FILES}) diff --git a/ports/geographiclib/remove-tools-and-fix-version.patch b/ports/geographiclib/remove-tools-and-fix-version.patch new file mode 100644 index 000000000..d7c7598e0 --- /dev/null +++ b/ports/geographiclib/remove-tools-and-fix-version.patch @@ -0,0 +1,43 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e79923b..3448362 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -437,13 +437,13 @@ set_property (GLOBAL PROPERTY USE_FOLDERS ON) + # The list of subdirectories to process + add_subdirectory (src) + add_subdirectory (include/GeographicLib) +-add_subdirectory (tools) +-add_subdirectory (man) +-add_subdirectory (doc) +-add_subdirectory (js) +-add_subdirectory (matlab) +-add_subdirectory (python/geographiclib) +-add_subdirectory (examples) ++# add_subdirectory (tools) ++# add_subdirectory (man) ++# add_subdirectory (doc) ++# add_subdirectory (js) ++# add_subdirectory (matlab) ++# add_subdirectory (python/geographiclib) ++# add_subdirectory (examples) + if (MSVC AND BUILD_NETGEOGRAPHICLIB) + if (GEOGRAPHICLIB_PRECISION EQUAL 2) + set (NETGEOGRAPHICLIB_LIBRARIES NETGeographicLib) +diff --git a/cmake/project-config-version.cmake.in b/cmake/project-config-version.cmake.in +index 3b3b9e8..a5ea344 100644 +--- a/cmake/project-config-version.cmake.in ++++ b/cmake/project-config-version.cmake.in +@@ -18,10 +18,10 @@ elseif (NOT (APPLE OR (NOT DEFINED CMAKE_SIZEOF_VOID_P) OR + # since a multi-architecture library is built for that platform). + set (REASON "sizeof(*void) = @CMAKE_SIZEOF_VOID_P@") + set (PACKAGE_VERSION_UNSUITABLE TRUE) +-elseif (MSVC AND NOT MSVC_VERSION STREQUAL "@MSVC_VERSION@") ++# elseif (MSVC AND NOT MSVC_VERSION STREQUAL "@MSVC_VERSION@") + # Reject if there's a mismatch in MSVC compiler versions +- set (REASON "_MSC_VER = @MSVC_VERSION@") +- set (PACKAGE_VERSION_UNSUITABLE TRUE) ++# set (REASON "_MSC_VER = @MSVC_VERSION@") ++# set (PACKAGE_VERSION_UNSUITABLE TRUE) + elseif (NOT CMAKE_CROSSCOMPILING STREQUAL "@CMAKE_CROSSCOMPILING@") + # Reject if there's a mismatch in ${CMAKE_CROSSCOMPILING} + set (REASON "cross-compiling = @CMAKE_CROSSCOMPILING@")