aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVictor Romero <romerosanchezv@gmail.com>2019-06-06 18:08:49 -0700
committerVictor Romero <romerosanchezv@gmail.com>2019-06-06 18:08:49 -0700
commitcef7f8b5a68ed4903abce0378d7e7864c411af47 (patch)
tree040e97853dc691af7a4d30aa264ab9e087fd1df9
parent45e57f319657222eda39891fba73cb51b2cf3469 (diff)
parentda6d601d1c2161a455de0e572000633316962003 (diff)
downloadvcpkg-cef7f8b5a68ed4903abce0378d7e7864c411af47.tar.gz
vcpkg-cef7f8b5a68ed4903abce0378d7e7864c411af47.zip
Merge branch 'master' of https://github.com/Microsoft/vcpkg into add_libraqm
-rw-r--r--ports/any-lite/CONTROL3
-rw-r--r--ports/any-lite/portfile.cmake31
-rw-r--r--ports/arb/CONTROL2
-rw-r--r--ports/arb/fix-build-error.patch24
-rw-r--r--ports/arb/portfile.cmake10
-rw-r--r--ports/armadillo/CONTROL3
-rw-r--r--ports/armadillo/portfile.cmake64
-rw-r--r--ports/armadillo/remove_custom_modules.patch17
-rw-r--r--ports/asio/CMakeLists.txt33
-rw-r--r--ports/asio/CONTROL2
-rw-r--r--ports/asio/asio-config.cmake6
-rw-r--r--ports/asio/portfile.cmake22
-rw-r--r--ports/assimp/CONTROL2
-rw-r--r--ports/assimp/portfile.cmake19
-rw-r--r--ports/assimp/remove-useless-path.patch12
-rw-r--r--ports/bdwgc/001-install-libraries.patch257
-rw-r--r--ports/bdwgc/CONTROL3
-rw-r--r--ports/bdwgc/portfile.cmake31
-rw-r--r--ports/blaze/CONTROL2
-rw-r--r--ports/byte-lite/CONTROL3
-rw-r--r--ports/byte-lite/portfile.cmake31
-rw-r--r--ports/cairo/CMakeLists.txt9
-rw-r--r--ports/cairo/CONTROL2
-rw-r--r--ports/cairo/cairo-features.h2
-rw-r--r--ports/ceres/0003_remove_unnecessary_cmake_modules.patch949
-rw-r--r--ports/ceres/0003_use_glog_target.patch (renamed from ports/ceres/0004_use_glog_target.patch)0
-rw-r--r--ports/ceres/0004_fix_exported_ceres_config.patch (renamed from ports/ceres/0005_fix_exported_ceres_config.patch)0
-rw-r--r--ports/ceres/CONTROL5
-rw-r--r--ports/ceres/portfile.cmake17
-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
-rw-r--r--ports/clp/CMakeLists.txt260
-rw-r--r--ports/clp/CONTROL8
-rw-r--r--ports/clp/Config.cmake.in10
-rw-r--r--ports/clp/portfile.cmake8
-rw-r--r--ports/coinutils/CMakeLists.txt108
-rw-r--r--ports/coinutils/CONTROL2
-rw-r--r--ports/coinutils/Config.cmake.in2
-rw-r--r--ports/coinutils/portfile.cmake8
-rw-r--r--ports/dlib/CONTROL2
-rw-r--r--ports/ebml/portfile.cmake56
-rw-r--r--ports/ensmallen/CONTROL9
-rw-r--r--ports/entityx/CONTROL2
-rw-r--r--ports/entityx/fix-cmake.patch40
-rw-r--r--ports/entityx/portfile.cmake2
-rw-r--r--ports/entt/CONTROL2
-rw-r--r--ports/entt/portfile.cmake1
-rw-r--r--ports/exiv2/portfile.cmake4
-rw-r--r--ports/expected-lite/CONTROL3
-rw-r--r--ports/expected-lite/portfile.cmake31
-rw-r--r--ports/ffmpeg/fix_windowsinclude-in-ffmpegexe-1.patch4
-rw-r--r--ports/ffmpeg/fix_windowsinclude-in-ffmpegexe-2.patch4
-rw-r--r--ports/ffmpeg/fix_windowsinclude-in-ffmpegexe-3.patch19
-rw-r--r--ports/ffmpeg/fixed-debug-bzip2-link.patch33
-rw-r--r--ports/ffmpeg/portfile.cmake62
-rw-r--r--ports/fmilib/portfile.cmake52
-rw-r--r--ports/fontconfig/CONTROL2
-rw-r--r--ports/fontconfig/portfile.cmake2
-rw-r--r--ports/g2o/CONTROL2
-rw-r--r--ports/gdal/portfile.cmake88
-rw-r--r--ports/gdcm/CONTROL2
-rw-r--r--ports/gdcm/find-openjpeg.patch48
-rw-r--r--ports/gdcm/portfile.cmake19
-rw-r--r--ports/gdcm/use-openjpeg-config.patch16
-rw-r--r--ports/gdk-pixbuf/CMakeLists.txt48
-rw-r--r--ports/gdk-pixbuf/CONTROL2
-rw-r--r--ports/gdk-pixbuf/config.h.linux158
-rw-r--r--ports/gdk-pixbuf/portfile.cmake1
-rw-r--r--ports/geogram/CONTROL2
-rw-r--r--ports/glib/CMakeLists.txt4
-rw-r--r--ports/glib/CONTROL2
-rw-r--r--ports/glib/cmake/unofficial-glib-config.in.cmake6
-rw-r--r--ports/glibmm/CMakeLists.txt11
-rw-r--r--ports/glibmm/CONTROL8
-rw-r--r--ports/glibmm/fix-define-glibmmconfig.patch43
-rw-r--r--ports/glibmm/portfile.cmake8
-rw-r--r--ports/google-cloud-cpp/CONTROL2
-rw-r--r--ports/google-cloud-cpp/cmake-libcurl-find-config.patch142
-rw-r--r--ports/google-cloud-cpp/portfile.cmake8
-rw-r--r--ports/graphqlparser/portfile.cmake4
-rw-r--r--ports/gsoap/CONTROL2
-rw-r--r--ports/gsoap/portfile.cmake14
-rw-r--r--ports/harfbuzz/0001-fix-cmake-export.patch26
-rw-r--r--ports/harfbuzz/0003-remove-broken-test.patch9
-rw-r--r--ports/harfbuzz/CONTROL2
-rw-r--r--ports/harfbuzz/find-package-freetype-2.patch26
-rw-r--r--ports/harfbuzz/portfile.cmake4
-rw-r--r--ports/highfive/portfile.cmake2
-rw-r--r--ports/hpx/CONTROL4
-rw-r--r--ports/hpx/portfile.cmake4
-rw-r--r--ports/icu/CONTROL2
-rw-r--r--ports/icu/portfile.cmake8
-rw-r--r--ports/io2d/portfile.cmake25
-rw-r--r--ports/itpp/CONTROL3
-rw-r--r--ports/itpp/fix-linux.patch13
-rw-r--r--ports/itpp/fix-uwp.patch12
-rw-r--r--ports/itpp/msvc2013.patch284
-rw-r--r--ports/itpp/portfile.cmake45
-rw-r--r--ports/jbig2dec/CMakeLists.txt2
-rw-r--r--ports/jbig2dec/CONTROL3
-rw-r--r--ports/jbig2dec/portfile.cmake4
-rw-r--r--ports/json-c/CONTROL3
-rw-r--r--ports/json-c/portfile.cmake28
-rw-r--r--ports/jsonnet/portfile.cmake2
-rw-r--r--ports/libcroco/CMakeLists.txt14
-rw-r--r--ports/libcroco/CONTROL2
-rw-r--r--ports/libcroco/portfile.cmake6
-rw-r--r--ports/liblemon/CONTROL6
-rw-r--r--ports/liblemon/portfile.cmake1
-rw-r--r--ports/liblsl/CONTROL2
-rw-r--r--ports/liblsl/fix-runtime-destination.patch13
-rw-r--r--ports/liblsl/hardcode-version.patch31
-rw-r--r--ports/liblsl/portfile.cmake7
-rw-r--r--ports/libmupdf/CONTROL8
-rw-r--r--ports/libmupdf/portfile.cmake3
-rw-r--r--ports/libmupdf/remove_opj_defines.patch16
-rw-r--r--ports/libopusenc/CMakeLists.txt3
-rw-r--r--ports/libopusenc/CONTROL2
-rw-r--r--ports/libopusenc/portfile.cmake4
-rw-r--r--ports/libraw/CONTROL2
-rw-r--r--ports/libraw/portfile.cmake11
-rw-r--r--ports/libvpx/CONTROL2
-rw-r--r--ports/libvpx/portfile.cmake5
-rw-r--r--ports/lz4/CMakeLists.txt1
-rw-r--r--ports/lz4/CONTROL3
-rw-r--r--ports/mlpack/CONTROL14
-rw-r--r--ports/mlpack/cmakelists.patch96
-rw-r--r--ports/mlpack/portfile.cmake34
-rw-r--r--ports/moos-core/portfile.cmake2
-rw-r--r--ports/nrf-ble-driver/CONTROL2
-rw-r--r--ports/nrf-ble-driver/portfile.cmake12
-rw-r--r--ports/observer-ptr-lite/CONTROL3
-rw-r--r--ports/observer-ptr-lite/portfile.cmake31
-rw-r--r--ports/octomap/portfile.cmake2
-rw-r--r--ports/openblas/portfile.cmake14
-rw-r--r--ports/openexr/fix_clang_not_setting_modern_cplusplus.patch13
-rw-r--r--ports/openexr/portfile.cmake6
-rw-r--r--ports/openimageio/portfile.cmake3
-rw-r--r--ports/openimageio/remove_wrong_dependency.patch23
-rw-r--r--ports/openmvg/CONTROL4
-rw-r--r--ports/openmvg/fixcmake.patch16
-rw-r--r--ports/openmvs/CONTROL4
-rw-r--r--ports/openmvs/portfile.cmake4
-rw-r--r--ports/openssl-windows/portfile.cmake50
-rw-r--r--ports/optional-bare/CONTROL3
-rw-r--r--ports/optional-bare/portfile.cmake31
-rw-r--r--ports/optional-lite/CONTROL3
-rw-r--r--ports/optional-lite/portfile.cmake31
-rw-r--r--ports/osi/CMakeLists.txt197
-rw-r--r--ports/osi/CONTROL8
-rw-r--r--ports/osi/Config.cmake.in10
-rw-r--r--ports/osi/portfile.cmake7
-rw-r--r--ports/pdal/FindGDAL.cmake13
-rw-r--r--ports/pdal/PDALConfig.patch13
-rw-r--r--ports/pdal/portfile.cmake16
-rw-r--r--ports/platform-folders/portfile.cmake2
-rw-r--r--ports/polyclipping/CONTROL3
-rw-r--r--ports/polyclipping/portfile.cmake28
-rw-r--r--ports/portaudio/portfile.cmake2
-rw-r--r--ports/pprint/CONTROL3
-rw-r--r--ports/pprint/portfile.cmake27
-rw-r--r--ports/reproc/CONTROL6
-rw-r--r--ports/reproc/portfile.cmake59
-rw-r--r--ports/restinio/CONTROL2
-rw-r--r--ports/restinio/portfile.cmake6
-rw-r--r--ports/ring-span-lite/CONTROL3
-rw-r--r--ports/ring-span-lite/portfile.cmake31
-rw-r--r--ports/robin-hood-hashing/CONTROL3
-rw-r--r--ports/robin-hood-hashing/portfile.cmake16
-rw-r--r--ports/rs-core-lib/portfile.cmake2
-rw-r--r--ports/rttr/portfile.cmake4
-rw-r--r--ports/shogun/CONTROL8
-rw-r--r--ports/shogun/portfile.cmake18
-rw-r--r--ports/shogun/use_proper_cmake_symbol.patch22
-rw-r--r--ports/sndfile/portfile.cmake2
-rw-r--r--ports/sophus/CONTROL4
-rw-r--r--ports/sophus/fix_cmakelists.patch12
-rw-r--r--ports/sophus/portfile.cmake10
-rw-r--r--ports/span-lite/CONTROL3
-rw-r--r--ports/span-lite/portfile.cmake31
-rw-r--r--ports/spirv-cross/CONTROL2
-rw-r--r--ports/spirv-cross/portfile.cmake4
-rw-r--r--ports/stormlib/CONTROL4
-rw-r--r--ports/stormlib/disable-building-tests.patch15
-rw-r--r--ports/stormlib/portfile.cmake24
-rw-r--r--ports/string-view-lite/CONTROL3
-rw-r--r--ports/string-view-lite/portfile.cmake31
-rw-r--r--ports/suitesparse/CONTROL2
-rw-r--r--ports/suitesparse/fix-install-suitesparse.patch29
-rw-r--r--ports/suitesparse/portfile.cmake77
-rw-r--r--ports/suitesparse/remove-debug-postfix.patch11
-rw-r--r--ports/suitesparse/suitesparse.patch73
-rw-r--r--ports/tgui/portfile.cmake6
-rw-r--r--ports/theia/CONTROL8
-rw-r--r--ports/theia/fix-cmakelists.patch310
-rw-r--r--ports/theia/fix-external-dependencies.patch405
-rw-r--r--ports/theia/fix-find-suitesparse.patch227
-rw-r--r--ports/theia/fix-glog-error.patch12
-rw-r--r--ports/theia/fix-oiio.patch391
-rw-r--r--ports/theia/fix-vlfeat-static.patch49
-rw-r--r--ports/theia/portfile.cmake35
-rw-r--r--ports/unicorn-lib/portfile.cmake2
-rw-r--r--ports/variant-lite/CONTROL3
-rw-r--r--ports/variant-lite/portfile.cmake31
-rw-r--r--ports/wpilib/CONTROL12
-rw-r--r--ports/wpilib/portfile.cmake67
-rw-r--r--ports/x265/portfile.cmake8
-rw-r--r--ports/xxhash/CONTROL2
-rw-r--r--ports/xxhash/fix-arm-uwp.patch34
-rw-r--r--ports/xxhash/portfile.cmake9
-rw-r--r--ports/zxing-cpp/CONTROL2
-rw-r--r--ports/zxing-cpp/portfile.cmake14
-rw-r--r--scripts/buildsystems/vcpkg.cmake2
-rw-r--r--scripts/cmake/vcpkg_acquire_msys.cmake8
-rw-r--r--scripts/cmake/vcpkg_configure_meson.cmake2
-rw-r--r--scripts/cmake/vcpkg_find_acquire_program.cmake10
-rw-r--r--scripts/cmake/vcpkg_from_github.cmake2
226 files changed, 3498 insertions, 4970 deletions
diff --git a/ports/any-lite/CONTROL b/ports/any-lite/CONTROL
new file mode 100644
index 000000000..6eaf3d167
--- /dev/null
+++ b/ports/any-lite/CONTROL
@@ -0,0 +1,3 @@
+Source: any-lite
+Version: 0.2.0
+Description: A C++17-like any, a type-safe container for single values of any type for C++98, C++11 and later in a single-file header-only library
diff --git a/ports/any-lite/portfile.cmake b/ports/any-lite/portfile.cmake
new file mode 100644
index 000000000..aba905134
--- /dev/null
+++ b/ports/any-lite/portfile.cmake
@@ -0,0 +1,31 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO martinmoene/any-lite
+ REF v0.2.0
+ SHA512 703900d7bac96d41f903b6cabba4bce15ef3cf7ef0a6a66de76230498ededff110e43d68d4a3fd6996869b2edd001f69bd53039a214d06b774ce99518f384a68
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DANY_LITE_OPT_BUILD_TESTS=OFF
+ -DANY_LITE_OPT_BUILD_EXAMPLES=OFF
+)
+
+vcpkg_install_cmake()
+
+vcpkg_fixup_cmake_targets(
+ CONFIG_PATH lib/cmake/${PORT}
+)
+
+file( REMOVE_RECURSE
+ ${CURRENT_PACKAGES_DIR}/debug
+ ${CURRENT_PACKAGES_DIR}/lib
+)
+
+file( INSTALL
+ ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright
+)
diff --git a/ports/arb/CONTROL b/ports/arb/CONTROL
index 540eedaee..750543298 100644
--- a/ports/arb/CONTROL
+++ b/ports/arb/CONTROL
@@ -1,4 +1,4 @@
Source: arb
-Version: 2.11.1-2
+Version: 2.16.0
Description: a C library for arbitrary-precision interval arithmetic
Build-Depends: flint
diff --git a/ports/arb/fix-build-error.patch b/ports/arb/fix-build-error.patch
new file mode 100644
index 000000000..7ed2428cf
--- /dev/null
+++ b/ports/arb/fix-build-error.patch
@@ -0,0 +1,24 @@
+diff --git a/acb_dirichlet/stieltjes.c b/acb_dirichlet/stieltjes.c
+index ad6937b..4ca9690 100644
+--- a/acb_dirichlet/stieltjes.c
++++ b/acb_dirichlet/stieltjes.c
+@@ -340,16 +340,16 @@ stieltjes_mag(double n)
+ return t;
+ }
+
+-static double _hypot(double x, double y) { return sqrt(x * x + y * y); }
++static double __hypot(double x, double y) { return sqrt(x * x + y * y); }
+
+ /* log2 magnitude of integrand at z = x+yi; alpha = a+bi */
+ static double
+ integrand_mag(double n, double x, double y, double a, double b)
+ {
+ double t, u;
+- t = log(_hypot(a - y, b + x));
++ t = log(__hypot(a - y, b + x));
+ u = atan2(b + x, a - y);
+- t = log(_hypot(t,u)) * (n+1) - 2.0 * 3.1415926535897932 * x;
++ t = log(__hypot(t,u)) * (n+1) - 2.0 * 3.1415926535897932 * x;
+ return t * 1.44269504088896341;
+ }
+
diff --git a/ports/arb/portfile.cmake b/ports/arb/portfile.cmake
index 847120318..3c1196283 100644
--- a/ports/arb/portfile.cmake
+++ b/ports/arb/portfile.cmake
@@ -5,9 +5,10 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO fredrik-johansson/arb
- REF 2.11.1
- SHA512 7a014da5208b55f20c7a3cd3eb51070b09ae107b04cbbd6329925780c2ab4d7c38e1fb3619f21456fa806939818370fcae921f59eb013661b6bdd3d0971e3353
+ REF 2.16.0
+ SHA512 171c965aeb03cd2830df8a53990403c6da480a94d44385dadfbb2d02697f7c03e8b9a217094b0ad93f796d889a1564f4b9ae9db35ef9de90f61bb2e3220911be
HEAD_REF master
+ PATCHES fix-build-error.patch
)
file(REMOVE ${SOURCE_PATH}/CMakeLists.txt)
@@ -21,9 +22,8 @@ vcpkg_configure_cmake(
vcpkg_install_cmake()
vcpkg_copy_pdbs()
+# Remove duplicate headers
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
# Handle copyright
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/arb RENAME copyright)
-
-# Remove duplicate headers
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
diff --git a/ports/armadillo/CONTROL b/ports/armadillo/CONTROL
index d8edd620e..a162b1ced 100644
--- a/ports/armadillo/CONTROL
+++ b/ports/armadillo/CONTROL
@@ -1,3 +1,4 @@
Source: armadillo
-Version: 2019-04-16-f00d3225
+Version: 2019-04-16-1
Description: Armadillo is a high quality linear algebra library (matrix maths) for the C++ language, aiming towards a good balance between speed and ease of use
+Build-Depends: openblas (!osx), clapack (!osx)
diff --git a/ports/armadillo/portfile.cmake b/ports/armadillo/portfile.cmake
index 172984712..6b9b3790a 100644
--- a/ports/armadillo/portfile.cmake
+++ b/ports/armadillo/portfile.cmake
@@ -1,29 +1,35 @@
-include(vcpkg_common_functions)
-
-vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
-
-vcpkg_from_gitlab(
- GITLAB_URL https://gitlab.com
- OUT_SOURCE_PATH SOURCE_PATH
- REPO conradsnicta/armadillo-code
- REF f00d3225b1c005775044369723f31cecc3cd6569
- SHA512 ca3574edf5de8c752867403c3856ed9569fbed2ce9729585cae59be5751493c2e71121319b0a812e2ea56baada6b6f62fbc84ce6f1efb362347e5fd4141ccf1b
- HEAD_REF 9.400.x
-)
-
-vcpkg_configure_cmake(
- SOURCE_PATH ${SOURCE_PATH}
- PREFER_NINJA
- OPTIONS
- -DDETECT_HDF5=false
-)
-
-vcpkg_install_cmake()
-vcpkg_fixup_cmake_targets(CONFIG_PATH share/Armadillo/CMake TARGET_PATH share/armadillo)
-
-vcpkg_copy_pdbs()
-
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
-
-file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/Armadillo RENAME copyright)
+include(vcpkg_common_functions)
+
+vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
+vcpkg_from_gitlab(
+ GITLAB_URL https://gitlab.com
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO conradsnicta/armadillo-code
+ REF f00d3225b1c005775044369723f31cecc3cd6569
+ SHA512 ca3574edf5de8c752867403c3856ed9569fbed2ce9729585cae59be5751493c2e71121319b0a812e2ea56baada6b6f62fbc84ce6f1efb362347e5fd4141ccf1b
+ HEAD_REF 9.400.x
+ PATCHES
+ remove_custom_modules.patch
+)
+
+file(REMOVE ${SOURCE_PATH}/cmake_aux/Modules/ARMA_FindBLAS.cmake)
+file(REMOVE ${SOURCE_PATH}/cmake_aux/Modules/ARMA_FindLAPACK.cmake)
+file(REMOVE ${SOURCE_PATH}/cmake_aux/Modules/ARMA_FindOpenBLAS.cmake)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DDETECT_HDF5=false
+)
+
+vcpkg_install_cmake()
+vcpkg_fixup_cmake_targets(CONFIG_PATH share/armadillo/CMake TARGET_PATH share/armadillo)
+
+vcpkg_copy_pdbs()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
+
+file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/armadillo RENAME copyright)
diff --git a/ports/armadillo/remove_custom_modules.patch b/ports/armadillo/remove_custom_modules.patch
new file mode 100644
index 000000000..0723dbeb5
--- /dev/null
+++ b/ports/armadillo/remove_custom_modules.patch
@@ -0,0 +1,17 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 0959127..9fea721 100755
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -176,10 +176,9 @@ else()
+ include(ARMA_FindMKL)
+ include(ARMA_FindACMLMP)
+ include(ARMA_FindACML)
+- include(ARMA_FindOpenBLAS)
+ include(ARMA_FindATLAS)
+- include(ARMA_FindBLAS)
+- include(ARMA_FindLAPACK)
++ find_package(BLAS)
++ find_package(LAPACK)
+
+ message(STATUS " MKL_FOUND = ${MKL_FOUND}" )
+ message(STATUS " ACMLMP_FOUND = ${ACMLMP_FOUND}" )
diff --git a/ports/asio/CMakeLists.txt b/ports/asio/CMakeLists.txt
new file mode 100644
index 000000000..aa7354e76
--- /dev/null
+++ b/ports/asio/CMakeLists.txt
@@ -0,0 +1,33 @@
+cmake_minimum_required(VERSION 3.8)
+project(asio)
+
+add_library(asio INTERFACE)
+
+# Always use "ASIO_STANDALONE" to avoid boost dependency
+file(READ "asio/include/asio/detail/config.hpp" _contents)
+string(REPLACE "defined(ASIO_STANDALONE)" "!defined(VCPKG_DISABLE_ASIO_STANDALONE)" _contents "${_contents}")
+file(WRITE "asio/include/asio/detail/config.hpp" "${_contents}")
+
+# Export target
+install(TARGETS asio
+ EXPORT asio
+ INCLUDES DESTINATION include/
+)
+
+install(EXPORT asio
+ DESTINATION "share/asio"
+ FILE asio-targets.cmake
+)
+
+install(DIRECTORY
+ asio/include/asio
+ DESTINATION include/
+ FILES_MATCHING
+ PATTERN "*.hpp"
+ PATTERN "*.ipp"
+)
+
+install(FILES
+ asio/include/asio.hpp
+ DESTINATION include/
+)
diff --git a/ports/asio/CONTROL b/ports/asio/CONTROL
index 6ba9e4318..951c80e29 100644
--- a/ports/asio/CONTROL
+++ b/ports/asio/CONTROL
@@ -1,3 +1,3 @@
Source: asio
-Version: 1.12.2
+Version: 1.12.2-1
Description: Asio is a cross-platform C++ library for network and low-level I/O programming that provides developers with a consistent asynchronous model using a modern C++ approach.
diff --git a/ports/asio/asio-config.cmake b/ports/asio/asio-config.cmake
new file mode 100644
index 000000000..32e00095a
--- /dev/null
+++ b/ports/asio/asio-config.cmake
@@ -0,0 +1,6 @@
+include ("${CMAKE_CURRENT_LIST_DIR}/asio-targets.cmake")
+add_library(asio::asio INTERFACE IMPORTED)
+target_link_libraries(asio::asio INTERFACE asio)
+
+get_target_property(_ASIO_INCLUDE_DIR asio INTERFACE_INCLUDE_DIRECTORIES)
+set(ASIO_INCLUDE_DIR "${_ASIO_INCLUDE_DIR}")
diff --git a/ports/asio/portfile.cmake b/ports/asio/portfile.cmake
index bd5f5af2a..f9b3b739d 100644
--- a/ports/asio/portfile.cmake
+++ b/ports/asio/portfile.cmake
@@ -9,13 +9,21 @@ vcpkg_from_github(
HEAD_REF master
)
+# CMake install
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+)
+vcpkg_install_cmake()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH "share/asio")
+file(INSTALL
+ ${CMAKE_CURRENT_LIST_DIR}/asio-config.cmake
+ DESTINATION ${CURRENT_PACKAGES_DIR}/share/asio/
+)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug)
+
# Handle copyright
file(INSTALL ${SOURCE_PATH}/asio/LICENSE_1_0.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
-# Copy the asio header files
-file(INSTALL ${SOURCE_PATH}/asio/include DESTINATION ${CURRENT_PACKAGES_DIR} FILES_MATCHING PATTERN "*.hpp" PATTERN "*.ipp")
-
-# Always use "ASIO_STANDALONE" to avoid boost dependency
-file(READ "${CURRENT_PACKAGES_DIR}/include/asio/detail/config.hpp" _contents)
-string(REPLACE "defined(ASIO_STANDALONE)" "!defined(VCPKG_DISABLE_ASIO_STANDALONE)" _contents "${_contents}")
-file(WRITE "${CURRENT_PACKAGES_DIR}/include/asio/detail/config.hpp" "${_contents}")
diff --git a/ports/assimp/CONTROL b/ports/assimp/CONTROL
index 504cae234..0756978d6 100644
--- a/ports/assimp/CONTROL
+++ b/ports/assimp/CONTROL
@@ -1,4 +1,4 @@
Source: assimp
-Version: 4.1.0-4
+Version: 4.1.0-5
Description: The Open Asset import library
Build-Depends: zlib, rapidjson
diff --git a/ports/assimp/portfile.cmake b/ports/assimp/portfile.cmake
index 2945f51f9..95aefe020 100644
--- a/ports/assimp/portfile.cmake
+++ b/ports/assimp/portfile.cmake
@@ -9,6 +9,7 @@ vcpkg_from_github(
PATCHES
dont-overwrite-prefix-path.patch
uninitialized-variable.patch
+ remove-useless-path.patch
)
file(REMOVE ${SOURCE_PATH}/cmake-modules/FindZLIB.cmake)
@@ -26,14 +27,7 @@ vcpkg_configure_cmake(
-DASSIMP_BUILD_SHARED_LIBS=${BUILD_SHARED_LIBS}
-DASSIMP_BUILD_ASSIMP_TOOLS=OFF
-DASSIMP_INSTALL_PDB=OFF
- -DZLIB_INCLUDE_DIR=${CURRENT_INSTALLED_DIR}/include
- -DZLIB_FOUND=1
- OPTIONS_RELEASE
- -DZLIB_LIBRARIES=${CURRENT_INSTALLED_DIR}/lib/zlib.lib
- -DZLIB_LIBRARY=${CURRENT_INSTALLED_DIR}/lib/zlib.lib
- OPTIONS_DEBUG
- -DZLIB_LIBRARIES=${CURRENT_INSTALLED_DIR}/debug/lib/zlibd.lib
- -DZLIB_LIBRARY=${CURRENT_INSTALLED_DIR}/debug/lib/zlibd.lib
+ #-DSYSTEM_IRRXML=ON # Wait for the built-in irrxml to synchronize with port irrlich, add dependencies and enable this macro
)
vcpkg_install_cmake()
@@ -51,8 +45,13 @@ string(REPLACE "get_filename_component(ASSIMP_ROOT_DIR \"\${_PREFIX}\" PATH)"
"set(ASSIMP_ROOT_DIR \${_PREFIX})" ASSIMP_CONFIG ${ASSIMP_CONFIG})
if(WIN32)
- string(REPLACE "set( ASSIMP_LIBRARIES \${ASSIMP_LIBRARIES})"
- "set( ASSIMP_LIBRARIES optimized \${ASSIMP_LIBRARY_DIRS}/\${ASSIMP_LIBRARIES}.lib debug \${ASSIMP_LIBRARY_DIRS}/../debug/lib/\${ASSIMP_LIBRARIES}d.lib)" ASSIMP_CONFIG ${ASSIMP_CONFIG})
+ if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ string(REPLACE "set( ASSIMP_LIBRARIES \${ASSIMP_LIBRARIES})"
+ "set( ASSIMP_LIBRARIES optimized \${ASSIMP_LIBRARY_DIRS}/\${ASSIMP_LIBRARIES}.lib debug \${ASSIMP_LIBRARY_DIRS}/../debug/lib/\${ASSIMP_LIBRARIES}d.lib)" ASSIMP_CONFIG ${ASSIMP_CONFIG})
+ else()
+ string(REPLACE "set( ASSIMP_LIBRARIES \${ASSIMP_LIBRARIES})"
+ "set( ASSIMP_LIBRARIES optimized \${ASSIMP_LIBRARY_DIRS}/\${ASSIMP_LIBRARIES}.lib \${ASSIMP_LIBRARY_DIRS}/IrrXML.lib debug \${ASSIMP_LIBRARY_DIRS}/../debug/lib/\${ASSIMP_LIBRARIES}d.lib \${ASSIMP_LIBRARY_DIRS}/../debug/lib/IrrXMLd.lib)" ASSIMP_CONFIG ${ASSIMP_CONFIG})
+ endif()
else()
string(REPLACE "set( ASSIMP_LIBRARIES \${ASSIMP_LIBRARIES})"
"set( ASSIMP_LIBRARIES optimized \${ASSIMP_LIBRARY_DIRS}/lib\${ASSIMP_LIBRARIES}.a \${ASSIMP_LIBRARY_DIRS}/libIrrXML.a \${ASSIMP_LIBRARY_DIRS}/libz.a debug \${ASSIMP_LIBRARY_DIRS}/../debug/lib/lib\${ASSIMP_LIBRARIES}d.a \${ASSIMP_LIBRARY_DIRS}/../debug/lib/libIrrXMLd.a \${ASSIMP_LIBRARY_DIRS}/../debug/lib/libz.a)" ASSIMP_CONFIG ${ASSIMP_CONFIG})
diff --git a/ports/assimp/remove-useless-path.patch b/ports/assimp/remove-useless-path.patch
new file mode 100644
index 000000000..d16494f98
--- /dev/null
+++ b/ports/assimp/remove-useless-path.patch
@@ -0,0 +1,12 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 4a20cee..4fcb8dd 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -108,7 +108,6 @@ if (WIN32)
+ endif()
+
+ IF(MSVC)
+- SET (CMAKE_PREFIX_PATH "D:\\libs\\devil")
+ OPTION( ASSIMP_INSTALL_PDB
+ "Install MSVC debug files."
+ ON
diff --git a/ports/bdwgc/001-install-libraries.patch b/ports/bdwgc/001-install-libraries.patch
new file mode 100644
index 000000000..2cc87f5be
--- /dev/null
+++ b/ports/bdwgc/001-install-libraries.patch
@@ -0,0 +1,257 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 8d386ca5..b94d6358 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -27,6 +27,10 @@ include(CTest)
+
+ cmake_minimum_required(VERSION 3.1)
+
++# Customize CMake options by passing "-D<OPTION_NAME>=ON|OFF" in your command line
++option(build_cord "Install cord" ON)
++option(build_tests "Install library tests" ON)
++option(install_headers "Install header files" ON)
+ option(enable_threads "TODO" OFF) #TODO Support it
+ option(enable_parallel_mark "Parallelize marking and free list construction" ON)
+ option(enable_thread_local_alloc "Turn on thread-local allocation optimization" ON)
+@@ -52,22 +56,13 @@ add_definitions("-DALL_INTERIOR_POINTERS -DNO_EXECUTE_PERMISSION")
+
+ if (APPLE)
+ if ("${CMAKE_OSX_ARCHITECTURES}" STREQUAL "")
+- set(CMAKE_OSX_ARCHITECTURES "ppc;i386;x86_64"
++ set(CMAKE_OSX_ARCHITECTURES "x86_64;i386"
+ CACHE STRING "Build architectures for Mac OS X" FORCE)
+ endif()
+-elseif (WIN32)
++elseif (MSVC)
+ add_definitions("-D_CRT_SECURE_NO_DEPRECATE")
+ endif()
+
+-#LIBATOMIC #TODO
+-#ADD_LIBRARY(atomic_ops STATIC )
+-#SET_TARGET_PROPERTIES(atomic_ops PROPERTIES COMPILE_FLAGS -DNO_DEBUGGING)
+-
+-
+-#LIBGC
+-
+-include_directories(include)
+-include_directories(libatomic_ops/src)
+
+ set(SRC alloc.c reclaim.c allchblk.c misc.c mach_dep.c os_dep.c
+ mark_rts.c headers.c mark.c obj_map.c blacklst.c finalize.c
+@@ -82,12 +77,6 @@ if (enable_threads)
+ set(LIBS ${LIBS} ${Threads_LIBRARIES})
+ endif()
+
+-#IF(Threads_FOUND)
+-# ADD_DEFINITIONS("")
+-#ELSE
+-# MESSAGE("Parallel mark requires enable_threads ON" )
+-#ENDIF(Threads_FOUND)
+-
+ if (enable_cplusplus)
+ set(SRC ${SRC} gc_cpp.cc)
+ endif()
+@@ -141,7 +130,7 @@ if (CMAKE_USE_PTHREADS_INIT)
+ if (enable_parallel_mark)
+ add_definitions("-DHANDLE_FORK")
+ endif()
+- endif(enable_handle_fork)
++ endif()
+ set(SRC ${SRC} darwin_stop_world.c)
+ #TODO darwin_threads=true
+ endif()
+@@ -158,10 +147,10 @@ if (CMAKE_USE_WIN32_THREADS_INIT)
+ add_definitions("-DTHREAD_LOCAL_ALLOC")
+ set(SRC ${SRC} thread_local_alloc.c)
+ endif()
+- endif(enable_parallel_mark)
++ endif()
+ add_definitions("-DEMPTY_GETENV_RESULTS")
+ set(SRC ${SRC} win32_threads.c)
+-endif(CMAKE_USE_WIN32_THREADS_INIT)
++endif()
+
+ if (enable_gcj_support)
+ add_definitions("-DGC_GCJ_SUPPORT")
+@@ -169,7 +158,7 @@ if (enable_gcj_support)
+ add_definitions("-DGC_ENABLE_SUSPEND_THREAD")
+ endif()
+ set(SRC ${SRC} gcj_mlc.c)
+-endif(enable_gcj_support)
++endif()
+
+ if (enable_disclaim)
+ add_definitions("-DENABLE_DISCLAIM")
+@@ -195,7 +184,7 @@ if (enable_gc_debug)
+ add_definitions("-DMAKE_BACK_GRAPH")
+ set(SRC ${SRC} backgraph.c)
+ endif()
+-endif(enable_gc_debug)
++endif()
+
+ if (enable_redirect_malloc)
+ if (enable_gc_debug)
+@@ -206,7 +195,7 @@ if (enable_redirect_malloc)
+ add_definitions("-DREDIRECT_MALLOC=GC_malloc")
+ endif()
+ add_definitions("-DGC_USE_DLOPEN_WRAP")
+-endif(enable_redirect_malloc)
++endif()
+
+ if (enable_munmap)
+ add_definitions("-DUSE_MMAP -DUSE_MUNMAP")
+@@ -240,19 +229,44 @@ if (enable_checksums)
+ endif()
+ add_definitions("-DCHECKSUMS")
+ set(SRC ${SRC} checksums.c)
+-endif(enable_checksums)
+-
+-add_library(gc-lib STATIC ${SRC})
+-set_target_properties(gc-lib PROPERTIES
+- COMPILE_DEFINITIONS GC_NOT_DLL)
+-#TODO TARGET_LINK_LIBRARIES(... ... ${LIBS})
++endif()
+
+-add_library(gcmt-lib STATIC ${SRC})
+-set_target_properties(gcmt-lib PROPERTIES
+- COMPILE_DEFINITIONS GC_NOT_DLL)
++# Create target
++add_library(gc ${SRC})
++target_include_directories(gc
++ PUBLIC
++ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
++ $<INSTALL_INTERFACE:include>
++)
++if (NOT BUILD_SHARED_LIBS)
++ target_compile_definitions(gc PRIVATE GC_NOT_DLL)
++else()
++ target_compile_definitions(gc PRIVATE GC_DLL)
++endif()
+
+-add_library(gcmt-dll SHARED ${SRC})
++# Install library
++install(
++ TARGETS gc
++ EXPORT gcExports
++ LIBRARY DESTINATION lib
++ ARCHIVE DESTINATION lib
++ RUNTIME DESTINATION bin
++ INCLUDES DESTINATION include
++)
++
++# Install headers
++if (install_headers)
++ file(GLOB BDWGC_HEADERS "include/*.h")
++ install(FILES ${BDWGC_HEADERS} DESTINATION include/gc)
++
++ file(GLOB BDWGC_EXTRA_HEADERS "include/extra/*.h")
++ install(FILES ${BDWGC_EXTRA_HEADERS} DESTINATION include)
++endif()
+
+-add_subdirectory(cord)
++if (build_cord)
++ add_subdirectory(cord)
++endif()
+
+-add_subdirectory(tests)
++if (build_tests)
++ add_subdirectory(tests)
++endif()
+diff --git a/cord/CMakeLists.txt b/cord/CMakeLists.txt
+index 17077370..21818d4e 100644
+--- a/cord/CMakeLists.txt
++++ b/cord/CMakeLists.txt
+@@ -11,11 +11,11 @@
+ # modified is included with the above copyright notice.
+ ##
+
++add_executable(cord cordbscs.c cordxtra.c tests/de.c tests/de_win.c)
++set_target_properties(cord PROPERTIES COMPILE_DEFINITIONS GC_NOT_DLL)
++target_link_libraries(cord PRIVATE gc)
++
+ if (WIN32)
+- add_executable(cord cordbscs.c cordxtra.c
+- tests/de.c tests/de_win.c)
+ set_target_properties(cord PROPERTIES WIN32_EXECUTABLE TRUE)
+- set_target_properties(cord PROPERTIES COMPILE_DEFINITIONS GC_NOT_DLL)
+- target_link_libraries(cord gc-lib)
+- target_link_libraries(cord gdi32)
++ target_link_libraries(cord PRIVATE gdi32)
+ endif()
+diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
+index c6bcc7d7..32a021e7 100644
+--- a/tests/CMakeLists.txt
++++ b/tests/CMakeLists.txt
+@@ -14,8 +14,6 @@
+ # modified is included with the above copyright notice.
+ ##
+
+-add_definitions("-DGC_NOT_DLL")
+-
+ # Compile some tests as C++ to test extern "C" in header files.
+ if (enable_cplusplus)
+ set_source_files_properties(leak_test.c test.c
+@@ -23,51 +21,51 @@ if (enable_cplusplus)
+ endif()
+
+ add_executable(gctest WIN32 test.c)
+-target_link_libraries(gctest gc-lib)
++target_link_libraries(gctest PRIVATE gc)
+ add_test(NAME gctest COMMAND gctest)
+
+ add_executable(hugetest huge_test.c)
+-target_link_libraries(hugetest gc-lib)
++target_link_libraries(hugetest PRIVATE gc)
+ add_test(NAME hugetest COMMAND hugetest)
+
+ add_executable(leaktest leak_test.c)
+-target_link_libraries(leaktest gc-lib)
++target_link_libraries(leaktest PRIVATE gc)
+ add_test(NAME leaktest COMMAND leaktest)
+
+ add_executable(middletest middle.c)
+-target_link_libraries(middletest gc-lib)
++target_link_libraries(middletest PRIVATE gc)
+ add_test(NAME middletest COMMAND middletest)
+
+ add_executable(realloc_test realloc_test.c)
+-target_link_libraries(realloc_test gc-lib)
++target_link_libraries(realloc_test PRIVATE gc)
+ add_test(NAME realloc_test COMMAND realloc_test)
+
+ add_executable(smashtest smash_test.c)
+-target_link_libraries(smashtest gc-lib)
++target_link_libraries(smashtest PRIVATE gc)
+ add_test(NAME smashtest COMMAND smashtest)
+
+ if (enable_gc_debug)
+ add_executable(tracetest trace_test.c)
+- target_link_libraries(tracetest gc-lib)
++ target_link_libraries(tracetest PRIVATE gc)
+ add_test(NAME tracetest COMMAND tracetest)
+ endif()
+
+ if (enable_cplusplus)
+ # TODO add_executable(test_cpp test_cpp.cc)
+- # target_link_libraries(test_cpp gc-lib)
++ # target_link_libraries(test_cpp PRIVATE gc)
+ # add_test(NAME test_cpp COMMAND test_cpp)
+ endif()
+
+ if (enable_disclaim)
+ add_executable(disclaim_bench disclaim_bench.c)
+- target_link_libraries(disclaim_bench gc-lib)
++ target_link_libraries(disclaim_bench PRIVATE gc)
+ add_test(NAME disclaim_bench COMMAND disclaim_bench)
+
+ add_executable(disclaim_test disclaim_test.c)
+- target_link_libraries(disclaim_test gc-lib)
++ target_link_libraries(disclaim_test PRIVATE gc)
+ add_test(NAME disclaim_test COMMAND disclaim_test)
+
+ add_executable(disclaim_weakmap_test disclaim_weakmap_test.c)
+- target_link_libraries(disclaim_weakmap_test gc-lib)
++ target_link_libraries(disclaim_weakmap_test PRIVATE gc)
+ add_test(NAME disclaim_weakmap_test COMMAND disclaim_weakmap_test)
+ endif()
+ \ No newline at end of file
diff --git a/ports/bdwgc/CONTROL b/ports/bdwgc/CONTROL
new file mode 100644
index 000000000..973076004
--- /dev/null
+++ b/ports/bdwgc/CONTROL
@@ -0,0 +1,3 @@
+Source: bdwgc
+Version: 8.0.4-1
+Description: The Boehm-Demers-Weiser conservative C/C++ Garbage Collector (libgc, bdwgc, boehm-gc)
diff --git a/ports/bdwgc/portfile.cmake b/ports/bdwgc/portfile.cmake
new file mode 100644
index 000000000..8fdbbf72a
--- /dev/null
+++ b/ports/bdwgc/portfile.cmake
@@ -0,0 +1,31 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO ivmai/bdwgc
+ # REF v8.0.4
+ # SHA512 f3c178c9cab9d9df9ecdad5ac5661c916518d29b0eaca24efe569cb757c386c118ad4389851107597d99ff1bbe99b46383cce73dfd01be983196aa57c9626a4a
+ REF 0c8905e84d16bd5e14ed91e21904fd7ab9d197e2
+ SHA512 b38fe86d0dfaacd502971e39ea7df83a3dbf5542711f6b0462b7a6d48dbcf43da07a41a60ee96bca6403a2d2adaac0815a64667f3c80549ca57c5ebbe0e9672d
+ HEAD_REF master
+ PATCHES
+ 001-install-libraries.patch
+)
+
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -Dbuild_tests=OFF
+ -Dbuild_cord=OFF
+ OPTIONS_DEBUG
+ -Dinstall_headers=OFF
+)
+
+vcpkg_install_cmake()
+
+vcpkg_copy_pdbs()
+
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/README.QUICK DESTINATION ${CURRENT_PACKAGES_DIR}/share/bdwgc RENAME copyright)
diff --git a/ports/blaze/CONTROL b/ports/blaze/CONTROL
index 89af7e7d3..c70a72a6c 100644
--- a/ports/blaze/CONTROL
+++ b/ports/blaze/CONTROL
@@ -1,4 +1,4 @@
Source: blaze
Version: 3.5
-Build-Depends: clapack, boost-exception
+Build-Depends: clapack (!osx), boost-exception
Description: Blaze is an open-source, high-performance C++ math library for dense and sparse arithmetic.
diff --git a/ports/byte-lite/CONTROL b/ports/byte-lite/CONTROL
new file mode 100644
index 000000000..e16ff8e3c
--- /dev/null
+++ b/ports/byte-lite/CONTROL
@@ -0,0 +1,3 @@
+Source: byte-lite
+Version: 0.2.0
+Description: A C++17-like byte type for C++98, C++11 and later in a single-file header-only library
diff --git a/ports/byte-lite/portfile.cmake b/ports/byte-lite/portfile.cmake
new file mode 100644
index 000000000..7fd9f5620
--- /dev/null
+++ b/ports/byte-lite/portfile.cmake
@@ -0,0 +1,31 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO martinmoene/byte-lite
+ REF v0.2.0
+ SHA512 eefc730a39453dfc367a4478a84d4825cd85721d3c332a57321d0a5c3040a4d45921603ff24220f968dd21df61acea856ae30db8bae6c1e835a1755fb03c84b7
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DBYTE_LITE_OPT_BUILD_TESTS=OFF
+ -DBYTE_LITE_OPT_BUILD_EXAMPLES=OFF
+)
+
+vcpkg_install_cmake()
+
+vcpkg_fixup_cmake_targets(
+ CONFIG_PATH lib/cmake/${PORT}
+)
+
+file(REMOVE_RECURSE
+ ${CURRENT_PACKAGES_DIR}/debug
+ ${CURRENT_PACKAGES_DIR}/lib
+)
+
+file(INSTALL
+ ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright
+)
diff --git a/ports/cairo/CMakeLists.txt b/ports/cairo/CMakeLists.txt
index a23d776ed..750a9850d 100644
--- a/ports/cairo/CMakeLists.txt
+++ b/ports/cairo/CMakeLists.txt
@@ -167,9 +167,6 @@ find_package(Freetype REQUIRED)
find_package(unofficial-glib CONFIG REQUIRED)
find_package(unofficial-fontconfig CONFIG REQUIRED)
find_package(unofficial-pixman CONFIG REQUIRED)
-if(APPLE)
- find_package(Threads REQUIRED)
-endif()
# Cairo needs to be told which features of FreeType are availible
add_definitions(
@@ -193,7 +190,11 @@ endif()
add_library(cairo ${SOURCES})
-target_link_libraries(cairo PRIVATE gdi32 msimg32 user32 ZLIB::ZLIB PNG::PNG Freetype::Freetype unofficial::pixman::pixman-1 unofficial::fontconfig::fontconfig)
+target_link_libraries(cairo PRIVATE ZLIB::ZLIB PNG::PNG Freetype::Freetype unofficial::pixman::pixman-1 unofficial::fontconfig::fontconfig)
+
+if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
+ target_link_libraries(cairo PRIVATE gdi32 msimg32 user32)
+endif()
# GObject support module
diff --git a/ports/cairo/CONTROL b/ports/cairo/CONTROL
index fd3ce1187..3a82ccc97 100644
--- a/ports/cairo/CONTROL
+++ b/ports/cairo/CONTROL
@@ -1,4 +1,4 @@
Source: cairo
-Version: 1.16.0
+Version: 1.16.0-1
Description: Cairo is a 2D graphics library with support for multiple output devices. Currently supported output targets include the X Window System (via both Xlib and XCB), Quartz, Win32, image buffers, PostScript, PDF, and SVG file output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.
Build-Depends: zlib, libpng, pixman, glib, freetype, fontconfig
diff --git a/ports/cairo/cairo-features.h b/ports/cairo/cairo-features.h
index 3a1963974..e3eb31c13 100644
--- a/ports/cairo/cairo-features.h
+++ b/ports/cairo/cairo-features.h
@@ -5,8 +5,10 @@
*/
/* Always for Win32 */
+#ifdef _WIN32
#define CAIRO_HAS_WIN32_SURFACE 1
#define CAIRO_HAS_WIN32_FONT 1
+#endif
/* Require libpng */
#define CAIRO_HAS_PNG_FUNCTIONS 1
diff --git a/ports/ceres/0003_remove_unnecessary_cmake_modules.patch b/ports/ceres/0003_remove_unnecessary_cmake_modules.patch
deleted file mode 100644
index 698d410b9..000000000
--- a/ports/ceres/0003_remove_unnecessary_cmake_modules.patch
+++ /dev/null
@@ -1,949 +0,0 @@
-diff --git a/cmake/FindGflags.cmake b/cmake/FindGflags.cmake
-deleted file mode 100644
-index 32c04ea..0000000
---- a/cmake/FindGflags.cmake
-+++ /dev/null
-@@ -1,591 +0,0 @@
--# Ceres Solver - A fast non-linear least squares minimizer
--# Copyright 2015 Google Inc. All rights reserved.
--# http://ceres-solver.org/
--#
--# Redistribution and use in source and binary forms, with or without
--# modification, are permitted provided that the following conditions are met:
--#
--# * Redistributions of source code must retain the above copyright notice,
--# this list of conditions and the following disclaimer.
--# * Redistributions in binary form must reproduce the above copyright notice,
--# this list of conditions and the following disclaimer in the documentation
--# and/or other materials provided with the distribution.
--# * Neither the name of Google Inc. nor the names of its contributors may be
--# used to endorse or promote products derived from this software without
--# specific prior written permission.
--#
--# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
--# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
--# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
--# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
--# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
--# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
--# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
--# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
--# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
--# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
--# POSSIBILITY OF SUCH DAMAGE.
--#
--# Author: alexs.mac@gmail.com (Alex Stewart)
--#
--
--# FindGflags.cmake - Find Google gflags logging library.
--#
--# This module will attempt to find gflags, either via an exported CMake
--# configuration (generated by gflags >= 2.1 which are built with CMake), or
--# by performing a standard search for all gflags components. The order of
--# precedence for these two methods of finding gflags is controlled by:
--# GFLAGS_PREFER_EXPORTED_GFLAGS_CMAKE_CONFIGURATION.
--#
--# This module defines the following variables:
--#
--# GFLAGS_FOUND: TRUE iff gflags is found.
--# GFLAGS_INCLUDE_DIRS: Include directories for gflags.
--# GFLAGS_LIBRARIES: Libraries required to link gflags.
--# GFLAGS_NAMESPACE: The namespace in which gflags is defined. In versions of
--# gflags < 2.1, this was google, for versions >= 2.1 it is
--# by default gflags, although can be configured when building
--# gflags to be something else (i.e. google for legacy
--# compatibility).
--# FOUND_INSTALLED_GFLAGS_CMAKE_CONFIGURATION: True iff the version of gflags
--# found was built & installed /
--# exported as a CMake package.
--#
--# The following variables control the behaviour of this module when an exported
--# gflags CMake configuration is not found.
--#
--# GFLAGS_PREFER_EXPORTED_GFLAGS_CMAKE_CONFIGURATION: TRUE/FALSE, iff TRUE then
--# then prefer using an exported CMake configuration
--# generated by gflags >= 2.1 over searching for the
--# gflags components manually. Otherwise (FALSE)
--# ignore any exported gflags CMake configurations and
--# always perform a manual search for the components.
--# Default: TRUE iff user does not define this variable
--# before we are called, and does NOT specify either
--# GFLAGS_INCLUDE_DIR_HINTS or GFLAGS_LIBRARY_DIR_HINTS
--# otherwise FALSE.
--# GFLAGS_INCLUDE_DIR_HINTS: List of additional directories in which to
--# search for gflags includes, e.g: /timbuktu/include.
--# GFLAGS_LIBRARY_DIR_HINTS: List of additional directories in which to
--# search for gflags libraries, e.g: /timbuktu/lib.
--#
--# The following variables are also defined by this module, but in line with
--# CMake recommended FindPackage() module style should NOT be referenced directly
--# by callers (use the plural variables detailed above instead). These variables
--# do however affect the behaviour of the module via FIND_[PATH/LIBRARY]() which
--# are NOT re-called (i.e. search for library is not repeated) if these variables
--# are set with valid values _in the CMake cache_. This means that if these
--# variables are set directly in the cache, either by the user in the CMake GUI,
--# or by the user passing -DVAR=VALUE directives to CMake when called (which
--# explicitly defines a cache variable), then they will be used verbatim,
--# bypassing the HINTS variables and other hard-coded search locations.
--#
--# GFLAGS_INCLUDE_DIR: Include directory for gflags, not including the
--# include directory of any dependencies.
--# GFLAGS_LIBRARY: gflags library, not including the libraries of any
--# dependencies.
--
--# Reset CALLERS_CMAKE_FIND_LIBRARY_PREFIXES to its value when FindGflags was
--# invoked, necessary for MSVC.
--macro(GFLAGS_RESET_FIND_LIBRARY_PREFIX)
-- if (MSVC AND CALLERS_CMAKE_FIND_LIBRARY_PREFIXES)
-- set(CMAKE_FIND_LIBRARY_PREFIXES "${CALLERS_CMAKE_FIND_LIBRARY_PREFIXES}")
-- endif()
--endmacro(GFLAGS_RESET_FIND_LIBRARY_PREFIX)
--
--# Called if we failed to find gflags or any of it's required dependencies,
--# unsets all public (designed to be used externally) variables and reports
--# error message at priority depending upon [REQUIRED/QUIET/<NONE>] argument.
--macro(GFLAGS_REPORT_NOT_FOUND REASON_MSG)
-- unset(GFLAGS_FOUND)
-- unset(GFLAGS_INCLUDE_DIRS)
-- unset(GFLAGS_LIBRARIES)
-- # Do not use unset, as we want to keep GFLAGS_NAMESPACE in the cache,
-- # but simply clear its value.
-- set(GFLAGS_NAMESPACE "" CACHE STRING
-- "gflags namespace (google or gflags)" FORCE)
--
-- # Make results of search visible in the CMake GUI if gflags has not
-- # been found so that user does not have to toggle to advanced view.
-- mark_as_advanced(CLEAR GFLAGS_INCLUDE_DIR
-- GFLAGS_LIBRARY
-- GFLAGS_NAMESPACE)
--
-- gflags_reset_find_library_prefix()
--
-- # Note <package>_FIND_[REQUIRED/QUIETLY] variables defined by FindPackage()
-- # use the camelcase library name, not uppercase.
-- if (Gflags_FIND_QUIETLY)
-- message(STATUS "Failed to find gflags - " ${REASON_MSG} ${ARGN})
-- elseif (Gflags_FIND_REQUIRED)
-- message(FATAL_ERROR "Failed to find gflags - " ${REASON_MSG} ${ARGN})
-- else()
-- # Neither QUIETLY nor REQUIRED, use no priority which emits a message
-- # but continues configuration and allows generation.
-- message("-- Failed to find gflags - " ${REASON_MSG} ${ARGN})
-- endif ()
-- return()
--endmacro(GFLAGS_REPORT_NOT_FOUND)
--
--# Verify that all variable names passed as arguments are defined (can be empty
--# but must be defined) or raise a fatal error.
--macro(GFLAGS_CHECK_VARS_DEFINED)
-- foreach(CHECK_VAR ${ARGN})
-- if (NOT DEFINED ${CHECK_VAR})
-- message(FATAL_ERROR "Ceres Bug: ${CHECK_VAR} is not defined.")
-- endif()
-- endforeach()
--endmacro(GFLAGS_CHECK_VARS_DEFINED)
--
--# Use check_cxx_source_compiles() to compile trivial test programs to determine
--# the gflags namespace. This works on all OSs except Windows. If using Visual
--# Studio, it fails because msbuild forces check_cxx_source_compiles() to use
--# CMAKE_BUILD_TYPE=Debug for the test project, which usually breaks detection
--# because MSVC requires that the test project use the same build type as gflags,
--# which would normally be built in Release.
--#
--# Defines: GFLAGS_NAMESPACE in the caller's scope with the detected namespace,
--# which is blank (empty string, will test FALSE is CMake conditionals)
--# if detection failed.
--function(GFLAGS_CHECK_GFLAGS_NAMESPACE_USING_TRY_COMPILE)
-- # Verify that all required variables are defined.
-- gflags_check_vars_defined(
-- GFLAGS_INCLUDE_DIR GFLAGS_LIBRARY)
-- # Ensure that GFLAGS_NAMESPACE is always unset on completion unless
-- # we explicitly set if after having the correct namespace.
-- set(GFLAGS_NAMESPACE "" PARENT_SCOPE)
--
-- include(CheckCXXSourceCompiles)
-- # Setup include path & link library for gflags for CHECK_CXX_SOURCE_COMPILES.
-- set(CMAKE_REQUIRED_INCLUDES ${GFLAGS_INCLUDE_DIR})
-- set(CMAKE_REQUIRED_LIBRARIES ${GFLAGS_LIBRARY} ${GFLAGS_LINK_LIBRARIES})
-- # First try the (older) google namespace. Note that the output variable
-- # MUST be unique to the build type as otherwise the test is not repeated as
-- # it is assumed to have already been performed.
-- check_cxx_source_compiles(
-- "#include <gflags/gflags.h>
-- int main(int argc, char * argv[]) {
-- google::ParseCommandLineFlags(&argc, &argv, true);
-- return 0;
-- }"
-- GFLAGS_IN_GOOGLE_NAMESPACE)
-- if (GFLAGS_IN_GOOGLE_NAMESPACE)
-- set(GFLAGS_NAMESPACE google PARENT_SCOPE)
-- return()
-- endif()
--
-- # Try (newer) gflags namespace instead. Note that the output variable
-- # MUST be unique to the build type as otherwise the test is not repeated as
-- # it is assumed to have already been performed.
-- set(CMAKE_REQUIRED_INCLUDES ${GFLAGS_INCLUDE_DIR})
-- set(CMAKE_REQUIRED_LIBRARIES ${GFLAGS_LIBRARY} ${GFLAGS_LINK_LIBRARIES})
-- check_cxx_source_compiles(
-- "#include <gflags/gflags.h>
-- int main(int argc, char * argv[]) {
-- gflags::ParseCommandLineFlags(&argc, &argv, true);
-- return 0;
-- }"
-- GFLAGS_IN_GFLAGS_NAMESPACE)
-- if (GFLAGS_IN_GFLAGS_NAMESPACE)
-- set(GFLAGS_NAMESPACE gflags PARENT_SCOPE)
-- return()
-- endif (GFLAGS_IN_GFLAGS_NAMESPACE)
--endfunction(GFLAGS_CHECK_GFLAGS_NAMESPACE_USING_TRY_COMPILE)
--
--# Use regex on the gflags headers to attempt to determine the gflags namespace.
--# Checks both gflags.h (contained namespace on versions < 2.1.2) and
--# gflags_declare.h, which contains the namespace on versions >= 2.1.2.
--# In general, this method should only be used when
--# GFLAGS_CHECK_GFLAGS_NAMESPACE_USING_TRY_COMPILE() cannot be used, or has
--# failed.
--#
--# Defines: GFLAGS_NAMESPACE in the caller's scope with the detected namespace,
--# which is blank (empty string, will test FALSE is CMake conditionals)
--# if detection failed.
--function(GFLAGS_CHECK_GFLAGS_NAMESPACE_USING_REGEX)
-- # Verify that all required variables are defined.
-- gflags_check_vars_defined(GFLAGS_INCLUDE_DIR)
-- # Ensure that GFLAGS_NAMESPACE is always undefined on completion unless
-- # we explicitly set if after having the correct namespace.
-- set(GFLAGS_NAMESPACE "" PARENT_SCOPE)
--
-- # Scan gflags.h to identify what namespace gflags was built with. On
-- # versions of gflags < 2.1.2, gflags.h was configured with the namespace
-- # directly, on >= 2.1.2, gflags.h uses the GFLAGS_NAMESPACE #define which
-- # is defined in gflags_declare.h, we try each location in turn.
-- set(GFLAGS_HEADER_FILE ${GFLAGS_INCLUDE_DIR}/gflags/gflags.h)
-- if (NOT EXISTS ${GFLAGS_HEADER_FILE})
-- gflags_report_not_found(
-- "Could not find file: ${GFLAGS_HEADER_FILE} "
-- "containing namespace information in gflags install located at: "
-- "${GFLAGS_INCLUDE_DIR}.")
-- endif()
-- file(READ ${GFLAGS_HEADER_FILE} GFLAGS_HEADER_FILE_CONTENTS)
--
-- string(REGEX MATCH "namespace [A-Za-z]+"
-- GFLAGS_NAMESPACE "${GFLAGS_HEADER_FILE_CONTENTS}")
-- string(REGEX REPLACE "namespace ([A-Za-z]+)" "\\1"
-- GFLAGS_NAMESPACE "${GFLAGS_NAMESPACE}")
--
-- if (NOT GFLAGS_NAMESPACE)
-- gflags_report_not_found(
-- "Failed to extract gflags namespace from header file: "
-- "${GFLAGS_HEADER_FILE}.")
-- endif (NOT GFLAGS_NAMESPACE)
--
-- if (GFLAGS_NAMESPACE STREQUAL "google" OR
-- GFLAGS_NAMESPACE STREQUAL "gflags")
-- # Found valid gflags namespace from gflags.h.
-- set(GFLAGS_NAMESPACE "${GFLAGS_NAMESPACE}" PARENT_SCOPE)
-- return()
-- endif()
--
-- # Failed to find gflags namespace from gflags.h, gflags is likely a new
-- # version, check gflags_declare.h, which in newer versions (>= 2.1.2) contains
-- # the GFLAGS_NAMESPACE #define, which is then referenced in gflags.h.
-- set(GFLAGS_DECLARE_FILE ${GFLAGS_INCLUDE_DIR}/gflags/gflags_declare.h)
-- if (NOT EXISTS ${GFLAGS_DECLARE_FILE})
-- gflags_report_not_found(
-- "Could not find file: ${GFLAGS_DECLARE_FILE} "
-- "containing namespace information in gflags install located at: "
-- "${GFLAGS_INCLUDE_DIR}.")
-- endif()
-- file(READ ${GFLAGS_DECLARE_FILE} GFLAGS_DECLARE_FILE_CONTENTS)
--
-- string(REGEX MATCH "#define GFLAGS_NAMESPACE [A-Za-z]+"
-- GFLAGS_NAMESPACE "${GFLAGS_DECLARE_FILE_CONTENTS}")
-- string(REGEX REPLACE "#define GFLAGS_NAMESPACE ([A-Za-z]+)" "\\1"
-- GFLAGS_NAMESPACE "${GFLAGS_NAMESPACE}")
--
-- if (NOT GFLAGS_NAMESPACE)
-- gflags_report_not_found(
-- "Failed to extract gflags namespace from declare file: "
-- "${GFLAGS_DECLARE_FILE}.")
-- endif (NOT GFLAGS_NAMESPACE)
--
-- if (GFLAGS_NAMESPACE STREQUAL "google" OR
-- GFLAGS_NAMESPACE STREQUAL "gflags")
-- # Found valid gflags namespace from gflags.h.
-- set(GFLAGS_NAMESPACE "${GFLAGS_NAMESPACE}" PARENT_SCOPE)
-- return()
-- endif()
--endfunction(GFLAGS_CHECK_GFLAGS_NAMESPACE_USING_REGEX)
--
--# Protect against any alternative find_package scripts for this library having
--# been called previously (in a client project) which set GFLAGS_FOUND, but not
--# the other variables we require / set here which could cause the search logic
--# here to fail.
--unset(GFLAGS_FOUND)
--
--# -----------------------------------------------------------------
--# By default, if the user has expressed no preference for using an exported
--# gflags CMake configuration over performing a search for the installed
--# components, and has not specified any hints for the search locations, then
--# prefer a gflags exported configuration if available.
--if (NOT DEFINED GFLAGS_PREFER_EXPORTED_GFLAGS_CMAKE_CONFIGURATION
-- AND NOT GFLAGS_INCLUDE_DIR_HINTS
-- AND NOT GFLAGS_LIBRARY_DIR_HINTS)
-- message(STATUS "No preference for use of exported gflags CMake configuration "
-- "set, and no hints for include/library directories provided. "
-- "Defaulting to preferring an installed/exported gflags CMake configuration "
-- "if available.")
-- set(GFLAGS_PREFER_EXPORTED_GFLAGS_CMAKE_CONFIGURATION TRUE)
--endif()
--
--if (GFLAGS_PREFER_EXPORTED_GFLAGS_CMAKE_CONFIGURATION)
-- # Try to find an exported CMake configuration for gflags, as generated by
-- # gflags versions >= 2.1.
-- #
-- # We search twice, s/t we can invert the ordering of precedence used by
-- # find_package() for exported package build directories, and installed
-- # packages (found via CMAKE_SYSTEM_PREFIX_PATH), listed as items 6) and 7)
-- # respectively in [1].
-- #
-- # By default, exported build directories are (in theory) detected first, and
-- # this is usually the case on Windows. However, on OS X & Linux, the install
-- # path (/usr/local) is typically present in the PATH environment variable
-- # which is checked in item 4) in [1] (i.e. before both of the above, unless
-- # NO_SYSTEM_ENVIRONMENT_PATH is passed). As such on those OSs installed
-- # packages are usually detected in preference to exported package build
-- # directories.
-- #
-- # To ensure a more consistent response across all OSs, and as users usually
-- # want to prefer an installed version of a package over a locally built one
-- # where both exist (esp. as the exported build directory might be removed
-- # after installation), we first search with NO_CMAKE_PACKAGE_REGISTRY which
-- # means any build directories exported by the user are ignored, and thus
-- # installed directories are preferred. If this fails to find the package
-- # we then research again, but without NO_CMAKE_PACKAGE_REGISTRY, so any
-- # exported build directories will now be detected.
-- #
-- # To prevent confusion on Windows, we also pass NO_CMAKE_BUILDS_PATH (which
-- # is item 5) in [1]), to not preferentially use projects that were built
-- # recently with the CMake GUI to ensure that we always prefer an installed
-- # version if available.
-- #
-- # [1] http://www.cmake.org/cmake/help/v2.8.11/cmake.html#command:find_package
-- find_package(gflags QUIET
-- NO_MODULE
-- NO_CMAKE_PACKAGE_REGISTRY
-- NO_CMAKE_BUILDS_PATH)
-- if (gflags_FOUND)
-- message(STATUS "Found installed version of gflags: ${gflags_DIR}")
-- else(gflags_FOUND)
-- # Failed to find an installed version of gflags, repeat search allowing
-- # exported build directories.
-- message(STATUS "Failed to find installed gflags CMake configuration, "
-- "searching for gflags build directories exported with CMake.")
-- # Again pass NO_CMAKE_BUILDS_PATH, as we know that gflags is exported and
-- # do not want to treat projects built with the CMake GUI preferentially.
-- find_package(gflags QUIET
-- NO_MODULE
-- NO_CMAKE_BUILDS_PATH)
-- if (gflags_FOUND)
-- message(STATUS "Found exported gflags build directory: ${gflags_DIR}")
-- endif(gflags_FOUND)
-- endif(gflags_FOUND)
--
-- set(FOUND_INSTALLED_GFLAGS_CMAKE_CONFIGURATION ${gflags_FOUND})
--
-- # gflags v2.1 - 2.1.2 shipped with a bug in their gflags-config.cmake [1]
-- # whereby gflags_LIBRARIES = "gflags", but there was no imported target
-- # called "gflags", they were called: gflags[_nothreads]-[static/shared].
-- # As this causes linker errors when gflags is not installed in a location
-- # on the current library paths, detect if this problem is present and
-- # fix it.
-- #
-- # [1] https://github.com/gflags/gflags/issues/110
-- if (gflags_FOUND)
-- # NOTE: This is not written as additional conditions in the outer
-- # if (gflags_FOUND) as the NOT TARGET "${gflags_LIBRARIES}"
-- # condition causes problems if gflags is not found.
-- if (${gflags_VERSION} VERSION_LESS 2.1.3 AND
-- NOT TARGET "${gflags_LIBRARIES}")
-- message(STATUS "Detected broken gflags install in: ${gflags_DIR}, "
-- "version: ${gflags_VERSION} <= 2.1.2 which defines gflags_LIBRARIES = "
-- "${gflags_LIBRARIES} which is not an imported CMake target, see: "
-- "https://github.com/gflags/gflags/issues/110. Attempting to fix by "
-- "detecting correct gflags target.")
-- # Ordering here expresses preference for detection, specifically we do not
-- # want to use the _nothreads variants if the full library is available.
-- list(APPEND CHECK_GFLAGS_IMPORTED_TARGET_NAMES
-- gflags-shared gflags-static
-- gflags_nothreads-shared gflags_nothreads-static)
-- foreach(CHECK_GFLAGS_TARGET ${CHECK_GFLAGS_IMPORTED_TARGET_NAMES})
-- if (TARGET ${CHECK_GFLAGS_TARGET})
-- message(STATUS "Found valid gflags target: ${CHECK_GFLAGS_TARGET}, "
-- "updating gflags_LIBRARIES.")
-- set(gflags_LIBRARIES ${CHECK_GFLAGS_TARGET})
-- break()
-- endif()
-- endforeach()
-- if (NOT TARGET ${gflags_LIBRARIES})
-- message(STATUS "Failed to fix detected broken gflags install in: "
-- "${gflags_DIR}, version: ${gflags_VERSION} <= 2.1.2, none of the "
-- "imported targets for gflags: ${CHECK_GFLAGS_IMPORTED_TARGET_NAMES} "
-- "are defined. Will continue with a manual search for gflags "
-- "components. We recommend you build/install a version of gflags > "
-- "2.1.2 (or master).")
-- set(FOUND_INSTALLED_GFLAGS_CMAKE_CONFIGURATION FALSE)
-- endif()
-- endif()
-- endif()
--
-- if (FOUND_INSTALLED_GFLAGS_CMAKE_CONFIGURATION)
-- message(STATUS "Detected gflags version: ${gflags_VERSION}")
-- set(GFLAGS_FOUND ${gflags_FOUND})
-- set(GFLAGS_INCLUDE_DIR ${gflags_INCLUDE_DIR})
-- set(GFLAGS_LIBRARY ${gflags_LIBRARIES})
--
-- # gflags does not export the namespace in their CMake configuration, so
-- # use our function to determine what it should be, as it can be either
-- # gflags or google dependent upon version & configuration.
-- #
-- # NOTE: We use the regex method to determine the namespace here, as
-- # check_cxx_source_compiles() will not use imported targets, which
-- # is what gflags will be in this case.
-- gflags_check_gflags_namespace_using_regex()
--
-- if (NOT GFLAGS_NAMESPACE)
-- gflags_report_not_found(
-- "Failed to determine gflags namespace using regex for gflags "
-- "version: ${gflags_VERSION} exported here: ${gflags_DIR} using CMake.")
-- endif (NOT GFLAGS_NAMESPACE)
-- else (FOUND_INSTALLED_GFLAGS_CMAKE_CONFIGURATION)
-- message(STATUS "Failed to find an installed/exported CMake configuration "
-- "for gflags, will perform search for installed gflags components.")
-- endif (FOUND_INSTALLED_GFLAGS_CMAKE_CONFIGURATION)
--endif(GFLAGS_PREFER_EXPORTED_GFLAGS_CMAKE_CONFIGURATION)
--
--if (NOT GFLAGS_FOUND)
-- # Either failed to find an exported gflags CMake configuration, or user
-- # told us not to use one. Perform a manual search for all gflags components.
--
-- # Handle possible presence of lib prefix for libraries on MSVC, see
-- # also GFLAGS_RESET_FIND_LIBRARY_PREFIX().
-- if (MSVC)
-- # Preserve the caller's original values for CMAKE_FIND_LIBRARY_PREFIXES
-- # s/t we can set it back before returning.
-- set(CALLERS_CMAKE_FIND_LIBRARY_PREFIXES "${CMAKE_FIND_LIBRARY_PREFIXES}")
-- # The empty string in this list is important, it represents the case when
-- # the libraries have no prefix (shared libraries / DLLs).
-- set(CMAKE_FIND_LIBRARY_PREFIXES "lib" "" "${CMAKE_FIND_LIBRARY_PREFIXES}")
-- endif (MSVC)
--
-- # Search user-installed locations first, so that we prefer user installs
-- # to system installs where both exist.
-- list(APPEND GFLAGS_CHECK_INCLUDE_DIRS
-- /usr/local/include
-- /usr/local/homebrew/include # Mac OS X
-- /opt/local/var/macports/software # Mac OS X.
-- /opt/local/include
-- /usr/include)
-- list(APPEND GFLAGS_CHECK_PATH_SUFFIXES
-- gflags/include # Windows (for C:/Program Files prefix).
-- gflags/Include ) # Windows (for C:/Program Files prefix).
--
-- list(APPEND GFLAGS_CHECK_LIBRARY_DIRS
-- /usr/local/lib
-- /usr/local/homebrew/lib # Mac OS X.
-- /opt/local/lib
-- /usr/lib)
-- list(APPEND GFLAGS_CHECK_LIBRARY_SUFFIXES
-- gflags/lib # Windows (for C:/Program Files prefix).
-- gflags/Lib ) # Windows (for C:/Program Files prefix).
--
-- # Search supplied hint directories first if supplied.
-- find_path(GFLAGS_INCLUDE_DIR
-- NAMES gflags/gflags.h
-- HINTS ${GFLAGS_INCLUDE_DIR_HINTS}
-- PATHS ${GFLAGS_CHECK_INCLUDE_DIRS}
-- PATH_SUFFIXES ${GFLAGS_CHECK_PATH_SUFFIXES})
-- if (NOT GFLAGS_INCLUDE_DIR OR
-- NOT EXISTS ${GFLAGS_INCLUDE_DIR})
-- gflags_report_not_found(
-- "Could not find gflags include directory, set GFLAGS_INCLUDE_DIR "
-- "to directory containing gflags/gflags.h")
-- endif (NOT GFLAGS_INCLUDE_DIR OR
-- NOT EXISTS ${GFLAGS_INCLUDE_DIR})
--
-- find_library(GFLAGS_LIBRARY NAMES gflags
-- HINTS ${GFLAGS_LIBRARY_DIR_HINTS}
-- PATHS ${GFLAGS_CHECK_LIBRARY_DIRS}
-- PATH_SUFFIXES ${GFLAGS_CHECK_LIBRARY_SUFFIXES})
-- if (NOT GFLAGS_LIBRARY OR
-- NOT EXISTS ${GFLAGS_LIBRARY})
-- gflags_report_not_found(
-- "Could not find gflags library, set GFLAGS_LIBRARY "
-- "to full path to libgflags.")
-- endif (NOT GFLAGS_LIBRARY OR
-- NOT EXISTS ${GFLAGS_LIBRARY})
--
-- # gflags typically requires a threading library (which is OS dependent), note
-- # that this defines the CMAKE_THREAD_LIBS_INIT variable. If we are able to
-- # detect threads, we assume that gflags requires it.
-- find_package(Threads QUIET)
-- set(GFLAGS_LINK_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})
-- # On Windows (including MinGW), the Shlwapi library is used by gflags if
-- # available.
-- if (WIN32)
-- include(CheckIncludeFileCXX)
-- check_include_file_cxx("shlwapi.h" HAVE_SHLWAPI)
-- if (HAVE_SHLWAPI)
-- list(APPEND GFLAGS_LINK_LIBRARIES shlwapi.lib)
-- endif(HAVE_SHLWAPI)
-- endif (WIN32)
--
-- # Mark internally as found, then verify. GFLAGS_REPORT_NOT_FOUND() unsets
-- # if called.
-- set(GFLAGS_FOUND TRUE)
--
-- # Identify what namespace gflags was built with.
-- if (GFLAGS_INCLUDE_DIR AND NOT GFLAGS_NAMESPACE)
-- # To handle Windows peculiarities / CMake bugs on MSVC we try two approaches
-- # to detect the gflags namespace:
-- #
-- # 1) Try to use check_cxx_source_compiles() to compile a trivial program
-- # with the two choices for the gflags namespace.
-- #
-- # 2) [In the event 1) fails] Use regex on the gflags headers to try to
-- # determine the gflags namespace. Whilst this is less robust than 1),
-- # it does avoid any interaction with msbuild.
-- gflags_check_gflags_namespace_using_try_compile()
--
-- if (NOT GFLAGS_NAMESPACE)
-- # Failed to determine gflags namespace using check_cxx_source_compiles()
-- # method, try and obtain it using regex on the gflags headers instead.
-- message(STATUS "Failed to find gflags namespace using using "
-- "check_cxx_source_compiles(), trying namespace regex instead, "
-- "this is expected on Windows.")
-- gflags_check_gflags_namespace_using_regex()
--
-- if (NOT GFLAGS_NAMESPACE)
-- gflags_report_not_found(
-- "Failed to determine gflags namespace either by "
-- "check_cxx_source_compiles(), or namespace regex.")
-- endif (NOT GFLAGS_NAMESPACE)
-- endif (NOT GFLAGS_NAMESPACE)
-- endif (GFLAGS_INCLUDE_DIR AND NOT GFLAGS_NAMESPACE)
--
-- # Make the GFLAGS_NAMESPACE a cache variable s/t the user can view it, and could
-- # overwrite it in the CMake GUI.
-- set(GFLAGS_NAMESPACE "${GFLAGS_NAMESPACE}" CACHE STRING
-- "gflags namespace (google or gflags)" FORCE)
--
-- # gflags does not seem to provide any record of the version in its
-- # source tree, thus cannot extract version.
--
-- # Catch case when caller has set GFLAGS_NAMESPACE in the cache / GUI
-- # with an invalid value.
-- if (GFLAGS_NAMESPACE AND
-- NOT GFLAGS_NAMESPACE STREQUAL "google" AND
-- NOT GFLAGS_NAMESPACE STREQUAL "gflags")
-- gflags_report_not_found(
-- "Caller defined GFLAGS_NAMESPACE:"
-- " ${GFLAGS_NAMESPACE} is not valid, not google or gflags.")
-- endif ()
-- # Catch case when caller has set GFLAGS_INCLUDE_DIR in the cache / GUI and
-- # thus FIND_[PATH/LIBRARY] are not called, but specified locations are
-- # invalid, otherwise we would report the library as found.
-- if (GFLAGS_INCLUDE_DIR AND
-- NOT EXISTS ${GFLAGS_INCLUDE_DIR}/gflags/gflags.h)
-- gflags_report_not_found(
-- "Caller defined GFLAGS_INCLUDE_DIR:"
-- " ${GFLAGS_INCLUDE_DIR} does not contain gflags/gflags.h header.")
-- endif (GFLAGS_INCLUDE_DIR AND
-- NOT EXISTS ${GFLAGS_INCLUDE_DIR}/gflags/gflags.h)
-- # TODO: This regex for gflags library is pretty primitive, we use lowercase
-- # for comparison to handle Windows using CamelCase library names, could
-- # this check be better?
-- string(TOLOWER "${GFLAGS_LIBRARY}" LOWERCASE_GFLAGS_LIBRARY)
-- if (GFLAGS_LIBRARY AND
-- NOT "${LOWERCASE_GFLAGS_LIBRARY}" MATCHES ".*gflags[^/]*")
-- gflags_report_not_found(
-- "Caller defined GFLAGS_LIBRARY: "
-- "${GFLAGS_LIBRARY} does not match gflags.")
-- endif (GFLAGS_LIBRARY AND
-- NOT "${LOWERCASE_GFLAGS_LIBRARY}" MATCHES ".*gflags[^/]*")
--
-- gflags_reset_find_library_prefix()
--
--endif(NOT GFLAGS_FOUND)
--
--# Set standard CMake FindPackage variables if found.
--if (GFLAGS_FOUND)
-- set(GFLAGS_INCLUDE_DIRS ${GFLAGS_INCLUDE_DIR})
-- set(GFLAGS_LIBRARIES ${GFLAGS_LIBRARY} ${GFLAGS_LINK_LIBRARIES})
--endif (GFLAGS_FOUND)
--
--# Handle REQUIRED / QUIET optional arguments.
--include(FindPackageHandleStandardArgs)
--find_package_handle_standard_args(Gflags DEFAULT_MSG
-- GFLAGS_INCLUDE_DIRS GFLAGS_LIBRARIES GFLAGS_NAMESPACE)
--
--# Only mark internal variables as advanced if we found gflags, otherwise
--# leave them visible in the standard GUI for the user to set manually.
--if (GFLAGS_FOUND)
-- mark_as_advanced(FORCE GFLAGS_INCLUDE_DIR
-- GFLAGS_LIBRARY
-- GFLAGS_NAMESPACE
-- gflags_DIR) # Autogenerated by find_package(gflags)
--endif (GFLAGS_FOUND)
-diff --git a/cmake/FindGlog.cmake b/cmake/FindGlog.cmake
-deleted file mode 100644
-index 979dced..0000000
---- a/cmake/FindGlog.cmake
-+++ /dev/null
-@@ -1,346 +0,0 @@
--# Ceres Solver - A fast non-linear least squares minimizer
--# Copyright 2015 Google Inc. All rights reserved.
--# http://ceres-solver.org/
--#
--# Redistribution and use in source and binary forms, with or without
--# modification, are permitted provided that the following conditions are met:
--#
--# * Redistributions of source code must retain the above copyright notice,
--# this list of conditions and the following disclaimer.
--# * Redistributions in binary form must reproduce the above copyright notice,
--# this list of conditions and the following disclaimer in the documentation
--# and/or other materials provided with the distribution.
--# * Neither the name of Google Inc. nor the names of its contributors may be
--# used to endorse or promote products derived from this software without
--# specific prior written permission.
--#
--# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
--# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
--# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
--# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
--# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
--# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
--# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
--# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
--# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
--# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
--# POSSIBILITY OF SUCH DAMAGE.
--#
--# Author: alexs.mac@gmail.com (Alex Stewart)
--#
--
--# FindGlog.cmake - Find Google glog logging library.
--#
--# This module defines the following variables:
--#
--# GLOG_FOUND: TRUE iff glog is found.
--# GLOG_INCLUDE_DIRS: Include directories for glog.
--# GLOG_LIBRARIES: Libraries required to link glog.
--# FOUND_INSTALLED_GLOG_CMAKE_CONFIGURATION: True iff the version of glog found
--# was built & installed / exported
--# as a CMake package.
--#
--# The following variables control the behaviour of this module:
--#
--# GLOG_PREFER_EXPORTED_GLOG_CMAKE_CONFIGURATION: TRUE/FALSE, iff TRUE then
--# then prefer using an exported CMake configuration
--# generated by glog > 0.3.4 over searching for the
--# glog components manually. Otherwise (FALSE)
--# ignore any exported glog CMake configurations and
--# always perform a manual search for the components.
--# Default: TRUE iff user does not define this variable
--# before we are called, and does NOT specify either
--# GLOG_INCLUDE_DIR_HINTS or GLOG_LIBRARY_DIR_HINTS
--# otherwise FALSE.
--# GLOG_INCLUDE_DIR_HINTS: List of additional directories in which to
--# search for glog includes, e.g: /timbuktu/include.
--# GLOG_LIBRARY_DIR_HINTS: List of additional directories in which to
--# search for glog libraries, e.g: /timbuktu/lib.
--#
--# The following variables are also defined by this module, but in line with
--# CMake recommended FindPackage() module style should NOT be referenced directly
--# by callers (use the plural variables detailed above instead). These variables
--# do however affect the behaviour of the module via FIND_[PATH/LIBRARY]() which
--# are NOT re-called (i.e. search for library is not repeated) if these variables
--# are set with valid values _in the CMake cache_. This means that if these
--# variables are set directly in the cache, either by the user in the CMake GUI,
--# or by the user passing -DVAR=VALUE directives to CMake when called (which
--# explicitly defines a cache variable), then they will be used verbatim,
--# bypassing the HINTS variables and other hard-coded search locations.
--#
--# GLOG_INCLUDE_DIR: Include directory for glog, not including the
--# include directory of any dependencies.
--# GLOG_LIBRARY: glog library, not including the libraries of any
--# dependencies.
--
--# Reset CALLERS_CMAKE_FIND_LIBRARY_PREFIXES to its value when
--# FindGlog was invoked.
--macro(GLOG_RESET_FIND_LIBRARY_PREFIX)
-- if (MSVC AND CALLERS_CMAKE_FIND_LIBRARY_PREFIXES)
-- set(CMAKE_FIND_LIBRARY_PREFIXES "${CALLERS_CMAKE_FIND_LIBRARY_PREFIXES}")
-- endif()
--endmacro(GLOG_RESET_FIND_LIBRARY_PREFIX)
--
--# Called if we failed to find glog or any of it's required dependencies,
--# unsets all public (designed to be used externally) variables and reports
--# error message at priority depending upon [REQUIRED/QUIET/<NONE>] argument.
--macro(GLOG_REPORT_NOT_FOUND REASON_MSG)
-- unset(GLOG_FOUND)
-- unset(GLOG_INCLUDE_DIRS)
-- unset(GLOG_LIBRARIES)
-- # Make results of search visible in the CMake GUI if glog has not
-- # been found so that user does not have to toggle to advanced view.
-- mark_as_advanced(CLEAR GLOG_INCLUDE_DIR
-- GLOG_LIBRARY)
--
-- glog_reset_find_library_prefix()
--
-- # Note <package>_FIND_[REQUIRED/QUIETLY] variables defined by FindPackage()
-- # use the camelcase library name, not uppercase.
-- if (Glog_FIND_QUIETLY)
-- message(STATUS "Failed to find glog - " ${REASON_MSG} ${ARGN})
-- elseif (Glog_FIND_REQUIRED)
-- message(FATAL_ERROR "Failed to find glog - " ${REASON_MSG} ${ARGN})
-- else()
-- # Neither QUIETLY nor REQUIRED, use no priority which emits a message
-- # but continues configuration and allows generation.
-- message("-- Failed to find glog - " ${REASON_MSG} ${ARGN})
-- endif ()
-- return()
--endmacro(GLOG_REPORT_NOT_FOUND)
--
--# Protect against any alternative find_package scripts for this library having
--# been called previously (in a client project) which set GLOG_FOUND, but not
--# the other variables we require / set here which could cause the search logic
--# here to fail.
--unset(GLOG_FOUND)
--
--# -----------------------------------------------------------------
--# By default, if the user has expressed no preference for using an exported
--# glog CMake configuration over performing a search for the installed
--# components, and has not specified any hints for the search locations, then
--# prefer a glog exported configuration if available.
--if (NOT DEFINED GLOG_PREFER_EXPORTED_GLOG_CMAKE_CONFIGURATION
-- AND NOT GLOG_INCLUDE_DIR_HINTS
-- AND NOT GLOG_LIBRARY_DIR_HINTS)
-- message(STATUS "No preference for use of exported glog CMake configuration "
-- "set, and no hints for include/library directories provided. "
-- "Defaulting to preferring an installed/exported glog CMake configuration "
-- "if available.")
-- set(GLOG_PREFER_EXPORTED_GLOG_CMAKE_CONFIGURATION TRUE)
--endif()
--
--if (GLOG_PREFER_EXPORTED_GLOG_CMAKE_CONFIGURATION)
-- # Try to find an exported CMake configuration for glog, as generated by
-- # glog versions > 0.3.4
-- #
-- # We search twice, s/t we can invert the ordering of precedence used by
-- # find_package() for exported package build directories, and installed
-- # packages (found via CMAKE_SYSTEM_PREFIX_PATH), listed as items 6) and 7)
-- # respectively in [1].
-- #
-- # By default, exported build directories are (in theory) detected first, and
-- # this is usually the case on Windows. However, on OS X & Linux, the install
-- # path (/usr/local) is typically present in the PATH environment variable
-- # which is checked in item 4) in [1] (i.e. before both of the above, unless
-- # NO_SYSTEM_ENVIRONMENT_PATH is passed). As such on those OSs installed
-- # packages are usually detected in preference to exported package build
-- # directories.
-- #
-- # To ensure a more consistent response across all OSs, and as users usually
-- # want to prefer an installed version of a package over a locally built one
-- # where both exist (esp. as the exported build directory might be removed
-- # after installation), we first search with NO_CMAKE_PACKAGE_REGISTRY which
-- # means any build directories exported by the user are ignored, and thus
-- # installed directories are preferred. If this fails to find the package
-- # we then research again, but without NO_CMAKE_PACKAGE_REGISTRY, so any
-- # exported build directories will now be detected.
-- #
-- # To prevent confusion on Windows, we also pass NO_CMAKE_BUILDS_PATH (which
-- # is item 5) in [1]), to not preferentially use projects that were built
-- # recently with the CMake GUI to ensure that we always prefer an installed
-- # version if available.
-- #
-- # NOTE: We use the NAMES option as glog erroneously uses 'google-glog' as its
-- # project name when built with CMake, but exports itself as just 'glog'.
-- # On Linux/OS X this does not break detection as the project name is
-- # not used as part of the install path for the CMake package files,
-- # e.g. /usr/local/lib/cmake/glog, where the <glog> suffix is hardcoded
-- # in glog's CMakeLists. However, on Windows the project name *is*
-- # part of the install prefix: C:/Program Files/google-glog/[include,lib].
-- # However, by default CMake checks:
-- # C:/Program Files/<FIND_PACKAGE_ARGUMENT_NAME='glog'> which does not
-- # exist and thus detection fails. Thus we use the NAMES to force the
-- # search to use both google-glog & glog.
-- #
-- # [1] http://www.cmake.org/cmake/help/v2.8.11/cmake.html#command:find_package
-- find_package(glog QUIET
-- NAMES google-glog glog
-- NO_MODULE
-- NO_CMAKE_PACKAGE_REGISTRY
-- NO_CMAKE_BUILDS_PATH)
-- if (glog_FOUND)
-- message(STATUS "Found installed version of glog: ${glog_DIR}")
-- else()
-- # Failed to find an installed version of glog, repeat search allowing
-- # exported build directories.
-- message(STATUS "Failed to find installed glog CMake configuration, "
-- "searching for glog build directories exported with CMake.")
-- # Again pass NO_CMAKE_BUILDS_PATH, as we know that glog is exported and
-- # do not want to treat projects built with the CMake GUI preferentially.
-- find_package(glog QUIET
-- NAMES google-glog glog
-- NO_MODULE
-- NO_CMAKE_BUILDS_PATH)
-- if (glog_FOUND)
-- message(STATUS "Found exported glog build directory: ${glog_DIR}")
-- endif(glog_FOUND)
-- endif(glog_FOUND)
--
-- set(FOUND_INSTALLED_GLOG_CMAKE_CONFIGURATION ${glog_FOUND})
--
-- if (FOUND_INSTALLED_GLOG_CMAKE_CONFIGURATION)
-- message(STATUS "Detected glog version: ${glog_VERSION}")
-- set(GLOG_FOUND ${glog_FOUND})
-- # glog wraps the include directories into the exported glog::glog target.
-- set(GLOG_INCLUDE_DIR "")
-- set(GLOG_LIBRARY glog::glog)
-- else (FOUND_INSTALLED_GLOG_CMAKE_CONFIGURATION)
-- message(STATUS "Failed to find an installed/exported CMake configuration "
-- "for glog, will perform search for installed glog components.")
-- endif (FOUND_INSTALLED_GLOG_CMAKE_CONFIGURATION)
--endif(GLOG_PREFER_EXPORTED_GLOG_CMAKE_CONFIGURATION)
--
--if (NOT GLOG_FOUND)
-- # Either failed to find an exported glog CMake configuration, or user
-- # told us not to use one. Perform a manual search for all glog components.
--
-- # Handle possible presence of lib prefix for libraries on MSVC, see
-- # also GLOG_RESET_FIND_LIBRARY_PREFIX().
-- if (MSVC)
-- # Preserve the caller's original values for CMAKE_FIND_LIBRARY_PREFIXES
-- # s/t we can set it back before returning.
-- set(CALLERS_CMAKE_FIND_LIBRARY_PREFIXES "${CMAKE_FIND_LIBRARY_PREFIXES}")
-- # The empty string in this list is important, it represents the case when
-- # the libraries have no prefix (shared libraries / DLLs).
-- set(CMAKE_FIND_LIBRARY_PREFIXES "lib" "" "${CMAKE_FIND_LIBRARY_PREFIXES}")
-- endif (MSVC)
--
-- # Search user-installed locations first, so that we prefer user installs
-- # to system installs where both exist.
-- list(APPEND GLOG_CHECK_INCLUDE_DIRS
-- /usr/local/include
-- /usr/local/homebrew/include # Mac OS X
-- /opt/local/var/macports/software # Mac OS X.
-- /opt/local/include
-- /usr/include)
-- # Windows (for C:/Program Files prefix).
-- list(APPEND GLOG_CHECK_PATH_SUFFIXES
-- glog/include
-- glog/Include
-- Glog/include
-- Glog/Include
-- google-glog/include # CMake installs with project name prefix.
-- google-glog/Include)
--
-- list(APPEND GLOG_CHECK_LIBRARY_DIRS
-- /usr/local/lib
-- /usr/local/homebrew/lib # Mac OS X.
-- /opt/local/lib
-- /usr/lib)
-- # Windows (for C:/Program Files prefix).
-- list(APPEND GLOG_CHECK_LIBRARY_SUFFIXES
-- glog/lib
-- glog/Lib
-- Glog/lib
-- Glog/Lib
-- google-glog/lib # CMake installs with project name prefix.
-- google-glog/Lib)
--
-- # Search supplied hint directories first if supplied.
-- find_path(GLOG_INCLUDE_DIR
-- NAMES glog/logging.h
-- HINTS ${GLOG_INCLUDE_DIR_HINTS}
-- PATHS ${GLOG_CHECK_INCLUDE_DIRS}
-- PATH_SUFFIXES ${GLOG_CHECK_PATH_SUFFIXES})
-- if (NOT GLOG_INCLUDE_DIR OR
-- NOT EXISTS ${GLOG_INCLUDE_DIR})
-- glog_report_not_found(
-- "Could not find glog include directory, set GLOG_INCLUDE_DIR "
-- "to directory containing glog/logging.h")
-- endif (NOT GLOG_INCLUDE_DIR OR
-- NOT EXISTS ${GLOG_INCLUDE_DIR})
--
-- find_library(GLOG_LIBRARY NAMES glog
-- HINTS ${GLOG_LIBRARY_DIR_HINTS}
-- PATHS ${GLOG_CHECK_LIBRARY_DIRS}
-- PATH_SUFFIXES ${GLOG_CHECK_LIBRARY_SUFFIXES})
-- if (NOT GLOG_LIBRARY OR
-- NOT EXISTS ${GLOG_LIBRARY})
-- glog_report_not_found(
-- "Could not find glog library, set GLOG_LIBRARY "
-- "to full path to libglog.")
-- endif (NOT GLOG_LIBRARY OR
-- NOT EXISTS ${GLOG_LIBRARY})
--
-- # Mark internally as found, then verify. GLOG_REPORT_NOT_FOUND() unsets
-- # if called.
-- set(GLOG_FOUND TRUE)
--
-- # Glog does not seem to provide any record of the version in its
-- # source tree, thus cannot extract version.
--
-- # Catch case when caller has set GLOG_INCLUDE_DIR in the cache / GUI and
-- # thus FIND_[PATH/LIBRARY] are not called, but specified locations are
-- # invalid, otherwise we would report the library as found.
-- if (GLOG_INCLUDE_DIR AND
-- NOT EXISTS ${GLOG_INCLUDE_DIR}/glog/logging.h)
-- glog_report_not_found(
-- "Caller defined GLOG_INCLUDE_DIR:"
-- " ${GLOG_INCLUDE_DIR} does not contain glog/logging.h header.")
-- endif (GLOG_INCLUDE_DIR AND
-- NOT EXISTS ${GLOG_INCLUDE_DIR}/glog/logging.h)
-- # TODO: This regex for glog library is pretty primitive, we use lowercase
-- # for comparison to handle Windows using CamelCase library names, could
-- # this check be better?
-- string(TOLOWER "${GLOG_LIBRARY}" LOWERCASE_GLOG_LIBRARY)
-- if (GLOG_LIBRARY AND
-- NOT "${LOWERCASE_GLOG_LIBRARY}" MATCHES ".*glog[^/]*")
-- glog_report_not_found(
-- "Caller defined GLOG_LIBRARY: "
-- "${GLOG_LIBRARY} does not match glog.")
-- endif (GLOG_LIBRARY AND
-- NOT "${LOWERCASE_GLOG_LIBRARY}" MATCHES ".*glog[^/]*")
--
-- glog_reset_find_library_prefix()
--
--endif(NOT GLOG_FOUND)
--
--# Set standard CMake FindPackage variables if found.
--if (GLOG_FOUND)
-- set(GLOG_INCLUDE_DIRS ${GLOG_INCLUDE_DIR})
-- set(GLOG_LIBRARIES ${GLOG_LIBRARY})
--endif (GLOG_FOUND)
--
--# If we are using an exported CMake glog target, the include directories are
--# wrapped into the target itself, and do not have to be (and are not)
--# separately specified. In which case, we should not add GLOG_INCLUDE_DIRS
--# to the list of required variables in order that glog be reported as found.
--if (FOUND_INSTALLED_GLOG_CMAKE_CONFIGURATION)
-- set(GLOG_REQUIRED_VARIABLES GLOG_LIBRARIES)
--else()
-- set(GLOG_REQUIRED_VARIABLES GLOG_INCLUDE_DIRS GLOG_LIBRARIES)
--endif()
--
--# Handle REQUIRED / QUIET optional arguments.
--include(FindPackageHandleStandardArgs)
--find_package_handle_standard_args(Glog DEFAULT_MSG
-- ${GLOG_REQUIRED_VARIABLES})
--
--# Only mark internal variables as advanced if we found glog, otherwise
--# leave them visible in the standard GUI for the user to set manually.
--if (GLOG_FOUND)
-- mark_as_advanced(FORCE GLOG_INCLUDE_DIR
-- GLOG_LIBRARY
-- glog_DIR) # Autogenerated by find_package(glog)
--endif (GLOG_FOUND)
diff --git a/ports/ceres/0004_use_glog_target.patch b/ports/ceres/0003_use_glog_target.patch
index 6ca328a8e..6ca328a8e 100644
--- a/ports/ceres/0004_use_glog_target.patch
+++ b/ports/ceres/0003_use_glog_target.patch
diff --git a/ports/ceres/0005_fix_exported_ceres_config.patch b/ports/ceres/0004_fix_exported_ceres_config.patch
index 5cc41013e..5cc41013e 100644
--- a/ports/ceres/0005_fix_exported_ceres_config.patch
+++ b/ports/ceres/0004_fix_exported_ceres_config.patch
diff --git a/ports/ceres/CONTROL b/ports/ceres/CONTROL
index 3c890ff53..47ae7051e 100644
--- a/ports/ceres/CONTROL
+++ b/ports/ceres/CONTROL
@@ -1,11 +1,10 @@
Source: ceres
-Version: 1.14.0-3
-# eigen is always required by CMake, even if it isn't used.
+Version: 1.14.0-4
Build-Depends: glog, eigen3
Description: non-linear optimization package
Feature: lapack
-Build-Depends: clapack
+Build-Depends: clapack (!osx)
Description: Use Lapack in Ceres
Feature: suitesparse
diff --git a/ports/ceres/portfile.cmake b/ports/ceres/portfile.cmake
index 1c52b2d93..f1b21d647 100644
--- a/ports/ceres/portfile.cmake
+++ b/ports/ceres/portfile.cmake
@@ -17,11 +17,16 @@ vcpkg_from_github(
PATCHES
0001_add_missing_include_path.patch
0002_cmakelists_fixes.patch
- 0003_remove_unnecessary_cmake_modules.patch
- 0004_use_glog_target.patch
- 0005_fix_exported_ceres_config.patch
+ 0003_use_glog_target.patch
+ 0004_fix_exported_ceres_config.patch
)
+file(REMOVE ${SOURCE_PATH}/cmake/FindGflags.cmake)
+file(REMOVE ${SOURCE_PATH}/cmake/FindGlog.cmake)
+#file(REMOVE ${SOURCE_PATH}/cmake/FindEigen.cmake)
+file(REMOVE ${SOURCE_PATH}/cmake/FindSuiteSparse.cmake)
+#file(REMOVE ${SOURCE_PATH}/cmake/FindTBB.cmake)
+
set(SUITESPARSE OFF)
if("suitesparse" IN_LIST FEATURES)
set(SUITESPARSE ON)
@@ -59,14 +64,12 @@ vcpkg_configure_cmake(
-DEIGENSPARSE=${EIGENSPARSE}
-DLAPACK=${LAPACK}
-DSUITESPARSE=${SUITESPARSE}
- -DGFLAGS_PREFER_EXPORTED_GFLAGS_CMAKE_CONFIGURATION=ON
- -DGLOG_PREFER_EXPORTED_GLOG_CMAKE_CONFIGURATION=OFF # TheiaSfm doesn't work well with this.
-DMSVC_USE_STATIC_CRT=${MSVC_USE_STATIC_CRT_VALUE}
)
vcpkg_install_cmake()
-if(WIN32)
+if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
vcpkg_fixup_cmake_targets(CONFIG_PATH "CMake")
else()
vcpkg_fixup_cmake_targets(CONFIG_PATH "lib${LIB_SUFFIX}/cmake/Ceres")
@@ -75,7 +78,7 @@ endif()
vcpkg_copy_pdbs()
# Changes target search path
-if(WIN32)
+if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
file(READ ${CURRENT_PACKAGES_DIR}/share/ceres/CeresConfig.cmake CERES_TARGETS)
string(REPLACE "get_filename_component(CURRENT_ROOT_INSTALL_DIR\n \${CERES_CURRENT_CONFIG_DIR}/../"
"get_filename_component(CURRENT_ROOT_INSTALL_DIR\n \${CERES_CURRENT_CONFIG_DIR}/../../" CERES_TARGETS "${CERES_TARGETS}")
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})
diff --git a/ports/clp/CMakeLists.txt b/ports/clp/CMakeLists.txt
index 86305aa58..94f6559d9 100644
--- a/ports/clp/CMakeLists.txt
+++ b/ports/clp/CMakeLists.txt
@@ -1,139 +1,121 @@
-cmake_minimum_required(VERSION 3.11)
-
-project(Clp LANGUAGES C CXX)
-
-set(PROJECT_VERSION 1.16.11)
-set(PROJECT_VERSION_MAJOR 1)
-set(PROJECT_VERSION_MINOR 16)
-set(PROJECT_VERSION_PATCH 11)
-
-set(CMAKE_CXX_STANDARD 14)
-set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin)
-set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lib)
-set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lib)
-set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${CMAKE_CURRENT_SOURCE_DIR}/cmake")
-
-if(MSVC)
- set(
- CMAKE_CXX_FLAGS
- "${CMAKE_CXX_FLAGS} /bigobj /MP /wd4996 /wd4819 /wd4251 /wd4267 /wd4244 /wd4275"
- )
-endif(MSVC)
-if(APPLE)
- set(
- CMAKE_CXX_FLAGS
- "${CMAKE_CXX_FLAGS} -Wno-inconsistent-missing-override -Wno-unused-command-line-argument -Wno-unused-result -Wno-exceptions"
- )
- set(CMAKE_OSX_DEPLOYMENT_TARGET "10.9"
- CACHE STRING "Minimum OS X deployment version")
-endif(APPLE)
-
-set_property(GLOBAL PROPERTY USE_FOLDERS ON)
-
-# options
-option(BUILD_SHARED_LIBS "" ON)
-
-#
-# Introduce variables: * CMAKE_INSTALL_LIBDIR * CMAKE_INSTALL_BINDIR
-include(GNUInstallDirs)
-
-# Include module with fuction 'write_basic_package_version_file'
-include(CMakePackageConfigHelpers)
-
-# Layout. This works for all platforms: * <prefix>/lib*/cmake/<PROJECT-NAME> *
-# <prefix>/lib*/ * <prefix>/include/
-set(config_install_dir "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}")
-set(generated_dir "${CMAKE_CURRENT_BINARY_DIR}/generated")
-# Configuration
-set(version_config "${generated_dir}/${PROJECT_NAME}ConfigVersion.cmake")
-set(project_config "${generated_dir}/${PROJECT_NAME}Config.cmake")
-set(TARGETS_EXPORT_NAME "${PROJECT_NAME}Targets")
-set(namespace "Coin::")
-
-# Packages
-find_package(CoinUtils REQUIRED)
-find_package(Osi REQUIRED)
-
-# Add sources
-include_directories(Clp/src/)
-include_directories(Clp/src/OsiClp)
-
-file(GLOB CLP_SOURCES
- Clp/src/*.hpp
- Clp/src/*.cpp
- Clp/src/OsiClp/*.hpp
- Clp/src/OsiClp/*.cpp)
-file(GLOB CLP_REMOVE
- Clp/src/ClpCholeskyMumps.cpp
- Clp/src/ClpCholeskyUfl.cpp
- Clp/src/ClpCholeskyWssmp.cpp
- Clp/src/ClpCholeskyWssmpKKT.cpp
- Clp/src/ClpMain.cpp
- Clp/src/*Abc*.cpp
- Clp/src/ClpCholeskyMumps.hpp
- Clp/src/ClpCholeskyUfl.hpp
- Clp/src/ClpCholeskyWssmp.hpp
- Clp/src/ClpCholeskyWssmpKKT.hpp
- Clp/src/ClpMain.hpp
- Clp/src/*Abc*.hpp
- Clp/src/*Abc*.h)
-list(REMOVE_ITEM CLP_SOURCES ${CLP_REMOVE})
-
-add_library(${PROJECT_NAME} ${CLP_SOURCES})
-
-target_include_directories(${PROJECT_NAME}
- PUBLIC $<INSTALL_INTERFACE:include/coin>)
-target_compile_definitions(${PROJECT_NAME}
- PUBLIC
- -DHAVE_CMATH
- -D_CRT_SECURE_NO_WARNINGS
- -DCOIN_HAS_CLP)
-target_link_libraries(${PROJECT_NAME} PRIVATE Coin::CoinUtils Coin::Osi)
-
-install(TARGETS ${PROJECT_NAME}
- EXPORT "${TARGETS_EXPORT_NAME}"
- LIBRARY DESTINATION lib
- ARCHIVE DESTINATION lib
- RUNTIME DESTINATION bin
- INCLUDES
- DESTINATION include)
-
-install(DIRECTORY Clp/src/
- DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/coin
- FILES_MATCHING
- PATTERN "*.h"
- PATTERN "*.hpp"
- PATTERN "config_default.h"
- EXCLUDE)
-
-install(DIRECTORY Clp/src/OsiClp/
- DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/coin
- FILES_MATCHING
- PATTERN "*.h"
- PATTERN "*.hpp"
- PATTERN "config_default.h"
- EXCLUDE)
-
-#
-# Install Libraries
-#
-# Configure '<PROJECT-NAME>ConfigVersion.cmake' Use: * PROJECT_VERSION
-write_basic_package_version_file("${version_config}"
- COMPATIBILITY SameMajorVersion)
-
-# Configure '<PROJECT-NAME>Config.cmake' Use variables: * TARGETS_EXPORT_NAME *
-# PROJECT_NAME
-configure_package_config_file("Config.cmake.in"
- "${project_config}"
- INSTALL_DESTINATION
- "${config_install_dir}")
-
-# Config * <prefix>/lib/cmake/Foo/FooConfig.cmake *
-# <prefix>/lib/cmake/Foo/FooConfigVersion.cmake
-install(FILES "${project_config}" "${version_config}"
- DESTINATION "${config_install_dir}")
-
-# Config * <prefix>/lib/cmake/Foo/FooTargets.cmake
-install(EXPORT "${TARGETS_EXPORT_NAME}"
- NAMESPACE "${namespace}"
- DESTINATION "${config_install_dir}")
+cmake_minimum_required(VERSION 3.11)
+
+project(Clp LANGUAGES C CXX)
+
+set(PROJECT_VERSION 1.16.11)
+set(PROJECT_VERSION_MAJOR 1)
+set(PROJECT_VERSION_MINOR 16)
+set(PROJECT_VERSION_PATCH 11)
+
+set(CMAKE_CXX_STANDARD 14)
+
+set(INSTALL_BIN_DIR "bin" CACHE PATH "Path where exe and dll will be installed")
+set(INSTALL_LIB_DIR "lib" CACHE PATH "Path where lib will be installed")
+set(INSTALL_INCLUDE_DIR "include/Coin" CACHE PATH "Path where headers will be installed")
+set(INSTALL_CMAKE_DIR "share/${PROJECT_NAME}" CACHE PATH "Path where cmake configs will be installed")
+
+# Make relative paths absolute (needed later on)
+set(RELATIVE_INSTALL_INCLUDE_DIR ${INSTALL_INCLUDE_DIR})
+foreach(p LIB BIN INCLUDE CMAKE)
+ set(var INSTALL_${p}_DIR)
+ if(NOT IS_ABSOLUTE "${${var}}")
+ set(${var} "${CMAKE_INSTALL_PREFIX}/${${var}}")
+ endif()
+endforeach()
+
+if(MSVC)
+ set(
+ CMAKE_CXX_FLAGS
+ "${CMAKE_CXX_FLAGS} /bigobj /MP /wd4996 /wd4819 /wd4251 /wd4267 /wd4244 /wd4275"
+ )
+endif()
+
+if(APPLE)
+ set(
+ CMAKE_CXX_FLAGS
+ "${CMAKE_CXX_FLAGS} -Wno-inconsistent-missing-override -Wno-unused-command-line-argument -Wno-unused-result -Wno-exceptions"
+ )
+ set(CMAKE_OSX_DEPLOYMENT_TARGET "10.9"
+ CACHE STRING "Minimum OS X deployment version")
+endif()
+
+find_package(CoinUtils REQUIRED)
+find_package(Osi REQUIRED)
+
+file(GLOB CLP_SOURCES
+ Clp/src/*.hpp
+ Clp/src/*.cpp
+ Clp/src/OsiClp/*.hpp
+ Clp/src/OsiClp/*.cpp)
+file(GLOB CLP_REMOVE
+ Clp/src/ClpCholeskyMumps.cpp
+ Clp/src/ClpCholeskyUfl.cpp
+ Clp/src/ClpCholeskyWssmp.cpp
+ Clp/src/ClpCholeskyWssmpKKT.cpp
+ Clp/src/ClpMain.cpp
+ Clp/src/*Abc*.cpp
+ Clp/src/ClpCholeskyMumps.hpp
+ Clp/src/ClpCholeskyUfl.hpp
+ Clp/src/ClpCholeskyWssmp.hpp
+ Clp/src/ClpCholeskyWssmpKKT.hpp
+ Clp/src/ClpMain.hpp
+ Clp/src/*Abc*.hpp
+ Clp/src/*Abc*.h)
+list(REMOVE_ITEM CLP_SOURCES ${CLP_REMOVE})
+
+add_library(${PROJECT_NAME} ${CLP_SOURCES})
+
+target_include_directories(${PROJECT_NAME}
+ PUBLIC
+ $<INSTALL_INTERFACE:${RELATIVE_INSTALL_INCLUDE_DIR}>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/Clp/src/>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/Clp/src/OsiClp>)
+
+if(MSVC)
+ target_compile_definitions(${PROJECT_NAME} PRIVATE _CRT_SECURE_NO_WARNINGS)
+endif()
+target_compile_definitions(${PROJECT_NAME} PRIVATE HAVE_CMATH)
+target_compile_definitions(${PROJECT_NAME} PUBLIC COIN_HAS_CLP)
+
+target_link_libraries(${PROJECT_NAME} PRIVATE Coin::CoinUtils Coin::Osi)
+
+install(DIRECTORY Clp/src/
+ DESTINATION ${INSTALL_INCLUDE_DIR}
+ FILES_MATCHING
+ PATTERN "*.h"
+ PATTERN "*.hpp"
+ PATTERN "config_default.h" EXCLUDE)
+
+install(DIRECTORY Clp/src/OsiClp/
+ DESTINATION ${INSTALL_INCLUDE_DIR}
+ FILES_MATCHING
+ PATTERN "*.h"
+ PATTERN "*.hpp"
+ PATTERN "config_default.h" EXCLUDE)
+
+install(TARGETS ${PROJECT_NAME}
+ EXPORT "${PROJECT_NAME}Targets"
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib
+ RUNTIME DESTINATION bin)
+
+include(CMakePackageConfigHelpers)
+
+set(version_config "${CMAKE_CURRENT_BINARY_DIR}/temp/${PROJECT_NAME}ConfigVersion.cmake")
+set(project_config "${CMAKE_CURRENT_BINARY_DIR}/temp/${PROJECT_NAME}Config.cmake")
+set(namespace "Coin::")
+
+write_basic_package_version_file("${version_config}"
+ COMPATIBILITY SameMajorVersion)
+
+configure_package_config_file("Config.cmake.in"
+ "${project_config}"
+ INSTALL_DESTINATION
+ "${INSTALL_CMAKE_DIR}")
+
+install(FILES "${project_config}" "${version_config}"
+ DESTINATION "${INSTALL_CMAKE_DIR}")
+
+install(EXPORT "${PROJECT_NAME}Targets"
+ NAMESPACE "${namespace}"
+ DESTINATION "${INSTALL_CMAKE_DIR}")
diff --git a/ports/clp/CONTROL b/ports/clp/CONTROL
index b10b63561..a0bdee5d3 100644
--- a/ports/clp/CONTROL
+++ b/ports/clp/CONTROL
@@ -1,4 +1,4 @@
-Source: clp
-Version: 1.17.2
-Description: Clp (Coin-or linear programming) is an open-source linear programming solver written in C++. It is primarily meant to be used as a callable library, but a basic, stand-alone executable version is also available.
-Build-Depends: coinutils, osi
+Source: clp
+Version: 1.17.2-1
+Description: Clp (Coin-or linear programming) is an open-source linear programming solver written in C++. It is primarily meant to be used as a callable library, but a basic, stand-alone executable version is also available.
+Build-Depends: coinutils, osi
diff --git a/ports/clp/Config.cmake.in b/ports/clp/Config.cmake.in
index ec01d2e5b..2c12f83f0 100644
--- a/ports/clp/Config.cmake.in
+++ b/ports/clp/Config.cmake.in
@@ -1,5 +1,5 @@
-
-@PACKAGE_INIT@
-
-include("${CMAKE_CURRENT_LIST_DIR}/@TARGETS_EXPORT_NAME@.cmake")
-check_required_components("@PROJECT_NAME@")
+
+@PACKAGE_INIT@
+
+include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake")
+check_required_components("@PROJECT_NAME@")
diff --git a/ports/clp/portfile.cmake b/ports/clp/portfile.cmake
index b76a9435c..83581af35 100644
--- a/ports/clp/portfile.cmake
+++ b/ports/clp/portfile.cmake
@@ -19,8 +19,12 @@ vcpkg_configure_cmake(
vcpkg_install_cmake()
vcpkg_copy_pdbs()
+if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") #on case-sensitive filesystems, it's necessary to rename and make it lowercase
+ vcpkg_fixup_cmake_targets(CONFIG_PATH share/Clp)
+else()
+ vcpkg_fixup_cmake_targets()
+endif()
+
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
-vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/Clp")
-# Handle copyright
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/clp RENAME copyright)
diff --git a/ports/coinutils/CMakeLists.txt b/ports/coinutils/CMakeLists.txt
index 1a090c94d..bdaf5969b 100644
--- a/ports/coinutils/CMakeLists.txt
+++ b/ports/coinutils/CMakeLists.txt
@@ -8,17 +8,28 @@ set(PROJECT_VERSION_MINOR 10)
set(PROJECT_VERSION_PATCH 14)
set(CMAKE_CXX_STANDARD 14)
-set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin)
-set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lib)
-set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lib)
-set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${CMAKE_CURRENT_SOURCE_DIR}/cmake")
+
+set(INSTALL_BIN_DIR "bin" CACHE PATH "Path where exe and dll will be installed")
+set(INSTALL_LIB_DIR "lib" CACHE PATH "Path where lib will be installed")
+set(INSTALL_INCLUDE_DIR "include/Coin" CACHE PATH "Path where headers will be installed")
+set(INSTALL_CMAKE_DIR "share/${PROJECT_NAME}" CACHE PATH "Path where cmake configs will be installed")
+
+# Make relative paths absolute (needed later on)
+set(RELATIVE_INSTALL_INCLUDE_DIR ${INSTALL_INCLUDE_DIR})
+foreach(p LIB BIN INCLUDE CMAKE)
+ set(var INSTALL_${p}_DIR)
+ if(NOT IS_ABSOLUTE "${${var}}")
+ set(${var} "${CMAKE_INSTALL_PREFIX}/${${var}}")
+ endif()
+endforeach()
if(MSVC)
set(
CMAKE_CXX_FLAGS
"${CMAKE_CXX_FLAGS} /bigobj /MP /wd4996 /wd4819 /wd4251 /wd4267 /wd4244 /wd4275"
)
-endif(MSVC)
+endif()
+
if(APPLE)
set(
CMAKE_CXX_FLAGS
@@ -26,84 +37,59 @@ if(APPLE)
)
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.9"
CACHE STRING "Minimum OS X deployment version")
-endif(APPLE)
-
-set_property(GLOBAL PROPERTY USE_FOLDERS ON)
-
-# options
-option(BUILD_SHARED_LIBS "" ON)
-
-#
-# 设置用于 install 的变量
-#
-# Introduce variables: * CMAKE_INSTALL_LIBDIR * CMAKE_INSTALL_BINDIR
-include(GNUInstallDirs)
+endif()
-# Include module with fuction 'write_basic_package_version_file'
-include(CMakePackageConfigHelpers)
-
-# Layout. This works for all platforms: * <prefix>/lib*/cmake/<PROJECT-NAME> *
-# <prefix>/lib*/ * <prefix>/include/
-set(config_install_dir "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}")
-set(generated_dir "${CMAKE_CURRENT_BINARY_DIR}/generated")
-# Configuration
-set(version_config "${generated_dir}/${PROJECT_NAME}ConfigVersion.cmake")
-set(project_config "${generated_dir}/${PROJECT_NAME}Config.cmake")
-set(TARGETS_EXPORT_NAME "${PROJECT_NAME}Targets")
-set(namespace "Coin::")
-
-#
-# Add sources
-#
-include_directories(CoinUtils/src)
+include(CheckIncludeFileCXX)
+include(CheckIncludeFile)
+check_include_file_cxx("cmath" HAVE_CMATH)
+check_include_file_cxx("cfloat" HAVE_CFLOAT)
+if(NOT HAVE_CMATH OR NOT HAVE_CFLOAT)
+ message(FATAL_ERROR "Missing necessary include files, like cmath or cfloat")
+endif()
file(GLOB UTILS_SOURCES
CoinUtils/src/*.hpp
CoinUtils/src/*.cpp
CoinUtils/src/*.h)
+
add_library(${PROJECT_NAME} ${UTILS_SOURCES})
-target_include_directories(${PROJECT_NAME}
- PUBLIC $<INSTALL_INTERFACE:include/coin>)
-target_compile_definitions(${PROJECT_NAME}
- PUBLIC
- $<INSTALL_INTERFACE:-DHAVE_CMATH>
- $<INSTALL_INTERFACE:-D_CRT_SECURE_NO_WARNINGS>)
+target_include_directories(${PROJECT_NAME} PUBLIC $<INSTALL_INTERFACE:${RELATIVE_INSTALL_INCLUDE_DIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/CoinUtils/src>)
-install(TARGETS ${PROJECT_NAME}
- EXPORT "${TARGETS_EXPORT_NAME}"
- LIBRARY DESTINATION lib
- ARCHIVE DESTINATION lib
- RUNTIME DESTINATION bin
- INCLUDES
- DESTINATION include)
+if(MSVC)
+ target_compile_definitions(${PROJECT_NAME} PRIVATE _CRT_SECURE_NO_WARNINGS)
+endif()
+target_compile_definitions(${PROJECT_NAME} PRIVATE HAVE_CMATH HAVE_CFLOAT)
install(DIRECTORY CoinUtils/src/
- DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/coin
+ DESTINATION ${INSTALL_INCLUDE_DIR}
FILES_MATCHING
PATTERN "*.h"
PATTERN "*.hpp")
-#
-# Install Libraries
-#
-# Configure '<PROJECT-NAME>ConfigVersion.cmake' Use: * PROJECT_VERSION
+install(TARGETS ${PROJECT_NAME}
+ EXPORT "${PROJECT_NAME}Targets"
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib
+ RUNTIME DESTINATION bin)
+
+include(CMakePackageConfigHelpers)
+
+set(version_config "${CMAKE_CURRENT_BINARY_DIR}/temp/${PROJECT_NAME}ConfigVersion.cmake")
+set(project_config "${CMAKE_CURRENT_BINARY_DIR}/temp/${PROJECT_NAME}Config.cmake")
+set(namespace "Coin::")
+
write_basic_package_version_file("${version_config}"
COMPATIBILITY SameMajorVersion)
-# Configure '<PROJECT-NAME>Config.cmake' Use variables: * TARGETS_EXPORT_NAME *
-# PROJECT_NAME
configure_package_config_file("Config.cmake.in"
"${project_config}"
INSTALL_DESTINATION
- "${config_install_dir}")
+ "${INSTALL_CMAKE_DIR}")
-# Config * <prefix>/lib/cmake/Foo/FooConfig.cmake *
-# <prefix>/lib/cmake/Foo/FooConfigVersion.cmake
install(FILES "${project_config}" "${version_config}"
- DESTINATION "${config_install_dir}")
+ DESTINATION "${INSTALL_CMAKE_DIR}")
-# Config * <prefix>/lib/cmake/Foo/FooTargets.cmake
-install(EXPORT "${TARGETS_EXPORT_NAME}"
+install(EXPORT "${PROJECT_NAME}Targets"
NAMESPACE "${namespace}"
- DESTINATION "${config_install_dir}")
+ DESTINATION "${INSTALL_CMAKE_DIR}")
diff --git a/ports/coinutils/CONTROL b/ports/coinutils/CONTROL
index 9ea94ddf5..fd495d62d 100644
--- a/ports/coinutils/CONTROL
+++ b/ports/coinutils/CONTROL
@@ -1,3 +1,3 @@
Source: coinutils
-Version: 2.11.2
+Version: 2.11.2-1
Description: CoinUtils (Coin-or Utilities) is an open-source collection of classes and functions that are generally useful to more than one COIN-OR project
diff --git a/ports/coinutils/Config.cmake.in b/ports/coinutils/Config.cmake.in
index a53c57495..2c12f83f0 100644
--- a/ports/coinutils/Config.cmake.in
+++ b/ports/coinutils/Config.cmake.in
@@ -1,5 +1,5 @@
@PACKAGE_INIT@
-include("${CMAKE_CURRENT_LIST_DIR}/@TARGETS_EXPORT_NAME@.cmake")
+include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake")
check_required_components("@PROJECT_NAME@")
diff --git a/ports/coinutils/portfile.cmake b/ports/coinutils/portfile.cmake
index 109ff7994..42bd8d2d1 100644
--- a/ports/coinutils/portfile.cmake
+++ b/ports/coinutils/portfile.cmake
@@ -19,10 +19,12 @@ vcpkg_configure_cmake(
vcpkg_install_cmake()
vcpkg_copy_pdbs()
-
-vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/CoinUtils")
+if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") #on case-sensitive filesystems, it's necessary to rename and make it lowercase
+ vcpkg_fixup_cmake_targets(CONFIG_PATH share/CoinUtils)
+else()
+ vcpkg_fixup_cmake_targets()
+endif()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
-# Handle copyright
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/coinutils RENAME copyright)
diff --git a/ports/dlib/CONTROL b/ports/dlib/CONTROL
index 43c689bc4..713de97bb 100644
--- a/ports/dlib/CONTROL
+++ b/ports/dlib/CONTROL
@@ -1,5 +1,5 @@
Source: dlib
-Version: 19.17
+Version: 19.17-1
Build-Depends: libjpeg-turbo, libpng, sqlite3, fftw3, openblas (!osx), clapack (!osx)
Description: Modern C++ toolkit containing machine learning algorithms and tools for creating complex software in C++
diff --git a/ports/ebml/portfile.cmake b/ports/ebml/portfile.cmake
index f4817db1a..578e5d5e2 100644
--- a/ports/ebml/portfile.cmake
+++ b/ports/ebml/portfile.cmake
@@ -1,28 +1,28 @@
-include(vcpkg_common_functions)
-
-if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
- message(FATAL_ERROR "ebml does not currently support UWP")
-endif()
-
-vcpkg_from_github(
- OUT_SOURCE_PATH SOURCE_PATH
- REPO Matroska-Org/libebml
- REF release-1.3.9
- SHA512 3ae22ed491024b276edde9237df0e41a8e5a4e142ec6783c77d5286d7825fb59be62f336d07f7042baac8fc7ac004ad7cc4605754c5801d65547449ea04c287f
- HEAD_REF master
-)
-
-vcpkg_configure_cmake(
- SOURCE_PATH ${SOURCE_PATH}
- PREFER_NINJA
- OPTIONS -DDISABLE_PKGCONFIG=1
-)
-
-vcpkg_install_cmake()
-
-vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/EBML)
-
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
-
-# Handle copyright
-file(INSTALL ${SOURCE_PATH}/LICENSE.LGPL DESTINATION ${CURRENT_PACKAGES_DIR}/share/ebml RENAME copyright)
+include(vcpkg_common_functions)
+
+if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ message(FATAL_ERROR "${PORT} does not currently support UWP")
+endif()
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO Matroska-Org/libebml
+ REF release-1.3.9
+ SHA512 3ae22ed491024b276edde9237df0e41a8e5a4e142ec6783c77d5286d7825fb59be62f336d07f7042baac8fc7ac004ad7cc4605754c5801d65547449ea04c287f
+ HEAD_REF master
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS -DDISABLE_PKGCONFIG=1
+)
+
+vcpkg_install_cmake()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/EBML)
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/LICENSE.LGPL DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/ensmallen/CONTROL b/ports/ensmallen/CONTROL
index b2525e2f9..9e0245aa9 100644
--- a/ports/ensmallen/CONTROL
+++ b/ports/ensmallen/CONTROL
@@ -1,5 +1,4 @@
-Source: ensmallen
-Version: 1.15.0
-Description: A header-only C++ library for mathematical optimization.
-Build-Depends: openblas, clapack, armadillo
-
+Source: ensmallen
+Version: 1.15.0-1
+Description: A header-only C++ library for mathematical optimization.
+Build-Depends: openblas (!osx), clapack (!osx), armadillo
diff --git a/ports/entityx/CONTROL b/ports/entityx/CONTROL
index 0a41ad86d..b381966b5 100644
--- a/ports/entityx/CONTROL
+++ b/ports/entityx/CONTROL
@@ -1,3 +1,3 @@
Source: entityx
-Version: 1.3.0
+Version: 1.3.0-1
Description: EntityX - A fast, type-safe C++ Entity-Component system. <https://github.com/alecthomas/entityx>
diff --git a/ports/entityx/fix-cmake.patch b/ports/entityx/fix-cmake.patch
deleted file mode 100644
index 143cc52b1..000000000
--- a/ports/entityx/fix-cmake.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 87309bf..23f5063 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -25,6 +25,7 @@ include(${CMAKE_ROOT}/Modules/CheckIncludeFile.cmake)
- include(CheckCXXSourceCompiles)
-
- # Default compiler args
-+if(0)
- if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "(GNU|.*Clang)")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic -Werror -Wall -Wextra -Wno-unused-parameter -Wno-error=unused-variable -Wno-error=sign-compare -std=c++11")
- set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
-@@ -41,6 +42,7 @@ elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
- set(CMAKE_CXX_FLAGS_RELEASE "/Ox -DNDEBUG")
- set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "/Ox /Zi /FS /DEBUG")
- endif()
-+endif()
-
- # if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
- # set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Weverything -Wno-c++98-compat -Wno-shadow -Wno-padded -Wno-missing-noreturn -Wno-global-constructors")
-@@ -156,9 +158,9 @@ endif (ENTITYX_BUILD_TESTING)
-
- configure_file(
- ${CMAKE_CURRENT_SOURCE_DIR}/entityx/config.h.in
-- ${CMAKE_CURRENT_SOURCE_DIR}/entityx/config.h
-+ ${CMAKE_CURRENT_BINARY_DIR}/entityx/config.h
- )
--
-+include_directories(${CMAKE_CURRENT_BINARY_DIR})
-
- if (NOT WINDOWS OR CYGWIN)
- set(entityx_libs -lentityx)
-@@ -179,6 +181,7 @@ install(
- DESTINATION "include"
- FILES_MATCHING PATTERN "*.h"
- )
-+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/entityx/config.h DESTINATION include/entityx)
-
- install(
- TARGETS ${install_libs}
diff --git a/ports/entityx/portfile.cmake b/ports/entityx/portfile.cmake
index 36e3ddf19..b55f5f602 100644
--- a/ports/entityx/portfile.cmake
+++ b/ports/entityx/portfile.cmake
@@ -9,12 +9,12 @@ vcpkg_from_github(
SHA512 724a3f421f802e60a1106ff8a69435c9a9da14e35c3e88565bbc17bff3a17f2d9771818aac83320cc4f14de0ec770a66f1eb7cbf4318f43abd516c63e077c07d
HEAD_REF master
PATCHES
- fix-cmake.patch
enable-std14.patch
)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
+ DISABLE_PARALLEL_CONFIGURE
PREFER_NINJA
OPTIONS
-DENTITYX_BUILD_TESTING=false
diff --git a/ports/entt/CONTROL b/ports/entt/CONTROL
index 47770ebd1..37f95a699 100644
--- a/ports/entt/CONTROL
+++ b/ports/entt/CONTROL
@@ -1,3 +1,3 @@
Source: entt
-Version: 3.0.0
+Version: 3.0.0-1
Description: Gaming meets modern C++ - a fast and reliable entity-component system and much more. <https://github.com/skypjack/entt>
diff --git a/ports/entt/portfile.cmake b/ports/entt/portfile.cmake
index af331821d..3aed9147f 100644
--- a/ports/entt/portfile.cmake
+++ b/ports/entt/portfile.cmake
@@ -11,6 +11,7 @@ vcpkg_from_github(
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
+ DISABLE_PARALLEL_CONFIGURE
PREFER_NINJA
OPTIONS
-DBUILD_TESTING=OFF
diff --git a/ports/exiv2/portfile.cmake b/ports/exiv2/portfile.cmake
index 96cec76cb..44daf8717 100644
--- a/ports/exiv2/portfile.cmake
+++ b/ports/exiv2/portfile.cmake
@@ -10,7 +10,7 @@ vcpkg_from_github(
iconv.patch
)
-if(WIN32 AND ("unicode" IN_LIST FEATURES))
+if((NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") AND ("unicode" IN_LIST FEATURES))
set(enable_win_unicode TRUE)
elseif()
set(enable_win_unicode FALSE)
@@ -46,6 +46,6 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
endif()
-# Handle copyright
+# Handle copyright
file(COPY ${SOURCE_PATH}/ABOUT-NLS DESTINATION ${CURRENT_PACKAGES_DIR}/share/exiv2)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/exiv2/ABOUT-NLS ${CURRENT_PACKAGES_DIR}/share/exiv2/copyright)
diff --git a/ports/expected-lite/CONTROL b/ports/expected-lite/CONTROL
new file mode 100644
index 000000000..315f1d01a
--- /dev/null
+++ b/ports/expected-lite/CONTROL
@@ -0,0 +1,3 @@
+Source: expected-lite
+Version: 0.3.0
+Description: Expected objects in C++11 and later in a single-file header-only library
diff --git a/ports/expected-lite/portfile.cmake b/ports/expected-lite/portfile.cmake
new file mode 100644
index 000000000..b8f1ac440
--- /dev/null
+++ b/ports/expected-lite/portfile.cmake
@@ -0,0 +1,31 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO martinmoene/expected-lite
+ REF v0.3.0
+ SHA512 b24b58ff7bd6d5f355935854b6b5e67c7e9b2f1b6383ecdd2a1655833f414fd1189a07000b40c45a6df8a8641602c5eca19eb5e8639ac6cfe59e3d94bc102ab3
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DEXPECTED_LITE_OPT_BUILD_TESTS=OFF
+ -DEXPECTED_LITE_OPT_BUILD_EXAMPLES=OFF
+)
+
+vcpkg_install_cmake()
+
+vcpkg_fixup_cmake_targets(
+ CONFIG_PATH lib/cmake/${PORT}
+)
+
+file(REMOVE_RECURSE
+ ${CURRENT_PACKAGES_DIR}/debug
+ ${CURRENT_PACKAGES_DIR}/lib
+)
+
+file(INSTALL
+ ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright
+)
diff --git a/ports/ffmpeg/fix_windowsinclude-in-ffmpegexe-1.patch b/ports/ffmpeg/fix_windowsinclude-in-ffmpegexe-1.patch
index 345061c3f..09ee1219f 100644
--- a/ports/ffmpeg/fix_windowsinclude-in-ffmpegexe-1.patch
+++ b/ports/ffmpeg/fix_windowsinclude-in-ffmpegexe-1.patch
@@ -1,5 +1,5 @@
---- a/cmdutils.c 2017-07-29 19:49:29.000000000 +0200
-+++ b/cmdutils.c 2018-09-02 20:31:42.509408400 +0200
+--- a/fftools/cmdutils.c 2017-07-29 19:49:29.000000000 +0200
++++ b/fftools/cmdutils.c 2018-09-02 20:31:42.509408400 +0200
@@ -62,6 +62,8 @@
#include <sys/resource.h>
#endif
diff --git a/ports/ffmpeg/fix_windowsinclude-in-ffmpegexe-2.patch b/ports/ffmpeg/fix_windowsinclude-in-ffmpegexe-2.patch
index fc63f1486..69d725e2a 100644
--- a/ports/ffmpeg/fix_windowsinclude-in-ffmpegexe-2.patch
+++ b/ports/ffmpeg/fix_windowsinclude-in-ffmpegexe-2.patch
@@ -1,5 +1,5 @@
---- a/ffmpeg.c 2017-07-29 19:49:29.000000000 +0200
-+++ b/ffmpeg.c 2018-09-02 20:32:27.666725200 +0200
+--- a/fftools/ffmpeg.c 2017-07-29 19:49:29.000000000 +0200
++++ b/fftools/ffmpeg.c 2018-09-02 20:32:27.666725200 +0200
@@ -23,6 +23,11 @@
* multimedia converter based on the FFmpeg libraries
*/
diff --git a/ports/ffmpeg/fix_windowsinclude-in-ffmpegexe-3.patch b/ports/ffmpeg/fix_windowsinclude-in-ffmpegexe-3.patch
deleted file mode 100644
index 78aa3d2d0..000000000
--- a/ports/ffmpeg/fix_windowsinclude-in-ffmpegexe-3.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- a/ffmpeg_dxva2.c 2017-07-29 19:49:29.000000000 +0200
-+++ b/ffmpeg_dxva2.c 2018-09-02 20:33:48.248716100 +0200
-@@ -16,12 +16,14 @@
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
--#include <windows.h>
--
- #ifdef _WIN32_WINNT
- #undef _WIN32_WINNT
- #endif
- #define _WIN32_WINNT 0x0600
-+#define WIN32_LEAN_AND_MEAN
-+
-+#include <windows.h>
-+
- #define DXVA2API_USE_BITFIELDS
- #define COBJMACROS
-
diff --git a/ports/ffmpeg/fixed-debug-bzip2-link.patch b/ports/ffmpeg/fixed-debug-bzip2-link.patch
deleted file mode 100644
index 29e2913fa..000000000
--- a/ports/ffmpeg/fixed-debug-bzip2-link.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-diff -urN a/configure b/configure
---- a/configure 2018-09-08 20:53:33.556275600 +0800
-+++ b/configure 2018-09-08 20:55:46.238584400 +0800
-@@ -4753,6 +4753,8 @@
- enable $subarch
- enabled spic && enable_weak pic
-
-+bzlib_name=bz2
-+
- # OS specific
- case $target_os in
- aix)
-@@ -4914,6 +4916,11 @@
- objformat="win32"
- ranlib=:
- enable dos_paths
-+ if [ -z "${extra_cflags##*-MDd*}" ] || [ -z "${extra_cflags##*-MTd*}" ]; then
-+ bzlib_name=bz2d
-+ else
-+ bzlib_name=bz2
-+ fi
- ;;
- cygwin*)
- target_os=cygwin
-@@ -5734,7 +5741,7 @@
- check_builtin sem_timedwait semaphore.h "sem_t *s; sem_init(s,0,0); sem_timedwait(s,0); sem_destroy(s)"
-
- disabled zlib || check_lib zlib.h zlibVersion -lz || disable zlib
--disabled bzlib || check_lib bzlib.h BZ2_bzlibVersion -lbz2 || disable bzlib
-+disabled bzlib || check_lib bzlib.h BZ2_bzlibVersion -l$bzlib_name || disable bzlib
- disabled lzma || check_lib lzma.h lzma_version_number -llzma || disable lzma
-
- check_lib math.h sin -lm && LIBM="-lm"
diff --git a/ports/ffmpeg/portfile.cmake b/ports/ffmpeg/portfile.cmake
index ed1203c1d..c87da38c0 100644
--- a/ports/ffmpeg/portfile.cmake
+++ b/ports/ffmpeg/portfile.cmake
@@ -15,8 +15,6 @@ vcpkg_extract_source_archive_ex(
configure_opencv.patch
fix_windowsinclude-in-ffmpegexe-1.patch
fix_windowsinclude-in-ffmpegexe-2.patch
- fix_windowsinclude-in-ffmpegexe-3.patch
- fixed-debug-bzip2-link.patch
)
if (${SOURCE_PATH} MATCHES " ")
@@ -26,16 +24,28 @@ endif()
vcpkg_find_acquire_program(YASM)
get_filename_component(YASM_EXE_PATH ${YASM} DIRECTORY)
+if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ set(SEP ";")
+ #We're assuming that if we're building for Windows we're using MSVC
+ set(INCLUDE_VAR "INCLUDE")
+ set(LIB_PATH_VAR "LIB")
+else()
+ set(SEP ":")
+ set(INCLUDE_VAR "CPATH")
+ set(LIB_PATH_VAR "LIBRARY_PATH")
+endif()
+
if (WIN32)
set(ENV{PATH} "$ENV{PATH};${YASM_EXE_PATH}")
+
set(BUILD_SCRIPT ${CMAKE_CURRENT_LIST_DIR}\\build.sh)
- if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" AND VCPKG_TARGET_ARCHITECTURE STREQUAL "arm")
+ if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
vcpkg_acquire_msys(MSYS_ROOT PACKAGES perl gcc diffutils make)
else()
vcpkg_acquire_msys(MSYS_ROOT PACKAGES diffutils make)
endif()
-
+
set(BASH ${MSYS_ROOT}/usr/bin/bash.exe)
else()
set(ENV{PATH} "$ENV{PATH}:${YASM_EXE_PATH}")
@@ -43,7 +53,7 @@ else()
set(BUILD_SCRIPT ${CMAKE_CURRENT_LIST_DIR}/build_linux.sh)
endif()
-set(ENV{INCLUDE} "${CURRENT_INSTALLED_DIR}/include;$ENV{INCLUDE}")
+set(ENV{${INCLUDE_VAR}} "${CURRENT_INSTALLED_DIR}/include${SEP}$ENV{${INCLUDE_VAR}}")
set(_csc_PROJECT_PATH ffmpeg)
@@ -108,27 +118,32 @@ else()
set(OPTIONS "${OPTIONS} --disable-bzlib")
endif()
+set(OPTIONS_CROSS "")
+
+if (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
+ set(OPTIONS_CROSS " --enable-cross-compile --target-os=win32 --arch=${VCPKG_TARGET_ARCHITECTURE}")
+ vcpkg_find_acquire_program(GASPREPROCESSOR)
+ foreach(GAS_PATH ${GASPREPROCESSOR})
+ get_filename_component(GAS_ITEM_PATH ${GAS_PATH} DIRECTORY)
+ set(ENV{PATH} "$ENV{PATH};${GAS_ITEM_PATH}")
+ endforeach(GAS_PATH)
+elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
+elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
+else()
+ message(FATAL_ERROR "Unsupported architecture")
+endif()
+
if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
set(ENV{LIBPATH} "$ENV{LIBPATH};$ENV{_WKITS10}references\\windows.foundation.foundationcontract\\2.0.0.0\\;$ENV{_WKITS10}references\\windows.foundation.universalapicontract\\3.0.0.0\\")
- set(OPTIONS "${OPTIONS} --disable-programs --enable-cross-compile --target-os=win32 --arch=${VCPKG_TARGET_ARCHITECTURE}")
+ set(OPTIONS "${OPTIONS} --disable-programs")
set(OPTIONS "${OPTIONS} --extra-cflags=-DWINAPI_FAMILY=WINAPI_FAMILY_APP --extra-cflags=-D_WIN32_WINNT=0x0A00")
-
- if (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm")
- vcpkg_find_acquire_program(GASPREPROCESSOR)
- foreach(GAS_PATH ${GASPREPROCESSOR})
- get_filename_component(GAS_ITEM_PATH ${GAS_PATH} DIRECTORY)
- set(ENV{PATH} "$ENV{PATH};${GAS_ITEM_PATH}")
- endforeach(GAS_PATH)
- elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
- elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
- else()
- message(FATAL_ERROR "Unsupported architecture")
- endif()
+ set(OPTIONS_CROSS " --enable-cross-compile --target-os=win32 --arch=${VCPKG_TARGET_ARCHITECTURE}")
endif()
set(OPTIONS_DEBUG "") # Note: --disable-optimizations can't be used due to http://ffmpeg.org/pipermail/libav-user/2013-March/003945.html
set(OPTIONS_RELEASE "")
+set(OPTIONS "${OPTIONS} ${OPTIONS_CROSS}")
set(OPTIONS "${OPTIONS} --extra-cflags=-DHAVE_UNISTD_H=0")
if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
@@ -140,7 +155,7 @@ endif()
message(STATUS "Building Options: ${OPTIONS}")
-if(WIN32)
+if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
if(VCPKG_CRT_LINKAGE STREQUAL "dynamic")
set(OPTIONS_DEBUG "${OPTIONS_DEBUG} --extra-cflags=-MDd --extra-cxxflags=-MDd")
set(OPTIONS_RELEASE "${OPTIONS_RELEASE} --extra-cflags=-MD --extra-cxxflags=-MD")
@@ -150,9 +165,9 @@ if(WIN32)
endif()
endif()
-set(ENV_LIB "$ENV{LIB}")
+set(ENV_LIB_PATH "$ENV{${LIB_PATH_VAR}}")
+set(ENV{${LIB_PATH_VAR}} "${CURRENT_INSTALLED_DIR}/lib${SEP}${ENV_LIB_PATH}")
-set(ENV{LIB} "${CURRENT_INSTALLED_DIR}/lib;${ENV_LIB}")
message(STATUS "Building ${_csc_PROJECT_PATH} for Release")
file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel)
vcpkg_execute_required_process(
@@ -165,7 +180,8 @@ vcpkg_execute_required_process(
LOGNAME build-${TARGET_TRIPLET}-rel
)
-set(ENV{LIB} "${CURRENT_INSTALLED_DIR}/debug/lib;${ENV_LIB}")
+set(ENV{${LIB_PATH_VAR}} "${CURRENT_INSTALLED_DIR}/debug/lib${SEP}${ENV_LIB_PATH}")
+
message(STATUS "Building ${_csc_PROJECT_PATH} for Debug")
file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg)
vcpkg_execute_required_process(
@@ -182,6 +198,8 @@ file(GLOB DEF_FILES ${CURRENT_PACKAGES_DIR}/lib/*.def ${CURRENT_PACKAGES_DIR}/de
if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm")
set(LIB_MACHINE_ARG /machine:ARM)
+elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
+ set(LIB_MACHINE_ARG /machine:ARM64)
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
set(LIB_MACHINE_ARG /machine:x86)
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
diff --git a/ports/fmilib/portfile.cmake b/ports/fmilib/portfile.cmake
index 5692b7d12..46912d440 100644
--- a/ports/fmilib/portfile.cmake
+++ b/ports/fmilib/portfile.cmake
@@ -23,9 +23,9 @@ vcpkg_extract_source_archive(${ARCHIVE})
# Note that if you have configured and built both static and shared library on Windows
# but want to link with the static library compile time define "FMILIB_BUILDING_LIBRARY" must be set.
-if (WIN32 AND VCPKG_LIBRARY_LINKAGE STREQUAL static)
+if ((NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") AND VCPKG_LIBRARY_LINKAGE STREQUAL static)
SET(FMILIB_BUILDING_LIBRARY ON)
-else()
+else()
SET(FMILIB_BUILDING_LIBRARY OFF)
endif()
@@ -33,7 +33,7 @@ endif()
# This is only used when generating Microsoft Visual Studio solutions. If the options is on then the library will
# be built against static runtime, otherwise - dynamic runtime (/MD or /MDd). Make sure the client code is using
# matching runtime
-if (WIN32 AND VCPKG_CRT_LINKAGE STREQUAL static)
+if ((NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") AND VCPKG_CRT_LINKAGE STREQUAL static)
SET(FMILIB_BUILD_WITH_STATIC_RTLIB ON)
else()
SET(FMILIB_BUILD_WITH_STATIC_RTLIB OFF)
@@ -42,9 +42,9 @@ endif()
# On LINUX position independent code (-fPIC) must be used on all files to be linked into a shared library (.so file).
# On other systems this is not needed (either is default or relocation is done). Set this option to OFF if you
# are building an application on Linux and use static library only
-if (UNIX AND VCPKG_LIBRARY_LINKAGE STREQUAL static)
+if ((VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin") AND VCPKG_LIBRARY_LINKAGE STREQUAL static)
SET(FMILIB_BUILD_FOR_SHARED_LIBS OFF)
-else()
+else()
SET(FMILIB_BUILD_FOR_SHARED_LIBS ON)
endif()
@@ -59,17 +59,17 @@ endif()
SET(OPTIONS
-DFMILIB_BUILD_TESTS=OFF
- -DFMILIB_BUILD_STATIC_LIB=${FMILIB_BUILD_STATIC_LIB}
+ -DFMILIB_BUILD_STATIC_LIB=${FMILIB_BUILD_STATIC_LIB}
-DFMILIB_BUILD_SHARED_LIB=${FMILIB_BUILD_SHARED_LIB}
- -DFMILIB_BUILDING_LIBRARY=${FMILIB_BUILDING_LIBRARY}
- -DFMILIB_BUILD_WITH_STATIC_RTLIB=${FMILIB_BUILD_WITH_STATIC_RTLIB}
+ -DFMILIB_BUILDING_LIBRARY=${FMILIB_BUILDING_LIBRARY}
+ -DFMILIB_BUILD_WITH_STATIC_RTLIB=${FMILIB_BUILD_WITH_STATIC_RTLIB}
)
# Reset package dir
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR})
file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR})
-if (WIN32)
+if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
if(VCPKG_TARGET_ARCHITECTURE MATCHES "x86" AND VCPKG_PLATFORM_TOOLSET MATCHES "v120")
set(GENERATOR "Visual Studio 12 2013")
@@ -109,30 +109,30 @@ foreach(BUILDTYPE "rel" "dbg")
# Reset working dir
file(REMOVE_RECURSE ${BUILD_DIR})
- file(MAKE_DIRECTORY ${BUILD_DIR})
+ file(MAKE_DIRECTORY ${BUILD_DIR})
SET(FMILIB_INSTALL_PREFIX ${CURRENT_PACKAGES_DIR})
- if(WIN32)
+ if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
SET(OPTIONS ${OPTIONS} -G ${GENERATOR})
- endif()
+ endif()
if(NOT RELEASE_BUILD)
STRING(APPEND FMILIB_INSTALL_PREFIX "/debug")
endif()
# Step 1: Configure
- vcpkg_execute_required_process(COMMAND
- cmake
+ vcpkg_execute_required_process(COMMAND
+ cmake
-DFMILIB_INSTALL_PREFIX=${FMILIB_INSTALL_PREFIX}
- -DFMILIB_DEFAULT_BUILD_TYPE_RELEASE=${RELEASE_BUILD}
+ -DFMILIB_DEFAULT_BUILD_TYPE_RELEASE=${RELEASE_BUILD}
${OPTIONS}
${SOURCE_PATH}
- WORKING_DIRECTORY
+ WORKING_DIRECTORY
${BUILD_DIR}
)
# Step 2: Build
# Custom build - becouse vcpkg_configure_cmake() + vcpkg_install_cmake() fails on Linux for some unknown reason
- if (UNIX)
+ if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin")
find_program(MAKE make)
if(NOT MAKE)
message(FATAL_ERROR "Could not find make. Please install it through your package manager.")
@@ -144,12 +144,12 @@ foreach(BUILDTYPE "rel" "dbg")
else()
SET(CONFIG "Debug")
endif()
- vcpkg_execute_required_process(COMMAND
- cmake
- --build .
- --config ${CONFIG}
- --target "install"
- WORKING_DIRECTORY
+ vcpkg_execute_required_process(COMMAND
+ cmake
+ --build .
+ --config ${CONFIG}
+ --target "install"
+ WORKING_DIRECTORY
${BUILD_DIR}
)
endif()
@@ -159,9 +159,9 @@ foreach(BUILDTYPE "rel" "dbg")
# remove /doc folder
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/doc)
- # Move .dll files (if any) from /lib to /bin
+ # Move .dll files (if any) from /lib to /bin
file(GLOB TMP ${CURRENT_PACKAGES_DIR}/lib/*.dll)
- if (TMP)
+ if (TMP)
file(COPY ${TMP} DESTINATION ${CURRENT_PACKAGES_DIR}/bin)
file(REMOVE ${TMP})
@@ -175,7 +175,7 @@ foreach(BUILDTYPE "rel" "dbg")
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/doc)
- # Move .dll files (if any) from /lib to /bin
+ # Move .dll files (if any) from /lib to /bin
file(GLOB TMP ${CURRENT_PACKAGES_DIR}/debug/lib/*.dll)
if (TMP)
file(COPY ${TMP} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
diff --git a/ports/fontconfig/CONTROL b/ports/fontconfig/CONTROL
index 5d75462c5..ec63c3a22 100644
--- a/ports/fontconfig/CONTROL
+++ b/ports/fontconfig/CONTROL
@@ -1,4 +1,4 @@
Source: fontconfig
-Version: 2.12.4-8
+Version: 2.12.4-9
Description: Library for configuring and customizing font access.
Build-Depends: freetype, expat, libiconv, dirent
diff --git a/ports/fontconfig/portfile.cmake b/ports/fontconfig/portfile.cmake
index 4637f112c..772e741fd 100644
--- a/ports/fontconfig/portfile.cmake
+++ b/ports/fontconfig/portfile.cmake
@@ -36,7 +36,7 @@ vcpkg_copy_pdbs()
if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
foreach(HEADER fcfreetype.h fontconfig.h)
file(READ ${CURRENT_PACKAGES_DIR}/include/fontconfig/${HEADER} FC_HEADER)
- if(WIN32)
+ if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
string(REPLACE "#define FcPublic" "#define FcPublic __declspec(dllimport)" FC_HEADER "${FC_HEADER}")
else()
string(REPLACE "#define FcPublic" "#define FcPublic __attribute__((visibility(\"default\")))" FC_HEADER "${FC_HEADER}")
diff --git a/ports/g2o/CONTROL b/ports/g2o/CONTROL
index 57999aece..9bc511479 100644
--- a/ports/g2o/CONTROL
+++ b/ports/g2o/CONTROL
@@ -1,4 +1,4 @@
Source: g2o
Version: 20170730_git-4
-Build-Depends: suitesparse, eigen3, clapack, ceres
+Build-Depends: suitesparse, eigen3, clapack (!osx), ceres
Description: g2o: A General Framework for Graph Optimization http://openslam.org/g2o.html
diff --git a/ports/gdal/portfile.cmake b/ports/gdal/portfile.cmake
index b880c9184..61609d3d3 100644
--- a/ports/gdal/portfile.cmake
+++ b/ports/gdal/portfile.cmake
@@ -54,24 +54,24 @@ foreach(BUILD_TYPE IN LISTS BUILD_TYPES)
)
endforeach()
-if (WIN32) # Build in WINDOWS
+if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
# Check build system first
find_program(NMAKE nmake REQUIRED)
-
+
file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}" NATIVE_PACKAGES_DIR)
file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}/share/gdal" NATIVE_DATA_DIR)
file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}/share/gdal/html" NATIVE_HTML_DIR)
-
+
# Setup proj4 libraries + include path
file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" PROJ_INCLUDE_DIR)
file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/proj.lib" PROJ_LIBRARY_REL)
file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/projd.lib" PROJ_LIBRARY_DBG)
-
+
# Setup libpng libraries + include path
file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" PNG_INCLUDE_DIR)
file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/libpng16.lib" PNG_LIBRARY_REL)
file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/libpng16d.lib" PNG_LIBRARY_DBG)
-
+
# Setup zlib libraries + include path
file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" ZLIB_INCLUDE_DIR)
file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/zlib.lib" ZLIB_LIBRARY_REL)
@@ -86,12 +86,12 @@ if (WIN32) # Build in WINDOWS
file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/geos_c.lib" GEOS_LIBRARY_REL)
file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/geos_cd.lib" GEOS_LIBRARY_DBG)
endif()
-
+
# Setup expat libraries + include path
file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" EXPAT_INCLUDE_DIR)
file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/expat.lib" EXPAT_LIBRARY_REL)
file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/expat.lib" EXPAT_LIBRARY_DBG)
-
+
# Setup curl libraries + include path
file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" CURL_INCLUDE_DIR)
if(EXISTS "${CURRENT_INSTALLED_DIR}/lib/libcurl.lib")
@@ -104,37 +104,37 @@ if (WIN32) # Build in WINDOWS
elseif(EXISTS "${CURRENT_INSTALLED_DIR}/debug/lib/libcurl-d_imp.lib")
file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/libcurl-d_imp.lib" CURL_LIBRARY_DBG)
endif()
-
+
# Setup sqlite3 libraries + include path
file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" SQLITE_INCLUDE_DIR)
file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/sqlite3.lib" SQLITE_LIBRARY_REL)
file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/sqlite3.lib" SQLITE_LIBRARY_DBG)
-
+
# Setup PostgreSQL libraries + include path
file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" PGSQL_INCLUDE_DIR)
file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/libpq.lib" PGSQL_LIBRARY_REL)
file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/libpqd.lib" PGSQL_LIBRARY_DBG)
-
+
# Setup OpenJPEG libraries + include path
file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" OPENJPEG_INCLUDE_DIR)
file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/openjp2.lib" OPENJPEG_LIBRARY_REL)
file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/openjp2.lib" OPENJPEG_LIBRARY_DBG)
-
+
# Setup WebP libraries + include path
file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" WEBP_INCLUDE_DIR)
file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/webp.lib" WEBP_LIBRARY_REL)
file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/webpd.lib" WEBP_LIBRARY_DBG)
-
+
# Setup libxml2 libraries + include path
file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" XML2_INCLUDE_DIR)
file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/libxml2.lib" XML2_LIBRARY_REL)
file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/libxml2.lib" XML2_LIBRARY_DBG)
-
+
# Setup liblzma libraries + include path
file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" LZMA_INCLUDE_DIR)
file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/lzma.lib" LZMA_LIBRARY_REL)
file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/lzma.lib" LZMA_LIBRARY_DBG)
-
+
if("mysql-libmysql" IN_LIST FEATURES OR "mysql-libmariadb" IN_LIST FEATURES)
# Setup MySQL libraries + include path
if("mysql-libmysql" IN_LIST FEATURES)
@@ -142,18 +142,18 @@ if (WIN32) # Build in WINDOWS
file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/libmysql.lib" MYSQL_LIBRARY_REL)
file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/libmysql.lib" MYSQL_LIBRARY_DBG)
endif()
-
+
if("mysql-libmariadb" IN_LIST FEATURES)
file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include/mysql" MYSQL_INCLUDE_DIR)
file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/libmariadb.lib" MYSQL_LIBRARY_REL)
file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/libmariadb.lib" MYSQL_LIBRARY_DBG)
endif()
-
+
list(APPEND NMAKE_OPTIONS MYSQL_INC_DIR=${MYSQL_INCLUDE_DIR})
list(APPEND NMAKE_OPTIONS_REL MYSQL_LIB=${MYSQL_LIBRARY_REL})
list(APPEND NMAKE_OPTIONS_DBG MYSQL_LIB=${MYSQL_LIBRARY_DBG})
endif()
-
+
if ("libspatialite" IN_LIST FEATURES)
# Setup spatialite libraries + include path
file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include/spatialite" SPATIALITE_INCLUDE_DIR)
@@ -161,7 +161,7 @@ if (WIN32) # Build in WINDOWS
file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/spatialite.lib" SPATIALITE_LIBRARY_DBG)
set(HAVE_SPATIALITE "-DHAVE_SPATIALITE")
endif()
-
+
list(APPEND NMAKE_OPTIONS
GDAL_HOME=${NATIVE_PACKAGES_DIR}
DATADIR=${NATIVE_DATA_DIR}
@@ -186,11 +186,11 @@ if (WIN32) # Build in WINDOWS
ZLIB_EXTERNAL_LIB=1
MSVC_VER=1900
)
-
+
if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
list(APPEND NMAKE_OPTIONS WIN64=YES)
endif()
-
+
if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
list(APPEND NMAKE_OPTIONS PROJ_FLAGS=-DPROJ_STATIC)
list(APPEND NMAKE_OPTIONS CURL_CFLAGS=-DCURL_STATICLIB)
@@ -198,13 +198,13 @@ if (WIN32) # Build in WINDOWS
# Enables PDBs for release and debug builds
list(APPEND NMAKE_OPTIONS WITH_PDB=1)
endif()
-
+
if (VCPKG_CRT_LINKAGE STREQUAL static)
set(LINKAGE_FLAGS "/MT")
else()
set(LINKAGE_FLAGS "/MD")
endif()
-
+
list(APPEND NMAKE_OPTIONS_REL
${NMAKE_OPTIONS}
CXX_CRT_FLAGS=${LINKAGE_FLAGS}
@@ -223,7 +223,7 @@ if (WIN32) # Build in WINDOWS
# Static Build does not like PG_LIB
list(APPEND NMAKE_OPTIONS_REL PG_LIB=${PGSQL_LIBRARY_REL})
endif()
-
+
list(APPEND NMAKE_OPTIONS_DBG
${NMAKE_OPTIONS}
CXX_CRT_FLAGS="${LINKAGE_FLAGS}d"
@@ -257,12 +257,12 @@ if (WIN32) # Build in WINDOWS
)
message(STATUS "Building ${TARGET_TRIPLET}-rel done")
endif()
-
+
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
################
# Debug build
################
-
+
message(STATUS "Building ${TARGET_TRIPLET}-dbg")
vcpkg_execute_required_process(
COMMAND ${NMAKE} /G -f makefile.vc
@@ -272,9 +272,9 @@ if (WIN32) # Build in WINDOWS
)
message(STATUS "Building ${TARGET_TRIPLET}-dbg done")
endif()
-
+
message(STATUS "Packaging ${TARGET_TRIPLET}")
-
+
if(NOT VCPKG_LIBRARY_LINKAGE STREQUAL "static")
file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/gdal/html)
endif()
@@ -287,31 +287,31 @@ if (WIN32) # Build in WINDOWS
WORKING_DIRECTORY ${SOURCE_PATH_RELEASE}
LOGNAME nmake-install-${TARGET_TRIPLET}
)
-
+
if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin)
file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/gdal_i.lib)
-
+
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
file(COPY ${SOURCE_PATH_RELEASE}/gdal.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
endif()
-
+
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
file(COPY ${SOURCE_PATH_DEBUG}/gdal.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/gdal.lib ${CURRENT_PACKAGES_DIR}/debug/lib/gdald.lib)
endif()
-
+
else()
-
+
set(GDAL_TOOL_PATH ${CURRENT_PACKAGES_DIR}/tools/gdal)
file(MAKE_DIRECTORY ${GDAL_TOOL_PATH})
-
+
file(GLOB GDAL_TOOLS ${CURRENT_PACKAGES_DIR}/bin/*.exe)
file(COPY ${GDAL_TOOLS} DESTINATION ${GDAL_TOOL_PATH})
file(REMOVE_RECURSE ${GDAL_TOOLS})
-
+
file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/gdal.lib)
-
+
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
file(RENAME ${CURRENT_PACKAGES_DIR}/lib/gdal_i.lib ${CURRENT_PACKAGES_DIR}/lib/gdal.lib)
endif()
@@ -321,17 +321,17 @@ if (WIN32) # Build in WINDOWS
file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/gdal_i.lib ${CURRENT_PACKAGES_DIR}/debug/lib/gdald.lib)
endif()
endif()
-
+
# Copy over PDBs
vcpkg_copy_pdbs()
-elseif (UNIX) # Build in UNIX
+elseif (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin") # Build in UNIX
# Check build system first
find_program(MAKE make)
if (NOT MAKE)
message(FATAL_ERROR "MAKE not found")
endif()
-
+
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
################
# Release build
@@ -344,21 +344,21 @@ elseif (UNIX) # Build in UNIX
WORKING_DIRECTORY ${SOURCE_PATH_RELEASE}
LOGNAME config-${TARGET_TRIPLET}-rel
)
-
+
message(STATUS "Building ${TARGET_TRIPLET}-rel")
vcpkg_execute_required_process(
COMMAND make
WORKING_DIRECTORY ${SOURCE_PATH_RELEASE}
LOGNAME make-build-${TARGET_TRIPLET}-release
)
-
+
message(STATUS "Installing ${TARGET_TRIPLET}-rel")
vcpkg_execute_required_process(
COMMAND make install
WORKING_DIRECTORY ${SOURCE_PATH_RELEASE}
LOGNAME make-install-${TARGET_TRIPLET}-release
)
-
+
file(REMOVE_RECURSE ${OUT_PATH_RELEASE}/lib/gdalplugins)
file(COPY ${OUT_PATH_RELEASE}/lib/pkgconfig DESTINATION ${OUT_PATH_RELEASE}/share/gdal)
file(REMOVE_RECURSE ${OUT_PATH_RELEASE}/lib/pkgconfig)
@@ -380,21 +380,21 @@ elseif (UNIX) # Build in UNIX
WORKING_DIRECTORY ${SOURCE_PATH_DEBUG}
LOGNAME config-${TARGET_TRIPLET}-debug
)
-
+
message(STATUS "Building ${TARGET_TRIPLET}-dbg")
vcpkg_execute_required_process(
COMMAND make
WORKING_DIRECTORY ${SOURCE_PATH_DEBUG}
LOGNAME make-build-${TARGET_TRIPLET}-debug
)
-
+
message(STATUS "Installing ${TARGET_TRIPLET}-dbg")
vcpkg_execute_required_process(
COMMAND make -j install
WORKING_DIRECTORY ${SOURCE_PATH_DEBUG}
LOGNAME make-install-${TARGET_TRIPLET}-debug
)
-
+
file(REMOVE_RECURSE ${OUT_PATH_DEBUG}/lib/gdalplugins)
file(REMOVE_RECURSE ${OUT_PATH_DEBUG}/lib/pkgconfig)
file(COPY ${OUT_PATH_DEBUG}/lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug)
diff --git a/ports/gdcm/CONTROL b/ports/gdcm/CONTROL
index 127a89c67..d0dbcc652 100644
--- a/ports/gdcm/CONTROL
+++ b/ports/gdcm/CONTROL
@@ -1,4 +1,4 @@
Source: gdcm
-Version: 3.0.0
+Version: 3.0.0-1
Description: Grassroots DICOM library
Build-Depends: zlib, expat, openjpeg
diff --git a/ports/gdcm/find-openjpeg.patch b/ports/gdcm/find-openjpeg.patch
deleted file mode 100644
index c3fff18f5..000000000
--- a/ports/gdcm/find-openjpeg.patch
+++ /dev/null
@@ -1,48 +0,0 @@
---- a/CMake/FindOpenJPEG.cmake
-+++ b/CMake/FindOpenJPEG.cmake
-@@ -20,14 +20,38 @@
-
- # Try with pkg-config first
- find_package(PkgConfig)
--pkg_check_modules(OPENJPEG libopenjp2)
-+if (PKG_CONFIG_FOUND)
-+ pkg_check_modules(OPENJPEG libopenjp2)
-+ include(FindPackageHandleStandardArgs)
-+ find_package_handle_standard_args(OpenJPEG REQUIRED_VARS
-+ OPENJPEG_LIBRARIES
-+ OPENJPEG_INCLUDE_DIRS
-+ VERSION_VAR OPENJPEG_VERSION
-+ )
-+endif()
-
--include(FindPackageHandleStandardArgs)
--find_package_handle_standard_args(OpenJPEG REQUIRED_VARS
-- OPENJPEG_LIBRARIES
-- OPENJPEG_INCLUDE_DIRS
-- VERSION_VAR OPENJPEG_VERSION
--)
-+find_path(OPENJPEG_INCLUDE_DIR NAMES openjpeg.h)
-+find_library(OPENJPEG_LIBRARY NAMES openjp2)
-+if (OPENJPEG_LIBRARY)
-+ string(FIND ${OPENJPEG_LIBRARY} debug _debug_substrpos)
-+ if (_debug_substrpos EQUAL -1)
-+ set(OPENJPEG_LIBRARY_RELEASE ${OPENJPEG_LIBRARY})
-+ string(REPLACE "/lib" "/debug/lib" OPENJPEG_LIBRARY_DEBUG ${OPENJPEG_LIBRARY_RELEASE})
-+ else()
-+ set(OPENJPEG_LIBRARY_DEBUG ${OPENJPEG_LIBRARY})
-+ string(REPLACE "/debug/lib" "/lib" OPENJPEG_LIBRARY_RELEASE ${OPENJPEG_LIBRARY_DEBUG})
-+ endif()
-+ set(OPENJPEG_LIBRARY optimized ${OPENJPEG_LIBRARY_RELEASE} debug ${OPENJPEG_LIBRARY_DEBUG})
-+ set(OPENJPEG_FOUND TRUE)
-+endif()
-+
-+if (OPENJPEG_FOUND)
-+ set(OPENJPEG_LIBRARIES ${OPENJPEG_LIBRARY})
-+ set(OPENJPEG_INCLUDE_DIRS ${OPENJPEG_INCLUDE_DIR})
-+ message(STATUS "Found OPENJPEG library ${OPENJPEG_LIBRARIES}")
-+else()
-+ message(FATAL_ERROR "NOT found OPENJPEG")
-+endif()
-
- mark_as_advanced(
- OPENJPEG_LIBRARIES
diff --git a/ports/gdcm/portfile.cmake b/ports/gdcm/portfile.cmake
index 80b0ab6d8..3fba69409 100644
--- a/ports/gdcm/portfile.cmake
+++ b/ports/gdcm/portfile.cmake
@@ -1,5 +1,7 @@
include(vcpkg_common_functions)
+vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO malaterre/GDCM
@@ -7,22 +9,18 @@ vcpkg_from_github(
SHA512 2ac076dd49011234f4431ffe67fcba84a1ca9042ec5fc4dfc8aed2ed16bec5f499fa7aa666e5630796afc266ce76741d931cca333534b55fdc477e25a9189d33
HEAD_REF master
PATCHES
- find-openjpeg.patch
+ use-openjpeg-config.patch
fix-share-path.patch
)
-if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
- set(GDCM_BUILD_SHARED_LIBS ON)
-else()
- set(GDCM_BUILD_SHARED_LIBS OFF)
-endif()
+file(REMOVE ${SOURCE_PATH}/CMake/FindOpenJPEG.cmake)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
- PREFER_NINJA # Disable this option if project cannot be built with Ninja
+ PREFER_NINJA
OPTIONS
-DGDCM_BUILD_DOCBOOK_MANPAGES=OFF
- -DGDCM_BUILD_SHARED_LIBS=${GDCM_BUILD_SHARED_LIBS}
+ -DGDCM_BUILD_SHARED_LIBS=${BUILD_SHARED_LIBS}
-DGDCM_INSTALL_INCLUDE_DIR=include
-DGDCM_USE_SYSTEM_EXPAT=ON
-DGDCM_USE_SYSTEM_ZLIB=ON
@@ -31,8 +29,8 @@ vcpkg_configure_cmake(
)
vcpkg_install_cmake()
-
vcpkg_fixup_cmake_targets(CONFIG_PATH lib/gdcm TARGET_PATH share/gdcm)
+vcpkg_copy_pdbs()
file(REMOVE_RECURSE
${CURRENT_PACKAGES_DIR}/debug/include
@@ -43,7 +41,4 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
endif()
-# Handle copyright
file(INSTALL ${SOURCE_PATH}/Copyright.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/gdcm RENAME copyright)
-
-vcpkg_copy_pdbs()
diff --git a/ports/gdcm/use-openjpeg-config.patch b/ports/gdcm/use-openjpeg-config.patch
new file mode 100644
index 000000000..ff64bb1c2
--- /dev/null
+++ b/ports/gdcm/use-openjpeg-config.patch
@@ -0,0 +1,16 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index f82bfd2..a062170 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -375,7 +375,10 @@ else()
+ endif()
+
+ if(GDCM_USE_SYSTEM_OPENJPEG)
+- find_package(OpenJPEG 2.0.0 REQUIRED)
++ find_package(OpenJPEG REQUIRED)
++ if(OPENJPEG_MAJOR_VERSION VERSION_LESS 2)
++ message( FATAL_ERROR "You need at least OpenJPEG 2")
++ endif()
+ set(GDCM_OPENJPEG_LIBRARIES ${OPENJPEG_LIBRARIES})
+ else()
+ set(GDCM_OPENJPEG_LIBRARIES gdcmopenjp2)
diff --git a/ports/gdk-pixbuf/CMakeLists.txt b/ports/gdk-pixbuf/CMakeLists.txt
index 0d56b7fad..04524cb4f 100644
--- a/ports/gdk-pixbuf/CMakeLists.txt
+++ b/ports/gdk-pixbuf/CMakeLists.txt
@@ -9,20 +9,19 @@ set(GLIB_LIB_VERSION 2.0)
find_package(ZLIB REQUIRED)
find_package(PNG REQUIRED)
+find_package(unofficial-glib CONFIG REQUIRED)
find_path(GLIB_INCLUDE_DIR glib.h)
-find_library(GLIB_GLIB_LIBRARY glib-${GLIB_LIB_VERSION})
-find_library(GLIB_GIO_LIBRARY gio-${GLIB_LIB_VERSION})
-find_library(GLIB_GOBJECT_LIBRARY gobject-${GLIB_LIB_VERSION})
-find_library(GLIB_GMODULE_LIBRARY gmodule-${GLIB_LIB_VERSION})
-set(GLIB_LIBRARIES ${GLIB_GLIB_LIBRARY} ${GLIB_GOBJECT_LIBRARY} ${GLIB_GMODULE_LIBRARY} ${GLIB_GIO_LIBRARY})
-find_path(LIBINTL_INCLUDE_DIR libintl.h)
-find_library(LIBINTL_LIBRARY NAMES libintl intl)
-
-configure_file(./config.h.win32 ${CMAKE_SOURCE_DIR}/config.h COPYONLY)
+if(WIN32)
+ find_package(unofficial-gettext CONFIG REQUIRED)
+ find_path(LIBINTL_INCLUDE_DIR libintl.h)
+ configure_file(${CMAKE_SOURCE_DIR}/config.h.win32 ${CMAKE_SOURCE_DIR}/config.h COPYONLY)
+else()
+ configure_file(${CMAKE_SOURCE_DIR}/config.h.linux ${CMAKE_SOURCE_DIR}/config.h COPYONLY)
+endif()
include_directories(. ./gdk-pixbuf)
-add_library(gdk-pixbuf
+set(SOURCES
gdk-pixbuf/gdk-pixbuf.c
gdk-pixbuf/gdk-pixbuf-animation.c
gdk-pixbuf/gdk-pixbuf-data.c
@@ -46,6 +45,9 @@ add_library(gdk-pixbuf
gdk-pixbuf/io-xpm.c
gdk-pixbuf/io-xbm.c
gdk-pixbuf/pixops/pixops.c
+)
+if(WIN32)
+ list(APPEND SOURCES
gdk-pixbuf/io-gdip-animation.c
gdk-pixbuf/io-gdip-bmp.c
gdk-pixbuf/io-gdip-emf.c
@@ -54,7 +56,10 @@ add_library(gdk-pixbuf
gdk-pixbuf/io-gdip-jpeg.c
gdk-pixbuf/io-gdip-tiff.c
gdk-pixbuf/io-gdip-utils.c
- gdk-pixbuf/io-gdip-wmf.c)
+ gdk-pixbuf/io-gdip-wmf.c
+)
+endif()
+add_library(gdk-pixbuf ${SOURCES})
target_include_directories(gdk-pixbuf PRIVATE
${GLIB_INCLUDE_DIR}
@@ -62,14 +67,20 @@ target_include_directories(gdk-pixbuf PRIVATE
${ZLIB_INCLUDE_DIRS}
${LIBINTL_INCLUDE_DIR})
-target_link_libraries(gdk-pixbuf
- ${GLIB_LIBRARIES}
+set(LIBS
+ unofficial::glib::gio unofficial::glib::glib unofficial::glib::gmodule unofficial::glib::gobject
${ZLIB_LIBRARIES}
${PNG_LIBRARIES}
- ${LIBINTL_LIBRARY}
- Gdiplus)
+)
+if(WIN32)
+ list(APPEND LIBS Gdiplus unofficial::gettext::libintl)
+else()
+ list(APPEND LIBS m)
+endif()
+
+target_link_libraries(gdk-pixbuf ${LIBS})
-target_compile_definitions(gdk-pixbuf PRIVATE
+set(DEFS
HAVE_CONFIG_H
GDK_PIXBUF_COMPILATION
GDK_PIXBUF_ENABLE_BACKEND
@@ -85,9 +96,12 @@ target_compile_definitions(gdk-pixbuf PRIVATE
INCLUDE_pnm
INCLUDE_icns
INCLUDE_xpm
- INCLUDE_gdiplus
G_DISABLE_SINGLE_INCLUDES
GDK_PIXBUF_DISABLE_SINGLE_INCLUDES)
+if(WIN32)
+ list(APPEND DEFS INCLUDE_gdiplus)
+endif()
+target_compile_definitions(gdk-pixbuf PRIVATE ${DEFS})
set_target_properties(gdk-pixbuf PROPERTIES
OUTPUT_NAME gdk_pixbuf-${GDK_PIXBUF_DLL_SUFFIX}
diff --git a/ports/gdk-pixbuf/CONTROL b/ports/gdk-pixbuf/CONTROL
index 7d485d95b..759dd57b0 100644
--- a/ports/gdk-pixbuf/CONTROL
+++ b/ports/gdk-pixbuf/CONTROL
@@ -1,4 +1,4 @@
Source: gdk-pixbuf
-Version: 2.36.9-2
+Version: 2.36.9-3
Description: Image loading library.
Build-Depends: gettext, zlib, libpng, glib
diff --git a/ports/gdk-pixbuf/config.h.linux b/ports/gdk-pixbuf/config.h.linux
new file mode 100644
index 000000000..f67387328
--- /dev/null
+++ b/ports/gdk-pixbuf/config.h.linux
@@ -0,0 +1,158 @@
+/* config.h. Generated from config.h.in by configure. */
+/* config.h.in. Generated from configure.ac by autoheader. */
+
+/* Define to 1 if translation of program messages to the user's native
+ language is requested. */
+#define ENABLE_NLS 1
+
+/* Define to 1 to replace the build-time prefix in modules */
+/* #undef GDK_PIXBUF_RELOCATABLE */
+
+/* Define if gio can sniff image data */
+#define GDK_PIXBUF_USE_GIO_MIME 1
+
+/* The prefix for our gettext translation domains. */
+#define GETTEXT_PACKAGE "gdk-pixbuf"
+
+/* Define to 1 if you have the `bind_textdomain_codeset' function. */
+#define HAVE_BIND_TEXTDOMAIN_CODESET 1
+
+/* Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the
+ CoreFoundation framework. */
+/* #undef HAVE_CFLOCALECOPYCURRENT */
+
+/* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in
+ the CoreFoundation framework. */
+/* #undef HAVE_CFPREFERENCESCOPYAPPVALUE */
+
+/* Define if the GNU dcgettext() function is already present or preinstalled.
+ */
+#define HAVE_DCGETTEXT 1
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#define HAVE_DLFCN_H 1
+
+/* Define if the GNU gettext() function is already present or preinstalled. */
+#define HAVE_GETTEXT 1
+
+/* Define if you have the iconv() function and it works. */
+/* #undef HAVE_ICONV */
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#define HAVE_INTTYPES_H 1
+
+/* Define to 1 if libm has lrint */
+#define HAVE_LRINT 1
+
+/* Define to 1 if you have the <memory.h> header file. */
+#define HAVE_MEMORY_H 1
+
+/* Define to 1 is libjpeg supports progressive JPEG */
+#define HAVE_PROGRESSIVE_JPEG 1
+
+/* Define to 1 if libm has round */
+#define HAVE_ROUND 1
+
+/* Define to 1 if you have the `setrlimit' function. */
+#define HAVE_SETRLIMIT 1
+
+/* Define to 1 if sigsetjmp is available */
+#define HAVE_SIGSETJMP 1
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#define HAVE_STDINT_H 1
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#define HAVE_STDLIB_H 1
+
+/* Define to 1 if you have the <strings.h> header file. */
+#define HAVE_STRINGS_H 1
+
+/* Define to 1 if you have the <string.h> header file. */
+#define HAVE_STRING_H 1
+
+/* Define to 1 if you have the <sys/resource.h> header file. */
+#define HAVE_SYS_RESOURCE_H 1
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#define HAVE_SYS_STAT_H 1
+
+/* Define to 1 if sys/sysinfo.h is available */
+#define HAVE_SYS_SYSINFO_H 1
+
+/* Define to 1 if sys/systeminfo.h is available */
+/* #undef HAVE_SYS_SYSTEMINFO_H */
+
+/* Define to 1 if you have the <sys/time.h> header file. */
+#define HAVE_SYS_TIME_H 1
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#define HAVE_SYS_TYPES_H 1
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#define HAVE_UNISTD_H 1
+
+/* Define to the sub-directory where libtool stores uninstalled libraries. */
+#define LT_OBJDIR ".libs/"
+
+/* Define to 1 if your C compiler doesn't accept -c and -o together. */
+/* #undef NO_MINUS_C_MINUS_O */
+
+/* Define to 1 if it's a darwin platform */
+/* #undef OS_DARWIN */
+
+/* Define to 1 if it's a Linux platform */
+#define OS_LINUX 1
+
+/* Define to the address where bug reports for this package should be sent. */
+#define PACKAGE_BUGREPORT "http://bugzilla.gnome.org/enter_bug.cgi?product=gdk-pixbuf"
+
+/* Define to the full name of this package. */
+#define PACKAGE_NAME "gdk-pixbuf"
+
+/* Define to the full name and version of this package. */
+#define PACKAGE_STRING "gdk-pixbuf 2.36.9"
+
+/* Define to the one symbol short name of this package. */
+#define PACKAGE_TARNAME "gdk-pixbuf"
+
+/* Define to the home page for this package. */
+#define PACKAGE_URL ""
+
+/* Define to the version of this package. */
+#define PACKAGE_VERSION "2.36.9"
+
+/* Define to 1 if you have the ANSI C header files. */
+#define STDC_HEADERS 1
+
+/* Define to 1 if gmodule works and should be used */
+#define USE_GMODULE 1
+
+/* Whether to load modules via .la files rather than directly */
+/* #undef USE_LA_MODULES */
+
+/* Define to 1 if medialib is available and should be used */
+/* #undef USE_MEDIALIB */
+
+/* Define to 1 if medialib 2.5 is available */
+/* #undef USE_MEDIALIB25 */
+
+/* Define to 1 if MMX is available and should be used */
+/* #undef USE_MMX */
+
+/* Enable large inode numbers on Mac OS X 10.5. */
+#ifndef _DARWIN_USE_64_BIT_INODE
+# define _DARWIN_USE_64_BIT_INODE 1
+#endif
+
+/* Number of bits in a file offset, on hosts where this is settable. */
+/* #undef _FILE_OFFSET_BITS */
+
+/* defines how to decorate public symbols while building */
+#define _GDK_PIXBUF_EXTERN __attribute__((visibility("default"))) extern
+
+/* Define for large files, on AIX-style hosts. */
+/* #undef _LARGE_FILES */
+
+/* Define to empty if `const' does not conform to ANSI C. */
+/* #undef const */
diff --git a/ports/gdk-pixbuf/portfile.cmake b/ports/gdk-pixbuf/portfile.cmake
index 06f06cb5d..ef65115d0 100644
--- a/ports/gdk-pixbuf/portfile.cmake
+++ b/ports/gdk-pixbuf/portfile.cmake
@@ -12,6 +12,7 @@ vcpkg_download_distfile(ARCHIVE
vcpkg_extract_source_archive(${ARCHIVE})
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+configure_file(${CMAKE_CURRENT_LIST_DIR}/config.h.linux ${SOURCE_PATH}/config.h.linux)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
diff --git a/ports/geogram/CONTROL b/ports/geogram/CONTROL
index 87688018b..1a3daf4f9 100644
--- a/ports/geogram/CONTROL
+++ b/ports/geogram/CONTROL
@@ -1,7 +1,7 @@
Source: geogram
Version: 1.6.9-3
Description: Geogram is a programming library of geometric algorithms.
-Build-Depends: openblas (!osx), clapack
+Build-Depends: openblas (!osx), clapack (!osx)
Feature: graphics
Description: Build viewers and geogram_gfx library.
diff --git a/ports/glib/CMakeLists.txt b/ports/glib/CMakeLists.txt
index 49e4e1112..ccc2a77e2 100644
--- a/ports/glib/CMakeLists.txt
+++ b/ports/glib/CMakeLists.txt
@@ -330,8 +330,8 @@ install(
DESTINATION share/unofficial-glib
)
configure_file(
- cmake/unofficial-glib-config.in.cmake
- cmake/unofficial-glib-config.cmake
+ ${CMAKE_CURRENT_SOURCE_DIR}/cmake/unofficial-glib-config.in.cmake
+ ${CMAKE_CURRENT_BINARY_DIR}/cmake/unofficial-glib-config.cmake
@ONLY
)
install(
diff --git a/ports/glib/CONTROL b/ports/glib/CONTROL
index 9197a6037..f2a619c9c 100644
--- a/ports/glib/CONTROL
+++ b/ports/glib/CONTROL
@@ -1,4 +1,4 @@
Source: glib
-Version: 2.52.3-14-1
+Version: 2.52.3-14-2
Description: Portable, general-purpose utility library.
Build-Depends: zlib, pcre, libffi, gettext, libiconv
diff --git a/ports/glib/cmake/unofficial-glib-config.in.cmake b/ports/glib/cmake/unofficial-glib-config.in.cmake
index 976e52a9b..ea87ea0b2 100644
--- a/ports/glib/cmake/unofficial-glib-config.in.cmake
+++ b/ports/glib/cmake/unofficial-glib-config.in.cmake
@@ -1,7 +1,7 @@
-if("@VCPKG_LIBRARY_LINKAGE@" STREQUAL "static")
- include(CMakeFindDependencyMacro)
+include(CMakeFindDependencyMacro)
+find_dependency(unofficial-iconv)
+if(NOT WIN32)
find_dependency(Threads)
- find_dependency(unofficial-iconv)
endif()
include("${CMAKE_CURRENT_LIST_DIR}/unofficial-glib-targets.cmake")
diff --git a/ports/glibmm/CMakeLists.txt b/ports/glibmm/CMakeLists.txt
index 8e7f8f0fe..10839260a 100644
--- a/ports/glibmm/CMakeLists.txt
+++ b/ports/glibmm/CMakeLists.txt
@@ -40,9 +40,14 @@ if(APPLE)
link_libraries(${COREFOUNDATION_LIBRARY} ${CORESERVICES_LIBRARY} ${FOUNDATION_LIBRARY})
endif()
-if(BUILD_SHARED_LIBS)
- add_definitions(-DGLIBMM_DLL -DGIOMM_DLL)
-else()
+# Activate workaround for exporting all symbols from Windows DLLs to mimic the
+# behavior on Linux, where dynamic libraries always export all symbols.
+# The same approach was already used by the upstream MSVC build (see MSVC_NMake/gendef/gendef.cc)
+if (WIN32)
+ set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS TRUE)
+endif()
+
+if(NOT BUILD_SHARED_LIBS)
add_definitions(-DGLIBMM_STATIC_LIB -DGIOMM_STATIC_LIB)
endif()
diff --git a/ports/glibmm/CONTROL b/ports/glibmm/CONTROL
index efef52d3f..ead483418 100644
--- a/ports/glibmm/CONTROL
+++ b/ports/glibmm/CONTROL
@@ -1,4 +1,4 @@
-Source: glibmm
-Version: 2.52.1-8
-Description: This is glibmm, a C++ API for parts of glib that are useful for C++. See http://www.gtkmm.org.
-Build-Depends: zlib, pcre, libffi, gettext, libiconv, glib, libsigcpp
+Source: glibmm
+Version: 2.52.1-9
+Description: This is glibmm, a C++ API for parts of glib that are useful for C++. See http://www.gtkmm.org.
+Build-Depends: zlib, pcre, libffi, gettext, libiconv, glib, libsigcpp
diff --git a/ports/glibmm/fix-define-glibmmconfig.patch b/ports/glibmm/fix-define-glibmmconfig.patch
new file mode 100644
index 000000000..90b97d907
--- /dev/null
+++ b/ports/glibmm/fix-define-glibmmconfig.patch
@@ -0,0 +1,43 @@
+diff --git a/MSVC_Net2013/glibmm/glibmmconfig.h b/MSVC_Net2013/glibmm/glibmmconfig.h
+index 61bb83e..7dbe809 100644
+--- a/MSVC_Net2013/glibmm/glibmmconfig.h
++++ b/MSVC_Net2013/glibmm/glibmmconfig.h
+@@ -7,12 +7,17 @@
+ # if defined(_MSC_VER)
+ # define GLIBMM_MSC 1
+ # define GLIBMM_WIN32 1
+-# define GLIBMM_DLL 1
++# if !defined(GLIBMM_STATIC_LIB)
++# define GLIBMM_DLL 1
++# endif
+ # elif defined(__CYGWIN__)
+ # define GLIBMM_CONFIGURE 1
+ # elif defined(__MINGW32__)
+ # define GLIBMM_WIN32 1
+ # define GLIBMM_CONFIGURE 1
++# if !defined(GLIBMM_STATIC_LIB)
++# define GLIBMM_DLL 1
++# endif
+ # else
+ /* AIX clR compiler complains about this even though it doesn't get this far */
+ # error "Unknown architecture (send me gcc --dumpspecs or equiv)"
+@@ -108,6 +113,7 @@
+ # define GLIBMM_HAVE_WIDE_STREAM 1
+ # define GLIBMM_HAVE_DISAMBIGUOUS_CONST_TEMPLATE_SPECIALIZATIONS 1
+ # define GLIBMM_HAVE_C_STD_TIME_T_IS_NOT_INT32 1
++# define GLIBMM_HAVE_ALLOWS_STATIC_INLINE_NPOS 1
+ # define GLIBMM_CAN_USE_DYNAMIC_CAST_IN_UNUSED_TEMPLATE_WITHOUT_DEFINITION 1
+ # define GLIBMM_CAN_ASSIGN_NON_EXTERN_C_FUNCTIONS_TO_EXTERN_C_CALLBACKS 1
+ # define GLIBMM_CAN_USE_NAMESPACES_INSIDE_EXTERNC 1
+@@ -140,11 +146,6 @@
+ * it to be defined. Remove after grace period. */
+ #define GLIBMM_USING_STD(Symbol)
+
+-/* Enable DLL-specific stuff only when not building a static library */
+-#if !defined(__CYGWIN__) && defined(__MINGW32__) && !defined(GLIBMM_STATIC_LIB)
+-# define GLIBMM_DLL 1
+-#endif
+-
+ #ifdef GLIBMM_DLL
+ # if defined(GLIBMM_BUILD) && defined(_WINDLL)
+ /* Do not dllexport as it is handled by gendef on MSVC */
diff --git a/ports/glibmm/portfile.cmake b/ports/glibmm/portfile.cmake
index 40eee279c..460e32cac 100644
--- a/ports/glibmm/portfile.cmake
+++ b/ports/glibmm/portfile.cmake
@@ -1,12 +1,10 @@
-# Glib uses winapi functions not available in WindowsStore, so glibmm also
include(vcpkg_common_functions)
+# Glib uses winapi functions not available in WindowsStore
if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore)
message(FATAL_ERROR "Error: UWP builds are currently not supported.")
endif()
-vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
-
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/glibmm-2.52.1)
vcpkg_download_distfile(ARCHIVE
URLS "http://ftp.gnome.org/pub/GNOME/sources/glibmm/2.52/glibmm-2.52.1.tar.xz"
@@ -17,7 +15,9 @@ vcpkg_extract_source_archive(${ARCHIVE})
vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
- PATCHES ${CMAKE_CURRENT_LIST_DIR}/glibmm-api-variant.patch
+ PATCHES
+ ${CMAKE_CURRENT_LIST_DIR}/glibmm-api-variant.patch
+ ${CMAKE_CURRENT_LIST_DIR}/fix-define-glibmmconfig.patch
)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
diff --git a/ports/google-cloud-cpp/CONTROL b/ports/google-cloud-cpp/CONTROL
index ca4078bf2..6c1b23391 100644
--- a/ports/google-cloud-cpp/CONTROL
+++ b/ports/google-cloud-cpp/CONTROL
@@ -1,4 +1,4 @@
Source: google-cloud-cpp
-Version: 0.9.0
+Version: 0.10.0
Build-Depends: grpc, curl[ssl], crc32c
Description: C++ Client Libraries for Google Cloud Platform APIs.
diff --git a/ports/google-cloud-cpp/cmake-libcurl-find-config.patch b/ports/google-cloud-cpp/cmake-libcurl-find-config.patch
deleted file mode 100644
index 0c1d6dd6f..000000000
--- a/ports/google-cloud-cpp/cmake-libcurl-find-config.patch
+++ /dev/null
@@ -1,142 +0,0 @@
-diff --git a/cmake/IncludeCurl.cmake b/cmake/IncludeCurl.cmake
-index 6ea7ca3e6..3c2db6b28 100644
---- a/cmake/IncludeCurl.cmake
-+++ b/cmake/IncludeCurl.cmake
-@@ -34,49 +34,57 @@ set_property(CACHE GOOGLE_CLOUD_CPP_CURL_PROVIDER
- if ("${GOOGLE_CLOUD_CPP_CURL_PROVIDER}" STREQUAL "external")
- include(external/curl)
- elseif("${GOOGLE_CLOUD_CPP_CURL_PROVIDER}" STREQUAL "package")
-- # Search for libcurl, in CMake 3.5 this does not define a target, but it
-- # will in 3.12 (see https://cmake.org/cmake/help/git-
-- # stage/module/FindCURL.html for details). Until then, define the target
-- # ourselves if it is missing.
-- find_package(CURL REQUIRED)
-- if (NOT TARGET CURL::libcurl)
-- add_library(CURL::libcurl UNKNOWN IMPORTED)
-- set_property(TARGET CURL::libcurl
-- APPEND
-- PROPERTY INTERFACE_INCLUDE_DIRECTORIES
-- "${CURL_INCLUDE_DIR}")
-- set_property(TARGET CURL::libcurl
-- APPEND
-- PROPERTY IMPORTED_LOCATION "${CURL_LIBRARY}")
-- endif ()
-- # If the library is static, we need to explicitly link its dependencies.
-- # However, we should not do so for shared libraries, because the version of
-- # OpenSSL (for example) found by find_package() may be newer than the
-- # version linked against libcurl.
-- if ("${CURL_LIBRARY}" MATCHES "${CMAKE_STATIC_LIBRARY_SUFFIX}$")
-- find_package(OpenSSL REQUIRED)
-- find_package(ZLIB REQUIRED)
-- set_property(TARGET CURL::libcurl
-- APPEND
-- PROPERTY INTERFACE_LINK_LIBRARIES
-- OpenSSL::SSL
-- OpenSSL::Crypto
-- ZLIB::ZLIB)
-- message(STATUS "CURL linkage will be static")
-- if (WIN32)
-+ # Search for libcurl, first using CONFIG mode, and retrying
-+ # using MODULE mode if that fails
-+ find_package(CURL CONFIG QUIET) # Deliberately quiet, so we can handle the result
-+ if(CURL_FOUND)
-+ message(STATUS "CURL library found via CONFIG mode")
-+ else()
-+ # CONFIG mode failed - fallback to MODULE mode
-+ # In CMake 3.5 this does not define a target, but it
-+ # will in 3.12 (see https://cmake.org/cmake/help/git-
-+ # stage/module/FindCURL.html for details). Until then, define the target
-+ # ourselves if it is missing.
-+ find_package(CURL MODULE REQUIRED) # Use REQUIRED the second time to fail out
-+ if (NOT TARGET CURL::libcurl)
-+ add_library(CURL::libcurl UNKNOWN IMPORTED)
- set_property(TARGET CURL::libcurl
- APPEND
-- PROPERTY INTERFACE_LINK_LIBRARIES
-- crypt32
-- wsock32
-- ws2_32)
-+ PROPERTY INTERFACE_INCLUDE_DIRECTORIES
-+ "${CURL_INCLUDE_DIR}")
-+ set_property(TARGET CURL::libcurl
-+ APPEND
-+ PROPERTY IMPORTED_LOCATION "${CURL_LIBRARY}")
- endif ()
-- if (APPLE)
-+ # If the library is static, we need to explicitly link its dependencies.
-+ # However, we should not do so for shared libraries, because the version of
-+ # OpenSSL (for example) found by find_package() may be newer than the
-+ # version linked against libcurl.
-+ if ("${CURL_LIBRARY}" MATCHES "${CMAKE_STATIC_LIBRARY_SUFFIX}$")
-+ find_package(OpenSSL REQUIRED)
-+ find_package(ZLIB REQUIRED)
- set_property(TARGET CURL::libcurl
- APPEND
-- PROPERTY INTERFACE_LINK_LIBRARIES ldap)
-+ PROPERTY INTERFACE_LINK_LIBRARIES
-+ OpenSSL::SSL
-+ OpenSSL::Crypto
-+ ZLIB::ZLIB)
-+ message(STATUS "CURL linkage will be static")
-+ if (WIN32)
-+ set_property(TARGET CURL::libcurl
-+ APPEND
-+ PROPERTY INTERFACE_LINK_LIBRARIES
-+ crypt32
-+ wsock32
-+ ws2_32)
-+ endif ()
-+ if (APPLE)
-+ set_property(TARGET CURL::libcurl
-+ APPEND
-+ PROPERTY INTERFACE_LINK_LIBRARIES ldap)
-+ endif ()
-+ else()
-+ message(STATUS "CURL linkage will be non-static")
- endif ()
-- else()
-- message(STATUS "CURL linkage will be non-static")
- endif ()
- endif ()
-diff --git a/google/cloud/storage/config.cmake.in b/google/cloud/storage/config.cmake.in
-index a4d261815..640089e09 100644
---- a/google/cloud/storage/config.cmake.in
-+++ b/google/cloud/storage/config.cmake.in
-@@ -13,21 +13,25 @@
- # limitations under the License.
-
- include(CMakeFindDependencyMacro)
--find_dependency(CURL)
-+# Search for libcurl, first using CONFIG mode, and retrying
-+# using MODULE mode if that fails
-+find_package(CURL CONFIG QUIET) # find_package so we can explicitly specify QUIET
-+if(NOT CURL_FOUND)
-+ find_dependency(CURL MODULE)
-+ # Some versions of FindCURL do not define CURL::libcurl, so we define it ourselves.
-+ if (NOT TARGET CURL::libcurl)
-+ add_library(CURL::libcurl UNKNOWN IMPORTED)
-+ set_property(TARGET CURL::libcurl
-+ APPEND
-+ PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${CURL_INCLUDE_DIR}")
-+ set_property(TARGET CURL::libcurl
-+ APPEND
-+ PROPERTY IMPORTED_LOCATION "${CURL_LIBRARY}")
-+ endif ()
-+endif()
- find_dependency(Crc32c)
- find_dependency(google_cloud_cpp_common)
- find_dependency(OpenSSL)
- find_dependency(ZLIB)
-
--# Some versions of FindCURL do not define CURL::libcurl, so we define it ourselves.
--if (NOT TARGET CURL::libcurl)
-- add_library(CURL::libcurl UNKNOWN IMPORTED)
-- set_property(TARGET CURL::libcurl
-- APPEND
-- PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${CURL_INCLUDE_DIR}")
-- set_property(TARGET CURL::libcurl
-- APPEND
-- PROPERTY IMPORTED_LOCATION "${CURL_LIBRARY}")
--endif ()
--
- include("${CMAKE_CURRENT_LIST_DIR}/storage-targets.cmake")
diff --git a/ports/google-cloud-cpp/portfile.cmake b/ports/google-cloud-cpp/portfile.cmake
index 289c51a01..84c5c0240 100644
--- a/ports/google-cloud-cpp/portfile.cmake
+++ b/ports/google-cloud-cpp/portfile.cmake
@@ -4,12 +4,10 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
- REPO GoogleCloudPlatform/google-cloud-cpp
- REF v0.9.0
- SHA512 b62051b9396efe8af8063d28ac958524b762a90c053f82030834bd38f018f0755487f6b39ceb5a0082d7cbf8784854c4effd81de27633086857330dc9bda182b
+ REPO googleapis/google-cloud-cpp
+ REF v0.10.0
+ SHA512 9a1774dcc39d1626c8a9cf8630fe3b3110df7e21e452c7b137e1911d10b304997571aadff5fc0216715729db4a29621066a5236a0b2cb027bba4ce3c56492fb3
HEAD_REF master
- PATCHES
- cmake-libcurl-find-config.patch
)
vcpkg_configure_cmake(
diff --git a/ports/graphqlparser/portfile.cmake b/ports/graphqlparser/portfile.cmake
index bab77a0c7..a90959f5d 100644
--- a/ports/graphqlparser/portfile.cmake
+++ b/ports/graphqlparser/portfile.cmake
@@ -11,12 +11,12 @@ vcpkg_from_github(
static-compile-fix.patch
)
-if(UNIX)
+if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin")
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
)
-elseif(WIN32)
+elseif(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
vcpkg_find_acquire_program(PYTHON2)
vcpkg_find_acquire_program(FLEX) #
vcpkg_find_acquire_program(BISON)
diff --git a/ports/gsoap/CONTROL b/ports/gsoap/CONTROL
index ae1d1625b..364deb380 100644
--- a/ports/gsoap/CONTROL
+++ b/ports/gsoap/CONTROL
@@ -1,4 +1,4 @@
Source: gsoap
-Version: 2.8.82-2
+Version: 2.8.84-1
Build-Depends: curl
Description: The gSOAP toolkit is a C and C++ software development toolkit for SOAP and REST XML Web services and generic C/C++ XML data bindings. \ No newline at end of file
diff --git a/ports/gsoap/portfile.cmake b/ports/gsoap/portfile.cmake
index dc7547eb2..79270c7cb 100644
--- a/ports/gsoap/portfile.cmake
+++ b/ports/gsoap/portfile.cmake
@@ -1,12 +1,12 @@
include(vcpkg_common_functions)
set(GSOAP_VERSION 2.8)
-set(GSOAP_SUB_VERSION .82)
+set(GSOAP_SUB_VERSION .84)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/gsoap-${GSOAP_VERSION})
vcpkg_download_distfile(ARCHIVE
URLS "https://ayera.dl.sourceforge.net/project/gsoap2/gsoap-${GSOAP_VERSION}/gsoap_${GSOAP_VERSION}${GSOAP_SUB_VERSION}.zip"
FILENAME "gsoap_${GSOAP_VERSION}${GSOAP_SUB_VERSION}.zip"
- SHA512 daf6a1870fe43beb20d0faf646b171c92629885708baabea5bbce79fa5a8030f014dbe5c0bf4024031df993dd3ed3a90449db813946cfdfa9c12318096b57eec
+ SHA512 ec050119cd3e480b266cad36823f4862fe0ac21045ce901c3c91a552eae2fbf9e1cd515458835807cce54c04df7835a980a299d37f418190cd57684fd6bdcf79
)
vcpkg_extract_source_archive_ex(
@@ -26,7 +26,7 @@ endif()
# Handle binary files and includes
file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/gsoap ${CURRENT_PACKAGES_DIR}/debug/tools)
-if (WIN32)
+if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
vcpkg_build_msbuild(
USE_VCPKG_INTEGRATION
PROJECT_PATH ${SOURCE_PATH}/gsoap/VisualStudio2005/soapcpp2/soapcpp2.sln
@@ -39,7 +39,7 @@ if (WIN32)
PLATFORM ${BUILD_ARCH}
TARGET Build
)
-
+
file(COPY ${SOURCE_PATH}/gsoap/VisualStudio2005/soapcpp2/release/soapcpp2.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools/gsoap/)
file(COPY ${SOURCE_PATH}/gsoap/VisualStudio2005/wsdl2h/release/wsdl2h.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools/gsoap/)
file(COPY ${SOURCE_PATH}/gsoap/VisualStudio2005/soapcpp2/debug/soapcpp2.exe DESTINATION ${CURRENT_PACKAGES_DIR}/debug/tools/gsoap/)
@@ -48,7 +48,7 @@ else()
message(FATAL_ERROR "Sorry but gsoap only can be build in Windows temporary")
endif()
-
+
file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/include)
file(COPY ${SOURCE_PATH}/gsoap/stdsoap2.h ${SOURCE_PATH}/gsoap/stdsoap2.c ${SOURCE_PATH}/gsoap/stdsoap2.cpp ${SOURCE_PATH}/gsoap/dom.c ${SOURCE_PATH}/gsoap/dom.cpp DESTINATION ${CURRENT_PACKAGES_DIR}/include)
@@ -62,6 +62,6 @@ file(COPY ${SOURCE_PATH}/gsoap/plugin DESTINATION ${CURRENT_PACKAGES_DIR}/share/
file(COPY ${SOURCE_PATH}/LICENSE.txt ${SOURCE_PATH}/INSTALL.txt ${SOURCE_PATH}/README.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/gsoap)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/gsoap/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/gsoap/copyright)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/gsoap/INSTALL.txt ${CURRENT_PACKAGES_DIR}/share/gsoap/install)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/gsoap/README.txt ${CURRENT_PACKAGES_DIR}/share/gsoap/readme)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/gsoap/README.txt ${CURRENT_PACKAGES_DIR}/share/gsoap/readme)
-vcpkg_copy_pdbs() \ No newline at end of file
+vcpkg_copy_pdbs()
diff --git a/ports/harfbuzz/0001-fix-cmake-export.patch b/ports/harfbuzz/0001-fix-cmake-export.patch
index 0ba0245d0..c3264dfd5 100644
--- a/ports/harfbuzz/0001-fix-cmake-export.patch
+++ b/ports/harfbuzz/0001-fix-cmake-export.patch
@@ -1,13 +1,13 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 019e205..8a464a5 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -795,7 +795,7 @@ if (NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL)
- )
- install(EXPORT harfbuzzConfig
- NAMESPACE harfbuzz::
-- DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/harfbuzz
-+ DESTINATION share/harfbuzz
- )
- if (HB_BUILD_UTILS)
- if (WIN32 AND BUILD_SHARED_LIBS)
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 019e205..8a464a5 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -795,7 +795,7 @@ if (NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL)
+ )
+ install(EXPORT harfbuzzConfig
+ NAMESPACE harfbuzz::
+- DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/harfbuzz
++ DESTINATION share/harfbuzz
+ )
+ if (HB_BUILD_UTILS)
+ if (WIN32 AND BUILD_SHARED_LIBS)
diff --git a/ports/harfbuzz/0003-remove-broken-test.patch b/ports/harfbuzz/0003-remove-broken-test.patch
index 2e5b78fa7..2a3b234ee 100644
--- a/ports/harfbuzz/0003-remove-broken-test.patch
+++ b/ports/harfbuzz/0003-remove-broken-test.patch
@@ -1,6 +1,8 @@
+diff --git a/src/hb-coretext.cc b/src/hb-coretext.cc
+index 85993d1..3e8e642 100644
--- a/src/hb-coretext.cc
+++ b/src/hb-coretext.cc
-@@ -1059,20 +1059,6 @@
+@@ -1059,21 +1059,6 @@ resize_and_retry:
buffer->len += num_glyphs;
}
@@ -14,10 +16,11 @@
- if (false)
- {
- /* Make sure all runs had the expected direction. */
-- bool backward = HB_DIRECTION_IS_BACKWARD (buffer->props.direction);
+- HB_UNUSED bool backward = HB_DIRECTION_IS_BACKWARD (buffer->props.direction);
- assert (bool (status_and & kCTRunStatusRightToLeft) == backward);
- assert (bool (status_or & kCTRunStatusRightToLeft) == backward);
- }
-
+-
buffer->clear_positions ();
+ unsigned int count = buffer->len;
diff --git a/ports/harfbuzz/CONTROL b/ports/harfbuzz/CONTROL
index a0fdfdd95..133d0bc0e 100644
--- a/ports/harfbuzz/CONTROL
+++ b/ports/harfbuzz/CONTROL
@@ -1,5 +1,5 @@
Source: harfbuzz
-Version: 2.4.0
+Version: 2.5.1
Description: HarfBuzz OpenType text shaping engine
Build-Depends: freetype, ragel, gettext (osx)
Default-Features: ucdn
diff --git a/ports/harfbuzz/find-package-freetype-2.patch b/ports/harfbuzz/find-package-freetype-2.patch
index 85dbbdeec..608e9c890 100644
--- a/ports/harfbuzz/find-package-freetype-2.patch
+++ b/ports/harfbuzz/find-package-freetype-2.patch
@@ -1,13 +1,13 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index defd5d6..03f9d4e 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -267,7 +267,7 @@ set (subset_project_headers
-
- ## Find and include needed header folders and libraries
- if (HB_HAVE_FREETYPE)
-- include (FindFreetype)
-+ find_package(Freetype REQUIRED)
- if (NOT FREETYPE_FOUND)
- message(FATAL_ERROR "HB_HAVE_FREETYPE was set, but we failed to find it. Maybe add a CMAKE_PREFIX_PATH= to your Freetype2 install prefix")
- endif ()
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index defd5d6..03f9d4e 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -267,7 +267,7 @@ set (subset_project_headers
+
+ ## Find and include needed header folders and libraries
+ if (HB_HAVE_FREETYPE)
+- include (FindFreetype)
++ find_package(Freetype REQUIRED)
+ if (NOT FREETYPE_FOUND)
+ message(FATAL_ERROR "HB_HAVE_FREETYPE was set, but we failed to find it. Maybe add a CMAKE_PREFIX_PATH= to your Freetype2 install prefix")
+ endif ()
diff --git a/ports/harfbuzz/portfile.cmake b/ports/harfbuzz/portfile.cmake
index bfcd3cea0..d28bd656f 100644
--- a/ports/harfbuzz/portfile.cmake
+++ b/ports/harfbuzz/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO harfbuzz/harfbuzz
- REF 2.4.0
- SHA512 dd3a5caec689cffdd887bd3ca646ceaee804a0501d1d4ad1e9d9d48d9e4a87a02b76a9aa354dc69528b7d2a17c2431fce67c1681c72ad8246c2f5a1be498d52a
+ REF 2.5.1
+ SHA512 e8b4b98e65d809579456551e4dd70bdd847d02cbfa80df479f6f544eff2bdbfaa7502f22e5f4e5217f063badc8874f6e568d49e9c40ab752b233fafa9e74aeab
HEAD_REF master
PATCHES
0001-fix-cmake-export.patch
diff --git a/ports/highfive/portfile.cmake b/ports/highfive/portfile.cmake
index ed88a45c9..db6f4a012 100644
--- a/ports/highfive/portfile.cmake
+++ b/ports/highfive/portfile.cmake
@@ -28,7 +28,7 @@ vcpkg_install_cmake()
vcpkg_fixup_cmake_targets(CONFIG_PATH share/HighFive/CMake)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug)
-if(NOT WIN32 AND NOT APPLE)
+if(NOT (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin")
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share/HighFive)
endif()
diff --git a/ports/hpx/CONTROL b/ports/hpx/CONTROL
index d77e210b6..cb25e174b 100644
--- a/ports/hpx/CONTROL
+++ b/ports/hpx/CONTROL
@@ -1,5 +1,5 @@
Source: hpx
-Version: 1.2.1-1
-Build-Depends: hwloc, boost-accumulators, boost-algorithm, boost-asio, boost-assign, boost-atomic, boost-bimap, boost-chrono, boost-config, boost-context, boost-dynamic-bitset, boost-exception, boost-filesystem, boost-iostreams, boost-lockfree, boost-program-options, boost-range, boost-regex, boost-signals2, boost-smart-ptr, boost-spirit, boost-system, boost-throw-exception, boost-variant, boost-winapi
+Version: 1.3.0-1
+Build-Depends: hwloc, boost-accumulators, boost-algorithm, boost-asio, boost-assign, boost-bimap, boost-chrono, boost-config, boost-context, boost-dynamic-bitset, boost-exception, boost-filesystem, boost-iostreams, boost-lockfree, boost-program-options, boost-range, boost-spirit, boost-system, boost-throw-exception, boost-variant, boost-winapi
Description: The C++ Standards Library for Concurrency and Parallelism
HPX is a C++ Standards Library for Concurrency and Parallelism. It implements all of the corresponding facilities as defined by the C++ Standard. Additionally, in HPX we implement functionalities proposed as part of the ongoing C++ standardization process. We also extend the C++ Standard APIs to the distributed case.
diff --git a/ports/hpx/portfile.cmake b/ports/hpx/portfile.cmake
index 3e687e50d..80e79bac6 100644
--- a/ports/hpx/portfile.cmake
+++ b/ports/hpx/portfile.cmake
@@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO STEllAR-GROUP/hpx
- REF 1.2.1
- SHA512 46e9e36cbd9bec935b2a1efce8167c641de88aca8e4dd9c2e3269a1d82ab2965812b5483b6dff4465634f454757b19ad4f73ddcc5ddd73d6efbf28d0819f7dc7
+ REF 1.3.0
+ SHA512 e55ca0c6fe1716b6ee72b0c4a9234a1136455ddc2f5509925395a80442d564b0db251968fef53d202a1f5140e12d0941d0173ab20a7b181632eac20cb925bf31
HEAD_REF master
)
diff --git a/ports/icu/CONTROL b/ports/icu/CONTROL
index d60dbf04b..3fa81fd4d 100644
--- a/ports/icu/CONTROL
+++ b/ports/icu/CONTROL
@@ -1,3 +1,3 @@
Source: icu
-Version: 61.1-6
+Version: 61.1-7
Description: Mature and widely used Unicode and localization library.
diff --git a/ports/icu/portfile.cmake b/ports/icu/portfile.cmake
index 91cba5db7..2061111e9 100644
--- a/ports/icu/portfile.cmake
+++ b/ports/icu/portfile.cmake
@@ -209,11 +209,3 @@ vcpkg_copy_pdbs()
# Handle copyright
file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/icu)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/icu/LICENSE ${CURRENT_PACKAGES_DIR}/share/icu/copyright)
-
-# Deal with a stale process created by MSYS
-if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
- vcpkg_execute_required_process(
- COMMAND TASKKILL /F /IM gpg-agent.exe /fi "memusage gt 2"
- WORKING_DIRECTORY ${SOURCE_PATH}
- )
-endif()
diff --git a/ports/io2d/portfile.cmake b/ports/io2d/portfile.cmake
index 0375a9689..3411620f5 100644
--- a/ports/io2d/portfile.cmake
+++ b/ports/io2d/portfile.cmake
@@ -5,23 +5,14 @@ include(vcpkg_common_functions)
# For now, io2d is always a static library.
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
-# Optionally, uncomment and modify one of the 'set(...)' calls below
-# to use io2d sources from a local directory, rather than Github.
-# set(SOURCE_PATH "C:\\Path\\To\\P0267_RefImpl\\")
-# set(SOURCE_PATH "/Path/To/P0267_RefImpl")
-
-# Retrieve and validate io2d source code, as-needed
-if ("${SOURCE_PATH}" STREQUAL "")
- # TODO: point at cpp-io2d/(whatever), if and as needed
- vcpkg_from_github(
- OUT_SOURCE_PATH SOURCE_PATH
- REPO cpp-io2d/P0267_RefImpl
- REF 21ae92c8be6916034e6e18f08aa57899a975dfb0
- SHA512 5b674f98ca7705d6901af339a4189d5ce4f2c3118bfb99430734f355159602f177bc8d1b345c3a2f17947a62547553f7b91747a1f16da063707a4da7f990391d
- HEAD_REF master
- PATCHES find-package.patch
- )
-endif()
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO cpp-io2d/P0267_RefImpl
+ REF 21ae92c8be6916034e6e18f08aa57899a975dfb0
+ SHA512 5b674f98ca7705d6901af339a4189d5ce4f2c3118bfb99430734f355159602f177bc8d1b345c3a2f17947a62547553f7b91747a1f16da063707a4da7f990391d
+ HEAD_REF master
+ PATCHES find-package.patch
+)
# Configure the library, using CMake
if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL Darwin)
diff --git a/ports/itpp/CONTROL b/ports/itpp/CONTROL
new file mode 100644
index 000000000..623b2fc6b
--- /dev/null
+++ b/ports/itpp/CONTROL
@@ -0,0 +1,3 @@
+Source: itpp
+Version: 4.3.1
+Description: IT++ is a C++ library of mathematical, signal processing and communication classes and functions. Its main use is in simulation of communication systems and for performing research in the area of communications. \ No newline at end of file
diff --git a/ports/itpp/fix-linux.patch b/ports/itpp/fix-linux.patch
new file mode 100644
index 000000000..5e7bb64c0
--- /dev/null
+++ b/ports/itpp/fix-linux.patch
@@ -0,0 +1,13 @@
+diff --git a/itpp/base/random_dsfmt.h b/itpp/base/random_dsfmt.h
+index ccbf182..a3d5472 100644
+--- a/itpp/base/random_dsfmt.h
++++ b/itpp/base/random_dsfmt.h
+@@ -299,7 +299,7 @@ private:
+ */
+ static void do_recursion(typename Context::w128_t *r, typename Context::w128_t *a, typename Context::w128_t *b, typename Context::w128_t *lung) {
+ #if defined(__SSE2__)
+- const unsigned int SSE2_SHUFF = 0x1bU;
++#define SSE2_SHUFF 0x1bU
+
+ __m128i x = a->si;
+ __m128i z = _mm_slli_epi64(x, SL1);
diff --git a/ports/itpp/fix-uwp.patch b/ports/itpp/fix-uwp.patch
new file mode 100644
index 000000000..18e5fe4eb
--- /dev/null
+++ b/ports/itpp/fix-uwp.patch
@@ -0,0 +1,12 @@
+diff --git a/itpp/base/timing.cpp b/itpp/base/timing.cpp
+index 58178e4..47d662e 100644
+--- a/itpp/base/timing.cpp
++++ b/itpp/base/timing.cpp
+@@ -51,6 +51,7 @@
+
+ #if defined(_WIN32) && !defined(__CYGWIN__)
+ #include <windows.h>
++#include <Winsock2.h>
+
+ int gettimeofday(struct timeval* p, void*)
+ {
diff --git a/ports/itpp/msvc2013.patch b/ports/itpp/msvc2013.patch
new file mode 100644
index 000000000..9cd35e851
--- /dev/null
+++ b/ports/itpp/msvc2013.patch
@@ -0,0 +1,284 @@
+ CMakeLists.txt | 2 ++
+ itpp/base/algebra/eigen.cpp | 1 +
+ itpp/base/algebra/ls_solve.cpp | 2 +-
+ itpp/base/algebra/qr.cpp | 1 +
+ itpp/base/algebra/svd.cpp | 2 +-
+ itpp/base/bessel/gamma.cpp | 5 +++++
+ itpp/base/itcompat.cpp | 11 ++++++++++-
+ itpp/base/itcompat.h | 14 ++++++++++++--
+ itpp/base/matfunc.h | 1 +
+ itpp/base/svec.h | 1 +
+ itpp/comm/siso_dem.cpp | 6 ++++++
+ itpp/comm/siso_eq.cpp | 6 ++++++
+ itpp/comm/siso_mud.cpp | 7 +++++++
+ itpp/comm/siso_nsc.cpp | 6 ++++++
+ itpp/comm/siso_rsc.cpp | 7 +++++++
+ 15 files changed, 67 insertions(+), 5 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 9f6a9a6..2360f86 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -122,7 +122,9 @@ CHECK_CXX_SYMBOL_EXISTS ( isnan "cmath" HAVE_DECL_ISNAN )
+ CHECK_CXX_SYMBOL_EXISTS ( signgam "cmath" HAVE_DECL_SIGNGAM )
+
+ #check for functions
++if( NOT MSVC )
+ set(CMAKE_REQUIRED_LIBRARIES m)
++endif()
+ include (CheckFunctionExists)
+ CHECK_FUNCTION_EXISTS ( acosh HAVE_ACOSH )
+ CHECK_FUNCTION_EXISTS ( asinh HAVE_ASINH )
+diff --git a/itpp/base/algebra/eigen.cpp b/itpp/base/algebra/eigen.cpp
+index 8c0c36b..54ae3e1 100644
+--- a/itpp/base/algebra/eigen.cpp
++++ b/itpp/base/algebra/eigen.cpp
+@@ -39,6 +39,7 @@
+ #include <itpp/base/algebra/eigen.h>
+ #include <itpp/base/converters.h>
+
++#include <algorithm>
+
+ namespace itpp
+ {
+diff --git a/itpp/base/algebra/ls_solve.cpp b/itpp/base/algebra/ls_solve.cpp
+index dae38fc..95abf0a 100644
+--- a/itpp/base/algebra/ls_solve.cpp
++++ b/itpp/base/algebra/ls_solve.cpp
+@@ -37,7 +37,7 @@
+ #endif
+
+ #include <itpp/base/algebra/ls_solve.h>
+-
++#include <algorithm>
+
+ namespace itpp
+ {
+diff --git a/itpp/base/algebra/qr.cpp b/itpp/base/algebra/qr.cpp
+index 91dfb2b..0b47294 100644
+--- a/itpp/base/algebra/qr.cpp
++++ b/itpp/base/algebra/qr.cpp
+@@ -39,6 +39,7 @@
+ #include <itpp/base/algebra/qr.h>
+ #include <itpp/base/specmat.h>
+
++#include <algorithm>
+
+ namespace itpp
+ {
+diff --git a/itpp/base/algebra/svd.cpp b/itpp/base/algebra/svd.cpp
+index aa21e36..b2e499c 100644
+--- a/itpp/base/algebra/svd.cpp
++++ b/itpp/base/algebra/svd.cpp
+@@ -37,7 +37,7 @@
+ #endif
+
+ #include <itpp/base/algebra/svd.h>
+-
++#include <algorithm>
+
+ namespace itpp
+ {
+diff --git a/itpp/base/bessel/gamma.cpp b/itpp/base/bessel/gamma.cpp
+index 162c4ae..9405507 100644
+--- a/itpp/base/bessel/gamma.cpp
++++ b/itpp/base/bessel/gamma.cpp
+@@ -34,6 +34,11 @@
+ #include <itpp/base/itcompat.h>
+ #include <itpp/base/math/misc.h>
+
++#if _MSC_VER
++//suppress warnings regarding the use infinity in fp arithmetic
++#pragma warning(disable: 4056)
++#pragma warning(disable: 4756)
++#endif
+
+ /*
+ * Gamma function
+diff --git a/itpp/base/itcompat.cpp b/itpp/base/itcompat.cpp
+index f99ec81..aa34b28 100644
+--- a/itpp/base/itcompat.cpp
++++ b/itpp/base/itcompat.cpp
+@@ -47,12 +47,21 @@ double tgamma(double x)
+ }
+ #endif
+
+-#if !defined(HAVE_LGAMMA) || (HAVE_DECL_SIGNGAM != 1)
++#if !defined(HAVE_LGAMMA) && (HAVE_DECL_SIGNGAM != 1)
+ // The sign of the Gamma function is returned in the external integer
+ // signgam declared in <math.h>. It is 1 when the Gamma function is positive
+ // or zero, -1 when it is negative. However, MinGW definition of lgamma()
+ // function does not use the global signgam variable.
++//May 3rd 2015 (Andy Panov):
++//Nonetheless, I guess it would be smarter not to break the ODR rule and not to provide our own definition of lgamma
++//function when HAVE_LGAMMA is defined. If we still provide the definition, two definitions
++//of the same function will exist in the program (this is undefined behaviour, as C++ standard says),
++//so we can not ensure linker will choose our definition and user's code will work as expected.
++//I guess, error message from linker regarding the unresolved symbol is much better option,
++//since it clearly points to the math library limitations. Otherwise user can get a malfunctioning program
++//with really subtle error.
+ int signgam;
++
+ // Logarithm of an absolute value of gamma function
+ double lgamma(double x)
+ {
+diff --git a/itpp/base/itcompat.h b/itpp/base/itcompat.h
+index e6be223..dcf2ed7 100644
+--- a/itpp/base/itcompat.h
++++ b/itpp/base/itcompat.h
+@@ -41,8 +41,12 @@
+ #if defined(_MSC_VER)
+ # include <cfloat>
+ # define finite(x) _finite(x)
++#ifndef HAVE_STD_ISFINITE
+ # define isfinite(x) _finite(x)
++#endif
++#ifndef HAVE_STD_ISNAN
+ # define isnan(x) _isnan(x)
++#endif
+ # define fpclass(x) _fpclass(x)
+ # define FP_NINF _FPCLASS_NINF
+ # define FP_PINF _FPCLASS_PINF
+@@ -119,13 +123,19 @@ inline bool isfinite(double x)
+ double tgamma(double x);
+ #endif
+
+-#if !defined(HAVE_LGAMMA) || (HAVE_DECL_SIGNGAM != 1)
++#if !defined(HAVE_LGAMMA) && (HAVE_DECL_SIGNGAM != 1)
++//Provide own definitions if both conditions are met:
++//-lgammma is not defined
++//-signgam was not found
++//See ODR desicussion in itcompat.cpp
++
+ //! Lograrithm of an absolute gamma function
+ double lgamma(double x);
+ //! Global variable needed by \c lgamma function
+ extern int signgam;
+ #endif
+
++
+ #ifndef HAVE_CBRT
+ //! Cubic root
+ double cbrt(double x);
+@@ -141,7 +151,7 @@ inline double log1p(double x) { return std::log(1.0 + x); }
+ //! Base-2 logarithm
+ inline double log2(double x)
+ {
+- static const double one_over_log2 = 1.0 / std::log(2.0);
++ const double one_over_log2 = 1.0 / std::log(2.0);
+ return std::log(x) * one_over_log2;
+ }
+ #endif
+diff --git a/itpp/base/matfunc.h b/itpp/base/matfunc.h
+index 8ae683e..60cf95f 100644
+--- a/itpp/base/matfunc.h
++++ b/itpp/base/matfunc.h
+@@ -36,6 +36,7 @@
+ #include <itpp/base/algebra/inv.h>
+ #include <itpp/base/algebra/svd.h>
+ #include <itpp/itexports.h>
++#include <algorithm>
+
+ namespace itpp
+ {
+diff --git a/itpp/base/svec.h b/itpp/base/svec.h
+index d105b2f..3a2c15b 100644
+--- a/itpp/base/svec.h
++++ b/itpp/base/svec.h
+@@ -33,6 +33,7 @@
+ #include <itpp/base/math/min_max.h>
+ #include <cstdlib>
+ #include <itpp/itexports.h>
++#include <algorithm>
+
+ namespace itpp
+ {
+diff --git a/itpp/comm/siso_dem.cpp b/itpp/comm/siso_dem.cpp
+index 666f38c..4fa03fd 100644
+--- a/itpp/comm/siso_dem.cpp
++++ b/itpp/comm/siso_dem.cpp
+@@ -32,6 +32,12 @@
+ #define INFINITY std::numeric_limits<double>::infinity()
+ #endif
+
++#if _MSC_VER
++//suppress warnings regarding the use infinity in fp arithmetic
++#pragma warning(disable: 4056)
++#endif
++
++
+ namespace itpp
+ {
+ void SISO::find_half_const(int &select_half, itpp::vec &re_part, itpp::bmat &re_bin_part, itpp::vec &im_part, itpp::bmat &im_bin_part)
+diff --git a/itpp/comm/siso_eq.cpp b/itpp/comm/siso_eq.cpp
+index 856c01a..6553b33 100644
+--- a/itpp/comm/siso_eq.cpp
++++ b/itpp/comm/siso_eq.cpp
+@@ -32,6 +32,12 @@
+ #define INFINITY std::numeric_limits<double>::infinity()
+ #endif
+
++#if _MSC_VER
++//suppress warnings regarding the use infinity in fp arithmetic
++#pragma warning(disable: 4056)
++#pragma warning(disable: 4756)
++#endif
++
+ namespace itpp
+ {
+ void SISO::gen_chtrellis(void)
+diff --git a/itpp/comm/siso_mud.cpp b/itpp/comm/siso_mud.cpp
+index 60aa6d3..a7ff735 100644
+--- a/itpp/comm/siso_mud.cpp
++++ b/itpp/comm/siso_mud.cpp
+@@ -32,6 +32,13 @@
+ #define INFINITY std::numeric_limits<double>::infinity()
+ #endif
+
++#if _MSC_VER
++//suppress warnings regarding the use infinity in fp arithmetic
++#pragma warning(disable: 4056)
++#pragma warning(disable: 4756)
++#endif
++
++
+ namespace itpp
+ {
+ void SISO::descrambler(itpp::vec &extrinsic_coded, itpp::vec &extrinsic_data, const itpp::vec &intrinsic_coded, const itpp::vec &apriori_data)
+diff --git a/itpp/comm/siso_nsc.cpp b/itpp/comm/siso_nsc.cpp
+index ca7d19a..12ca62a 100644
+--- a/itpp/comm/siso_nsc.cpp
++++ b/itpp/comm/siso_nsc.cpp
+@@ -33,6 +33,12 @@
+ #define INFINITY std::numeric_limits<double>::infinity()
+ #endif
+
++#if _MSC_VER
++//suppress warnings regarding the use infinity in fp arithmetic
++#pragma warning(disable: 4056)
++#pragma warning(disable: 4756)
++#endif
++
+ namespace itpp
+ {
+ void SISO::gen_nsctrellis(void)
+diff --git a/itpp/comm/siso_rsc.cpp b/itpp/comm/siso_rsc.cpp
+index e5003c7..9e3eea1 100644
+--- a/itpp/comm/siso_rsc.cpp
++++ b/itpp/comm/siso_rsc.cpp
+@@ -29,6 +29,13 @@
+ #include <itpp/comm/siso.h>
+ #include <itpp/base/itcompat.h>
+ #include <limits>
++
++#if _MSC_VER
++//suppress warnings regarding the use infinity in fp arithmetic
++#pragma warning(disable: 4056)
++#pragma warning(disable: 4756)
++#endif
++
+ #ifndef INFINITY
+ #define INFINITY std::numeric_limits<double>::infinity()
+ #endif
+
+ #Remove this patch if the source has fixed these issues.
diff --git a/ports/itpp/portfile.cmake b/ports/itpp/portfile.cmake
new file mode 100644
index 000000000..10faf4882
--- /dev/null
+++ b/ports/itpp/portfile.cmake
@@ -0,0 +1,45 @@
+include(vcpkg_common_functions)
+
+set(ITPP_VERSION 4.3.1)
+vcpkg_download_distfile(ARCHIVE
+ URLS "https://sourceforge.net/projects/itpp/files/itpp/${ITPP_VERSION}/itpp-${ITPP_VERSION}.tar.bz2"
+ FILENAME "itpp-${ITPP_VERSION}.tar.bz2"
+ SHA512 b46d048fa7f33e80d2291a5e38e205c159791ea200f92c70d69e8ad8447ac2f0c847fece566a99af739853a1643cb16e226b4200c8bf115417f324e6d38c66bd
+)
+
+vcpkg_extract_source_archive_ex(
+ OUT_SOURCE_PATH SOURCE_PATH
+ ARCHIVE ${ARCHIVE}
+ REF ${ITPP_VERSION}
+ PATCHES
+ msvc2013.patch
+)
+
+if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES fix-uwp.patch
+ )
+elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux")
+ vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES fix-linux.patch
+ )
+endif()
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+)
+
+vcpkg_install_cmake()
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
+endif()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
+vcpkg_copy_pdbs()
+
+file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/jbig2dec/CMakeLists.txt b/ports/jbig2dec/CMakeLists.txt
index a2a8376de..14b1be671 100644
--- a/ports/jbig2dec/CMakeLists.txt
+++ b/ports/jbig2dec/CMakeLists.txt
@@ -3,8 +3,6 @@ project(jbig2dec C)
set(CMAKE_DEBUG_POSTFIX d)
-set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
-
file(GLOB SOURCES jbig2*.c)
list(REMOVE_ITEM SOURCES
"${CMAKE_CURRENT_SOURCE_DIR}/jbig2dec.c"
diff --git a/ports/jbig2dec/CONTROL b/ports/jbig2dec/CONTROL
index 4b6a2e2f0..5045673b3 100644
--- a/ports/jbig2dec/CONTROL
+++ b/ports/jbig2dec/CONTROL
@@ -1,4 +1,3 @@
Source: jbig2dec
-Version: 0.16
+Version: 0.16-1
Description: a decoder library and example utility implementing the JBIG2 bi-level image compression spec. Also known as ITU T.88 and ISO IEC 14492, and included by reference in Adobe's PDF version 1.4 and later.
-
diff --git a/ports/jbig2dec/portfile.cmake b/ports/jbig2dec/portfile.cmake
index c54bf69f1..a9d767937 100644
--- a/ports/jbig2dec/portfile.cmake
+++ b/ports/jbig2dec/portfile.cmake
@@ -1,9 +1,11 @@
include(vcpkg_common_functions)
+vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO ArtifexSoftware/jbig2dec
- REF 0.16
+ REF 0.16
SHA512 a8aa1b1f14466104eed412c38604b2450d1acc1c73faaaf81d5211ac7f4d636bf8d177285f6550f1f5211b31d14f1c14d83571e3e899700ebfc9af00912ed874
HEAD_REF master
)
diff --git a/ports/json-c/CONTROL b/ports/json-c/CONTROL
new file mode 100644
index 000000000..ebd0ed02d
--- /dev/null
+++ b/ports/json-c/CONTROL
@@ -0,0 +1,3 @@
+Source: json-c
+Version: 2019-05-31
+Description: A JSON implementation in C
diff --git a/ports/json-c/portfile.cmake b/ports/json-c/portfile.cmake
new file mode 100644
index 000000000..75ad6da61
--- /dev/null
+++ b/ports/json-c/portfile.cmake
@@ -0,0 +1,28 @@
+include(vcpkg_common_functions)
+
+# https://github.com/json-c/json-c/issues/488
+vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO json-c/json-c
+ REF 2b1903cc6941fb87db7526680829486f27fb1073
+ SHA512 0ee71a0c2f75f5114b65f06ef921ac7a66173d66592fa880336896de64f3a325b251028b35396184cd7c3ffd15db3826bed83200fa80f4d11607fdf758138bf9
+ HEAD_REF master
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+)
+
+vcpkg_install_cmake()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT})
+
+vcpkg_copy_pdbs()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+# Handle copyright
+configure_file(${SOURCE_PATH}/COPYING ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY)
diff --git a/ports/jsonnet/portfile.cmake b/ports/jsonnet/portfile.cmake
index d1f9ca153..5472445da 100644
--- a/ports/jsonnet/portfile.cmake
+++ b/ports/jsonnet/portfile.cmake
@@ -14,7 +14,7 @@ vcpkg_from_github(
001-enable-msvc.patch
)
-if (WIN32)
+if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
vcpkg_execute_required_process(
COMMAND Powershell -Command "((Get-Content -Encoding Byte \"${SOURCE_PATH}/stdlib/std.jsonnet\") -join ',') + ',0' > \"${SOURCE_PATH}/core/std.jsonnet.h\""
WORKING_DIRECTORY "${SOURCE_PATH}"
diff --git a/ports/libcroco/CMakeLists.txt b/ports/libcroco/CMakeLists.txt
index cb29f04cb..ff11792ff 100644
--- a/ports/libcroco/CMakeLists.txt
+++ b/ports/libcroco/CMakeLists.txt
@@ -1,11 +1,12 @@
cmake_minimum_required(VERSION 3.11)
project(libcroco C)
+find_package(unofficial-iconv REQUIRED)
+find_package(unofficial-gettext CONFIG REQUIRED)
find_package(unofficial-glib CONFIG REQUIRED)
find_package(LibXml2 REQUIRED)
if(NOT WIN32)
find_package(Threads REQUIRED)
- find_package(unofficial-iconv REQUIRED)
endif()
find_path(GLIB_INCLUDE_DIR glib.h)
@@ -67,10 +68,10 @@ file(GLOB SOURCES
set(CMAKE_DEBUG_POSTFIX "d")
-add_library(libcroco ${SOURCES})
+add_library(croco-0.6 ${SOURCES})
-target_include_directories(libcroco PRIVATE ${GLIB_INCLUDE_DIR} ${LIBXML2_INCLUDE_DIR})
-target_link_libraries(libcroco PRIVATE
+target_include_directories(croco-0.6 PRIVATE ${GLIB_INCLUDE_DIR} ${LIBXML2_INCLUDE_DIR})
+target_link_libraries(croco-0.6 PRIVATE
unofficial::glib::gio
unofficial::glib::glib
unofficial::glib::gmodule
@@ -78,7 +79,7 @@ target_link_libraries(libcroco PRIVATE
${LIBXML2_LIBRARIES}
)
-install(TARGETS libcroco
+install(TARGETS croco-0.6
EXPORT libcroco-targets
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
@@ -126,11 +127,12 @@ install(
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/unofficial-libcroco-config.cmake "
include(CMakeFindDependencyMacro)
+find_dependency(unofficial-gettext)
+find_dependency(unofficial-iconv CONFIG)
find_dependency(unofficial-glib CONFIG)
find_dependency(LibXml2)
if(NOT WIN32)
find_dependency(Threads)
- find_dependency(unofficial-iconv)
endif()
include(\${CMAKE_CURRENT_LIST_DIR}/unofficial-libcroco-targets.cmake)
")
diff --git a/ports/libcroco/CONTROL b/ports/libcroco/CONTROL
index a0d05daaf..8badbeccc 100644
--- a/ports/libcroco/CONTROL
+++ b/ports/libcroco/CONTROL
@@ -1,4 +1,4 @@
Source: libcroco
-Version: 0.6.13
+Version: 0.6.13-1
Description: A standalone css2 parsing and manipulation library
Build-Depends: glib, libxml2
diff --git a/ports/libcroco/portfile.cmake b/ports/libcroco/portfile.cmake
index e8da1e612..b5c332306 100644
--- a/ports/libcroco/portfile.cmake
+++ b/ports/libcroco/portfile.cmake
@@ -24,11 +24,13 @@ vcpkg_configure_cmake(
vcpkg_install_cmake()
+vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-libcroco TARGET_PATH share/unofficial-libcroco)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
# Handle copyright
file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libcroco RENAME copyright)
+vcpkg_copy_pdbs()
+
# Post-build test for cmake libraries
- vcpkg_test_cmake(PACKAGE_NAME libcroco)
+vcpkg_test_cmake(PACKAGE_NAME libcroco)
diff --git a/ports/liblemon/CONTROL b/ports/liblemon/CONTROL
index c21960b72..87234c68a 100644
--- a/ports/liblemon/CONTROL
+++ b/ports/liblemon/CONTROL
@@ -1,3 +1,3 @@
-Source: liblemon
-Version: 1.3.1-4
-Description: Library for Efficient Modeling and Optimization in Networks
+Source: liblemon
+Version: 1.3.1-5
+Description: Library for Efficient Modeling and Optimization in Networks
diff --git a/ports/liblemon/portfile.cmake b/ports/liblemon/portfile.cmake
index b41322a87..1fe64d3fe 100644
--- a/ports/liblemon/portfile.cmake
+++ b/ports/liblemon/portfile.cmake
@@ -38,6 +38,7 @@ file(COPY ${EXE} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/liblemon/)
vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/liblemon)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
# Handle copyright
diff --git a/ports/liblsl/CONTROL b/ports/liblsl/CONTROL
index 0d2d95b1d..995b9fbd6 100644
--- a/ports/liblsl/CONTROL
+++ b/ports/liblsl/CONTROL
@@ -1,3 +1,3 @@
Source: liblsl
-Version: 1.13.0-b4
+Version: 1.13.0-b6
Description: C++ lsl library for multi-modal time-synched data transmission over the local network
diff --git a/ports/liblsl/fix-runtime-destination.patch b/ports/liblsl/fix-runtime-destination.patch
deleted file mode 100644
index a2bdbfbbe..000000000
--- a/ports/liblsl/fix-runtime-destination.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 5832a0e6..497dacd1 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -170,7 +170,7 @@ endif()
- install(TARGETS lsl
- COMPONENT liblsl
- EXPORT "${PROJECT_NAME}Config"
-- RUNTIME DESTINATION ${LSLPREFIX}lib
-+ RUNTIME DESTINATION ${LSLPREFIX}bin
- LIBRARY DESTINATION ${LSLPREFIX}lib
- INCLUDES DESTINATION ${LSLPREFIX}include
- ARCHIVE DESTINATION ${LSLPREFIX}lib
diff --git a/ports/liblsl/hardcode-version.patch b/ports/liblsl/hardcode-version.patch
deleted file mode 100644
index e7343271e..000000000
--- a/ports/liblsl/hardcode-version.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 73e4a7a0..0f8e19f4 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -106,26 +106,6 @@ if(LSL_NO_FANCY_LIBNAME)
- set(CMAKE_DEBUG_POSTFIX "")
- endif()
-
--# try to find out which revision is currently checked out
--find_package(Git)
--if(GIT_FOUND)
-- execute_process(
-- COMMAND ${GIT_EXECUTABLE} describe --tags HEAD
-- WORKING_DIRECTORY "${CMAKE_CURRENT_LIST_DIR}"
-- OUTPUT_VARIABLE lslgitrevision
-- OUTPUT_STRIP_TRAILING_WHITESPACE
-- )
-- execute_process(
-- COMMAND ${GIT_EXECUTABLE} rev-parse --symbolic-full-name --abbrev-ref @
-- WORKING_DIRECTORY "${CMAKE_CURRENT_LIST_DIR}"
-- OUTPUT_VARIABLE lslgitbranch
-- OUTPUT_STRIP_TRAILING_WHITESPACE
-- )
-- message(STATUS "Git version information: ${lslgitbranch}/${lslgitrevision}")
--else()
-- set(lslgitrevision "unknown")
-- set(lslgitbranch "unknown")
--endif()
- set(LSL_VERSION_INFO "\"git:${lslgitrevision}/branch:${lslgitbranch}/build:${CMAKE_BUILD_TYPE}/compiler:${CMAKE_CXX_COMPILER_ID}-${CMAKE_CXX_COMPILER_VERSION}/boost:\" BOOST_LIB_VERSION")
- set_source_files_properties("src/lsl_freefuncs_c.cpp" PROPERTIES COMPILE_DEFINITIONS LSL_LIBRARY_INFO_STR=${LSL_VERSION_INFO})
-
diff --git a/ports/liblsl/portfile.cmake b/ports/liblsl/portfile.cmake
index d8670d7e3..1b6890a14 100644
--- a/ports/liblsl/portfile.cmake
+++ b/ports/liblsl/portfile.cmake
@@ -5,10 +5,9 @@ vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO sccn/liblsl
- REF v1.13.0-b4 # NOTE: when updating version, also change it in the parameter to vcpkg_configure_cmake
- SHA512 19bc587afcff315385e7bab1f88cf4edd315acfda61a630b23ffe4c59bc0f5aa570f0a979071f2b60009bb4d4b8ce08c98c414dc5b88042556b2501f4b8dcb79
+ REF 1.13.0-b6 # NOTE: when updating version, also change it in the parameter to vcpkg_configure_cmake
+ SHA512 fb98cdd73de5f13e97f639ba3f2f836d46ce28cdcb2246584728f296eb647e2c9c069534470a603b10d7dc34ab8978bf246e2187428ab231a925feb0b7024c89
HEAD_REF master
- PATCHES hardcode-version.patch fix-runtime-destination.patch
)
vcpkg_configure_cmake(
@@ -18,7 +17,7 @@ vcpkg_configure_cmake(
-DLSL_BUILD_STATIC=OFF
-DLSL_UNIXFOLDERS=ON
-DLSL_NO_FANCY_LIBNAME=ON
- -Dlslgitrevision="v1.13.0-b4"
+ -Dlslgitrevision="1.13.0-b6"
-Dlslgitbranch="master"
)
diff --git a/ports/libmupdf/CONTROL b/ports/libmupdf/CONTROL
index 12060296d..ea253427f 100644
--- a/ports/libmupdf/CONTROL
+++ b/ports/libmupdf/CONTROL
@@ -1,4 +1,4 @@
-Source: libmupdf
-Version: 1.12.0-2
-Build-Depends: freetype, libjpeg-turbo, harfbuzz, zlib, curl, glfw3, openjpeg, jbig2dec
-Description: a lightweight PDF, XPS, and E-book library
+Source: libmupdf
+Version: 1.12.0-2
+Build-Depends: freetype, libjpeg-turbo, harfbuzz, zlib, curl, glfw3, openjpeg, jbig2dec
+Description: a lightweight PDF, XPS, and E-book library
diff --git a/ports/libmupdf/portfile.cmake b/ports/libmupdf/portfile.cmake
index b2a56c808..0569b5505 100644
--- a/ports/libmupdf/portfile.cmake
+++ b/ports/libmupdf/portfile.cmake
@@ -9,7 +9,8 @@ vcpkg_from_github(
SHA512 893a1958e34355acf73624e9c47f4a97adf13d5fe33604ac384df9ac22a56ef7c18e02143eaffc3c2a08f460e4c71fee00c094b6d6696f8446977bb18f65e3da
HEAD_REF master
PATCHES
- "${CURRENT_PORT_DIR}/Fix-error-C2169.patch"
+ Fix-error-C2169.patch
+ remove_opj_defines.patch
)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
diff --git a/ports/libmupdf/remove_opj_defines.patch b/ports/libmupdf/remove_opj_defines.patch
new file mode 100644
index 000000000..ec591d367
--- /dev/null
+++ b/ports/libmupdf/remove_opj_defines.patch
@@ -0,0 +1,16 @@
+diff --git a/source/fitz/load-jpx.c b/source/fitz/load-jpx.c
+index 65699ba..ea84778 100644
+--- a/source/fitz/load-jpx.c
++++ b/source/fitz/load-jpx.c
+@@ -445,11 +445,6 @@ fz_load_jpx_info(fz_context *ctx, const unsigned char *data, size_t size, int *w
+
+ #else /* HAVE_LURATECH */
+
+-#define OPJ_STATIC
+-#define OPJ_HAVE_INTTYPES_H
+-#if !defined(_MSC_VER) || _MSC_VER >= 1600
+-#define OPJ_HAVE_STDINT_H
+-#endif
+ #define USE_JPIP
+
+ #include <openjpeg.h>
diff --git a/ports/libopusenc/CMakeLists.txt b/ports/libopusenc/CMakeLists.txt
index 10f425821..4ab1a4e9d 100644
--- a/ports/libopusenc/CMakeLists.txt
+++ b/ports/libopusenc/CMakeLists.txt
@@ -11,7 +11,8 @@ add_library(opusenc
src/opus_header.c
src/opusenc.c
src/picture.c
- src/resample.c)
+ src/resample.c
+ src/unicode_support.c)
get_filename_component(FOLDER ${CMAKE_CURRENT_SOURCE_DIR} NAME)
string(REPLACE "libopusenc-" "" VERSION ${FOLDER})
diff --git a/ports/libopusenc/CONTROL b/ports/libopusenc/CONTROL
index 93b2a7544..9ca75cde2 100644
--- a/ports/libopusenc/CONTROL
+++ b/ports/libopusenc/CONTROL
@@ -1,4 +1,4 @@
Source: libopusenc
-Version: 0.1-1
+Version: 0.2.1
Description: Library for encoding .opus audio files and live streams.
Build-Depends: opus
diff --git a/ports/libopusenc/portfile.cmake b/ports/libopusenc/portfile.cmake
index d41880e01..f3c226aea 100644
--- a/ports/libopusenc/portfile.cmake
+++ b/ports/libopusenc/portfile.cmake
@@ -6,8 +6,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO xiph/libopusenc
- REF v0.1
- SHA512 6abc5cd9e87ad41409f844d350cf43ee0067ad05a768aa9ef1d726a7e98ef9b006cbc42a6601d05a51dba6386a1361751a9a367a902c52eff8b4e56c3bf8a04b
+ REF v0.2.1
+ SHA512 9681421a967b93770796dd3503c00e1418de86438d2bfe77011dc68f6db5d666508d33c0df7308db3b7ea18f5e1b14a3115fd63837987e16347ec801c3771d26
HEAD_REF master)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
diff --git a/ports/libraw/CONTROL b/ports/libraw/CONTROL
index 0e4eda530..6b27ce223 100644
--- a/ports/libraw/CONTROL
+++ b/ports/libraw/CONTROL
@@ -1,4 +1,4 @@
Source: libraw
-Version: 0.19.2
+Version: 201903
Build-Depends: lcms, jasper
Description: raw image decoder library
diff --git a/ports/libraw/portfile.cmake b/ports/libraw/portfile.cmake
index ccb5b1ccf..d834b80e9 100644
--- a/ports/libraw/portfile.cmake
+++ b/ports/libraw/portfile.cmake
@@ -1,10 +1,17 @@
include(vcpkg_common_functions)
+# Update to latest LibRaw-201903 snapshot at d4f05dd1b9b2d44c8f7e82043cbad3c724db2416
+# LibRaw publishes:
+# - snapshots every 5-7 months (in master branch)
+# - releases (0.18, 0.19, etc.) every 1-1.5 years.
+# - security hotfixes for releases (0.19.1, 0.19.2, etc.)
+# Hence, from user point of view, it is practical to refer to the latest snapshot,
+# instead of the latest release.
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO LibRaw/LibRaw
- REF 0.19.2
- SHA512 78808a0d5f8a2b0f8e52699783d677c645abfdbcf824ea118542ae047767512b7a3d9a3ccfcb786bbfae6ce788df9b2c58afb89dd78e78e755061b742b50bea6
+ REF d4f05dd1b9b2d44c8f7e82043cbad3c724db2416
+ SHA512 5794521f535163afd7815ad005295301c5e0e2f8b2f34ef0a911d9dd1572c1f456b292777548203f9767957a55782b5bc9041c033190d25d1e9b4240d7df32b9
HEAD_REF master
)
diff --git a/ports/libvpx/CONTROL b/ports/libvpx/CONTROL
index 50d23a717..fabd02095 100644
--- a/ports/libvpx/CONTROL
+++ b/ports/libvpx/CONTROL
@@ -1,3 +1,3 @@
Source: libvpx
-Version: 1.7.0-2
+Version: 1.7.0-3
Description: The reference software implementation for the video coding formats VP8 and VP9.
diff --git a/ports/libvpx/portfile.cmake b/ports/libvpx/portfile.cmake
index 009a0161d..1290d415a 100644
--- a/ports/libvpx/portfile.cmake
+++ b/ports/libvpx/portfile.cmake
@@ -78,9 +78,13 @@ vcpkg_build_msbuild(
if(VCPKG_CRT_LINKAGE STREQUAL dynamic)
file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/${LIBVPX_ARCH_DIR}/Release/vpxmd.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/lib")
file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/${LIBVPX_ARCH_DIR}/Debug/vpxmdd.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib")
+ file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/${LIBVPX_ARCH_DIR}/Release/vpx/vpx.pdb" DESTINATION "${CURRENT_PACKAGES_DIR}/lib" RENAME "vpxmd.pdb")
+ file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/${LIBVPX_ARCH_DIR}/Debug/vpx/vpx.pdb" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib" RENAME "vpxmdd.pdb")
else()
file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/${LIBVPX_ARCH_DIR}/Release/vpxmt.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/lib")
file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/${LIBVPX_ARCH_DIR}/Debug/vpxmtd.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib")
+ file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/${LIBVPX_ARCH_DIR}/Release/vpx/vpx.pdb" DESTINATION "${CURRENT_PACKAGES_DIR}/lib" RENAME "vpxmt.pdb")
+ file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/${LIBVPX_ARCH_DIR}/Debug/vpx/vpx.pdb" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib" RENAME "vpxmtd.pdb")
endif()
if(VCPKG_TARGET_ARCHITECTURE STREQUAL arm)
@@ -96,6 +100,5 @@ file(
RENAME
"vpx")
-
file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libvpx)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/libvpx/LICENSE ${CURRENT_PACKAGES_DIR}/share/libvpx/copyright)
diff --git a/ports/lz4/CMakeLists.txt b/ports/lz4/CMakeLists.txt
index 8f94cbeb6..b36a3574e 100644
--- a/ports/lz4/CMakeLists.txt
+++ b/ports/lz4/CMakeLists.txt
@@ -36,6 +36,7 @@ install(TARGETS lz4
)
FILE(GLOB lz4h "${CMAKE_CURRENT_LIST_DIR}/lib/*.h")
+list(REMOVE_ITEM lz4h "${CMAKE_CURRENT_LIST_DIR}/lib/xxhash.h")
INSTALL(FILES ${lz4h} DESTINATION "${INSTALL_INCLUDE_DIR}")
install(EXPORT lz4Config
diff --git a/ports/lz4/CONTROL b/ports/lz4/CONTROL
index cdfb882ae..2e69cbd25 100644
--- a/ports/lz4/CONTROL
+++ b/ports/lz4/CONTROL
@@ -1,3 +1,4 @@
Source: lz4
-Version: 1.9.1-1
+Version: 1.9.1-2
Description: Lossless compression algorithm, providing compression speed at 400 MB/s per core.
+Build-Depends: xxhash \ No newline at end of file
diff --git a/ports/mlpack/CONTROL b/ports/mlpack/CONTROL
index d57aa4ca3..75cc21eb4 100644
--- a/ports/mlpack/CONTROL
+++ b/ports/mlpack/CONTROL
@@ -1,7 +1,7 @@
-Source: mlpack
-Version: 3.1.0-1
-Description: mlpack is a fast, flexible machine learning library, written in C++, that aims to provide fast, extensible implementations of cutting-edge machine learning algorithms.
-Build-Depends: openblas, clapack, boost, armadillo
-
-Feature: tools
-Description: Build command-line executables and tests.
+Source: mlpack
+Version: 3.1.0-1
+Description: mlpack is a fast, flexible machine learning library, written in C++, that aims to provide fast, extensible implementations of cutting-edge machine learning algorithms.
+Build-Depends: openblas (!osx), clapack (!osx), boost, armadillo, ensmallen
+
+Feature: tools
+Description: Build command-line executables and tests.
diff --git a/ports/mlpack/cmakelists.patch b/ports/mlpack/cmakelists.patch
index 6c39a4293..a4ef8f119 100644
--- a/ports/mlpack/cmakelists.patch
+++ b/ports/mlpack/cmakelists.patch
@@ -1,42 +1,54 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -284,7 +284,7 @@
- # script Armadillo uses to find these.
- if (WIN32)
- find_library(LAPACK_LIBRARY
-- NAMES lapack liblapack lapack_win32_MT lapack_win32
-+ NAMES clapack lapack liblapack lapack_win32_MT lapack_win32
- PATHS "C:/Program Files/Armadillo"
- PATH_SUFFIXES "examples/lib_win32/")
-
-@@ -293,7 +293,7 @@
- endif ()
-
- find_library(BLAS_LIBRARY
-- NAMES blas libblas blas_win32_MT blas_win32
-+ NAMES openblas blas libblas blas_win32_MT blas_win32
- PATHS "C:/Program Files/Armadillo"
- PATH_SUFFIXES "examples/lib_win32/")
-
-@@ -392,19 +392,11 @@
- REQUIRED
- )
-
--link_directories(${Boost_LIBRARY_DIRS})
--
--# In Visual Studio, automatic linking is performed, so we don't need to worry
--# about it. Clear the list of libraries to link against and let Visual Studio
--# handle it.
--if (MSVC)
-- link_directories(${Boost_LIBRARY_DIRS})
-- set(Boost_LIBRARIES "")
--endif ()
-+link_directories(${Boost_LIBRARIES})
-
- set(MLPACK_INCLUDE_DIRS ${MLPACK_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS})
- set(MLPACK_LIBRARIES ${MLPACK_LIBRARIES} ${Boost_LIBRARIES})
--set(MLPACK_LIBRARY_DIRS ${MLPACK_LIBRARY_DIRS} ${Boost_LIBRARY_DIRS})
-+set(MLPACK_LIBRARY_DIRS ${MLPACK_LIBRARY_DIRS} ${Boost_LIBRARIES})
-
- # For Boost testing framework (will have no effect on non-testing executables).
- # This specifies to Boost that we are dynamically linking to the Boost test
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 26dfd6e..5e287d8 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -283,25 +283,8 @@ endif()
+ # and find LAPACK and BLAS ourselves, using a slightly modified variant of the
+ # script Armadillo uses to find these.
+ if (WIN32)
+- find_library(LAPACK_LIBRARY
+- NAMES lapack liblapack lapack_win32_MT lapack_win32
+- PATHS "C:/Program Files/Armadillo"
+- PATH_SUFFIXES "examples/lib_win32/")
+-
+- if (NOT LAPACK_LIBRARY)
+- message(FATAL_ERROR "Cannot find LAPACK library (.lib)!")
+- endif ()
+-
+- find_library(BLAS_LIBRARY
+- NAMES blas libblas blas_win32_MT blas_win32
+- PATHS "C:/Program Files/Armadillo"
+- PATH_SUFFIXES "examples/lib_win32/")
+-
+- if (NOT BLAS_LIBRARY)
+- message(FATAL_ERROR "Cannot find BLAS library (.lib)!")
+- endif ()
+-
+- # Piggyback LAPACK and BLAS linking into Armadillo link.
++ find_package(LAPACK)
++ find_package(BLAS)
+ set(ARMADILLO_LIBRARIES
+ ${ARMADILLO_LIBRARIES} ${BLAS_LIBRARY} ${LAPACK_LIBRARY})
+ endif ()
+@@ -392,19 +375,11 @@ find_package(Boost 1.49
+ REQUIRED
+ )
+
+-link_directories(${Boost_LIBRARY_DIRS})
+-
+-# In Visual Studio, automatic linking is performed, so we don't need to worry
+-# about it. Clear the list of libraries to link against and let Visual Studio
+-# handle it.
+-if (MSVC)
+- link_directories(${Boost_LIBRARY_DIRS})
+- set(Boost_LIBRARIES "")
+-endif ()
++link_directories(${Boost_LIBRARIES})
+
+ set(MLPACK_INCLUDE_DIRS ${MLPACK_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS})
+ set(MLPACK_LIBRARIES ${MLPACK_LIBRARIES} ${Boost_LIBRARIES})
+-set(MLPACK_LIBRARY_DIRS ${MLPACK_LIBRARY_DIRS} ${Boost_LIBRARY_DIRS})
++set(MLPACK_LIBRARY_DIRS ${MLPACK_LIBRARY_DIRS} ${Boost_LIBRARIES})
+
+ # For Boost testing framework (will have no effect on non-testing executables).
+ # This specifies to Boost that we are dynamically linking to the Boost test
diff --git a/ports/mlpack/portfile.cmake b/ports/mlpack/portfile.cmake
index c7bf89bc1..20cbc882e 100644
--- a/ports/mlpack/portfile.cmake
+++ b/ports/mlpack/portfile.cmake
@@ -6,11 +6,20 @@ vcpkg_from_github(
REF mlpack-3.1.0
SHA512 dc305a9a2f7232d3957206a346d0ac97ba13b933d5dbef45329002b8380ecc0982621c0b97f6c5ee82d0a26ad53b1cdd7a9b991fb749efc8546394988ac40a5b
HEAD_REF master
- PATCHES
- cmakelists.patch
+ PATCHES
+ cmakelists.patch
)
-string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" MLPACK_SHARED_LIBS)
+file(REMOVE ${SOURCE_PATH}/CMake/ARMA_FindACML.cmake)
+file(REMOVE ${SOURCE_PATH}/CMake/ARMA_FindACMLMP.cmake)
+file(REMOVE ${SOURCE_PATH}/CMake/ARMA_FindARPACK.cmake)
+file(REMOVE ${SOURCE_PATH}/CMake/ARMA_FindBLAS.cmake)
+file(REMOVE ${SOURCE_PATH}/CMake/ARMA_FindCBLAS.cmake)
+file(REMOVE ${SOURCE_PATH}/CMake/ARMA_FindCLAPACK.cmake)
+file(REMOVE ${SOURCE_PATH}/CMake/ARMA_FindLAPACK.cmake)
+file(REMOVE ${SOURCE_PATH}/CMake/ARMA_FindMKL.cmake)
+file(REMOVE ${SOURCE_PATH}/CMake/ARMA_FindOpenBLAS.cmake)
+file(REMOVE ${SOURCE_PATH}/CMake/FindArmadillo.cmake)
set(BUILD_TOOLS OFF)
if("tools" IN_LIST FEATURES)
@@ -20,10 +29,9 @@ endif()
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
- OPTIONS
- -DBUILD_TESTS=${BUILD_TOOLS}
- -DBUILD_CLI_EXECUTABLES=${BUILD_TOOLS}
- -DBUILD_SHARED_LIBS=${MLPACK_SHARED_LIBS}
+ OPTIONS
+ -DBUILD_TESTS=${BUILD_TOOLS}
+ -DBUILD_CLI_EXECUTABLES=${BUILD_TOOLS}
)
vcpkg_install_cmake()
vcpkg_copy_pdbs()
@@ -31,12 +39,12 @@ vcpkg_copy_pdbs()
file(INSTALL ${SOURCE_PATH}/COPYRIGHT.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/mlpack RENAME copyright)
if(BUILD_TOOLS)
- file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools)
- file(GLOB MLPACK_TOOLS ${CURRENT_PACKAGES_DIR}/bin/*.exe)
- file(COPY ${MLPACK_TOOLS} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT})
- file(REMOVE ${MLPACK_TOOLS})
- file(GLOB MLPACK_TOOLS_DEBUG ${CURRENT_PACKAGES_DIR}/debug/bin/*.exe)
- file(REMOVE ${MLPACK_TOOLS_DEBUG})
+ file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools)
+ file(GLOB MLPACK_TOOLS ${CURRENT_PACKAGES_DIR}/bin/*.exe)
+ file(COPY ${MLPACK_TOOLS} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT})
+ file(REMOVE ${MLPACK_TOOLS})
+ file(GLOB MLPACK_TOOLS_DEBUG ${CURRENT_PACKAGES_DIR}/debug/bin/*.exe)
+ file(REMOVE ${MLPACK_TOOLS_DEBUG})
endif()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
diff --git a/ports/moos-core/portfile.cmake b/ports/moos-core/portfile.cmake
index 196b3e648..646fde9e2 100644
--- a/ports/moos-core/portfile.cmake
+++ b/ports/moos-core/portfile.cmake
@@ -28,7 +28,7 @@ vcpkg_install_cmake()
vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/MOOS")
set(MOOS_EXEC_SUFFIX "")
-if (WIN32)
+if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
set(MOOS_EXEC_SUFFIX ".exe")
endif()
diff --git a/ports/nrf-ble-driver/CONTROL b/ports/nrf-ble-driver/CONTROL
index 0386cede5..333907e8b 100644
--- a/ports/nrf-ble-driver/CONTROL
+++ b/ports/nrf-ble-driver/CONTROL
@@ -1,4 +1,4 @@
Source: nrf-ble-driver
-Version: 4.1.0
+Version: 4.1.1
Description: BLE driver is a library for Bluetooth Low Energy communication using Nordic Semiconductor development kits.
Build-Depends: asio, catch2 \ No newline at end of file
diff --git a/ports/nrf-ble-driver/portfile.cmake b/ports/nrf-ble-driver/portfile.cmake
index 8a642b144..c451ba4d1 100644
--- a/ports/nrf-ble-driver/portfile.cmake
+++ b/ports/nrf-ble-driver/portfile.cmake
@@ -1,18 +1,18 @@
include(vcpkg_common_functions)
-if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux")
+if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux")
message(
- "nrf-ble-driver currently requires the following libraries from the system package manager:
- libudev-dev
- These can be installed on Ubuntu systems via sudo apt install libudev-dev"
+"${PORT} currently requires the following libraries from the system package manager:
+ libudev-dev
+These can be installed on Ubuntu systems via sudo apt install libudev-dev"
)
endif()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO NordicSemiconductor/pc-ble-driver
- REF v4.1.0
- SHA512 f8a995826caf4022f68b149d0f3619d1d656e3960a927eda29c634bf06cad8341c95a5b51ec7e50b28814f5332a4800faf88eb5b4e8ebec153f9cad05b3a703e
+ REF v4.1.1
+ SHA512 bb1853993b3f37836a8f7402e5c0452e8423c3a1c6e651cf353025022a32e16c72f06e2266e283c72fa7ddb0da7cf8cecb875a7a7762565599f2908c4858ce8e
HEAD_REF master
PATCHES
001-arm64-support.patch
diff --git a/ports/observer-ptr-lite/CONTROL b/ports/observer-ptr-lite/CONTROL
new file mode 100644
index 000000000..547e64289
--- /dev/null
+++ b/ports/observer-ptr-lite/CONTROL
@@ -0,0 +1,3 @@
+Source: observer-ptr-lite
+Version: 0.4.0
+Description: A C++17-like observer_ptr for C++98 and later in a single-file header-only library
diff --git a/ports/observer-ptr-lite/portfile.cmake b/ports/observer-ptr-lite/portfile.cmake
new file mode 100644
index 000000000..4fea768f5
--- /dev/null
+++ b/ports/observer-ptr-lite/portfile.cmake
@@ -0,0 +1,31 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO martinmoene/observer-ptr-lite
+ REF v0.4.0
+ SHA512 4e53d8e0ce595604880bda423440071e7c207dd63e7b6bfa09cc7a870a010f09c51c31e640142c565ce261c4911acab13c6e9f5970853ad8fc2da3e4034ab7d7
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DNSOP_OPT_BUILD_TESTS=OFF
+ -DNSOP_OPT_BUILD_EXAMPLES=OFF
+)
+
+vcpkg_install_cmake()
+
+vcpkg_fixup_cmake_targets(
+ CONFIG_PATH lib/cmake/${PORT}
+)
+
+file(REMOVE_RECURSE
+ ${CURRENT_PACKAGES_DIR}/debug
+ ${CURRENT_PACKAGES_DIR}/lib
+)
+
+file(INSTALL
+ ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright
+)
diff --git a/ports/octomap/portfile.cmake b/ports/octomap/portfile.cmake
index 113f6fc04..d260d4409 100644
--- a/ports/octomap/portfile.cmake
+++ b/ports/octomap/portfile.cmake
@@ -26,7 +26,7 @@ vcpkg_install_cmake()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/octomap)
-if(WIN32)
+if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
file(RENAME ${CURRENT_PACKAGES_DIR}/bin/binvox2bt.exe ${CURRENT_PACKAGES_DIR}/tools/octomap/binvox2bt.exe)
file(RENAME ${CURRENT_PACKAGES_DIR}/bin/bt2vrml.exe ${CURRENT_PACKAGES_DIR}/tools/octomap/bt2vrml.exe)
file(RENAME ${CURRENT_PACKAGES_DIR}/bin/compare_octrees.exe ${CURRENT_PACKAGES_DIR}/tools/octomap/compare_octrees.exe)
diff --git a/ports/openblas/portfile.cmake b/ports/openblas/portfile.cmake
index cccb5e3b1..1bd7b6157 100644
--- a/ports/openblas/portfile.cmake
+++ b/ports/openblas/portfile.cmake
@@ -1,15 +1,3 @@
-# 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 = <C:\path\to\current\vcpkg>
-# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm)
-#
-
include(vcpkg_common_functions)
if(NOT VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
@@ -94,6 +82,8 @@ endif()
vcpkg_install_cmake()
+vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/OpenBLAS TARGET_PATH share/openblas)
+#maybe we need also to write a wrapper inside share/blas to search implicitly for openblas, whenever we feel it's ready for its own -config.cmake file
# 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
diff --git a/ports/openexr/fix_clang_not_setting_modern_cplusplus.patch b/ports/openexr/fix_clang_not_setting_modern_cplusplus.patch
new file mode 100644
index 000000000..05e86b50c
--- /dev/null
+++ b/ports/openexr/fix_clang_not_setting_modern_cplusplus.patch
@@ -0,0 +1,13 @@
+diff --git a/IlmBase/CMakeLists.txt b/IlmBase/CMakeLists.txt
+index e13c768..95942c8 100644
+--- a/IlmBase/CMakeLists.txt
++++ b/IlmBase/CMakeLists.txt
+@@ -110,7 +110,7 @@ ENDIF ()
+
+ IF (OPENEXR_FORCE_CXX03)
+ FILE ( APPEND ${ILMBASE_TMP_CONFIG} "#define ILMBASE_FORCE_CXX03 1\n" )
+-ELSEIF (NOT WIN32)
++ELSEIF (NOT WIN32 AND NOT APPLE)
+ # really only care about c++11 right now for the threading bits, but this can be changed to 14
+ # when needed...
+ # Note that the __cplusplus check is not valid under MSVC
diff --git a/ports/openexr/portfile.cmake b/ports/openexr/portfile.cmake
index 256a133b4..e3bfc9592 100644
--- a/ports/openexr/portfile.cmake
+++ b/ports/openexr/portfile.cmake
@@ -13,7 +13,9 @@ vcpkg_from_github(
REF v${OPENEXR_VERSION}
SHA512 ${OPENEXR_HASH}
HEAD_REF master
- PATCHES "fix_install_ilmimf.patch"
+ PATCHES
+ fix_clang_not_setting_modern_cplusplus.patch
+ fix_install_ilmimf.patch
)
vcpkg_configure_cmake(SOURCE_PATH ${SOURCE_PATH}
@@ -32,7 +34,7 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
# NOTE: Only use ".exe" extension on Windows executables.
# Is there a cleaner way to do this?
-if(WIN32)
+if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
set(EXECUTABLE_SUFFIX ".exe")
else()
set(EXECUTABLE_SUFFIX "")
diff --git a/ports/openimageio/portfile.cmake b/ports/openimageio/portfile.cmake
index 93b04e627..790273975 100644
--- a/ports/openimageio/portfile.cmake
+++ b/ports/openimageio/portfile.cmake
@@ -7,10 +7,9 @@ vcpkg_from_github(
SHA512 a919341df7d9625a869cad266d8434881b63a47f3da8daccf4bbab6675d45bd121ff780dd911a7447450fee44cd7bdd42d73aec59a99b667d6d98e79682db2c7
HEAD_REF master
PATCHES
- # fix_libraw: replace 'LibRaw_r_LIBRARIES' occurences by 'LibRaw_LIBRARIES'
- # since libraw port installs 'raw_r' library as 'raw'
fix_libraw.patch
use-webp.patch
+ remove_wrong_dependency.patch
)
file(REMOVE_RECURSE "${SOURCE_PATH}/ext")
diff --git a/ports/openimageio/remove_wrong_dependency.patch b/ports/openimageio/remove_wrong_dependency.patch
new file mode 100644
index 000000000..dabf47b1e
--- /dev/null
+++ b/ports/openimageio/remove_wrong_dependency.patch
@@ -0,0 +1,23 @@
+diff --git a/src/libOpenImageIO/CMakeLists.txt b/src/libOpenImageIO/CMakeLists.txt
+index c528adc..bc133b6 100644
+--- a/src/libOpenImageIO/CMakeLists.txt
++++ b/src/libOpenImageIO/CMakeLists.txt
+@@ -162,9 +162,6 @@ if (WIN32)
+ target_link_libraries (OpenImageIO psapi.lib)
+ endif ()
+
+-if (VISIBILITY_MAP_FILE)
+- add_dependencies (OpenImageIO "${VISIBILITY_MAP_FILE}")
+-endif ()
+
+ if (USE_EXTERNAL_PUGIXML)
+ target_link_libraries (OpenImageIO ${PUGIXML_LIBRARIES})
+@@ -230,7 +227,7 @@ if (OIIO_BUILD_TESTS)
+ set_target_properties (imagespec_test PROPERTIES FOLDER "Unit Tests")
+ target_link_libraries (imagespec_test OpenImageIO ${Boost_LIBRARIES})
+ add_test (unit_imagespec imagespec_test)
+-
++
+ add_executable (imagespeed_test imagespeed_test.cpp)
+ set_target_properties (imagespeed_test PROPERTIES FOLDER "Unit Tests")
+ target_link_libraries (imagespeed_test OpenImageIO ${Boost_LIBRARIES})
diff --git a/ports/openmvg/CONTROL b/ports/openmvg/CONTROL
index 5006dc8dd..90c10f3cd 100644
--- a/ports/openmvg/CONTROL
+++ b/ports/openmvg/CONTROL
@@ -1,7 +1,7 @@
Source: openmvg
-Version: 1.4-2
+Version: 1.4-4
Description: open Multiple View Geometry library. Basis for 3D computer vision and Structure from Motion.
-Build-Depends: coinutils, clp, osi, liblemon, flann, eigen3, ceres, cereal, libjpeg-turbo, tiff, libpng, zlib
+Build-Depends: coinutils, clp, osi, liblemon, flann, eigen3, ceres, cereal, libjpeg-turbo, tiff, libpng, zlib, suitesparse
Feature: opencv
Build-Depends: opencv[contrib]
diff --git a/ports/openmvg/fixcmake.patch b/ports/openmvg/fixcmake.patch
index 66eff4fd3..2dd5201ec 100644
--- a/ports/openmvg/fixcmake.patch
+++ b/ports/openmvg/fixcmake.patch
@@ -1,5 +1,5 @@
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index 654bebd..5264bfc 100644
+index 654bebd..ab7dd90 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -17,27 +17,16 @@ endif()
@@ -110,7 +110,7 @@ index 654bebd..5264bfc 100644
-else()
- set(EIGEN_INCLUDE_DIRS ${EIGEN3_INCLUDE_DIR})
-endif()
-+find_package(eigen3 REQUIRED)
++find_package(Eigen3 REQUIRED)
+set(EIGEN_INCLUDE_DIRS ${EIGEN3_INCLUDE_DIR})
# ==============================================================================
@@ -218,11 +218,11 @@ index 654bebd..5264bfc 100644
- ${PROJECT_BINARY_DIR}/third_party/lemon)
- set(LEMON_LIBRARY openMVG_lemon)
-endif()
-+find_package(Lemon REQUIRED)
++find_package(LEMON REQUIRED)
# ==============================================================================
# OpenCV
-@@ -369,12 +270,7 @@ endif()
+@@ -369,14 +270,13 @@ endif()
# - only external and enabled only if OpenMVG_USE_OPENCV is set to ON
# ==============================================================================
if (OpenMVG_USE_OPENCV)
@@ -235,8 +235,14 @@ index 654bebd..5264bfc 100644
+ find_package( OpenCV REQUIRED )
endif()
++# ==============================================================================
++# Suitesparse
++# ==============================================================================
++find_package(suitesparse REQUIRED)
-@@ -469,67 +365,67 @@ message("** Use OpenCV SIFT features: " ${OpenMVG_USE_OCVSIFT})
+ # ==============================================================================
+ # Third-party libraries:
+@@ -469,67 +369,67 @@ message("** Use OpenCV SIFT features: " ${OpenMVG_USE_OCVSIFT})
message("\n")
diff --git a/ports/openmvs/CONTROL b/ports/openmvs/CONTROL
index 2b6c20b71..f4863e175 100644
--- a/ports/openmvs/CONTROL
+++ b/ports/openmvs/CONTROL
@@ -1,4 +1,4 @@
Source: openmvs
-Version: 0.9
+Version: 1.0
Description: OpenMVS: open Multi-View Stereo reconstruction library
-Build-Depends: zlib, boost, eigen3, ceres, opencv, cgal, glew, glfw3, vcglib
+Build-Depends: zlib, boost-iostreams, boost-program-options, boost-system, boost-serialization, eigen3, ceres, opencv, cgal[core], glew, glfw3, vcglib
diff --git a/ports/openmvs/portfile.cmake b/ports/openmvs/portfile.cmake
index 790951b18..22945ab2e 100644
--- a/ports/openmvs/portfile.cmake
+++ b/ports/openmvs/portfile.cmake
@@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO cdcseacave/openMVS
- REF v0.9
- SHA512 a1081ee8562324137273846526c6570c77b35dba6a1a46df4e67f19cf7d0a1a4d4f6091b9444b66e0ca322f466b418ce4535d0c7ce10000df389cbe615f0c0b6
+ REF v1.0
+ SHA512 d5743660286068d2ec9e80b8cfdf1dd612d76f12f1f10c95d32bab55ae65032a200d820f2c76e4781068c61597e2533df8755fd5d9076d3aac9223134eb5b561
HEAD_REF master
PATCHES
glfw3_target_compat.patch
diff --git a/ports/openssl-windows/portfile.cmake b/ports/openssl-windows/portfile.cmake
index 4331c2eab..b5e505a3d 100644
--- a/ports/openssl-windows/portfile.cmake
+++ b/ports/openssl-windows/portfile.cmake
@@ -4,28 +4,27 @@ endif()
include(vcpkg_common_functions)
set(OPENSSL_VERSION 1.0.2q)
-set(MASTER_COPY_SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/openssl-${OPENSSL_VERSION})
-vcpkg_find_acquire_program(PERL)
+vcpkg_find_acquire_program(PERL)
get_filename_component(PERL_EXE_PATH ${PERL} DIRECTORY)
set(ENV{PATH} "$ENV{PATH};${PERL_EXE_PATH}")
-vcpkg_download_distfile(OPENSSL_SOURCE_ARCHIVE
+vcpkg_download_distfile(ARCHIVE
URLS "https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz" "https://www.openssl.org/source/old/1.0.2/openssl-${OPENSSL_VERSION}.tar.gz"
FILENAME "openssl-${OPENSSL_VERSION}.tar.gz"
SHA512 403e6cad42db3ba860c3fa4fa81c1b7b02f0b873259e5c19a7fc8e42de0854602555f1b1ca74f4e3a7737a4cbd3aac063061e628ec86534586500819fae7fec0
)
-vcpkg_extract_source_archive(${OPENSSL_SOURCE_ARCHIVE})
-vcpkg_apply_patches(
- SOURCE_PATH ${MASTER_COPY_SOURCE_PATH}
- PATCHES
- ConfigureIncludeQuotesFix.patch
- STRINGIFYPatch.patch
- EnableWinARM32.patch
- EmbedSymbolsInStaticLibsZ7.patch
- EnableWinARM64.patch
+vcpkg_extract_source_archive_ex(
+ OUT_SOURCE_PATH SOURCE_PATH
+ ARCHIVE ${ARCHIVE}
+ PATCHES
+ ConfigureIncludeQuotesFix.patch
+ STRINGIFYPatch.patch
+ EnableWinARM32.patch
+ EmbedSymbolsInStaticLibsZ7.patch
+ EnableWinARM64.patch
)
vcpkg_find_acquire_program(NASM)
@@ -75,8 +74,16 @@ file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel ${CURRENT_BU
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
- file(COPY ${MASTER_COPY_SOURCE_PATH} DESTINATION ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel)
- set(SOURCE_PATH_RELEASE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/openssl-${OPENSSL_VERSION})
+
+ # Copy openssl sources.
+ message(STATUS "Copying openssl release source files...")
+ file(GLOB OPENSSL_SOURCE_FILES ${SOURCE_PATH}/*)
+ foreach(SOURCE_FILE ${OPENSSL_SOURCE_FILES})
+ file(COPY ${SOURCE_FILE} DESTINATION "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel")
+ endforeach()
+ message(STATUS "Copying openssl release source files... done")
+ set(SOURCE_PATH_RELEASE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel")
+
set(OPENSSLDIR_RELEASE ${CURRENT_PACKAGES_DIR})
message(STATUS "Configure ${TARGET_TRIPLET}-rel")
@@ -112,11 +119,18 @@ endif()
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
- message(STATUS "Configure ${TARGET_TRIPLET}-dbg")
- file(COPY ${MASTER_COPY_SOURCE_PATH} DESTINATION ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg)
- set(SOURCE_PATH_DEBUG ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/openssl-${OPENSSL_VERSION})
+ # Copy openssl sources.
+ message(STATUS "Copying openssl debug source files...")
+ file(GLOB OPENSSL_SOURCE_FILES ${SOURCE_PATH}/*)
+ foreach(SOURCE_FILE ${OPENSSL_SOURCE_FILES})
+ file(COPY ${SOURCE_FILE} DESTINATION "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg")
+ endforeach()
+ message(STATUS "Copying openssl debug source files... done")
+ set(SOURCE_PATH_DEBUG "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg")
+
set(OPENSSLDIR_DEBUG ${CURRENT_PACKAGES_DIR}/debug)
+ message(STATUS "Configure ${TARGET_TRIPLET}-dbg")
vcpkg_execute_required_process(
COMMAND ${CONFIGURE_COMMAND} debug-${OPENSSL_ARCH} "--prefix=${OPENSSLDIR_DEBUG}" "--openssldir=${OPENSSLDIR_DEBUG}" -FS
WORKING_DIRECTORY ${SOURCE_PATH_DEBUG}
@@ -175,6 +189,6 @@ file(WRITE "${CURRENT_PACKAGES_DIR}/include/openssl/rand.h" "${_contents}")
vcpkg_copy_pdbs()
file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
-file(INSTALL ${MASTER_COPY_SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
vcpkg_test_cmake(PACKAGE_NAME OpenSSL MODULE)
diff --git a/ports/optional-bare/CONTROL b/ports/optional-bare/CONTROL
new file mode 100644
index 000000000..0c9fe1411
--- /dev/null
+++ b/ports/optional-bare/CONTROL
@@ -0,0 +1,3 @@
+Source: optional-bare
+Version: 1.1.0
+Description: A simple version of a C++17-like optional for default-constructible, copyable types, for C++98 and later in a single-file header-only library
diff --git a/ports/optional-bare/portfile.cmake b/ports/optional-bare/portfile.cmake
new file mode 100644
index 000000000..6474d81c7
--- /dev/null
+++ b/ports/optional-bare/portfile.cmake
@@ -0,0 +1,31 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO martinmoene/optional-bare
+ REF v1.1.0
+ SHA512 0eed103c4e909991b596c0cd23d6206662e3ca71cd8148e27c19d8e071c2a16e18cc940a6cd4f8571510f5e64577157f94c561fb889330bb7a868af64c2f3aa0
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DOPTIONAL_BARE_OPT_BUILD_TESTS=OFF
+ -DOPTIONAL_BARE_OPT_BUILD_EXAMPLES=OFF
+)
+
+vcpkg_install_cmake()
+
+vcpkg_fixup_cmake_targets(
+ CONFIG_PATH lib/cmake/${PORT}
+)
+
+file(REMOVE_RECURSE
+ ${CURRENT_PACKAGES_DIR}/debug
+ ${CURRENT_PACKAGES_DIR}/lib
+)
+
+file(INSTALL
+ ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright
+)
diff --git a/ports/optional-lite/CONTROL b/ports/optional-lite/CONTROL
new file mode 100644
index 000000000..076a05640
--- /dev/null
+++ b/ports/optional-lite/CONTROL
@@ -0,0 +1,3 @@
+Source: optional-lite
+Version: 3.2.0
+Description: A C++17-like optional, a nullable object for C++98, C++11 and later in a single-file header-only library
diff --git a/ports/optional-lite/portfile.cmake b/ports/optional-lite/portfile.cmake
new file mode 100644
index 000000000..1716c89ad
--- /dev/null
+++ b/ports/optional-lite/portfile.cmake
@@ -0,0 +1,31 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO martinmoene/optional-lite
+ REF v3.2.0
+ SHA512 7c3f93dc718953118ab18edb55f6c8dc1555febb6ee491d3f7df4a8d06aba245bbfba31883a711995bb6b8d6de9f44c805cbba44b9e322f3bb5c3272106f66ec
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DOPTIONAL_LITE_OPT_BUILD_TESTS=OFF
+ -DOPTIONAL_LITE_OPT_BUILD_EXAMPLES=OFF
+)
+
+vcpkg_install_cmake()
+
+vcpkg_fixup_cmake_targets(
+ CONFIG_PATH lib/cmake/${PORT}
+)
+
+file(REMOVE_RECURSE
+ ${CURRENT_PACKAGES_DIR}/debug
+ ${CURRENT_PACKAGES_DIR}/lib
+)
+
+file(INSTALL
+ ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright
+)
diff --git a/ports/osi/CMakeLists.txt b/ports/osi/CMakeLists.txt
index 7f4ca5ed1..1aa44d262 100644
--- a/ports/osi/CMakeLists.txt
+++ b/ports/osi/CMakeLists.txt
@@ -1,108 +1,89 @@
-cmake_minimum_required(VERSION 3.11)
-
-project(Osi LANGUAGES C CXX)
-
-set(PROJECT_VERSION 0.107.9)
-set(PROJECT_VERSION_MAJOR 0)
-set(PROJECT_VERSION_MINOR 107)
-set(PROJECT_VERSION_PATCH 9)
-
-set(CMAKE_CXX_STANDARD 14)
-set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin)
-set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lib)
-set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lib)
-set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${CMAKE_CURRENT_SOURCE_DIR}/cmake")
-
-if(MSVC)
- set(
- CMAKE_CXX_FLAGS
- "${CMAKE_CXX_FLAGS} /bigobj /MP /wd4996 /wd4819 /wd4251 /wd4267 /wd4244 /wd4275"
- )
-endif(MSVC)
-if(APPLE)
- set(
- CMAKE_CXX_FLAGS
- "${CMAKE_CXX_FLAGS} -Wno-inconsistent-missing-override -Wno-unused-command-line-argument -Wno-unused-result -Wno-exceptions"
- )
- set(CMAKE_OSX_DEPLOYMENT_TARGET "10.9"
- CACHE STRING "Minimum OS X deployment version")
-endif(APPLE)
-
-set_property(GLOBAL PROPERTY USE_FOLDERS ON)
-
-# options
-option(BUILD_SHARED_LIBS "" ON)
-
-#
-# Introduce variables: * CMAKE_INSTALL_LIBDIR * CMAKE_INSTALL_BINDIR
-include(GNUInstallDirs)
-
-# Include module with fuction 'write_basic_package_version_file'
-include(CMakePackageConfigHelpers)
-
-# Layout. This works for all platforms: * <prefix>/lib*/cmake/<PROJECT-NAME> *
-# <prefix>/lib*/ * <prefix>/include/
-set(config_install_dir "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}")
-set(generated_dir "${CMAKE_CURRENT_BINARY_DIR}/generated")
-# Configuration
-set(version_config "${generated_dir}/${PROJECT_NAME}ConfigVersion.cmake")
-set(project_config "${generated_dir}/${PROJECT_NAME}Config.cmake")
-set(TARGETS_EXPORT_NAME "${PROJECT_NAME}Targets")
-set(namespace "Coin::")
-
-# Packages
-find_package(CoinUtils REQUIRED)
-
-# Add sources
-include_directories(Osi/src/Osi)
-
-file(GLOB OSI_SOURCES Osi/src/Osi/*.hpp Osi/src/Osi/*.cpp)
-
-add_library(${PROJECT_NAME} ${OSI_SOURCES})
-
-target_include_directories(${PROJECT_NAME}
- PUBLIC $<INSTALL_INTERFACE:include/coin>)
-target_compile_definitions(${PROJECT_NAME}
- PUBLIC
- $<INSTALL_INTERFACE:-DHAVE_CMATH>
- $<INSTALL_INTERFACE:-D_CRT_SECURE_NO_WARNINGS>)
-target_link_libraries(${PROJECT_NAME} PRIVATE Coin::CoinUtils)
-
-install(TARGETS ${PROJECT_NAME}
- EXPORT "${TARGETS_EXPORT_NAME}"
- LIBRARY DESTINATION lib
- ARCHIVE DESTINATION lib
- RUNTIME DESTINATION bin
- INCLUDES
- DESTINATION include)
-
-install(DIRECTORY Osi/src/Osi/
- DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/coin
- FILES_MATCHING
- PATTERN "*.h"
- PATTERN "*.hpp"
- PATTERN "config_default.h" EXCLUDE)
-
-#
-# Install Libraries
-#
-# Configure '<PROJECT-NAME>ConfigVersion.cmake' Use: * PROJECT_VERSION
-write_basic_package_version_file("${version_config}"
- COMPATIBILITY SameMajorVersion)
-
-# Configure '<PROJECT-NAME>Config.cmake' Use variables: * TARGETS_EXPORT_NAME *
-# PROJECT_NAME
-configure_package_config_file("Config.cmake.in"
- "${project_config}"
- INSTALL_DESTINATION
- "${config_install_dir}")
-
-# Config * <prefix>/lib/cmake/Foo/FooConfig.cmake *
-# <prefix>/lib/cmake/Foo/FooConfigVersion.cmake
-install(FILES "${project_config}" "${version_config}"
- DESTINATION "${config_install_dir}")
-
-# Config * <prefix>/lib/cmake/Foo/FooTargets.cmake
-install(EXPORT "${TARGETS_EXPORT_NAME}"
- NAMESPACE "${namespace}"
- DESTINATION "${config_install_dir}")
+cmake_minimum_required(VERSION 3.11)
+
+project(Osi LANGUAGES C CXX)
+
+set(PROJECT_VERSION 0.107.9)
+set(PROJECT_VERSION_MAJOR 0)
+set(PROJECT_VERSION_MINOR 107)
+set(PROJECT_VERSION_PATCH 9)
+
+set(CMAKE_CXX_STANDARD 14)
+
+set(INSTALL_BIN_DIR "bin" CACHE PATH "Path where exe and dll will be installed")
+set(INSTALL_LIB_DIR "lib" CACHE PATH "Path where lib will be installed")
+set(INSTALL_INCLUDE_DIR "include/Coin" CACHE PATH "Path where headers will be installed")
+set(INSTALL_CMAKE_DIR "share/${PROJECT_NAME}" CACHE PATH "Path where cmake configs will be installed")
+
+# Make relative paths absolute (needed later on)
+set(RELATIVE_INSTALL_INCLUDE_DIR ${INSTALL_INCLUDE_DIR})
+foreach(p LIB BIN INCLUDE CMAKE)
+ set(var INSTALL_${p}_DIR)
+ if(NOT IS_ABSOLUTE "${${var}}")
+ set(${var} "${CMAKE_INSTALL_PREFIX}/${${var}}")
+ endif()
+endforeach()
+
+if(MSVC)
+ set(
+ CMAKE_CXX_FLAGS
+ "${CMAKE_CXX_FLAGS} /bigobj /MP /wd4996 /wd4819 /wd4251 /wd4267 /wd4244 /wd4275"
+ )
+endif()
+
+if(APPLE)
+ set(
+ CMAKE_CXX_FLAGS
+ "${CMAKE_CXX_FLAGS} -Wno-inconsistent-missing-override -Wno-unused-command-line-argument -Wno-unused-result -Wno-exceptions"
+ )
+ set(CMAKE_OSX_DEPLOYMENT_TARGET "10.9"
+ CACHE STRING "Minimum OS X deployment version")
+endif()
+
+find_package(CoinUtils REQUIRED)
+
+file(GLOB OSI_SOURCES Osi/src/Osi/*.hpp Osi/src/Osi/*.cpp)
+
+add_library(${PROJECT_NAME} ${OSI_SOURCES})
+
+target_include_directories(${PROJECT_NAME} PUBLIC $<INSTALL_INTERFACE:${RELATIVE_INSTALL_INCLUDE_DIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/Osi/src/Osi>)
+
+if(MSVC)
+ target_compile_definitions(${PROJECT_NAME} PRIVATE _CRT_SECURE_NO_WARNINGS)
+endif()
+target_compile_definitions(${PROJECT_NAME} PRIVATE HAVE_CMATH)
+
+target_link_libraries(${PROJECT_NAME} PRIVATE Coin::CoinUtils)
+
+install(DIRECTORY Osi/src/Osi/
+ DESTINATION ${INSTALL_INCLUDE_DIR}
+ FILES_MATCHING
+ PATTERN "*.h"
+ PATTERN "*.hpp"
+ PATTERN "config_default.h" EXCLUDE)
+
+install(TARGETS ${PROJECT_NAME}
+ EXPORT "${PROJECT_NAME}Targets"
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib
+ RUNTIME DESTINATION bin)
+
+include(CMakePackageConfigHelpers)
+
+set(version_config "${CMAKE_CURRENT_BINARY_DIR}/temp/${PROJECT_NAME}ConfigVersion.cmake")
+set(project_config "${CMAKE_CURRENT_BINARY_DIR}/temp/${PROJECT_NAME}Config.cmake")
+set(namespace "Coin::")
+
+write_basic_package_version_file("${version_config}"
+ COMPATIBILITY SameMajorVersion)
+
+configure_package_config_file("Config.cmake.in"
+ "${project_config}"
+ INSTALL_DESTINATION
+ "${INSTALL_CMAKE_DIR}")
+
+install(FILES "${project_config}" "${version_config}"
+ DESTINATION "${INSTALL_CMAKE_DIR}")
+
+install(EXPORT "${PROJECT_NAME}Targets"
+ NAMESPACE "${namespace}"
+ DESTINATION "${INSTALL_CMAKE_DIR}")
diff --git a/ports/osi/CONTROL b/ports/osi/CONTROL
index f75de858a..01190fb21 100644
--- a/ports/osi/CONTROL
+++ b/ports/osi/CONTROL
@@ -1,4 +1,4 @@
-Source: osi
-Version: 0.108.4
-Description: Osi (Open Solver Interface) provides an abstract base class to a generic linear programming (LP) solver, along with derived classes for specific solvers. Many applications may be able to use the Osi to insulate themselves from a specific LP solver.
-Build-Depends: coinutils
+Source: osi
+Version: 0.108.4-1
+Description: Osi (Open Solver Interface) provides an abstract base class to a generic linear programming (LP) solver, along with derived classes for specific solvers. Many applications may be able to use the Osi to insulate themselves from a specific LP solver.
+Build-Depends: coinutils
diff --git a/ports/osi/Config.cmake.in b/ports/osi/Config.cmake.in
index ec01d2e5b..2c12f83f0 100644
--- a/ports/osi/Config.cmake.in
+++ b/ports/osi/Config.cmake.in
@@ -1,5 +1,5 @@
-
-@PACKAGE_INIT@
-
-include("${CMAKE_CURRENT_LIST_DIR}/@TARGETS_EXPORT_NAME@.cmake")
-check_required_components("@PROJECT_NAME@")
+
+@PACKAGE_INIT@
+
+include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake")
+check_required_components("@PROJECT_NAME@")
diff --git a/ports/osi/portfile.cmake b/ports/osi/portfile.cmake
index 793e0d94c..dc0dc7857 100644
--- a/ports/osi/portfile.cmake
+++ b/ports/osi/portfile.cmake
@@ -19,8 +19,13 @@ vcpkg_configure_cmake(
vcpkg_install_cmake()
vcpkg_copy_pdbs()
+if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") #on case-sensitive filesystems, it's necessary to rename and make it lowercase
+ vcpkg_fixup_cmake_targets(CONFIG_PATH "share/Osi")
+else()
+ vcpkg_fixup_cmake_targets()
+endif()
+
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
-vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/Osi")
# Handle copyright
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/osi RENAME copyright)
diff --git a/ports/pdal/FindGDAL.cmake b/ports/pdal/FindGDAL.cmake
deleted file mode 100644
index 9683cb0e5..000000000
--- a/ports/pdal/FindGDAL.cmake
+++ /dev/null
@@ -1,13 +0,0 @@
-find_path(GDAL_INCLUDE_DIR gdal.h)
-
-find_library(GDAL_LIBRARY_DEBUG NAMES gdald)
-find_library(GDAL_LIBRARY_RELEASE NAMES gdal)
-
-include(SelectLibraryConfigurations)
-select_library_configurations(GDAL)
-
-include(FindPackageHandleStandardArgs)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(
- GDAL DEFAULT_MSG
- GDAL_LIBRARY GDAL_INCLUDE_DIR
-)
diff --git a/ports/pdal/PDALConfig.patch b/ports/pdal/PDALConfig.patch
new file mode 100644
index 000000000..ea7681dc1
--- /dev/null
+++ b/ports/pdal/PDALConfig.patch
@@ -0,0 +1,13 @@
+diff --git a/PDALConfig.cmake.in b/PDALConfig.cmake.in
+index a03ef142e..2d06a2937 100644
+--- a/PDALConfig.cmake.in
++++ b/PDALConfig.cmake.in
+@@ -15,6 +15,8 @@ foreach(_dir @PDAL_CONFIG_LIBRARY_DIRS@)
+ list(APPEND PDAL_LIBRARY_DIRS ${_foo})
+ endforeach(_dir)
+
++include(CMakeFindDependencyMacro)
++find_dependency(GeoTIFF)
+ include("${CMAKE_CURRENT_LIST_DIR}/PDALTargets.cmake")
+
+ if (WIN32)
diff --git a/ports/pdal/portfile.cmake b/ports/pdal/portfile.cmake
index 2ceaf99ab..566fc08e4 100644
--- a/ports/pdal/portfile.cmake
+++ b/ports/pdal/portfile.cmake
@@ -18,13 +18,21 @@ vcpkg_extract_source_archive_ex(
0001-win32_compiler_options.cmake.patch
0002-no-source-dir-writes.patch
0003-fix-copy-vendor.patch
+ PDALConfig.patch
)
file(REMOVE "${SOURCE_PATH}/pdal/gitsha.cpp")
-file(REMOVE "${SOURCE_PATH}/cmake/modules/FindGDAL.cmake")
-file(REMOVE "${SOURCE_PATH}/cmake/modules/FindGEOS.cmake")
-file(COPY ${CMAKE_CURRENT_LIST_DIR}/FindGDAL.cmake DESTINATION ${SOURCE_PATH}/cmake/modules/)
-file(COPY ${CMAKE_CURRENT_LIST_DIR}/FindGEOS.cmake DESTINATION ${SOURCE_PATH}/cmake/modules/)
+
+# Deploy custom CMake modules to enforce expected dependencies look-up
+foreach(_module IN ITEMS FindGDAL FindGEOS FindGeoTIFF FindCurl) # Outdated; Supplied by CMake
+ file(REMOVE "${SOURCE_PATH}/cmake/modules/${_module}.cmake")
+endforeach()
+foreach(_module IN ITEMS FindGEOS) # Overwritten Modules.
+ file(REMOVE "${SOURCE_PATH}/cmake/modules/${_module}.cmake")
+ file(COPY ${CMAKE_CURRENT_LIST_DIR}/${_module}.cmake
+ DESTINATION ${SOURCE_PATH}/cmake/modules/
+ )
+endforeach()
# NOTE: CMake native BUILD_SHARED_LIBS option will be set by vcpkg_configure_cmake
# TODO: Remove this as soon as PDAL switches to use BUILD_SHARED_LIBS
diff --git a/ports/platform-folders/portfile.cmake b/ports/platform-folders/portfile.cmake
index c66848096..fef2bf327 100644
--- a/ports/platform-folders/portfile.cmake
+++ b/ports/platform-folders/portfile.cmake
@@ -26,7 +26,7 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
file(INSTALL ${TARGET_BUILD_PATH}-dbg/platform_folders.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin/)
endif()
-if (WIN32)
+if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
vcpkg_fixup_cmake_targets(CONFIG_PATH cmake/ TARGET_PATH /share/platform_folders)
else()
vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/ TARGET_PATH /share/)
diff --git a/ports/polyclipping/CONTROL b/ports/polyclipping/CONTROL
new file mode 100644
index 000000000..0e97f0a32
--- /dev/null
+++ b/ports/polyclipping/CONTROL
@@ -0,0 +1,3 @@
+Source: polyclipping
+Version: 6.4.2
+Description: The Clipper library performs clipping and offsetting for both lines and polygons. All four boolean clipping operations are supported - intersection, union, difference and exclusive-or. Polygons can be of any shape including self-intersecting polygons.
diff --git a/ports/polyclipping/portfile.cmake b/ports/polyclipping/portfile.cmake
new file mode 100644
index 000000000..b1b1997cf
--- /dev/null
+++ b/ports/polyclipping/portfile.cmake
@@ -0,0 +1,28 @@
+include(vcpkg_common_functions)
+
+vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
+vcpkg_download_distfile(ARCHIVE
+ URLS "https://sourceforge.net/projects/polyclipping/files/clipper_ver6.4.2.zip/download"
+ FILENAME "clipper_ver6.4.2.zip"
+ SHA512 ffc88818c44a38aa278d5010db6cfd505796f39664919f1e48c7fa9267563f62135868993e88f7246dcd688241d1172878e4a008a390648acb99738452e3e5dd
+)
+
+vcpkg_extract_source_archive_ex(
+ OUT_SOURCE_PATH SOURCE_PATH
+ ARCHIVE ${ARCHIVE}
+ NO_REMOVE_ONE_LEVEL
+ REF 6.4.2
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}/cpp
+ PREFER_NINJA
+)
+
+vcpkg_install_cmake()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
+
+file(INSTALL ${SOURCE_PATH}/License.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/portaudio/portfile.cmake b/ports/portaudio/portfile.cmake
index 9bb86005d..6fcbdf437 100644
--- a/ports/portaudio/portfile.cmake
+++ b/ports/portaudio/portfile.cmake
@@ -33,7 +33,7 @@ vcpkg_install_cmake()
# Remove static builds from dynamic builds and otherwise
# Remove x86 and x64 from resulting files
-if (WIN32)
+if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
file (REMOVE ${CURRENT_PACKAGES_DIR}/lib/portaudio_static_${VCPKG_TARGET_ARCHITECTURE}.lib)
file (REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/portaudio_static_${VCPKG_TARGET_ARCHITECTURE}.lib)
diff --git a/ports/pprint/CONTROL b/ports/pprint/CONTROL
new file mode 100644
index 000000000..0f06b8c4c
--- /dev/null
+++ b/ports/pprint/CONTROL
@@ -0,0 +1,3 @@
+Source: pprint
+Version: 2019-06-01
+Description: Pretty Printer for Modern C++
diff --git a/ports/pprint/portfile.cmake b/ports/pprint/portfile.cmake
new file mode 100644
index 000000000..792b4851b
--- /dev/null
+++ b/ports/pprint/portfile.cmake
@@ -0,0 +1,27 @@
+# header-only library
+
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO p-ranav/pprint
+ REF 71d85f0cd4ec2012c9cf19bfa741e094fcecfa3e
+ SHA512 6b0ff7a75a09226f775fa01fd9753d0f69c4838b40253fe9fc824eeee3c2efa1884e711188858f185f9c765f1dadace0bb72227d71e4d2218c493ddfb60224fa
+ HEAD_REF master
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DPPRINT_BUILD_TESTS=OFF
+)
+
+vcpkg_install_cmake()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT})
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib)
+
+# Handle copyright
+configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY)
diff --git a/ports/reproc/CONTROL b/ports/reproc/CONTROL
index 825ba92f9..d55102f55 100644
--- a/ports/reproc/CONTROL
+++ b/ports/reproc/CONTROL
@@ -1,3 +1,3 @@
-Source: reproc
-Version: 6.0.0
-Description: Cross-platform library that simplifies working with external CLI applications from C and C++
+Source: reproc
+Version: 6.0.0-1
+Description: Cross-platform library that simplifies working with external CLI applications from C and C++
diff --git a/ports/reproc/portfile.cmake b/ports/reproc/portfile.cmake
index 89cf5f491..e263c194c 100644
--- a/ports/reproc/portfile.cmake
+++ b/ports/reproc/portfile.cmake
@@ -1,29 +1,32 @@
-include(vcpkg_common_functions)
-
-vcpkg_from_github(
- OUT_SOURCE_PATH SOURCE_PATH
- REPO DaanDeMeyer/reproc
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO DaanDeMeyer/reproc
REF v6.0.0
- SHA512 482eb7b52961878877d1e4a4f1e1a5a867ff5b83f0df3ce47c0eb68f43eabcde720ea7ccb2eeb960dbc29fc61c888db62751984425e9b27c7498dfa4441aa801
- HEAD_REF master
-)
-
-vcpkg_configure_cmake(
- SOURCE_PATH ${SOURCE_PATH}
- PREFER_NINJA
- OPTIONS
- -DREPROC_BUILD_CXX_WRAPPER=ON
- -DREPROC_INSTALL=ON
-)
-
-vcpkg_install_cmake()
-
-vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/reproc)
-
-
-# Debug
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
-
-# Handle License
-file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/reproc)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/reproc/LICENSE ${CURRENT_PACKAGES_DIR}/share/reproc/copyright) \ No newline at end of file
+ SHA512 482eb7b52961878877d1e4a4f1e1a5a867ff5b83f0df3ce47c0eb68f43eabcde720ea7ccb2eeb960dbc29fc61c888db62751984425e9b27c7498dfa4441aa801
+ HEAD_REF master
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DREPROC++=ON
+ -DREPROC++_INSTALL=ON
+ -DREPROC_INSTALL=ON
+)
+
+vcpkg_install_cmake()
+
+file(GLOB REPROC_CMAKE_FILES ${CURRENT_PACKAGES_DIR}/lib/cmake/reproc++/*)
+file(COPY ${REPROC_CMAKE_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/lib/cmake/reproc)
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/reproc)
+
+# Debug
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+# Handle License
+file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/reproc)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/reproc/LICENSE ${CURRENT_PACKAGES_DIR}/share/reproc/copyright)
diff --git a/ports/restinio/CONTROL b/ports/restinio/CONTROL
index db9057456..23abf439e 100644
--- a/ports/restinio/CONTROL
+++ b/ports/restinio/CONTROL
@@ -1,4 +1,4 @@
Source: restinio
-Version: 0.4.9.1
+Version: 0.5.0
Description: A header-only C++14 library that gives you an embedded HTTP/Websocket server targeted primarily for asynchronous processing of HTTP-requests.
Build-Depends: asio, fmt, http-parser
diff --git a/ports/restinio/portfile.cmake b/ports/restinio/portfile.cmake
index cbb9315fb..33895629f 100644
--- a/ports/restinio/portfile.cmake
+++ b/ports/restinio/portfile.cmake
@@ -2,9 +2,9 @@ include(vcpkg_common_functions)
vcpkg_from_bitbucket(
OUT_SOURCE_PATH SOURCE_PATH
- REPO sobjectizerteam/restinio-0.4
- REF v.0.4.9.1
- SHA512 e1bd27c08331b2994ce1be140502c9d7166cc997fd79f4380ea3400106f11a2cad25c72b9d0a0b2bf11c15ce9f895522e7aea41a5f2620e30752eded78869a62
+ REPO sobjectizerteam/restinio
+ REF v.0.5.0
+ SHA512 2031abf6928456d9f93b965c0fd0114070b0aeac055edc78442284ad8a2dea47d9eaa8cb1761e76fa31286e7881559fa7d99e404e3c0d2639e6a0afab6bedd4f
)
vcpkg_configure_cmake(
diff --git a/ports/ring-span-lite/CONTROL b/ports/ring-span-lite/CONTROL
new file mode 100644
index 000000000..9d620b709
--- /dev/null
+++ b/ports/ring-span-lite/CONTROL
@@ -0,0 +1,3 @@
+Source: ring-span-lite
+Version: 0.3.0
+Description: A C++yy-like ring_span type for C++98, C++11 and later in a single-file header-only library
diff --git a/ports/ring-span-lite/portfile.cmake b/ports/ring-span-lite/portfile.cmake
new file mode 100644
index 000000000..b9b993054
--- /dev/null
+++ b/ports/ring-span-lite/portfile.cmake
@@ -0,0 +1,31 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO martinmoene/ring-span-lite
+ REF v0.3.0
+ SHA512 5ecbfc63b4a09cc382edc2acae41a45946c9c6a18aa48e855201366b7696df7cbf46c2de1b5aa5296ae2dde4360d5abd8efdc3e3a1c3d427fbbddadab7dcfe79
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DRING_SPAN_LITE_OPT_BUILD_TESTS=OFF
+ -DRING_SPAN_LITE_OPT_BUILD_EXAMPLES=OFF
+)
+
+vcpkg_install_cmake()
+
+vcpkg_fixup_cmake_targets(
+ CONFIG_PATH lib/cmake/${PORT}
+)
+
+file(REMOVE_RECURSE
+ ${CURRENT_PACKAGES_DIR}/debug
+ ${CURRENT_PACKAGES_DIR}/lib
+)
+
+file(INSTALL
+ ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright
+)
diff --git a/ports/robin-hood-hashing/CONTROL b/ports/robin-hood-hashing/CONTROL
new file mode 100644
index 000000000..d30871519
--- /dev/null
+++ b/ports/robin-hood-hashing/CONTROL
@@ -0,0 +1,3 @@
+Source: robin-hood-hashing
+Version: 3.2.13
+Description: Fast & memory efficient hashtable based on robin hood hashing for C++14
diff --git a/ports/robin-hood-hashing/portfile.cmake b/ports/robin-hood-hashing/portfile.cmake
new file mode 100644
index 000000000..890d6f86a
--- /dev/null
+++ b/ports/robin-hood-hashing/portfile.cmake
@@ -0,0 +1,16 @@
+# header-only library
+
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO martinus/robin-hood-hashing
+ REF 3.2.13
+ SHA512 5c508a1f43d2ca86c89b9aac3b17493a23b8ee3c7485438afc8e5eb4e697d663588e1945001ba3ba95dd1480b3c1b846079fadec5972e5ac4462117379052433
+ HEAD_REF master
+)
+
+file(COPY ${SOURCE_PATH}/src/include/robin_hood.h DESTINATION ${CURRENT_PACKAGES_DIR}/include)
+
+# Handle copyright
+configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY)
diff --git a/ports/rs-core-lib/portfile.cmake b/ports/rs-core-lib/portfile.cmake
index 1f0713a02..239d61126 100644
--- a/ports/rs-core-lib/portfile.cmake
+++ b/ports/rs-core-lib/portfile.cmake
@@ -11,4 +11,4 @@ vcpkg_from_github(
file(INSTALL ${SOURCE_PATH}/rs-core DESTINATION ${CURRENT_PACKAGES_DIR}/include FILES_MATCHING PATTERN "*.hpp")
# Handle copyright
-file(INSTALL ${SOURCE_PATH}/LICENSE.TXT DESTINATION ${CURRENT_PACKAGES_DIR}/share/rs-core-lib RENAME copyright) \ No newline at end of file
+file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/rs-core-lib RENAME copyright) \ No newline at end of file
diff --git a/ports/rttr/portfile.cmake b/ports/rttr/portfile.cmake
index 2c2c7e863..a85a2b157 100644
--- a/ports/rttr/portfile.cmake
+++ b/ports/rttr/portfile.cmake
@@ -23,9 +23,9 @@ vcpkg_configure_cmake(
vcpkg_install_cmake()
-if(UNIX)
+if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin")
vcpkg_fixup_cmake_targets(CONFIG_PATH share/rttr/cmake)
-elseif(WIN32)
+elseif(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
vcpkg_fixup_cmake_targets(CONFIG_PATH cmake)
else()
message(FATAL_ERROR "RTTR does not support this platform")
diff --git a/ports/shogun/CONTROL b/ports/shogun/CONTROL
index 5188892da..9854596b5 100644
--- a/ports/shogun/CONTROL
+++ b/ports/shogun/CONTROL
@@ -1,4 +1,4 @@
-Source: shogun
-Version: 6.1.3-1
-Build-Depends: bzip2, eigen3, liblzma, libxml2, openblas (x64), nlopt, rxcpp, snappy, zlib, protobuf, curl, lzo, dirent
-Description: Unified and efficient Machine Learning
+Source: shogun
+Version: 6.1.3-2
+Build-Depends: bzip2, eigen3, liblzma, libxml2, openblas (x64&!osx), nlopt, rxcpp, snappy, zlib, protobuf, curl, lzo, dirent
+Description: Unified and efficient Machine Learning
diff --git a/ports/shogun/portfile.cmake b/ports/shogun/portfile.cmake
index b207116c8..68d3ddf74 100644
--- a/ports/shogun/portfile.cmake
+++ b/ports/shogun/portfile.cmake
@@ -8,11 +8,9 @@ vcpkg_from_github(
REF shogun_6.1.3
SHA512 11aeed456b13720099ca820ab9742c90ce4af2dc049602a425f8c44d2fa155327c7f1d3af2ec840666f600a91e75902d914ffe784d76ed35810da4f3a5815673
HEAD_REF master
-)
-
-vcpkg_apply_patches(
- SOURCE_PATH ${SOURCE_PATH}
- PATCHES ${CMAKE_CURRENT_LIST_DIR}/cmake.patch
+ PATCHES
+ cmake.patch
+ use_proper_cmake_symbol.patch
)
file(REMOVE_RECURSE ${SOURCE_PATH}/cmake/external)
@@ -25,6 +23,14 @@ else()
set(CMAKE_DISABLE_FIND_PACKAGE_BLAS 1)
endif()
+if(NOT CMAKE_SYSTEM_PROCESSOR)
+ if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
+ set(CMAKE_SYSTEM_PROCESSOR "__x86_64__")
+ elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
+ set(CMAKE_SYSTEM_PROCESSOR "__i386__")
+ endif()
+endif()
+
vcpkg_find_acquire_program(PYTHON3)
get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY)
set(ENV{PATH} "$ENV{PATH};${PYTHON3_DIR}")
@@ -38,6 +44,7 @@ vcpkg_configure_cmake(
-DUSE_SVMLIGHT=OFF
-DENABLE_TESTING=OFF
-DLICENSE_GPL_SHOGUN=OFF
+ -DLIBSHOGUN_BUILD_STATIC=ON
# Conflicting definitions in OpenBLAS and Eigen
-DENABLE_EIGEN_LAPACK=OFF
@@ -57,6 +64,7 @@ vcpkg_configure_cmake(
-DCMAKE_DISABLE_FIND_PACKAGE_BLAS=${CMAKE_DISABLE_FIND_PACKAGE_BLAS}
-DINSTALL_TARGETS=shogun-static
+ -DCMAKE_SYSTEM_PROCESSOR=${CMAKE_SYSTEM_PROCESSOR}
)
vcpkg_install_cmake()
diff --git a/ports/shogun/use_proper_cmake_symbol.patch b/ports/shogun/use_proper_cmake_symbol.patch
new file mode 100644
index 000000000..627c5bd77
--- /dev/null
+++ b/ports/shogun/use_proper_cmake_symbol.patch
@@ -0,0 +1,22 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 6f97c8b..a10b599 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -145,7 +145,7 @@ ENDIF()
+ DetectSystemName()
+
+ # Get processor type, sets MACHINE macro
+-SET(MACHINE ${CMAKE_SYSTEM_PROCESSOR})
++add_definitions(-DMACHINE=${CMAKE_SYSTEM_PROCESSOR})
+
+ SET(EXT_LIB_SWIG_RUBY ".so")
+ if(DARWIN)
+@@ -174,7 +174,7 @@ ENDIF()
+
+ IF(CMAKE_COMPILER_IS_GNUCXX)
+ SET(RELEASE_COMPILER_FLAGS "-fexpensive-optimizations -frerun-cse-after-loop -fcse-follow-jumps -finline-functions -fschedule-insns2 -fthread-jumps -fforce-addr -fstrength-reduce -funroll-loops")
+- IF (${MACHINE} MATCHES "x86_64" OR ${MACHINE} MATCHES "i686")
++ IF (CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64" OR CMAKE_SYSTEM_PROCESSOR MATCHES "i686")
+ SET(RELEASE_COMPILER_FLAGS "${RELEASE_COMPILER_FLAGS} -mfpmath=sse")
+ ENDIF()
+ ELSEIF(${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang")
diff --git a/ports/sndfile/portfile.cmake b/ports/sndfile/portfile.cmake
index 22f1579e8..f11a8695e 100644
--- a/ports/sndfile/portfile.cmake
+++ b/ports/sndfile/portfile.cmake
@@ -37,7 +37,7 @@ vcpkg_configure_cmake(
vcpkg_install_cmake()
-if(WIN32)
+if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
vcpkg_fixup_cmake_targets(CONFIG_PATH cmake)
else()
vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/SndFile)
diff --git a/ports/sophus/CONTROL b/ports/sophus/CONTROL
index f6433e410..e6cf512f2 100644
--- a/ports/sophus/CONTROL
+++ b/ports/sophus/CONTROL
@@ -1,4 +1,4 @@
Source: sophus
-Version: 1.0.0-1
-Build-Depends: eigen3, ceres
+Version: 1.0.0-3
+Build-Depends: eigen3, ceres, suitesparse
Description: Lie group library for C++
diff --git a/ports/sophus/fix_cmakelists.patch b/ports/sophus/fix_cmakelists.patch
new file mode 100644
index 000000000..33916cf1d
--- /dev/null
+++ b/ports/sophus/fix_cmakelists.patch
@@ -0,0 +1,12 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index fa51e2c..3e07396 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -39,6 +39,7 @@ SET( Sophus_INCLUDE_DIR ${PROJECT_SOURCE_DIR} )
+
+ ################################################################################
+ FIND_PACKAGE( Eigen3 REQUIRED )
++FIND_PACKAGE( suitesparse REQUIRED )
+ LIST( APPEND Sophus_INCLUDE_DIR ${EIGEN3_INCLUDE_DIR} )
+
+ ################################################################################
diff --git a/ports/sophus/portfile.cmake b/ports/sophus/portfile.cmake
index 9a45e62b8..f33260c4d 100644
--- a/ports/sophus/portfile.cmake
+++ b/ports/sophus/portfile.cmake
@@ -3,9 +3,11 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO strasdat/Sophus
- REF v1.0.0
+ REF v1.0.0
SHA512 569634a8be9237d2240cf30c01e2677ece75d55f1196030f1228baca62fa22460e8ceb2a63bd46afdf7f02d8eb79c59d6ed666228b852da78590de897b278fab
HEAD_REF master
+ PATCHES
+ fix_cmakelists.patch
)
vcpkg_configure_cmake(
@@ -14,14 +16,10 @@ vcpkg_configure_cmake(
)
vcpkg_install_cmake()
-
vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/Sophus")
-
vcpkg_copy_pdbs()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib)
-# Put the license file where vcpkg expects it
-file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/Sophus/)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/Sophus/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/Sophus/copyright)
+file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}/ RENAME copyright)
diff --git a/ports/span-lite/CONTROL b/ports/span-lite/CONTROL
new file mode 100644
index 000000000..e7001a83a
--- /dev/null
+++ b/ports/span-lite/CONTROL
@@ -0,0 +1,3 @@
+Source: span-lite
+Version: 0.5.0
+Description: A C++20-like span for C++98, C++11 and later in a single-file header-only library
diff --git a/ports/span-lite/portfile.cmake b/ports/span-lite/portfile.cmake
new file mode 100644
index 000000000..ad53591bd
--- /dev/null
+++ b/ports/span-lite/portfile.cmake
@@ -0,0 +1,31 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO martinmoene/span-lite
+ REF v0.5.0
+ SHA512 4221d9897736257077b8ff6a5246d70315bebb975a30a119778f22c1859d14cca5e3035447561ca9684bef6dbca5a00b3b5ca208dada4fcf1f3b31df2aa0cb1f
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DSPAN_LITE_OPT_BUILD_TESTS=OFF
+ -DSPAN_LITE_OPT_BUILD_EXAMPLES=OFF
+)
+
+vcpkg_install_cmake()
+
+vcpkg_fixup_cmake_targets(
+ CONFIG_PATH lib/cmake/${PORT}
+)
+
+file(REMOVE_RECURSE
+ ${CURRENT_PACKAGES_DIR}/debug
+ ${CURRENT_PACKAGES_DIR}/lib
+)
+
+file(INSTALL
+ ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright
+)
diff --git a/ports/spirv-cross/CONTROL b/ports/spirv-cross/CONTROL
index cfba267dd..665637d43 100644
--- a/ports/spirv-cross/CONTROL
+++ b/ports/spirv-cross/CONTROL
@@ -1,3 +1,3 @@
Source: spirv-cross
-Version: 2018-08-07-1
+Version: 2019-05-09
Description: SPIRV-Cross is a practical tool and library for performing reflection on SPIR-V and disassembling SPIR-V back to high level languages.
diff --git a/ports/spirv-cross/portfile.cmake b/ports/spirv-cross/portfile.cmake
index 6495e82bc..f40c6b2de 100644
--- a/ports/spirv-cross/portfile.cmake
+++ b/ports/spirv-cross/portfile.cmake
@@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO KhronosGroup/SPIRV-Cross
- REF 2018-08-07
- SHA512 1ac6ee6b2864d950199d4e856ae1576f9435827501baa5d53821a973cd68aaa03ec428094bf74c570784997baac5b2e3802ddc7f02844e2ee546741fa726bf91
+ REF fce83b7e8b0f6599efd4481992b2eb30f69f21de
+ SHA512 24bdb965f0248b57081d314f078a522ef8da842ee5480e1276da7bc70cae002cfe7a58903f99d13bcdee1e3863f77dfcd5a74e084e63a9c20edf42a833b2a874
HEAD_REF master
)
diff --git a/ports/stormlib/CONTROL b/ports/stormlib/CONTROL
new file mode 100644
index 000000000..348e09616
--- /dev/null
+++ b/ports/stormlib/CONTROL
@@ -0,0 +1,4 @@
+Source: stormlib
+Version: 9.22
+Build-Depends: zlib, bzip2
+Description: StormLib is a library for opening and manipulating Blizzard MPQ files
diff --git a/ports/stormlib/disable-building-tests.patch b/ports/stormlib/disable-building-tests.patch
new file mode 100644
index 000000000..fe0d7f70c
--- /dev/null
+++ b/ports/stormlib/disable-building-tests.patch
@@ -0,0 +1,15 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index f5211b1..4025ea1 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -358,10 +358,4 @@ install(TARGETS ${LIBRARY_NAME}
+
+ INCLUDE(CPack)
+
+-if(STORM_BUILD_TESTS)
+- target_link_libraries(storm_test ${LIBRARY_NAME})
+- install(TARGETS storm_test DESTINATION bin)
+-endif()
+
+-add_executable(storm_test ${SRC_FILES} ${TOMCRYPT_FILES} ${TOMMATH_FILES} ${ZLIB_BZIP2_FILES} ${TEST_SRC_FILES})
+-install(TARGETS storm_test RUNTIME DESTINATION bin)
diff --git a/ports/stormlib/portfile.cmake b/ports/stormlib/portfile.cmake
new file mode 100644
index 000000000..82e0aedf9
--- /dev/null
+++ b/ports/stormlib/portfile.cmake
@@ -0,0 +1,24 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO ladislav-zezula/StormLib
+ REF v9.22
+ SHA512 e08571fca21be2e853d390b8feda32001df810b8f4b60d36822a9de2a877f2be9d3dadacfeec181a2eb80e00b8fed66d0dc9a0d8d9e043e2959478a41ed4d13a
+ HEAD_REF master
+)
+
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES
+ ${CMAKE_CURRENT_LIST_DIR}/disable-building-tests.patch
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+)
+
+vcpkg_install_cmake()
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/stormlib RENAME copyright)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
diff --git a/ports/string-view-lite/CONTROL b/ports/string-view-lite/CONTROL
new file mode 100644
index 000000000..f14d36c97
--- /dev/null
+++ b/ports/string-view-lite/CONTROL
@@ -0,0 +1,3 @@
+Source: string-view-lite
+Version: 1.3.0
+Description: A C++17-like string_view for C++98, C++11 and later in a single-file header-only library
diff --git a/ports/string-view-lite/portfile.cmake b/ports/string-view-lite/portfile.cmake
new file mode 100644
index 000000000..068b16c08
--- /dev/null
+++ b/ports/string-view-lite/portfile.cmake
@@ -0,0 +1,31 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO martinmoene/string-view-lite
+ REF v1.3.0
+ SHA512 52fb76198249ade5352d95af4a4e305b3e22b464a5d0a702e4b2228b1ca30df98b90bb01d5bfd16ae6ebb7bab5aecac5bd4a867898c362e82e57c2aaf938e07a
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DSTRING_VIEW_LITE_OPT_BUILD_TESTS=OFF
+ -DSTRING_VIEW_LITE_OPT_BUILD_EXAMPLES=OFF
+)
+
+vcpkg_install_cmake()
+
+vcpkg_fixup_cmake_targets(
+ CONFIG_PATH lib/cmake/${PORT}
+)
+
+file(REMOVE_RECURSE
+ ${CURRENT_PACKAGES_DIR}/debug
+ ${CURRENT_PACKAGES_DIR}/lib
+)
+
+file(INSTALL
+ ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright
+)
diff --git a/ports/suitesparse/CONTROL b/ports/suitesparse/CONTROL
index 43621f9fe..5182a90cd 100644
--- a/ports/suitesparse/CONTROL
+++ b/ports/suitesparse/CONTROL
@@ -1,5 +1,5 @@
Source: suitesparse
-Version: 5.1.2-2
+Version: 5.4.0-1
Build-Depends: clapack (!osx)
Description: algebra library
diff --git a/ports/suitesparse/fix-install-suitesparse.patch b/ports/suitesparse/fix-install-suitesparse.patch
deleted file mode 100644
index a5b5400fa..000000000
--- a/ports/suitesparse/fix-install-suitesparse.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 8227298..c0eb354 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -222,7 +222,7 @@ ELSE()
- ENDIF()
- ENDIF()
-
--IF(BUILD_METIS)
-+IF(BUILD_METIS OR USE_VCPKG_METIS)
- set(SuiteSparse_LINKER_METIS_LIBS "metis")
- else()
- set(SuiteSparse_LINKER_METIS_LIBS "")
-diff --git a/SuiteSparse/CMakeLists.txt b/SuiteSparse/CMakeLists.txt
-index 7361363..8a48cf3 100644
---- a/SuiteSparse/CMakeLists.txt
-+++ b/SuiteSparse/CMakeLists.txt
-@@ -10,7 +10,11 @@ ENDIF(CMAKE_COMPILER_IS_GNUCXX AND NOT CMAKE_BUILD_TYPE MATCHES "Debug")
- IF (BUILD_METIS)
- INCLUDE_DIRECTORIES("${METIS_SOURCE_DIR}/include")
- ELSE (BUILD_METIS)
-+ IF(USE_VCPKG_METIS)
-+ INCLUDE_DIRECTORIES("${METIS_SOURCE_DIR}/include")
-+ ELSE (USE_VCPKG_METIS)
- ADD_DEFINITIONS(-DNPARTITION)
-+ ENDIF(USE_VCPKG_METIS)
- ENDIF ( BUILD_METIS)
-
- # Disable COMPLEX numbers: disable it by default, since it causes problems in some platforms.
diff --git a/ports/suitesparse/portfile.cmake b/ports/suitesparse/portfile.cmake
index 45ad7a6e5..a527f8825 100644
--- a/ports/suitesparse/portfile.cmake
+++ b/ports/suitesparse/portfile.cmake
@@ -2,83 +2,68 @@ include(vcpkg_common_functions)
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
-set(SUITESPARSE_VER SuiteSparse-5.1.2) #if you change the version, becarefull of changing the SHA512 checksum accordingly
+set(SUITESPARSE_VER 5.4.0)
set(SUITESPARSEWIN_VER 1.4.0)
-set(SUITESPARSEWIN_PATH ${CURRENT_BUILDTREES_DIR}/src/suitesparse-metis-for-windows-${SUITESPARSEWIN_VER})
-set(SUITESPARSE_PATH ${SUITESPARSEWIN_PATH}/SuiteSparse)
-#download suitesparse libary
vcpkg_download_distfile(SUITESPARSE
- URLS "http://faculty.cse.tamu.edu/davis/SuiteSparse/${SUITESPARSE_VER}.tar.gz"
- FILENAME "${SUITESPARSE_VER}.tar.gz"
- SHA512 38c7f9847cf161390f73de39ed3d9fd07f7bcec2d6d4e6f141af6a015826215843db9f2e16ca255eeb233c593ffc19ffa04816aa5b6ba200b55b9472ac33ba85
+ URLS "http://faculty.cse.tamu.edu/davis/SuiteSparse/SuiteSparse-${SUITESPARSE_VER}.tar.gz"
+ FILENAME "SuiteSparse-${SUITESPARSE_VER}.tar.gz"
+ SHA512 8328bcc2ef5eb03febf91b9c71159f091ff405c1ba7522e53714120fcf857ceab2d2ecf8bf9a2e1fc45e1a934665a341e3a47f954f87b59934f4fce6164775d6
)
-#download suitesparse-metis-for-windows scripts, suitesparse does not have CMake build system, jlblancoc has made one for it
-vcpkg_download_distfile(SUITESPARSEWIN
- URLS "https://github.com/jlblancoc/suitesparse-metis-for-windows/archive/v${SUITESPARSEWIN_VER}.zip"
- FILENAME "suitesparse-metis-for-windows-${SUITESPARSEWIN_VER}.zip"
- SHA512 2859d534200ab9b76fca1530eae5de2f9328aa867c727dbc83a96c6f16e1f87e70123fb2decbb84531d75dac58b6f0ce7323e48c57aeede324fd9a1f77ba74c6
+vcpkg_extract_source_archive_ex(
+ OUT_SOURCE_PATH SOURCE_PATH
+ ARCHIVE ${SUITESPARSE}
)
-#extract suitesparse-metis-for-windows first and merge with suitesparse library
-vcpkg_extract_source_archive(${SUITESPARSEWIN})
-vcpkg_extract_source_archive(${SUITESPARSE} ${SUITESPARSEWIN_PATH})
-
-vcpkg_apply_patches(
- SOURCE_PATH ${SUITESPARSEWIN_PATH}
+vcpkg_from_github(
+ OUT_SOURCE_PATH SUITESPARSEWIN_SOURCE_PATH
+ REPO jlblancoc/suitesparse-metis-for-windows
+ REF v${SUITESPARSEWIN_VER}
+ SHA512 35a2563d6e33ebe8157f8d023167abd8d2512e2a627b8dbea798c59afefc56b8f01c7d10553529b03a7b4759e200ca82bb26ebce5cefce6983ffb057a8622162
+ HEAD_REF master
PATCHES
- remove-debug-postfix.patch
+ suitesparse.patch
)
+# Copy suitesparse sources.
+message(STATUS "Copying SuiteSparse source files...")
+# Should probably remove everything but CMakeLists.txt files?
+file(GLOB SUITESPARSE_SOURCE_FILES ${SOURCE_PATH}/*)
+foreach(SOURCE_FILE ${SUITESPARSE_SOURCE_FILES})
+ file(COPY ${SOURCE_FILE} DESTINATION "${SUITESPARSEWIN_SOURCE_PATH}/SuiteSparse")
+endforeach()
+message(STATUS "Copying SuiteSparse source files... done")
+
set(USE_VCPKG_METIS OFF)
if("metis" IN_LIST FEATURES)
set(USE_VCPKG_METIS ON)
+ set(ADDITIONAL_BUILD_OPTIONS "-DMETIS_SOURCE_DIR=${CURRENT_INSTALLED_DIR}")
endif()
-if(VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
- set(LIB_EXT a)
- set(LIB_PREFIX lib)
-else()
- set(LIB_EXT lib)
- set(LIB_PREFIX)
-endif()
-
-if(WIN32)
- set(ENABLE_CUSTOM_BLAS_LAPACK_PATHS "-DSUITESPARSE_USE_CUSTOM_BLAS_LAPACK_LIBS=ON")
- set(SUITESPARSE_CUSTOM_BLAS_PATH "-DSUITESPARSE_CUSTOM_BLAS_LIB=${CURRENT_INSTALLED_DIR}/lib/openblas.lib")
- set(SUITESPARSE_CUSTOM_LAPACK_PATH "-DSUITESPARSE_CUSTOM_LAPACK_LIB=${CURRENT_INSTALLED_DIR}/lib/lapack.lib")
-endif()
-
-message(STATUS "Use CMakeLists.txt in ${SUITESPARSEWIN_PATH}")
vcpkg_configure_cmake(
- SOURCE_PATH ${SUITESPARSEWIN_PATH}
+ SOURCE_PATH ${SUITESPARSEWIN_SOURCE_PATH}
PREFER_NINJA
OPTIONS
-DBUILD_METIS=OFF
-DUSE_VCPKG_METIS=${USE_VCPKG_METIS}
- -DMETIS_SOURCE_DIR=${CURRENT_INSTALLED_DIR}
- -DSUITESPARSE_USE_CUSTOM_BLAS_LAPACK_LIBS=ON
+ ${ADDITIONAL_BUILD_OPTIONS}
OPTIONS_DEBUG
- -DSUITESPARSE_INSTALL_PREFIX=${CURRENT_PACKAGES_DIR}/debug
- -DSUITESPARSE_CUSTOM_BLAS_LIB=${CURRENT_INSTALLED_DIR}/debug/lib/${LIB_PREFIX}openblas_d.${LIB_EXT}
- -DSUITESPARSE_CUSTOM_LAPACK_LIB=${CURRENT_INSTALLED_DIR}/debug/lib/${LIB_PREFIX}lapack.${LIB_EXT}
+ -DSUITESPARSE_INSTALL_PREFIX="${CURRENT_PACKAGES_DIR}/debug"
OPTIONS_RELEASE
- -DSUITESPARSE_INSTALL_PREFIX=${CURRENT_PACKAGES_DIR}
- -DSUITESPARSE_CUSTOM_BLAS_LIB=${CURRENT_INSTALLED_DIR}/lib/${LIB_PREFIX}openblas.${LIB_EXT}
- -DSUITESPARSE_CUSTOM_LAPACK_LIB=${CURRENT_INSTALLED_DIR}/lib/${LIB_PREFIX}lapack.${LIB_EXT}
+ -DSUITESPARSE_INSTALL_PREFIX="${CURRENT_PACKAGES_DIR}"
)
vcpkg_install_cmake()
-vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake")
+vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/suitesparse-${SUITESPARSE_VER}" TARGET_PATH "share/suitesparse")
#clean folders
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
# Handle copyright of suitesparse and suitesparse-metis-for-windows
-file(COPY ${SUITESPARSE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/suitesparse)
+file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/suitesparse)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/suitesparse/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/suitesparse/copyright)
-file(COPY ${SUITESPARSEWIN_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/suitesparse)
+file(COPY ${SUITESPARSEWIN_SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/suitesparse)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/suitesparse/LICENSE.md ${CURRENT_PACKAGES_DIR}/share/suitesparse/copyright_suitesparse-metis-for-windows)
diff --git a/ports/suitesparse/remove-debug-postfix.patch b/ports/suitesparse/remove-debug-postfix.patch
deleted file mode 100644
index 1b41139da..000000000
--- a/ports/suitesparse/remove-debug-postfix.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- CMakeLists.txt Mon Feb 22 22:18:25 2016
-+++ CMakeLists.txt Wed Jul 05 14:14:21 2017
-@@ -35,7 +35,7 @@
-
- # We want libraries to be named "libXXX" and "libXXXd" in all compilers:
- # ------------------------------------------------------------------------
--set(CMAKE_DEBUG_POSTFIX "d")
-+#set(CMAKE_DEBUG_POSTFIX "d")
- IF(MSVC)
- set(SP_LIB_PREFIX "lib") # Libs are: "libXXX"
- ENDIF(MSVC)
diff --git a/ports/suitesparse/suitesparse.patch b/ports/suitesparse/suitesparse.patch
new file mode 100644
index 000000000..394355606
--- /dev/null
+++ b/ports/suitesparse/suitesparse.patch
@@ -0,0 +1,73 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 3486f05..98badb6 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -252,7 +252,7 @@ if(SuiteSparse_LAPACK_BLAS_LIB_DIR) # "Export" the imported targets in config.cm
+ set_property(TARGET lapack PROPERTY IMPORTED_IMPLIB \${_SuiteSparse_PREFIX}/${SuiteSparse_LAPACK_BLAS_LIB_DIR}/liblapack.lib)")
+ endif()
+
+-IF(BUILD_METIS)
++IF(BUILD_METIS OR USE_VCPKG_METIS)
+ set(SuiteSparse_LINKER_METIS_LIBS "metis")
+ ## namespaced library target for config
+ set(SuiteSparse_EXPORTED_METIS_LIBS "SuiteSparse::metis")
+@@ -311,7 +311,7 @@ configure_file(cmake/SuiteSparse-config-install.cmake.in
+ ## do the EXPORT for allowing other project to easily use suitesparse with cmake
+ install(EXPORT SuiteSparseTargets
+ FILE
+- SuiteSparse-targets.cmake
++ suitesparse-targets.cmake
+ NAMESPACE
+ SuiteSparse::
+ DESTINATION
+diff --git a/SuiteSparse/CMakeLists.txt b/SuiteSparse/CMakeLists.txt
+index c6e2834..5ef08a6 100644
+--- a/SuiteSparse/CMakeLists.txt
++++ b/SuiteSparse/CMakeLists.txt
+@@ -12,11 +12,11 @@ IF(CMAKE_COMPILER_IS_GNUCXX AND NOT CMAKE_BUILD_TYPE MATCHES "Debug")
+ ENDIF(CMAKE_COMPILER_IS_GNUCXX AND NOT CMAKE_BUILD_TYPE MATCHES "Debug")
+
+ # Global flags:
+-IF (BUILD_METIS)
++IF (BUILD_METIS OR USE_VCPKG_METIS)
+ INCLUDE_DIRECTORIES("${METIS_SOURCE_DIR}/include")
+-ELSE (BUILD_METIS)
++ELSE ()
+ ADD_DEFINITIONS(-DNPARTITION)
+-ENDIF ( BUILD_METIS)
++ENDIF ()
+
+ # Disable COMPLEX numbers: disable it by default, since it causes problems in some platforms.
+ SET(HAVE_COMPLEX OFF CACHE BOOL "Enables building SuiteSparse with complex numbers (disabled by default to avoid problems in some platforms)")
+diff --git a/cmake/SuiteSparse-config-install.cmake.in b/cmake/SuiteSparse-config-install.cmake.in
+index cb1f51f..49387b8 100644
+--- a/cmake/SuiteSparse-config-install.cmake.in
++++ b/cmake/SuiteSparse-config-install.cmake.in
+@@ -4,13 +4,10 @@ get_filename_component(_SuiteSparse_PREFIX "${_SuiteSparse_SELF_DIR}" PATH)
+ get_filename_component(_SuiteSparse_PREFIX "${_SuiteSparse_PREFIX}" PATH)
+ get_filename_component(_SuiteSparse_PREFIX "${_SuiteSparse_PREFIX}" PATH)
+
+-find_package(LAPACK CONFIG)
+-if (NOT LAPACK_FOUND) # Load the LAPACK package with which we were built.
+- @ExternConfig@
+-endif ()
++find_package(LAPACK REQUIRED)
+
+ # Load targets from the install tree.
+-include(${_SuiteSparse_SELF_DIR}/SuiteSparse-targets.cmake)
++include(${_SuiteSparse_SELF_DIR}/suitesparse-targets.cmake)
+
+ # Report SuiteSparse header search locations.
+ set(SuiteSparse_INCLUDE_DIRS ${_SuiteSparse_PREFIX}/include)
+@@ -31,6 +28,11 @@ set(SuiteSparse_LIBRARIES
+ SuiteSparse::spqr
+ @SuiteSparse_EXPORTED_METIS_LIBS@
+ )
++set(SUITESPARSE_LIBRARIES ${SuiteSparse_LIBRARIES})
+
+ unset(_SuiteSparse_PREFIX)
+ unset(_SuiteSparse_SELF_DIR)
++
++set(SUITESPARSE_FOUND TRUE)
++set(SuiteSparse_FOUND TRUE)
++
diff --git a/ports/tgui/portfile.cmake b/ports/tgui/portfile.cmake
index e87bfaaa9..dd326c9ae 100644
--- a/ports/tgui/portfile.cmake
+++ b/ports/tgui/portfile.cmake
@@ -36,15 +36,15 @@ vcpkg_copy_pdbs()
if(BUILD_GUI_BUILDER)
set(EXECUTABLE_SUFFIX "")
- if (WIN32)
+ if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
set(EXECUTABLE_SUFFIX ".exe")
endif()
message(STATUS "Check for: ${TGUI_SHARE_PATH}/gui-builder/gui-builder${EXECUTABLE_SUFFIX}")
if(EXISTS "${TGUI_SHARE_PATH}/gui-builder/gui-builder${EXECUTABLE_SUFFIX}")
file(MAKE_DIRECTORY "${TGUI_TOOLS_PATH}")
- file(RENAME
- "${TGUI_SHARE_PATH}/gui-builder/gui-builder${EXECUTABLE_SUFFIX}"
+ file(RENAME
+ "${TGUI_SHARE_PATH}/gui-builder/gui-builder${EXECUTABLE_SUFFIX}"
"${TGUI_TOOLS_PATH}/gui-builder${EXECUTABLE_SUFFIX}")
# Need to copy `resources` and `themes` directories
file(COPY "${TGUI_SHARE_PATH}/gui-builder/resources" DESTINATION "${TGUI_TOOLS_PATH}")
diff --git a/ports/theia/CONTROL b/ports/theia/CONTROL
index 070ed0a81..d29e6b3fe 100644
--- a/ports/theia/CONTROL
+++ b/ports/theia/CONTROL
@@ -1,4 +1,4 @@
-Source: theia
-Version: 0.8
-Build-Depends: flann, cereal, ceres[suitesparse] (!x86&!uwp&!arm&!linux&!osx), openimageio, glew, freeglut
-Description: An open source library for multiview geometry and structure from motion
+Source: theia
+Version: 0.8-2
+Build-Depends: flann, cereal, ceres[suitesparse], openimageio, glew, freeglut (!osx)
+Description: An open source library for multiview geometry and structure from motion
diff --git a/ports/theia/fix-cmakelists.patch b/ports/theia/fix-cmakelists.patch
deleted file mode 100644
index 674543c68..000000000
--- a/ports/theia/fix-cmakelists.patch
+++ /dev/null
@@ -1,310 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 9c1b150..367fbbc 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -218,24 +218,71 @@ include_directories(
- # as system headers.
- include_directories(SYSTEM ${EIGEN_INCLUDE_DIRS})
-
-+
-+set(THEIA_USE_EXTERNAL_CEREAL OFF CACHE BOOL "Use a system Cereal library")
-+set(THEIA_USE_EXTERNAL_FLANN OFF CACHE BOOL "Use a system Flann library")
-+
- # build Third party libraries included in distro.
--add_subdirectory(libraries)
--include_directories(
-- libraries
-- libraries/spectra
-- ${akaze_SOURCE_DIR}
-- ${akaze_INCLUDE_DIR}
-- ${cereal_SOURCE_DIR}
-- ${cereal_SOURCE_DIR}/include
-- ${flann_SOURCE_DIR}
-- ${flann_SOURCE_DIR}/src/cpp
-- ${gtest_SOURCE_DIR}/include
-- ${gtest_SOURCE_DIR}
-- ${optimo_SOURCE_DIR}
-- ${statx_SOURCE_DIR}
-- ${stlplus3_SOURCE_DIR}
-- ${vlfeat_SOURCE_DIR}
-- ${visual_sfm_SOURCE_DIR})
-+if (BUILD_TESTING)
-+ add_subdirectory(libraries/gtest)
-+endif (BUILD_TESTING)
-+
-+# AKAZE feature extractor.
-+add_subdirectory(libraries/akaze)
-+
-+include_directories(${akaze_SOURCE_DIR} ${akaze_INCLUDE_DIR})
-+
-+# Cereal for portable IO.
-+if(NOT THEIA_USE_EXTERNAL_CEREAL)
-+ add_subdirectory(libraries/cereal)
-+
-+ include_directories(${cereal_SOURCE_DIR} ${cereal_SOURCE_DIR}/include)
-+ set(THEIA_INTERNAL_CEREAL_LIB ${THEIA_INTERNAL_LIB_PREFIX}/cereal ${THEIA_INTERNAL_LIB_PREFIX}/cereal/include)
-+else()
-+ find_package(cereal REQUIRED)
-+
-+ set(_THEIA_CEREAL_LIBRARIES cereal)
-+endif()
-+
-+# Flann for fast approximate nearest neighbor searches.
-+if(NOT THEIA_USE_EXTERNAL_FLANN)
-+ add_subdirectory(libraries/flann)
-+
-+ include_directories(${flann_SOURCE_DIR} ${flann_SOURCE_DIR}/src/cpp)
-+ set(_THEIA_FLANN_LIBRARIES flann_cpp)
-+ set(THEIA_INTERNAL_FLANN_LIB ${THEIA_INTERNAL_LIB_PREFIX}/flann)
-+else()
-+ find_package(Flann REQUIRED)
-+
-+ include_directories(${FLANN_INCLUDE_DIR})
-+ set(_THEIA_FLANN_LIBRARIES ${FLANN_LIBRARY})
-+endif()
-+
-+# Add Optimo.
-+add_subdirectory(libraries/optimo)
-+include_directories(${optimo_SOURCE_DIR})
-+
-+# Add Spectra.
-+include_directories(libraries/spectra)
-+
-+# Add Statx.
-+add_subdirectory(libraries/statx)
-+include_directories(${statx_SOURCE_DIR})
-+
-+# STLPlus for filepath tools.
-+add_subdirectory(libraries/stlplus3)
-+include_directories(${stlplus3_SOURCE_DIR})
-+
-+# Add VLFeat.
-+add_subdirectory(libraries/vlfeat)
-+include_directories(${vlfeat_SOURCE_DIR})
-+
-+# Add VisualSfM files.
-+add_subdirectory(libraries/visual_sfm)
-+include_directories(${visual_sfm_SOURCE_DIR})
-+
-+include_directories(libraries)
-+
-
- list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
- include(OptimizeTheiaCompilerFlags)
-@@ -260,7 +307,19 @@ install(FILES ${THEIA_HDRS} DESTINATION include/theia)
- file(GLOB_RECURSE THEIA_INTERNAL_HDRS ${CMAKE_SOURCE_DIR}/src/theia/*.h)
- install(DIRECTORY src/theia/ DESTINATION include/theia FILES_MATCHING PATTERN "*.h")
-
--install(DIRECTORY libraries/ DESTINATION include/theia/libraries FILES_MATCHING PATTERN "*.h*")
-+install(DIRECTORY libraries/akaze/ DESTINATION include/theia/libraries/akaze FILES_MATCHING PATTERN "*.h*")
-+if(NOT THEIA_USE_EXTERNAL_CEREAL)
-+ install(DIRECTORY libraries/cereal/ DESTINATION include/theia/libraries/cereal FILES_MATCHING PATTERN "*.h*")
-+endif()
-+if(NOT THEIA_USE_EXTERNAL_FLANN)
-+ install(DIRECTORY libraries/flann/ DESTINATION include/theia/libraries/flann FILES_MATCHING PATTERN "*.h*")
-+endif()
-+install(DIRECTORY libraries/optimo/ DESTINATION include/theia/libraries/optimo FILES_MATCHING PATTERN "*.h*")
-+install(DIRECTORY libraries/spectra/ DESTINATION include/theia/libraries/spectra FILES_MATCHING PATTERN "*.h*")
-+install(DIRECTORY libraries/statx/ DESTINATION include/theia/libraries/statx FILES_MATCHING PATTERN "*.h*")
-+install(DIRECTORY libraries/stlplus3/ DESTINATION include/theia/libraries/stlplus3 FILES_MATCHING PATTERN "*.h*")
-+install(DIRECTORY libraries/visual_sfm/ DESTINATION include/theia/libraries/visual_sfm FILES_MATCHING PATTERN "*.h*")
-+install(DIRECTORY libraries/vlfeat/ DESTINATION include/theia/libraries/vlfeat FILES_MATCHING PATTERN "*.h*")
-
- # Add an uninstall target to remove all installed files.
- configure_file("${CMAKE_SOURCE_DIR}/cmake/uninstall.cmake.in"
-@@ -320,8 +379,9 @@ configure_file("${CMAKE_SOURCE_DIR}/cmake/TheiaConfigVersion.cmake.in"
- install(FILES "${CMAKE_CURRENT_BINARY_DIR}/TheiaConfig.cmake"
- "${CMAKE_CURRENT_BINARY_DIR}/TheiaConfigVersion.cmake"
- "${CMAKE_SOURCE_DIR}/cmake/FindEigen.cmake"
-- "${CMAKE_SOURCE_DIR}/cmake/FindGlog.cmake"
-+ "${CMAKE_SOURCE_DIR}/cmake/FindFlann.cmake"
- "${CMAKE_SOURCE_DIR}/cmake/FindGflags.cmake"
-- "${CMAKE_SOURCE_DIR}/cmake/FindOpenImageIO.cmake"
-+ "${CMAKE_SOURCE_DIR}/cmake/FindGlog.cmake"
-+ "${CMAKE_SOURCE_DIR}/cmake/FindOpenImageIO.cmake"
- "${CMAKE_SOURCE_DIR}/cmake/FindSuiteSparse.cmake"
- DESTINATION ${CMAKECONFIG_INSTALL_DIR})
-diff --git a/cmake/FindFlann.cmake b/cmake/FindFlann.cmake
-new file mode 100644
-index 0000000..5d19ef7
---- /dev/null
-+++ b/cmake/FindFlann.cmake
-@@ -0,0 +1,63 @@
-+###############################################################################
-+# Find FLANN
-+#
-+# This sets the following variables:
-+# FLANN_FOUND - True if FLANN was found.
-+# FLANN_INCLUDE_DIRS - Directories containing the FLANN include files.
-+# FLANN_LIBRARIES - Libraries needed to use FLANN.
-+# FLANN_DEFINITIONS - Compiler flags for FLANN.
-+# If FLANN_USE_STATIC is specified and then look for static libraries ONLY else
-+# look for shared ones
-+
-+if(FLANN_USE_STATIC)
-+ set(FLANN_RELEASE_NAME flann_cpp_s flann_cpp)
-+ set(FLANN_DEBUG_NAME flann_cpp_s-gd flann_cpp-gd)
-+else(FLANN_USE_STATIC)
-+ set(FLANN_RELEASE_NAME flann_cpp)
-+ set(FLANN_DEBUG_NAME flann_cpp-gd)
-+endif(FLANN_USE_STATIC)
-+
-+find_package(PkgConfig QUIET)
-+if (FLANN_FIND_VERSION)
-+ pkg_check_modules(PC_FLANN flann>=${FLANN_FIND_VERSION})
-+else(FLANN_FIND_VERSION)
-+ pkg_check_modules(PC_FLANN flann)
-+endif(FLANN_FIND_VERSION)
-+
-+set(FLANN_DEFINITIONS ${PC_FLANN_CFLAGS_OTHER})
-+
-+find_path(FLANN_INCLUDE_DIR flann/flann.hpp
-+ HINTS ${PC_FLANN_INCLUDEDIR} ${PC_FLANN_INCLUDE_DIRS} "${FLANN_ROOT}" "$ENV{FLANN_ROOT}"
-+ PATHS "$ENV{PROGRAMFILES}/Flann" "$ENV{PROGRAMW6432}/Flann"
-+ PATH_SUFFIXES include)
-+
-+find_library(FLANN_LIBRARY
-+ NAMES ${FLANN_RELEASE_NAME}
-+ HINTS ${PC_FLANN_LIBDIR} ${PC_FLANN_LIBRARY_DIRS} "${FLANN_ROOT}" "$ENV{FLANN_ROOT}"
-+ PATHS "$ENV{PROGRAMFILES}/Flann" "$ENV{PROGRAMW6432}/Flann"
-+ PATH_SUFFIXES lib)
-+
-+find_library(FLANN_LIBRARY_DEBUG
-+ NAMES ${FLANN_DEBUG_NAME} ${FLANN_RELEASE_NAME}
-+ HINTS ${PC_FLANN_LIBDIR} ${PC_FLANN_LIBRARY_DIRS} "${FLANN_ROOT}" "$ENV{FLANN_ROOT}"
-+ PATHS "$ENV{PROGRAMFILES}/Flann" "$ENV{PROGRAMW6432}/Flann"
-+ PATH_SUFFIXES lib)
-+
-+if(NOT FLANN_LIBRARY_DEBUG)
-+ set(FLANN_LIBRARY_DEBUG ${FLANN_LIBRARY})
-+endif(NOT FLANN_LIBRARY_DEBUG)
-+
-+set(FLANN_INCLUDE_DIRS ${FLANN_INCLUDE_DIR})
-+set(FLANN_LIBRARIES optimized ${FLANN_LIBRARY} debug ${FLANN_LIBRARY_DEBUG})
-+
-+include(FindPackageHandleStandardArgs)
-+find_package_handle_standard_args(FLANN DEFAULT_MSG FLANN_LIBRARY FLANN_INCLUDE_DIR)
-+
-+mark_as_advanced(FLANN_LIBRARY FLANN_LIBRARY_DEBUG FLANN_INCLUDE_DIR)
-+
-+if(FLANN_FOUND)
-+ message(STATUS "Flann found (include: ${FLANN_INCLUDE_DIRS}, lib: ${FLANN_LIBRARIES})")
-+ if(FLANN_USE_STATIC)
-+ add_definitions(-DFLANN_STATIC)
-+ endif(FLANN_USE_STATIC)
-+endif(FLANN_FOUND)
-diff --git a/cmake/TheiaConfig.cmake.in b/cmake/TheiaConfig.cmake.in
-index a3ea187..9195da1 100644
---- a/cmake/TheiaConfig.cmake.in
-+++ b/cmake/TheiaConfig.cmake.in
-@@ -207,22 +207,47 @@ endif (NOT TARGET theia AND NOT Theia_BINARY_DIR)
- # Set the expected XX_LIBRARIES variable for FindPackage().
- set(THEIA_LIBRARIES theia)
-
-+set(THEIA_USE_EXTERNAL_CEREAL @THEIA_USE_EXTERNAL_CEREAL@)
-+set(THEIA_USE_EXTERNAL_FLANN @THEIA_USE_EXTERNAL_FLANN@)
-+
-+# Cereal.
-+if (THEIA_USE_EXTERNAL_CEREAL)
-+ find_package(cereal QUIET)
-+ if (TARGET cereal)
-+ message(STATUS "Found required Theia dependency: Cereal")
-+ else (TARGET cereal)
-+ theia_report_not_found("Missing required Theia dependency: Cereal.")
-+ endif (TARGET cereal)
-+ list(APPEND THEIA_LIBRARIES cereal)
-+endif (THEIA_USE_EXTERNAL_CEREAL)
-+
-+# Flann.
-+if (THEIA_USE_EXTERNAL_FLANN)
-+ find_package(Flann QUIET)
-+ if (FLANN_FOUND)
-+ message(STATUS "Found required Theia dependency: Flann")
-+ else (FLANN_FOUND)
-+ theia_report_not_found("Missing required Theia dependency: Flann.")
-+ endif (FLANN_FOUND)
-+ list(APPEND THEIA_INCLUDE_DIRS ${FLANN_INCLUDE_DIR})
-+ list(APPEND THEIA_LIBRARIES ${FLANN_LIBRARY})
-+endif (THEIA_USE_EXTERNAL_FLANN)
-+
- # Add the libraries included with the distribution.
- set(THEIA_INTERNAL_LIB_PREFIX ${THEIA_INCLUDE_DIR}/theia/libraries)
- set(THEIA_INTERNAL_LIBS_INCLUDES
- ${THEIA_INTERNAL_LIB_PREFIX}
- ${THEIA_INTERNAL_LIB_PREFIX}/akaze
-- ${THEIA_INTERNAL_LIB_PREFIX}/cereal
-- ${THEIA_INTERNAL_LIB_PREFIX}/cereal/include
-- ${THEIA_INTERNAL_LIB_PREFIX}/flann
-+ @THEIA_INTERNAL_CEREAL_LIB@
-+ @THEIA_INTERNAL_FLANN_LIB@
- ${THEIA_INTERNAL_LIB_PREFIX}/gtest
- ${THEIA_INTERNAL_LIB_PREFIX}/gtest/include
- ${THEIA_INTERNAL_LIB_PREFIX}/optimo
- ${THEIA_INTERNAL_LIB_PREFIX}/spectra
- ${THEIA_INTERNAL_LIB_PREFIX}/statx
- ${THEIA_INTERNAL_LIB_PREFIX}/stlplus3
-- ${THEIA_INTERNAL_LIB_PREFIX}/vlfeat
-- ${THEIA_INTERNAL_LIB_PREFIX}/visual_sfm)
-+ ${THEIA_INTERNAL_LIB_PREFIX}/visual_sfm
-+ ${THEIA_INTERNAL_LIB_PREFIX}/vlfeat)
-
- list(APPEND THEIA_INCLUDE_DIRS ${THEIA_INTERNAL_LIBS_INCLUDES})
-
-diff --git a/libraries/CMakeLists.txt b/libraries/CMakeLists.txt
-deleted file mode 100644
-index 84f3829..0000000
---- a/libraries/CMakeLists.txt
-+++ /dev/null
-@@ -1,27 +0,0 @@
--if (${BUILD_TESTING})
-- add_subdirectory(gtest)
--endif (${BUILD_TESTING})
--
--# AKAZE feature extractor.
--add_subdirectory(akaze)
--
--# Cereal for portable IO.
--add_subdirectory(cereal)
--
--# Flann for fast approximate nearest neighbor searches.
--add_subdirectory(flann)
--
--# Add Optimo.
--add_subdirectory(optimo)
--
--# Add Statx.
--add_subdirectory(statx)
--
--# STLPlus for filepath tools.
--add_subdirectory(stlplus3)
--
--# Add VLFeat.
--add_subdirectory(vlfeat)
--
--# Add VisualSfM files.
--add_subdirectory(visual_sfm)
-\ No newline at end of file
-diff --git a/src/theia/CMakeLists.txt b/src/theia/CMakeLists.txt
-index 65787eb..07c54a4 100644
---- a/src/theia/CMakeLists.txt
-+++ b/src/theia/CMakeLists.txt
-@@ -174,14 +174,15 @@ set(THEIA_LIBRARY_DEPENDENCIES
- ${CERES_LIBRARIES}
- ${GFLAGS_LIBRARIES}
- ${GLOG_LIBRARIES}
-- ${SUITESPARSE_LIBRARIES}
- ${OPENIMAGEIO_LIBRARIES}
-+ ${SUITESPARSE_LIBRARIES}
-+ ${_THEIA_CEREAL_LIBRARIES}
-+ ${_THEIA_FLANN_LIBRARIES}
- akaze
-- flann_cpp
- statx
- stlplus3
-- vlfeat
-- visual_sfm)
-+ visual_sfm
-+ vlfeat)
-
- set(THEIA_LIBRARY_SOURCE
- ${THEIA_SRC}
diff --git a/ports/theia/fix-external-dependencies.patch b/ports/theia/fix-external-dependencies.patch
new file mode 100644
index 000000000..7a4b00961
--- /dev/null
+++ b/ports/theia/fix-external-dependencies.patch
@@ -0,0 +1,405 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 9c1b150..5810156 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -129,70 +129,27 @@ endif ()
+
+ # GFlags. The namespace patch is borrow from Ceres Solver (see license in
+ # FindGflags.cmake)
++message("-- Check for Google Flags")
+ find_package(Gflags REQUIRED)
+-if (GFLAGS_FOUND)
+- message("-- Found Google Flags: ${GFLAGS_INCLUDE_DIRS} in namespace: ${GFLAGS_NAMESPACE}")
+- add_definitions(-DTHEIA_GFLAGS_NAMESPACE=${GFLAGS_NAMESPACE})
+-else (GFLAGS_FOUND)
+- message(FATAL_ERROR "Can't find Google FLAGS.")
+-endif (GFLAGS_FOUND)
+
+ # Google Logging
+ message("-- Check for Google Log")
+ find_package(Glog REQUIRED)
+-if (GLOG_FOUND)
+- message("-- Found Google Logging: ${GLOG_INCLUDE_DIRS}")
+-else (GLOG_FOUND)
+- message(FATAL_ERROR "Can't find Google Logging. Please set GLOG_INCLUDE_DIR & "
+- "GLOG_LIBRARY")
+-endif (GLOG_FOUND)
++
++# Flann
++message("-- Check for Flann")
++find_package(Flann REQUIRED)
+
+ # Ceres
+ message("-- Check for Ceres")
+ find_package(Ceres REQUIRED SuiteSparse)
+-if (CERES_FOUND)
+- message("-- Found Ceres: ${CERES_INCLUDE_DIRS}")
+-else (CERES_FOUND)
+- message(FATAL_ERROR "Can't find Ceres. Please set CERES_INCLUDE_DIR & "
+- "CERES_LIBRARY")
+-endif (CERES_FOUND)
+
+ # OpenImageIO
+ message("-- Check for OpenImageIO")
+ find_package(OpenImageIO REQUIRED)
+-if (OPENIMAGEIO_FOUND)
+- message("-- Found OpenImageIO: ${OPENIMAGEIO_INCLUDE_DIRS}")
+-else (OPENIMAGEIO_FOUND)
+- message(FATAL_ERROR "Can't find OpenImageIO. Please set OPENIMAGEIO_INCLUDE_DIR & "
+- "OPENIMAGEIO_LIBRARY")
+-endif (OPENIMAGEIO_FOUND)
+
+ # Suitesparse
+ find_package(SuiteSparse REQUIRED)
+-if (SUITESPARSE_FOUND)
+- # On Ubuntu the system install of SuiteSparse (v3.4.0) up to at least
+- # Ubuntu 13.10 cannot be used to link shared libraries.
+- if (BUILD_SHARED_LIBS AND
+- SUITESPARSE_IS_BROKEN_SHARED_LINKING_UBUNTU_SYSTEM_VERSION)
+- message(FATAL_ERROR "You are attempting to build Theia as a shared "
+- "library on Ubuntu using a system package install of SuiteSparse "
+- "3.4.0. This package is broken and does not support the "
+- "construction of shared libraries (you can still build Theia as "
+- "a static library). If you wish to build a shared version of Theia "
+- "you should uninstall the system install of SuiteSparse "
+- "(libsuitesparse-dev) and perform a source install of SuiteSparse "
+- "(we recommend that you use the latest version), "
+- "see http://theia-solver.org/building.html for more information.")
+- endif (BUILD_SHARED_LIBS AND
+- SUITESPARSE_IS_BROKEN_SHARED_LINKING_UBUNTU_SYSTEM_VERSION)
+- message("-- Found SuiteSparse ${SUITESPARSE_VERSION}")
+- add_definitions(-DTHEIA_SUITESPARSE_VERSION="${SUITESPARSE_VERSION}")
+-else (SUITESPARSE_FOUND)
+- # Disable use of SuiteSparse if it cannot be found and continue.
+- message(FATAL ERROR "Can't find SuiteSparse. This library is required "
+- "for bundle adjustment and for solving convex optimization problems. "
+- "Please set SUITESPARSE_INCLUDE_DIR & SUITESPARSE_LIBRARY")
+-endif (SUITESPARSE_FOUND)
+
+ include_directories(
+ include
+@@ -225,24 +182,19 @@ include_directories(
+ libraries/spectra
+ ${akaze_SOURCE_DIR}
+ ${akaze_INCLUDE_DIR}
+- ${cereal_SOURCE_DIR}
+- ${cereal_SOURCE_DIR}/include
+- ${flann_SOURCE_DIR}
+- ${flann_SOURCE_DIR}/src/cpp
+- ${gtest_SOURCE_DIR}/include
+- ${gtest_SOURCE_DIR}
+ ${optimo_SOURCE_DIR}
+ ${statx_SOURCE_DIR}
+ ${stlplus3_SOURCE_DIR}
+ ${vlfeat_SOURCE_DIR}
+- ${visual_sfm_SOURCE_DIR})
++ ${visual_sfm_SOURCE_DIR}
++)
+
+ list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
+ include(OptimizeTheiaCompilerFlags)
+ optimizetheiacompilerflags()
+
+ add_subdirectory(src/theia)
+-add_subdirectory(applications)
++#add_subdirectory(applications)
+
+ if (BUILD_DOCUMENTATION)
+ message("-- Documentation building is enabled")
+@@ -260,7 +212,13 @@ install(FILES ${THEIA_HDRS} DESTINATION include/theia)
+ file(GLOB_RECURSE THEIA_INTERNAL_HDRS ${CMAKE_SOURCE_DIR}/src/theia/*.h)
+ install(DIRECTORY src/theia/ DESTINATION include/theia FILES_MATCHING PATTERN "*.h")
+
+-install(DIRECTORY libraries/ DESTINATION include/theia/libraries FILES_MATCHING PATTERN "*.h*")
++install(DIRECTORY libraries/akaze/ DESTINATION include/theia/libraries/akaze FILES_MATCHING PATTERN "*.h*")
++install(DIRECTORY libraries/optimo/ DESTINATION include/theia/libraries/optimo FILES_MATCHING PATTERN "*.h*")
++install(DIRECTORY libraries/spectra/ DESTINATION include/theia/libraries/spectra FILES_MATCHING PATTERN "*.h*")
++install(DIRECTORY libraries/statx/ DESTINATION include/theia/libraries/statx FILES_MATCHING PATTERN "*.h*")
++install(DIRECTORY libraries/stlplus3/ DESTINATION include/theia/libraries/stlplus3 FILES_MATCHING PATTERN "*.h*")
++install(DIRECTORY libraries/visual_sfm/ DESTINATION include/theia/libraries/visual_sfm FILES_MATCHING PATTERN "*.h*")
++install(DIRECTORY libraries/vlfeat/ DESTINATION include/theia/libraries/vlfeat FILES_MATCHING PATTERN "*.h*")
+
+ # Add an uninstall target to remove all installed files.
+ configure_file("${CMAKE_SOURCE_DIR}/cmake/uninstall.cmake.in"
+@@ -272,17 +230,10 @@ add_custom_target(uninstall
+
+ # Set up install directories. INCLUDE_INSTALL_DIR, LIB_INSTALL_DIR and
+ # CMAKECONFIG_INSTALL_DIR must not be absolute paths.
+-if (WIN32)
+- set(INCLUDE_INSTALL_DIR Include)
+- set(LIB_INSTALL_DIR Lib)
+- set(CMAKECONFIG_INSTALL_DIR CMake)
+- set(RELATIVE_CMAKECONFIG_INSTALL_DIR CMake)
+-else ()
+- set(INCLUDE_INSTALL_DIR include)
+- set(LIB_INSTALL_DIR lib)
+- set(CMAKECONFIG_INSTALL_DIR share/Theia)
+- set(RELATIVE_CMAKECONFIG_INSTALL_DIR share/Theia)
+-endif ()
++set(INCLUDE_INSTALL_DIR include)
++set(LIB_INSTALL_DIR lib)
++set(CMAKECONFIG_INSTALL_DIR share/theia)
++set(RELATIVE_CMAKECONFIG_INSTALL_DIR share/theia)
+
+ # This "exports" all targets which have been put into the export set
+ # "TheiaExport". This means that CMake generates a file with the given
+@@ -319,9 +270,5 @@ configure_file("${CMAKE_SOURCE_DIR}/cmake/TheiaConfigVersion.cmake.in"
+ # in the public API of Theia and should thus be present in THEIA_INCLUDE_DIRS.
+ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/TheiaConfig.cmake"
+ "${CMAKE_CURRENT_BINARY_DIR}/TheiaConfigVersion.cmake"
+- "${CMAKE_SOURCE_DIR}/cmake/FindEigen.cmake"
+- "${CMAKE_SOURCE_DIR}/cmake/FindGlog.cmake"
+- "${CMAKE_SOURCE_DIR}/cmake/FindGflags.cmake"
+- "${CMAKE_SOURCE_DIR}/cmake/FindOpenImageIO.cmake"
+- "${CMAKE_SOURCE_DIR}/cmake/FindSuiteSparse.cmake"
++ "${CMAKE_SOURCE_DIR}/cmake/FindOpenImageIO.cmake"
+ DESTINATION ${CMAKECONFIG_INSTALL_DIR})
+diff --git a/cmake/TheiaConfig.cmake.in b/cmake/TheiaConfig.cmake.in
+index a3ea187..7e9d912 100644
+--- a/cmake/TheiaConfig.cmake.in
++++ b/cmake/TheiaConfig.cmake.in
+@@ -124,14 +124,7 @@ list(APPEND CERES_INCLUDE_DIR_HINTS @CERES_INCLUDE_DIR@)
+ get_filename_component(THEIA_BUILD_CERES_LIBRARY_DIR @CERES_LIBRARIES@ PATH)
+ list(APPEND CERES_LIBRARY_DIR_HINTS ${THEIA_BUILD_CERES_LIBRARY_DIR})
+ # Search quietly s/t we control the timing of the error message if not found.
+-find_package(Ceres QUIET)
+-if (CERES_FOUND)
+- message(STATUS "Found required Theia dependency: "
+- "Ceres in ${CERES_INCLUDE_DIRS}")
+-else (CERES_FOUND)
+- theia_report_not_found("Missing required Theia "
+- "dependency: Ceres, please set CERES_INCLUDE_DIR.")
+-endif (CERES_FOUND)
++find_package(Ceres REQUIRED)
+ list(APPEND THEIA_INCLUDE_DIRS ${CERES_INCLUDE_DIRS})
+
+ # Glog.
+@@ -140,64 +133,19 @@ list(APPEND GLOG_INCLUDE_DIR_HINTS @GLOG_INCLUDE_DIR@)
+ get_filename_component(THEIA_BUILD_GLOG_LIBRARY_DIR @GLOG_LIBRARY@ PATH)
+ list(APPEND GLOG_LIBRARY_DIR_HINTS ${THEIA_BUILD_GLOG_LIBRARY_DIR})
+ # Search quietly s/t we control the timing of the error message if not found.
+-find_package(Glog QUIET)
+-if (GLOG_FOUND)
+- message(STATUS "Found required Theia dependency: "
+- "Glog in ${GLOG_INCLUDE_DIRS}")
+-else (GLOG_FOUND)
+- theia_report_not_found("Missing required Theia "
+- "dependency: Glog, please set GLOG_INCLUDE_DIR.")
+-endif (GLOG_FOUND)
++find_package(Glog REQUIRED)
+ list(APPEND THEIA_INCLUDE_DIRS ${GLOG_INCLUDE_DIRS})
+
+ # GFlags. The namespace patch is borrow from Ceres Solver (see license in
+ # FindGflags.cmake)
+-find_package(Gflags QUIET)
+-if (GFLAGS_FOUND)
+- message(STATUS "Found required Theia dependency: Google Flags in "
+- "${GFLAGS_INCLUDE_DIRS} in namespace: ${GFLAGS_NAMESPACE}")
+- add_definitions(-DTHEIA_GFLAGS_NAMESPACE=${GFLAGS_NAMESPACE})
+-else (GFLAGS_FOUND)
+- theia_report_not_found("Missing required Theia dependency: Google Flags, please set "
+- "GFLAGS_INCLUDE_DIR.")
+-endif (GFLAGS_FOUND)
++find_package(Gflags REQUIRED)
+ list(APPEND THEIA_INCLUDE_DIRS ${GFLAGS_INCLUDE_DIRS})
+
+ # OpenImageIO
+-find_package(OpenImageIO QUIET)
+-if (OPENIMAGEIO_FOUND)
+- message(STATUS "Found Theia dependency: OpenImageIO in ${OPENIMAGEIO_INCLUDE_DIRS}")
+-else (OPENIMAGEIO_FOUND)
+- theia_report_not_found("Missing required Theia dependency: OpenImageIO. Please set "
+- "OPENIMAGEIO_INCLUDE_DIR & OPENIMAGEIO_LIBRARY")
+-endif (OPENIMAGEIO_FOUND)
++find_package(OpenImageIO REQUIRED)
+ list(APPEND THEIA_INCLUDE_DIRS ${OPENIMAGEIO_INCLUDE_DIRS})
+
+-find_package(SuiteSparse QUIET)
+-if (SUITESPARSE_FOUND)
+- # On Ubuntu the system install of SuiteSparse (v3.4.0) up to at least
+- # Ubuntu 13.10 cannot be used to link shared libraries.
+- if (BUILD_SHARED_LIBS AND
+- SUITESPARSE_IS_BROKEN_SHARED_LINKING_UBUNTU_SYSTEM_VERSION)
+- theia_report_not_found("You are attempting to build Theia as a shared "
+- "library on Ubuntu using a system package install of SuiteSparse "
+- "3.4.0. This package is broken and does not support the "
+- "construction of shared libraries (you can still build Theia as "
+- "a static library). If you wish to build a shared version of Theia "
+- "you should uninstall the system install of SuiteSparse "
+- "(libsuitesparse-dev) and perform a source install of SuiteSparse "
+- "(we recommend that you use the latest version), "
+- "see http://theia-solver.org/building.html for more information.")
+- endif (BUILD_SHARED_LIBS AND
+- SUITESPARSE_IS_BROKEN_SHARED_LINKING_UBUNTU_SYSTEM_VERSION)
+- message("-- Found SuiteSparse ${SUITESPARSE_VERSION}")
+- add_definitions(-DTHEIA_SUITESPARSE_VERSION="${SUITESPARSE_VERSION}")
+-else (SUITESPARSE_FOUND)
+- # Disable use of SuiteSparse if it cannot be found and continue.
+- theia_report_not_found("Can't find SuiteSparse. This library is required "
+- "for bundle adjustment and for solving convex optimization problems. "
+- "Please set SUITESPARSE_INCLUDE_DIR & SUITESPARSE_LIBRARY")
+-endif (SUITESPARSE_FOUND)
++find_package(SuiteSparse REQUIRED)
+ list(APPEND THEIA_INCLUDE_DIRS ${SUITESPARSE_INCLUDE_DIRS})
+
+ # Import exported Theia targets.
+@@ -207,22 +155,24 @@ endif (NOT TARGET theia AND NOT Theia_BINARY_DIR)
+ # Set the expected XX_LIBRARIES variable for FindPackage().
+ set(THEIA_LIBRARIES theia)
+
++find_package(cereal REQUIRED)
++list(APPEND THEIA_LIBRARIES cereal)
++
++find_package(Flann REQUIRED)
++list(APPEND THEIA_INCLUDE_DIRS ${FLANN_INCLUDE_DIR})
++list(APPEND THEIA_LIBRARIES ${FLANN_LIBRARY})
++
+ # Add the libraries included with the distribution.
+ set(THEIA_INTERNAL_LIB_PREFIX ${THEIA_INCLUDE_DIR}/theia/libraries)
+ set(THEIA_INTERNAL_LIBS_INCLUDES
+ ${THEIA_INTERNAL_LIB_PREFIX}
+ ${THEIA_INTERNAL_LIB_PREFIX}/akaze
+- ${THEIA_INTERNAL_LIB_PREFIX}/cereal
+- ${THEIA_INTERNAL_LIB_PREFIX}/cereal/include
+- ${THEIA_INTERNAL_LIB_PREFIX}/flann
+- ${THEIA_INTERNAL_LIB_PREFIX}/gtest
+- ${THEIA_INTERNAL_LIB_PREFIX}/gtest/include
+ ${THEIA_INTERNAL_LIB_PREFIX}/optimo
+ ${THEIA_INTERNAL_LIB_PREFIX}/spectra
+ ${THEIA_INTERNAL_LIB_PREFIX}/statx
+ ${THEIA_INTERNAL_LIB_PREFIX}/stlplus3
+- ${THEIA_INTERNAL_LIB_PREFIX}/vlfeat
+- ${THEIA_INTERNAL_LIB_PREFIX}/visual_sfm)
++ ${THEIA_INTERNAL_LIB_PREFIX}/visual_sfm
++ ${THEIA_INTERNAL_LIB_PREFIX}/vlfeat)
+
+ list(APPEND THEIA_INCLUDE_DIRS ${THEIA_INTERNAL_LIBS_INCLUDES})
+
+diff --git a/libraries/CMakeLists.txt b/libraries/CMakeLists.txt
+index 84f3829..f88d75a 100644
+--- a/libraries/CMakeLists.txt
++++ b/libraries/CMakeLists.txt
+@@ -5,12 +5,6 @@ endif (${BUILD_TESTING})
+ # AKAZE feature extractor.
+ add_subdirectory(akaze)
+
+-# Cereal for portable IO.
+-add_subdirectory(cereal)
+-
+-# Flann for fast approximate nearest neighbor searches.
+-add_subdirectory(flann)
+-
+ # Add Optimo.
+ add_subdirectory(optimo)
+
+@@ -24,4 +18,4 @@ add_subdirectory(stlplus3)
+ add_subdirectory(vlfeat)
+
+ # Add VisualSfM files.
+-add_subdirectory(visual_sfm)
+\ No newline at end of file
++add_subdirectory(visual_sfm)
+diff --git a/libraries/statx/CMakeLists.txt b/libraries/statx/CMakeLists.txt
+index 23b9e49..af236a3 100644
+--- a/libraries/statx/CMakeLists.txt
++++ b/libraries/statx/CMakeLists.txt
+@@ -103,7 +103,11 @@ if(STATX_WITH_CERES)
+ endif(CERES_FOUND)
+
+ # BLAS
+- find_package(BLAS REQUIRED)
++ if(UNIX AND NOT APPLE)
++ find_package(OpenBLAS REQUIRED)
++ else()
++ find_package(BLAS REQUIRED)
++ endif()
+
+ # LAPACK
+ find_package(LAPACK REQUIRED)
+@@ -129,7 +133,6 @@ set(XGAMMA_FILES ${XGAMMA_FUNCS}/asa121.cpp ${XGAMMA_FUNCS}/asa103.cpp)
+
+ # Setting CXX FLAGS appropriately. The code below was inspired from
+ # Google CERES and modified for this library.
+-set (CMAKE_BUILD_TYPE Release)
+ set (STATX_CXX_FLAGS)
+
+ if (CMAKE_BUILD_TYPE STREQUAL "Release")
+diff --git a/libraries/vlfeat/CMakeLists.txt b/libraries/vlfeat/CMakeLists.txt
+index 7f4ffc7..15bca12 100644
+--- a/libraries/vlfeat/CMakeLists.txt
++++ b/libraries/vlfeat/CMakeLists.txt
+@@ -18,14 +18,19 @@ set(vl_sources
+ vl/random.c
+ vl/sift.c
+ vl/vlad.c)
++
+ set_source_files_properties(${vl_sources} PROPERTIES LANGUAGE C)
+
++add_library(vlfeat ${vl_sources})
++
+ if (MSVC)
+- add_definitions(-DVL_BUILD_DLL)
+- add_definitions(-DVL_DISABLE_SSE2)
++ if(BUILD_SHARED_LIBS)
++ target_compile_definitions(vlfeat PRIVATE VL_BUILD_DLL)
++ target_compile_definitions(vlfeat INTERFACE BUILD_DLL)
++ endif()
++ target_compile_definitions(vlfeat PUBLIC VL_DISABLE_SSE2)
+ endif (MSVC)
+
+-add_library(vlfeat SHARED ${vl_sources})
+ install(TARGETS vlfeat
+ EXPORT TheiaExport
+ RUNTIME DESTINATION bin
+diff --git a/libraries/vlfeat/vl/host.h b/libraries/vlfeat/vl/host.h
+index 293fe1f..0ea3d42 100644
+--- a/libraries/vlfeat/vl/host.h
++++ b/libraries/vlfeat/vl/host.h
+@@ -312,27 +312,31 @@ defined(__DOXYGEN__)
+ #if defined(VL_COMPILER_MSC) & ! defined(__DOXYGEN__)
+ # define VL_UNUSED
+ # define VL_INLINE static __inline
+-# define snprintf _snprintf
+ # define isnan _isnan
+-# ifdef VL_BUILD_DLL
++# if defined(VL_BUILD_DLL)
+ # ifdef __cplusplus
+ # define VL_EXPORT extern "C" __declspec(dllexport)
+ # else
+ # define VL_EXPORT extern __declspec(dllexport)
+ # endif
+-# else
++# elif defined(VL_DLL)
+ # ifdef __cplusplus
+ # define VL_EXPORT extern "C" __declspec(dllimport)
+ # else
+ # define VL_EXPORT extern __declspec(dllimport)
+ # endif
++# else
++# ifdef __cplusplus
++# define VL_EXPORT extern "C"
++# else
++# define VL_EXPORT extern
++# endif
+ # endif
+ #endif
+
+ #if defined(VL_COMPILER_LCC) & ! defined(__DOXYGEN__)
+ # define VL_UNUSED
+ # define VL_INLINE static __inline
+-# define snprintf _snprintf
+ # define isnan _isnan
+ VL_INLINE float fabsf(float x) { return (float) fabs((double) x) ; }
+ # ifdef VL_BUILD_DLL
+diff --git a/src/theia/CMakeLists.txt b/src/theia/CMakeLists.txt
+index 6830f71..768586d 100644
+--- a/src/theia/CMakeLists.txt
++++ b/src/theia/CMakeLists.txt
+@@ -209,7 +209,6 @@ set(THEIA_LIBRARY_DEPENDENCIES
+ ${SUITESPARSE_LIBRARIES}
+ ${OPENIMAGEIO_LIBRARIES}
+ akaze
+- flann_cpp
+ statx
+ stlplus3
+ vlfeat
diff --git a/ports/theia/fix-find-suitesparse.patch b/ports/theia/fix-find-suitesparse.patch
deleted file mode 100644
index f7de44aa0..000000000
--- a/ports/theia/fix-find-suitesparse.patch
+++ /dev/null
@@ -1,227 +0,0 @@
---- a/cmake/FindSuiteSparse.cmake Mon Feb 06 18:05:05 2017
-+++ b/cmake/FindSuiteSparse.cmake Fri Jul 07 02:13:31 2017
-@@ -152,6 +152,12 @@
- # the first.
- endmacro(SUITESPARSE_REPORT_NOT_FOUND)
-
-+# Protect against any alternative find_package scripts for this library having
-+# been called previously (in a client project) which set SUITESPARSE_FOUND, but
-+# not the other variables we require / set here which could cause the search
-+# logic here to fail.
-+unset(SUITESPARSE_FOUND)
-+
- # Handle possible presence of lib prefix for libraries on MSVC, see
- # also SUITESPARSE_RESET_FIND_LIBRARY_PREFIX().
- if (MSVC)
-@@ -173,8 +179,6 @@
- /opt/local/include/ufsparse # Mac OS X
- /usr/local/homebrew/include # Mac OS X
- /usr/local/include
-- /usr/local/include/suitesparse
-- /usr/include/suitesparse # Ubuntu
- /usr/include)
- list(APPEND SUITESPARSE_CHECK_LIBRARY_DIRS
- ${SUITESPARSE_LIBRARY_DIR_HINTS}
-@@ -182,9 +186,10 @@
- /opt/local/lib/ufsparse # Mac OS X
- /usr/local/homebrew/lib # Mac OS X
- /usr/local/lib
-- /usr/local/lib/suitesparse
-- /usr/lib/suitesparse # Ubuntu
- /usr/lib)
-+# Additional suffixes to try appending to each search path.
-+list(APPEND SUITESPARSE_CHECK_PATH_SUFFIXES
-+ suitesparse) # Windows/Ubuntu
-
- # Given the number of components of SuiteSparse, and to ensure that the
- # automatic failure message generated by FindPackageHandleStandardArgs()
-@@ -212,7 +217,8 @@
- set(AMD_FOUND TRUE)
- list(APPEND SUITESPARSE_FOUND_REQUIRED_VARS AMD_FOUND)
- find_library(AMD_LIBRARY NAMES amd
-- PATHS ${SUITESPARSE_CHECK_LIBRARY_DIRS})
-+ PATHS ${SUITESPARSE_CHECK_LIBRARY_DIRS}
-+ PATH_SUFFIXES ${SUITESPARSE_CHECK_PATH_SUFFIXES})
- if (EXISTS ${AMD_LIBRARY})
- message(STATUS "Found AMD library: ${AMD_LIBRARY}")
- else (EXISTS ${AMD_LIBRARY})
-@@ -223,7 +229,8 @@
- mark_as_advanced(AMD_LIBRARY)
-
- find_path(AMD_INCLUDE_DIR NAMES amd.h
-- PATHS ${SUITESPARSE_CHECK_INCLUDE_DIRS})
-+ PATHS ${SUITESPARSE_CHECK_INCLUDE_DIRS}
-+ PATH_SUFFIXES ${SUITESPARSE_CHECK_PATH_SUFFIXES})
- if (EXISTS ${AMD_INCLUDE_DIR})
- message(STATUS "Found AMD header in: ${AMD_INCLUDE_DIR}")
- else (EXISTS ${AMD_INCLUDE_DIR})
-@@ -237,7 +244,8 @@
- set(CAMD_FOUND TRUE)
- list(APPEND SUITESPARSE_FOUND_REQUIRED_VARS CAMD_FOUND)
- find_library(CAMD_LIBRARY NAMES camd
-- PATHS ${SUITESPARSE_CHECK_LIBRARY_DIRS})
-+ PATHS ${SUITESPARSE_CHECK_LIBRARY_DIRS}
-+ PATH_SUFFIXES ${SUITESPARSE_CHECK_PATH_SUFFIXES})
- if (EXISTS ${CAMD_LIBRARY})
- message(STATUS "Found CAMD library: ${CAMD_LIBRARY}")
- else (EXISTS ${CAMD_LIBRARY})
-@@ -248,7 +256,8 @@
- mark_as_advanced(CAMD_LIBRARY)
-
- find_path(CAMD_INCLUDE_DIR NAMES camd.h
-- PATHS ${SUITESPARSE_CHECK_INCLUDE_DIRS})
-+ PATHS ${SUITESPARSE_CHECK_INCLUDE_DIRS}
-+ PATH_SUFFIXES ${SUITESPARSE_CHECK_PATH_SUFFIXES})
- if (EXISTS ${CAMD_INCLUDE_DIR})
- message(STATUS "Found CAMD header in: ${CAMD_INCLUDE_DIR}")
- else (EXISTS ${CAMD_INCLUDE_DIR})
-@@ -262,7 +271,8 @@
- set(COLAMD_FOUND TRUE)
- list(APPEND SUITESPARSE_FOUND_REQUIRED_VARS COLAMD_FOUND)
- find_library(COLAMD_LIBRARY NAMES colamd
-- PATHS ${SUITESPARSE_CHECK_LIBRARY_DIRS})
-+ PATHS ${SUITESPARSE_CHECK_LIBRARY_DIRS}
-+ PATH_SUFFIXES ${SUITESPARSE_CHECK_PATH_SUFFIXES})
- if (EXISTS ${COLAMD_LIBRARY})
- message(STATUS "Found COLAMD library: ${COLAMD_LIBRARY}")
- else (EXISTS ${COLAMD_LIBRARY})
-@@ -273,7 +283,8 @@
- mark_as_advanced(COLAMD_LIBRARY)
-
- find_path(COLAMD_INCLUDE_DIR NAMES colamd.h
-- PATHS ${SUITESPARSE_CHECK_INCLUDE_DIRS})
-+ PATHS ${SUITESPARSE_CHECK_INCLUDE_DIRS}
-+ PATH_SUFFIXES ${SUITESPARSE_CHECK_PATH_SUFFIXES})
- if (EXISTS ${COLAMD_INCLUDE_DIR})
- message(STATUS "Found COLAMD header in: ${COLAMD_INCLUDE_DIR}")
- else (EXISTS ${COLAMD_INCLUDE_DIR})
-@@ -287,7 +298,8 @@
- set(CCOLAMD_FOUND TRUE)
- list(APPEND SUITESPARSE_FOUND_REQUIRED_VARS CCOLAMD_FOUND)
- find_library(CCOLAMD_LIBRARY NAMES ccolamd
-- PATHS ${SUITESPARSE_CHECK_LIBRARY_DIRS})
-+ PATHS ${SUITESPARSE_CHECK_LIBRARY_DIRS}
-+ PATH_SUFFIXES ${SUITESPARSE_CHECK_PATH_SUFFIXES})
- if (EXISTS ${CCOLAMD_LIBRARY})
- message(STATUS "Found CCOLAMD library: ${CCOLAMD_LIBRARY}")
- else (EXISTS ${CCOLAMD_LIBRARY})
-@@ -298,7 +310,8 @@
- mark_as_advanced(CCOLAMD_LIBRARY)
-
- find_path(CCOLAMD_INCLUDE_DIR NAMES ccolamd.h
-- PATHS ${SUITESPARSE_CHECK_INCLUDE_DIRS})
-+ PATHS ${SUITESPARSE_CHECK_INCLUDE_DIRS}
-+ PATH_SUFFIXES ${SUITESPARSE_CHECK_PATH_SUFFIXES})
- if (EXISTS ${CCOLAMD_INCLUDE_DIR})
- message(STATUS "Found CCOLAMD header in: ${CCOLAMD_INCLUDE_DIR}")
- else (EXISTS ${CCOLAMD_INCLUDE_DIR})
-@@ -312,7 +325,8 @@
- set(CHOLMOD_FOUND TRUE)
- list(APPEND SUITESPARSE_FOUND_REQUIRED_VARS CHOLMOD_FOUND)
- find_library(CHOLMOD_LIBRARY NAMES cholmod
-- PATHS ${SUITESPARSE_CHECK_LIBRARY_DIRS})
-+ PATHS ${SUITESPARSE_CHECK_LIBRARY_DIRS}
-+ PATH_SUFFIXES ${SUITESPARSE_CHECK_PATH_SUFFIXES})
- if (EXISTS ${CHOLMOD_LIBRARY})
- message(STATUS "Found CHOLMOD library: ${CHOLMOD_LIBRARY}")
- else (EXISTS ${CHOLMOD_LIBRARY})
-@@ -323,7 +337,8 @@
- mark_as_advanced(CHOLMOD_LIBRARY)
-
- find_path(CHOLMOD_INCLUDE_DIR NAMES cholmod.h
-- PATHS ${SUITESPARSE_CHECK_INCLUDE_DIRS})
-+ PATHS ${SUITESPARSE_CHECK_INCLUDE_DIRS}
-+ PATH_SUFFIXES ${SUITESPARSE_CHECK_PATH_SUFFIXES})
- if (EXISTS ${CHOLMOD_INCLUDE_DIR})
- message(STATUS "Found CHOLMOD header in: ${CHOLMOD_INCLUDE_DIR}")
- else (EXISTS ${CHOLMOD_INCLUDE_DIR})
-@@ -337,7 +352,8 @@
- set(SUITESPARSEQR_FOUND TRUE)
- list(APPEND SUITESPARSE_FOUND_REQUIRED_VARS SUITESPARSEQR_FOUND)
- find_library(SUITESPARSEQR_LIBRARY NAMES spqr
-- PATHS ${SUITESPARSE_CHECK_LIBRARY_DIRS})
-+ PATHS ${SUITESPARSE_CHECK_LIBRARY_DIRS}
-+ PATH_SUFFIXES ${SUITESPARSE_CHECK_PATH_SUFFIXES})
- if (EXISTS ${SUITESPARSEQR_LIBRARY})
- message(STATUS "Found SuiteSparseQR library: ${SUITESPARSEQR_LIBRARY}")
- else (EXISTS ${SUITESPARSEQR_LIBRARY})
-@@ -348,7 +364,8 @@
- mark_as_advanced(SUITESPARSEQR_LIBRARY)
-
- find_path(SUITESPARSEQR_INCLUDE_DIR NAMES SuiteSparseQR.hpp
-- PATHS ${SUITESPARSE_CHECK_INCLUDE_DIRS})
-+ PATHS ${SUITESPARSE_CHECK_INCLUDE_DIRS}
-+ PATH_SUFFIXES ${SUITESPARSE_CHECK_PATH_SUFFIXES})
- if (EXISTS ${SUITESPARSEQR_INCLUDE_DIR})
- message(STATUS "Found SuiteSparseQR header in: ${SUITESPARSEQR_INCLUDE_DIR}")
- else (EXISTS ${SUITESPARSEQR_INCLUDE_DIR})
-@@ -364,7 +381,8 @@
- # support for it, this will do no harm if it wasn't.
- set(TBB_FOUND TRUE)
- find_library(TBB_LIBRARIES NAMES tbb
-- PATHS ${SUITESPARSE_CHECK_LIBRARY_DIRS})
-+ PATHS ${SUITESPARSE_CHECK_LIBRARY_DIRS}
-+ PATH_SUFFIXES ${SUITESPARSE_CHECK_PATH_SUFFIXES})
- if (EXISTS ${TBB_LIBRARIES})
- message(STATUS "Found Intel Thread Building Blocks (TBB) library: "
- "${TBB_LIBRARIES}, assuming SuiteSparseQR was compiled with TBB.")
-@@ -377,7 +395,8 @@
-
- if (TBB_FOUND)
- find_library(TBB_MALLOC_LIB NAMES tbbmalloc
-- PATHS ${SUITESPARSE_CHECK_LIBRARY_DIRS})
-+ PATHS ${SUITESPARSE_CHECK_LIBRARY_DIRS}
-+ PATH_SUFFIXES ${SUITESPARSE_CHECK_PATH_SUFFIXES})
- if (EXISTS ${TBB_MALLOC_LIB})
- message(STATUS "Found Intel Thread Building Blocks (TBB) Malloc library: "
- "${TBB_MALLOC_LIB}")
-@@ -407,7 +426,8 @@
- # If SuiteSparse version is >= 4 then SuiteSparse_config is required.
- # For SuiteSparse 3, UFconfig.h is required.
- find_library(SUITESPARSE_CONFIG_LIBRARY NAMES suitesparseconfig
-- PATHS ${SUITESPARSE_CHECK_LIBRARY_DIRS})
-+ PATHS ${SUITESPARSE_CHECK_LIBRARY_DIRS}
-+ PATH_SUFFIXES ${SUITESPARSE_CHECK_PATH_SUFFIXES})
- if (EXISTS ${SUITESPARSE_CONFIG_LIBRARY})
- message(STATUS "Found SuiteSparse_config library: "
- "${SUITESPARSE_CONFIG_LIBRARY}")
-@@ -415,7 +435,8 @@
- mark_as_advanced(SUITESPARSE_CONFIG_LIBRARY)
-
- find_path(SUITESPARSE_CONFIG_INCLUDE_DIR NAMES SuiteSparse_config.h
-- PATHS ${SUITESPARSE_CHECK_INCLUDE_DIRS})
-+ PATHS ${SUITESPARSE_CHECK_INCLUDE_DIRS}
-+ PATH_SUFFIXES ${SUITESPARSE_CHECK_PATH_SUFFIXES})
- if (EXISTS ${SUITESPARSE_CONFIG_INCLUDE_DIR})
- message(STATUS "Found SuiteSparse_config header in: "
- "${SUITESPARSE_CONFIG_INCLUDE_DIR}")
-@@ -433,7 +454,8 @@
- # does not have librt).
- if (CMAKE_SYSTEM_NAME MATCHES "Linux" OR UNIX AND NOT APPLE)
- find_library(LIBRT_LIBRARY NAMES rt
-- PATHS ${SUITESPARSE_CHECK_LIBRARY_DIRS})
-+ PATHS ${SUITESPARSE_CHECK_LIBRARY_DIRS}
-+ PATH_SUFFIXES ${SUITESPARSE_CHECK_PATH_SUFFIXES})
- if (LIBRT_LIBRARY)
- message(STATUS "Adding librt: ${LIBRT_LIBRARY} to "
- "SuiteSparse_config libraries (required on Linux & Unix [not OSX] if "
-@@ -452,7 +474,8 @@
- # UFconfig header which should be present in < v4 installs.
- set(SUITESPARSE_CONFIG_FOUND FALSE)
- find_path(UFCONFIG_INCLUDE_DIR NAMES UFconfig.h
-- PATHS ${SUITESPARSE_CHECK_INCLUDE_DIRS})
-+ PATHS ${SUITESPARSE_CHECK_INCLUDE_DIRS}
-+ PATH_SUFFIXES ${SUITESPARSE_CHECK_PATH_SUFFIXES})
- if (EXISTS ${UFCONFIG_INCLUDE_DIR})
- message(STATUS "Found UFconfig header in: ${UFCONFIG_INCLUDE_DIR}")
- set(UFCONFIG_FOUND TRUE)
-@@ -543,7 +566,8 @@
-
- # METIS (Optional dependency).
- find_library(METIS_LIBRARY NAMES metis
-- PATHS ${SUITESPARSE_CHECK_LIBRARY_DIRS})
-+ PATHS ${SUITESPARSE_CHECK_LIBRARY_DIRS}
-+ PATH_SUFFIXES ${SUITESPARSE_CHECK_PATH_SUFFIXES})
- if (EXISTS ${METIS_LIBRARY})
- message(STATUS "Found METIS library: ${METIS_LIBRARY}.")
- set(METIS_FOUND TRUE)
diff --git a/ports/theia/fix-glog-error.patch b/ports/theia/fix-glog-error.patch
deleted file mode 100644
index 1e72c9f35..000000000
--- a/ports/theia/fix-glog-error.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 9c1b150..6518e6a 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -146,6 +146,7 @@ else (GLOG_FOUND)
- message(FATAL_ERROR "Can't find Google Logging. Please set GLOG_INCLUDE_DIR & "
- "GLOG_LIBRARY")
- endif (GLOG_FOUND)
-+add_definitions(-DGLOG_NO_ABBREVIATED_SEVERITIES)
-
- # Ceres
- message("-- Check for Ceres")
diff --git a/ports/theia/fix-oiio.patch b/ports/theia/fix-oiio.patch
deleted file mode 100644
index 7cba45db7..000000000
--- a/ports/theia/fix-oiio.patch
+++ /dev/null
@@ -1,391 +0,0 @@
-diff --git a/src/theia/image/image.cc b/src/theia/image/image.cc
-index df6aba4..5e2b8dc 100644
---- a/src/theia/image/image.cc
-+++ b/src/theia/image/image.cc
-@@ -60,18 +60,18 @@ FloatImage::FloatImage(const FloatImage& image_to_copy) {
- }
-
- FloatImage::FloatImage(const int width, const int height, const int channels) {
-- OpenImageIO::ImageSpec image_spec(width, height, channels,
-- OpenImageIO::TypeDesc::FLOAT);
-+ OIIO_NAMESPACE::ImageSpec image_spec(width, height, channels,
-+ OIIO_NAMESPACE::TypeDesc::FLOAT);
- image_.reset(image_spec);
- }
-
- FloatImage::FloatImage(const int width, const int height, const int channels,
- float* buffer)
-- : image_(OpenImageIO::ImageSpec(width, height, channels,
-- OpenImageIO::TypeDesc::FLOAT),
-+ : image_(OIIO_NAMESPACE::ImageSpec(width, height, channels,
-+ OIIO_NAMESPACE::TypeDesc::FLOAT),
- reinterpret_cast<void*>(buffer)) {}
-
--FloatImage::FloatImage(const OpenImageIO::ImageBuf& image) {
-+FloatImage::FloatImage(const OIIO_NAMESPACE::ImageBuf& image) {
- image_.copy(image);
- }
-
-@@ -80,11 +80,11 @@ FloatImage& FloatImage::operator=(const FloatImage& image2) {
- return *this;
- }
-
--OpenImageIO::ImageBuf& FloatImage::GetOpenImageIOImageBuf() {
-+OIIO_NAMESPACE::ImageBuf& FloatImage::GetOpenImageIOImageBuf() {
- return image_;
- }
-
--const OpenImageIO::ImageBuf& FloatImage::GetOpenImageIOImageBuf() const {
-+const OIIO_NAMESPACE::ImageBuf& FloatImage::GetOpenImageIOImageBuf() const {
- return image_;
- }
-
-@@ -110,7 +110,7 @@ void FloatImage::SetXY(const int x,
- DCHECK_LT(c, Channels());
-
- // Set the ROI to be the precise pixel location in the correct channel.
-- OpenImageIO::ImageBuf::Iterator<float> it(image_, x, y, 0);
-+ OIIO_NAMESPACE::ImageBuf::Iterator<float> it(image_, x, y, 0);
- it[c] = value;
- }
-
-@@ -195,9 +195,9 @@ void FloatImage::ConvertToGrayscaleImage() {
- // Compute luminance via a weighted sum of R,G,B (assuming Rec709 primaries
- // and a linear scale)
- const float luma_weights[3] = {.2126, .7152, .0722};
-- OpenImageIO::ImageBuf source = image_;
-+ OIIO_NAMESPACE::ImageBuf source = image_;
- image_.clear();
-- OpenImageIO::ImageBufAlgo::channel_sum(image_, source, luma_weights);
-+ OIIO_NAMESPACE::ImageBufAlgo::channel_sum(image_, source, luma_weights);
- }
-
- void FloatImage::ConvertToRGBImage() {
-@@ -207,13 +207,13 @@ void FloatImage::ConvertToRGBImage() {
- }
-
- // Copy the single grayscale channel into r, g, and b.
-- const OpenImageIO::ImageBuf source(image_);
-- OpenImageIO::ImageSpec image_spec(Width(), Height(), 3,
-- OpenImageIO::TypeDesc::FLOAT);
-+ const OIIO_NAMESPACE::ImageBuf source(image_);
-+ OIIO_NAMESPACE::ImageSpec image_spec(Width(), Height(), 3,
-+ OIIO_NAMESPACE::TypeDesc::FLOAT);
- image_.reset(image_spec);
-- OpenImageIO::ImageBufAlgo::paste(image_, 0, 0, 0, 0, source);
-- OpenImageIO::ImageBufAlgo::paste(image_, 0, 0, 0, 1, source);
-- OpenImageIO::ImageBufAlgo::paste(image_, 0, 0, 0, 2, source);
-+ OIIO_NAMESPACE::ImageBufAlgo::paste(image_, 0, 0, 0, 0, source);
-+ OIIO_NAMESPACE::ImageBufAlgo::paste(image_, 0, 0, 0, 1, source);
-+ OIIO_NAMESPACE::ImageBufAlgo::paste(image_, 0, 0, 0, 2, source);
- }
-
- FloatImage FloatImage::AsGrayscaleImage() const {
-@@ -238,12 +238,12 @@ FloatImage FloatImage::AsRGBImage() const {
- }
-
- void FloatImage::ScalePixels(float scale) {
-- OpenImageIO::ImageBufAlgo::mul(image_, image_, scale);
-+ OIIO_NAMESPACE::ImageBufAlgo::mul(image_, image_, scale);
- }
-
- void FloatImage::Read(const std::string& filename) {
- image_.reset(filename);
-- image_.read(0, 0, true, OpenImageIO::TypeDesc::FLOAT);
-+ image_.read(0, 0, true, OIIO_NAMESPACE::TypeDesc::FLOAT);
- }
-
- void FloatImage::Write(const std::string& filename) const {
-@@ -259,19 +259,19 @@ const float* FloatImage::Data() const {
-
- FloatImage FloatImage::ComputeGradientX() const {
- float sobel_filter_x[9] = {-.125, 0, .125, -.25, 0, .25, -.125, 0, .125};
-- OpenImageIO::ImageSpec spec(3, 3, 1, OpenImageIO::TypeDesc::FLOAT);
-- OpenImageIO::ImageBuf kernel_x(spec, sobel_filter_x);
-- OpenImageIO::ImageBuf gradient_x;
-- OpenImageIO::ImageBufAlgo::convolve(gradient_x, image_, kernel_x, false);
-+ OIIO_NAMESPACE::ImageSpec spec(3, 3, 1, OIIO_NAMESPACE::TypeDesc::FLOAT);
-+ OIIO_NAMESPACE::ImageBuf kernel_x(spec, sobel_filter_x);
-+ OIIO_NAMESPACE::ImageBuf gradient_x;
-+ OIIO_NAMESPACE::ImageBufAlgo::convolve(gradient_x, image_, kernel_x, false);
- return FloatImage(gradient_x);
- }
-
- FloatImage FloatImage::ComputeGradientY() const {
- float sobel_filter_y[9] = {-.125, -.25, -.125, 0, 0, 0, .125, .25, .125};
-- OpenImageIO::ImageSpec spec(3, 3, 1, OpenImageIO::TypeDesc::FLOAT);
-- OpenImageIO::ImageBuf kernel_y(spec, sobel_filter_y);
-- OpenImageIO::ImageBuf gradient_y;
-- OpenImageIO::ImageBufAlgo::convolve(gradient_y, image_, kernel_y, false);
-+ OIIO_NAMESPACE::ImageSpec spec(3, 3, 1, OIIO_NAMESPACE::TypeDesc::FLOAT);
-+ OIIO_NAMESPACE::ImageBuf kernel_y(spec, sobel_filter_y);
-+ OIIO_NAMESPACE::ImageBuf gradient_y;
-+ OIIO_NAMESPACE::ImageBufAlgo::convolve(gradient_y, image_, kernel_y, false);
- return FloatImage(gradient_y);
- }
-
-@@ -280,28 +280,28 @@ FloatImage FloatImage::ComputeGradient() const {
- float sobel_filter_x[9] = {-.125, 0, .125, -.25, 0, .25, -.125, 0, .125};
- float sobel_filter_y[9] = {-.125, -.25, -.125, 0, 0, 0, .125, .25, .125};
-
-- OpenImageIO::ImageSpec spec(3, 3, 1, OpenImageIO::TypeDesc::FLOAT);
-- OpenImageIO::ImageBuf kernel_x(spec, sobel_filter_x);
-- OpenImageIO::ImageBuf kernel_y(spec, sobel_filter_y);
-+ OIIO_NAMESPACE::ImageSpec spec(3, 3, 1, OIIO_NAMESPACE::TypeDesc::FLOAT);
-+ OIIO_NAMESPACE::ImageBuf kernel_x(spec, sobel_filter_x);
-+ OIIO_NAMESPACE::ImageBuf kernel_y(spec, sobel_filter_y);
-
-- OpenImageIO::ImageBuf gradient, gradient_x, gradient_y;
-- OpenImageIO::ImageBufAlgo::convolve(gradient_x, image_, kernel_x, false);
-- OpenImageIO::ImageBufAlgo::abs(gradient_x, gradient_x);
-- OpenImageIO::ImageBufAlgo::convolve(gradient_y, image_, kernel_y, false);
-- OpenImageIO::ImageBufAlgo::abs(gradient_y, gradient_y);
-- OpenImageIO::ImageBufAlgo::add(gradient, gradient_x, gradient_y);
-+ OIIO_NAMESPACE::ImageBuf gradient, gradient_x, gradient_y;
-+ OIIO_NAMESPACE::ImageBufAlgo::convolve(gradient_x, image_, kernel_x, false);
-+ OIIO_NAMESPACE::ImageBufAlgo::abs(gradient_x, gradient_x);
-+ OIIO_NAMESPACE::ImageBufAlgo::convolve(gradient_y, image_, kernel_y, false);
-+ OIIO_NAMESPACE::ImageBufAlgo::abs(gradient_y, gradient_y);
-+ OIIO_NAMESPACE::ImageBufAlgo::add(gradient, gradient_x, gradient_y);
-
- return FloatImage(gradient);
- }
-
- void FloatImage::ApproximateGaussianBlur(const double sigma) {
-- OpenImageIO::ImageBuf kernel;
-- OpenImageIO::ImageBufAlgo::make_kernel(kernel, "gaussian", 5.0f, 5.0f);
-- OpenImageIO::ImageBufAlgo::convolve(image_, image_, kernel);
-+ OIIO_NAMESPACE::ImageBuf kernel;
-+ OIIO_NAMESPACE::ImageBufAlgo::make_kernel(kernel, "gaussian", 5.0f, 5.0f);
-+ OIIO_NAMESPACE::ImageBufAlgo::convolve(image_, image_, kernel);
- }
-
- void FloatImage::MedianFilter(const int patch_width) {
-- CHECK(OpenImageIO::ImageBufAlgo::median_filter(image_, image_, patch_width));
-+ CHECK(OIIO_NAMESPACE::ImageBufAlgo::median_filter(image_, image_, patch_width));
- }
-
- void FloatImage::Integrate(FloatImage* integral) const {
-@@ -327,14 +327,14 @@ void FloatImage::Resize(int new_width, int new_height) {
- // If the image has not been initialized then initialize it with the image
- // spec. Otherwise resize the image and interpolate pixels accordingly.
- if (!image_.initialized()) {
-- OpenImageIO::ImageSpec image_spec(new_width, new_height, Channels(),
-- OpenImageIO::TypeDesc::FLOAT);
-+ OIIO_NAMESPACE::ImageSpec image_spec(new_width, new_height, Channels(),
-+ OIIO_NAMESPACE::TypeDesc::FLOAT);
- image_.reset(image_spec);
- } else {
-- OpenImageIO::ROI roi(0, new_width, 0, new_height, 0, 1, 0, Channels());
-- OpenImageIO::ImageBuf dst;
-- CHECK(OpenImageIO::ImageBufAlgo::resize(dst, image_, nullptr, roi))
-- << OpenImageIO::geterror();
-+ OIIO_NAMESPACE::ROI roi(0, new_width, 0, new_height, 0, 1, 0, Channels());
-+ OIIO_NAMESPACE::ImageBuf dst;
-+ CHECK(OIIO_NAMESPACE::ImageBufAlgo::resize(dst, image_, nullptr, roi))
-+ << OIIO_NAMESPACE::geterror();
- image_.copy(dst);
- }
- }
-diff --git a/src/theia/image/image.h b/src/theia/image/image.h
-index e4f22cc..29122d2 100644
---- a/src/theia/image/image.h
-+++ b/src/theia/image/image.h
-@@ -64,7 +64,7 @@ class FloatImage {
-
- // Copy function. This is a deep copy of the image.
- FloatImage(const FloatImage& image_to_copy);
-- explicit FloatImage(const OpenImageIO::ImageBuf& image);
-+ explicit FloatImage(const OIIO_NAMESPACE::ImageBuf& image);
- FloatImage& operator=(const FloatImage& image2);
- ~FloatImage() {}
-
-@@ -74,8 +74,8 @@ class FloatImage {
- // wrapper for all algorithms. Getting a reference to the ImageBuf provides
- // efficient access to the image data so that the image processing algorithms
- // or other manipulations may be executed on the pixels.
-- OpenImageIO::ImageBuf& GetOpenImageIOImageBuf();
-- const OpenImageIO::ImageBuf& GetOpenImageIOImageBuf() const;
-+ OIIO_NAMESPACE::ImageBuf& GetOpenImageIOImageBuf();
-+ const OIIO_NAMESPACE::ImageBuf& GetOpenImageIOImageBuf() const;
-
- // Image information
- int Rows() const;
-@@ -171,7 +171,7 @@ class FloatImage {
- void Resize(double scale);
-
- protected:
-- OpenImageIO::ImageBuf image_;
-+ OIIO_NAMESPACE::ImageBuf image_;
- };
- } // namespace theia
-
-diff --git a/src/theia/image/image_test.cc b/src/theia/image/image_test.cc
-index 894dc30..340488d 100644
---- a/src/theia/image/image_test.cc
-+++ b/src/theia/image/image_test.cc
-@@ -53,11 +53,11 @@ RandomNumberGenerator rng(51);
- std::string img_filename = THEIA_DATA_DIR + std::string("/") + FLAGS_test_img;
-
- #define ASSERT_IMG_EQ(oiio_img, theia_img, rows, cols) \
-- oiio_img.read(0, 0, true, OpenImageIO::TypeDesc::FLOAT); \
-+ oiio_img.read(0, 0, true, OIIO_NAMESPACE::TypeDesc::FLOAT); \
- ASSERT_EQ(oiio_img.oriented_width(), theia_img.Cols()); \
- ASSERT_EQ(oiio_img.oriented_height(), theia_img.Rows()); \
- ASSERT_EQ(oiio_img.nchannels(), theia_img.Channels()); \
-- OpenImageIO::ImageBuf::ConstIterator<float> it(oiio_img); \
-+ OIIO_NAMESPACE::ImageBuf::ConstIterator<float> it(oiio_img); \
- for (; !it.done(); ++it) { \
- for (int c = 0; c < oiio_img.nchannels(); c++) { \
- ASSERT_EQ(it[c], theia_img.GetXY(it.x(), it.y(), c)); \
-@@ -89,7 +89,7 @@ float Interpolate(const FloatImage& image,
-
- // Test that inputting the old fashioned way is the same as through our class.
- TEST(Image, RGBInput) {
-- OpenImageIO::ImageBuf oiio_img(img_filename.c_str());
-+ OIIO_NAMESPACE::ImageBuf oiio_img(img_filename.c_str());
- oiio_img.read();
- FloatImage theia_img(img_filename);
-
-@@ -102,7 +102,7 @@ TEST(Image, RGBInput) {
-
- // Test that width and height methods work.
- TEST(Image, RGBColsRows) {
-- OpenImageIO::ImageBuf oiio_img(img_filename.c_str());
-+ OIIO_NAMESPACE::ImageBuf oiio_img(img_filename.c_str());
- FloatImage theia_img(img_filename);
-
- int true_height = oiio_img.oriented_height();
-@@ -114,10 +114,10 @@ TEST(Image, RGBColsRows) {
-
- // Test that inputting the old fashioned way is the same as through our class.
- TEST(Image, ConvertToGrayscaleImage) {
-- OpenImageIO::ImageBuf oiio_img(img_filename.c_str());
-- OpenImageIO::ImageBuf gray_img;
-+ OIIO_NAMESPACE::ImageBuf oiio_img(img_filename.c_str());
-+ OIIO_NAMESPACE::ImageBuf gray_img;
- const float luma_weights[3] = {.2126, .7152, .0722};
-- OpenImageIO::ImageBufAlgo::channel_sum(gray_img, oiio_img, luma_weights);
-+ OIIO_NAMESPACE::ImageBufAlgo::channel_sum(gray_img, oiio_img, luma_weights);
-
- FloatImage theia_img(img_filename);
- theia_img.ConvertToGrayscaleImage();
-@@ -131,10 +131,10 @@ TEST(Image, ConvertToGrayscaleImage) {
- }
-
- TEST(Image, ConvertToRGBImage) {
-- OpenImageIO::ImageBuf oiio_img(img_filename.c_str());
-- OpenImageIO::ImageBuf gray_img;
-+ OIIO_NAMESPACE::ImageBuf oiio_img(img_filename.c_str());
-+ OIIO_NAMESPACE::ImageBuf gray_img;
- const float luma_weights[3] = {.2126, .7152, .0722};
-- OpenImageIO::ImageBufAlgo::channel_sum(gray_img, oiio_img, luma_weights);
-+ OIIO_NAMESPACE::ImageBufAlgo::channel_sum(gray_img, oiio_img, luma_weights);
-
- // This should result in an image with the grayscale image copied in each
- // channel.
-@@ -148,7 +148,7 @@ TEST(Image, ConvertToRGBImage) {
-
- // Check that all channels have equal value and that the value is equal to the
- // grayscale image.
-- for (OpenImageIO::ImageBuf::ConstIterator<float> it(gray_img);
-+ for (OIIO_NAMESPACE::ImageBuf::ConstIterator<float> it(gray_img);
- !it.done();
- ++it) {
- ASSERT_EQ(it[0], rgb_img.GetXY(it.x(), it.y(), 0));
-diff --git a/src/theia/sfm/exif_reader.cc b/src/theia/sfm/exif_reader.cc
-index 48c049a..fea884d 100644
---- a/src/theia/sfm/exif_reader.cc
-+++ b/src/theia/sfm/exif_reader.cc
-@@ -127,8 +127,8 @@ bool ExifReader::ExtractEXIFMetadata(
- CameraIntrinsicsPrior* camera_intrinsics_prior) const {
- CHECK_NOTNULL(camera_intrinsics_prior);
-
-- OpenImageIO::ImageBuf image(image_file);
-- OpenImageIO::ImageSpec image_spec = image.spec();
-+ OIIO_NAMESPACE::ImageBuf image(image_file);
-+ OIIO_NAMESPACE::ImageSpec image_spec = image.spec();
-
- // Set the image dimensions.
- camera_intrinsics_prior->image_width = image_spec.width;
-@@ -154,7 +154,7 @@ bool ExifReader::ExtractEXIFMetadata(
- camera_intrinsics_prior->focal_length.is_set = true;
-
- // Set GPS latitude.
-- const OpenImageIO::ImageIOParameter* latitude =
-+ const OIIO_NAMESPACE::ImageIOParameter* latitude =
- image_spec.find_attribute("GPS:Latitude");
- if (latitude != nullptr) {
- camera_intrinsics_prior->latitude.is_set = true;
-@@ -173,7 +173,7 @@ bool ExifReader::ExtractEXIFMetadata(
- }
-
- // Set GPS longitude.
-- const OpenImageIO::ImageIOParameter* longitude =
-+ const OIIO_NAMESPACE::ImageIOParameter* longitude =
- image_spec.find_attribute("GPS:Longitude");
- if (longitude != nullptr) {
- camera_intrinsics_prior->longitude.is_set = true;
-@@ -193,7 +193,7 @@ bool ExifReader::ExtractEXIFMetadata(
-
-
- // Set GSP altitude.
-- const OpenImageIO::ImageIOParameter* altitude =
-+ const OIIO_NAMESPACE::ImageIOParameter* altitude =
- image_spec.find_attribute("GPS:Altitude");
- if (altitude != nullptr) {
- camera_intrinsics_prior->altitude.is_set = true;
-@@ -205,7 +205,7 @@ bool ExifReader::ExtractEXIFMetadata(
- }
-
- bool ExifReader::SetFocalLengthFromExif(
-- const OpenImageIO::ImageSpec& image_spec,
-+ const OIIO_NAMESPACE::ImageSpec& image_spec,
- CameraIntrinsicsPrior* camera_intrinsics_prior) const {
- static const float kMinFocalLength = 1e-2;
-
-@@ -268,7 +268,7 @@ bool ExifReader::SetFocalLengthFromExif(
- }
-
- bool ExifReader::SetFocalLengthFromSensorDatabase(
-- const OpenImageIO::ImageSpec& image_spec,
-+ const OIIO_NAMESPACE::ImageSpec& image_spec,
- CameraIntrinsicsPrior* camera_intrinsics_prior) const {
- const int max_image_dimension = std::max(image_spec.width, image_spec.height);
- const float exif_focal_length =
-diff --git a/src/theia/sfm/exif_reader.h b/src/theia/sfm/exif_reader.h
-index 3049cf4..d9d3108 100644
---- a/src/theia/sfm/exif_reader.h
-+++ b/src/theia/sfm/exif_reader.h
-@@ -74,13 +74,13 @@ class ExifReader {
- // Sets the focal length from the focal plane resolution. Returns true if a
- // valid focal length is found and false otherwise.
- bool SetFocalLengthFromExif(
-- const OpenImageIO::ImageSpec& image_spec,
-+ const OIIO_NAMESPACE::ImageSpec& image_spec,
- CameraIntrinsicsPrior* camera_intrinsics_prior) const;
-
- // Sets the focal length from a look up in the sensor width database. Returns
- // true if a valid focal length is found and false otherwise.
- bool SetFocalLengthFromSensorDatabase(
-- const OpenImageIO::ImageSpec& image_spec,
-+ const OIIO_NAMESPACE::ImageSpec& image_spec,
- CameraIntrinsicsPrior* camera_intrinsics_prior) const;
-
- std::unordered_map<std::string, double> sensor_width_database_;
-diff --git a/src/theia/sfm/undistort_image.cc b/src/theia/sfm/undistort_image.cc
-index 95a061d..ae0690e 100644
---- a/src/theia/sfm/undistort_image.cc
-+++ b/src/theia/sfm/undistort_image.cc
-@@ -160,9 +160,9 @@ void RemoveImageLensDistortion(const Camera& distorted_camera,
- // For each pixel in the undistorted image, find the coordinate in the
- // distorted image and set the pixel color accordingly.
- const int num_channels = distorted_image.Channels();
-- OpenImageIO::ImageBuf& undistorted_img =
-+ OIIO_NAMESPACE::ImageBuf& undistorted_img =
- undistorted_image->GetOpenImageIOImageBuf();
-- OpenImageIO::ImageBuf::Iterator<float> undistorted_it(undistorted_img);
-+ OIIO_NAMESPACE::ImageBuf::Iterator<float> undistorted_it(undistorted_img);
- for (; !undistorted_it.done(); ++undistorted_it) {
- Eigen::Vector2d image_point(undistorted_it.x() + 0.5,
- undistorted_it.y() + 0.5);
diff --git a/ports/theia/fix-vlfeat-static.patch b/ports/theia/fix-vlfeat-static.patch
deleted file mode 100644
index cbade039f..000000000
--- a/ports/theia/fix-vlfeat-static.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-diff --git a/libraries/vlfeat/CMakeLists.txt b/libraries/vlfeat/CMakeLists.txt
-index d248bcf..24469c9 100644
---- a/libraries/vlfeat/CMakeLists.txt
-+++ b/libraries/vlfeat/CMakeLists.txt
-@@ -16,11 +16,11 @@ set(vl_sources
- set_source_files_properties(${vl_sources} PROPERTIES LANGUAGE C)
-
- if (MSVC)
-- add_definitions(-DVL_BUILD_DLL)
-+ #add_definitions(-DVL_BUILD_DLL)
- add_definitions(-DVL_DISABLE_SSE2)
- endif (MSVC)
-
--add_library(vlfeat SHARED ${vl_sources})
-+add_library(vlfeat ${vl_sources})
- install(TARGETS vlfeat
- EXPORT TheiaExport
- RUNTIME DESTINATION bin
-diff --git a/libraries/vlfeat/vl/host.h b/libraries/vlfeat/vl/host.h
-index 4fdb86c..01c1134 100644
---- a/libraries/vlfeat/vl/host.h
-+++ b/libraries/vlfeat/vl/host.h
-@@ -316,18 +316,24 @@ defined(__DOXYGEN__)
- # define snprintf _snprintf
- # define isnan _isnan
- #endif
--# ifdef VL_BUILD_DLL
-+# if defined(VL_BUILD_DLL)
- # ifdef __cplusplus
- # define VL_EXPORT extern "C" __declspec(dllexport)
- # else
- # define VL_EXPORT extern __declspec(dllexport)
- # endif
--# else
-+# elif defined(VL_DLL)
- # ifdef __cplusplus
- # define VL_EXPORT extern "C" __declspec(dllimport)
- # else
- # define VL_EXPORT extern __declspec(dllimport)
- # endif
-+# else
-+# ifdef __cplusplus
-+# define VL_EXPORT extern "C"
-+# else
-+# define VL_EXPORT extern
-+# endif
- # endif
- #endif
-
diff --git a/ports/theia/portfile.cmake b/ports/theia/portfile.cmake
index a6dc5d02f..c131ac095 100644
--- a/ports/theia/portfile.cmake
+++ b/ports/theia/portfile.cmake
@@ -2,31 +2,23 @@ include(vcpkg_common_functions)
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
-if(VCPKG_TARGET_ARCHIECTURE STREQUAL "x86")
- message(FATAL_ERROR "theia requires ceres[suitesparse] which depends on suitesparse which depends on openblas which is unavailable on x86.")
-endif()
-
-
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO sweeneychris/TheiaSfM
REF v0.8
SHA512 2f620389c415badec36f4b44be0378fc62761dd6b2ee4cd7033b13573c372f098e248553575fb2cceb757b1ca00e86a11c67e03b6077e0a4b0f8797065746312
HEAD_REF master
-)
-
-vcpkg_apply_patches(
- SOURCE_PATH ${SOURCE_PATH}
PATCHES
- ${CMAKE_CURRENT_LIST_DIR}/fix-cmakelists.patch
- ${CMAKE_CURRENT_LIST_DIR}/fix-vlfeat-static.patch
- ${CMAKE_CURRENT_LIST_DIR}/fix-glog-error.patch
- ${CMAKE_CURRENT_LIST_DIR}/fix-find-suitesparse.patch
- ${CMAKE_CURRENT_LIST_DIR}/fix-oiio.patch
+ fix-external-dependencies.patch
)
+file(REMOVE ${SOURCE_PATH}/cmake/FindSuiteSparse.cmake)
+file(REMOVE ${SOURCE_PATH}/cmake/FindGflags.cmake)
+file(REMOVE ${SOURCE_PATH}/cmake/FindGlog.cmake)
+
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
OPTIONS
-DBUILD_TESTING=OFF
-DTHEIA_USE_EXTERNAL_CEREAL=ON
@@ -34,28 +26,19 @@ vcpkg_configure_cmake(
)
vcpkg_install_cmake()
-
-vcpkg_fixup_cmake_targets(CONFIG_PATH "CMake")
-
-# Changes target search path
-file(READ ${CURRENT_PACKAGES_DIR}/share/theia/TheiaConfig.cmake THEIA_TARGETS)
-string(REPLACE "get_filename_component(CURRENT_ROOT_INSTALL_DIR\n \${THEIA_CURRENT_CONFIG_INSTALL_DIR}/../ ABSOLUTE)"
- "get_filename_component(CURRENT_ROOT_INSTALL_DIR\n \${THEIA_CURRENT_CONFIG_INSTALL_DIR}/../../ ABSOLUTE)" THEIA_TARGETS "${THEIA_TARGETS}")
-file(WRITE ${CURRENT_PACKAGES_DIR}/share/theia/TheiaConfig.cmake "${THEIA_TARGETS}")
-
+vcpkg_fixup_cmake_targets()
vcpkg_copy_pdbs()
# Clean
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/optimo)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/optimo)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/theia/libraries/akaze/cimg/cmake-modules)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/theia/libraries/akaze/cmake)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/theia/libraries/akaze/datasets)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/theia/libraries/spectra/doxygen)
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/optimo)
# Handle copyright
-file(COPY ${SOURCE_PATH}/license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/theia)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/theia/license.txt ${CURRENT_PACKAGES_DIR}/share/theia/copyright)
+file(INSTALL ${SOURCE_PATH}/license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/theia RENAME copyright)
file(COPY ${SOURCE_PATH}/data/camera_sensor_database_license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/theia)
diff --git a/ports/unicorn-lib/portfile.cmake b/ports/unicorn-lib/portfile.cmake
index dff094ef8..305d659ac 100644
--- a/ports/unicorn-lib/portfile.cmake
+++ b/ports/unicorn-lib/portfile.cmake
@@ -28,4 +28,4 @@ vcpkg_copy_pdbs()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
# Handle copyright
-file(INSTALL ${SOURCE_PATH}/LICENSE.TXT DESTINATION ${CURRENT_PACKAGES_DIR}/share/unicorn-lib RENAME copyright) \ No newline at end of file
+file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/unicorn-lib RENAME copyright) \ No newline at end of file
diff --git a/ports/variant-lite/CONTROL b/ports/variant-lite/CONTROL
new file mode 100644
index 000000000..8654b8a34
--- /dev/null
+++ b/ports/variant-lite/CONTROL
@@ -0,0 +1,3 @@
+Source: variant-lite
+Version: 1.2.2
+Description: A C++17-like variant, a type-safe union for C++98, C++11 and later in a single-file header-only library
diff --git a/ports/variant-lite/portfile.cmake b/ports/variant-lite/portfile.cmake
new file mode 100644
index 000000000..764fd74ef
--- /dev/null
+++ b/ports/variant-lite/portfile.cmake
@@ -0,0 +1,31 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO martinmoene/variant-lite
+ REF v1.2.2
+ SHA512 f0a0760b858d5fdd3cbd6be29e64fdca69222c4e3f6f4f856fa99e7352ede817648c6d698ebde25dec10bf99fc304b1b5ce232c5ffd4fab12aaf444b68c04f02
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DVARIANT_LITE_OPT_BUILD_TESTS=OFF
+ -DVARIANT_LITE_OPT_BUILD_EXAMPLES=OFF
+)
+
+vcpkg_install_cmake()
+
+vcpkg_fixup_cmake_targets(
+ CONFIG_PATH lib/cmake/${PORT}
+)
+
+file(REMOVE_RECURSE
+ ${CURRENT_PACKAGES_DIR}/debug
+ ${CURRENT_PACKAGES_DIR}/lib
+)
+
+file(INSTALL
+ ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright
+)
diff --git a/ports/wpilib/CONTROL b/ports/wpilib/CONTROL
new file mode 100644
index 000000000..0d93d9bb5
--- /dev/null
+++ b/ports/wpilib/CONTROL
@@ -0,0 +1,12 @@
+Source: wpilib
+Version: 2019.4.1
+Build-Depends: libuv
+Description: WPILib is the software library package for the FIRST Robotics Competition. The core install includes wpiutil, a common utilies library, and ntcore, the base NetworkTables library.
+
+Feature: cameraserver
+Build-Depends: opencv
+Description: Enables the CameraServer and CSCore libraries for manipulating USB Cameras and HTTP Camera Streams
+
+Feature: allwpilib
+Build-Depends: wpilib[cameraserver] opencv
+Description: Enables the simulation HAL, and the high level wpilibc library.
diff --git a/ports/wpilib/portfile.cmake b/ports/wpilib/portfile.cmake
new file mode 100644
index 000000000..4bb8b80a5
--- /dev/null
+++ b/ports/wpilib/portfile.cmake
@@ -0,0 +1,67 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO wpilibsuite/allwpilib
+ REF 221011494d202770ad275c88cd7380119505e65d
+ SHA512 97ec277b2e7d0a287e1d4eef4f60b5f5b5a70a861f984d0bfb17610ca8f43c723e1ba3cc1b428d243db62b50307edcf509e496f15cccdda78f962bf91aa4568a
+)
+
+set(WITHOUT_JAVA ON)
+set(WITHOUT_CSCORE ON)
+set(WITHOUT_ALLWPILIB ON)
+
+if ("cameraserver" IN_LIST FEATURES)
+ set(WITHOUT_CSCORE OFF)
+endif()
+
+if ("allwpilib" IN_LIST FEATURES)
+ set(WITHOUT_ALLWPILIB OFF)
+endif()
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+
+ OPTIONS
+ -DWITHOUT_JAVA=${WITHOUT_JAVA}
+ -DWITHOUT_CSCORE=${WITHOUT_CSCORE}
+ -DWITHOUT_ALLWPILIB=${WITHOUT_ALLWPILIB}
+ -DUSE_VCPKG_LIBUV=ON
+ -DFLAT_INSTALL_WPILIB=ON
+)
+vcpkg_install_cmake()
+
+file(COPY ${CURRENT_PACKAGES_DIR}/wpilib/include/ntcore/ DESTINATION ${CURRENT_PACKAGES_DIR}/include)
+file(COPY ${CURRENT_PACKAGES_DIR}/wpilib/include/wpiutil/ DESTINATION ${CURRENT_PACKAGES_DIR}/include)
+if (NOT WITHOUT_ALLWPILIB)
+file(COPY ${CURRENT_PACKAGES_DIR}/wpilib/include/wpilibc/ DESTINATION ${CURRENT_PACKAGES_DIR}/include)
+file(COPY ${CURRENT_PACKAGES_DIR}/wpilib/include/hal/gen/ DESTINATION ${CURRENT_PACKAGES_DIR}/include)
+file(COPY ${CURRENT_PACKAGES_DIR}/wpilib/include/hal/ DESTINATION ${CURRENT_PACKAGES_DIR}/include)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/gen)
+endif()
+if (NOT WITHOUT_CSCORE)
+file(COPY ${CURRENT_PACKAGES_DIR}/wpilib/include/cameraserver/ DESTINATION ${CURRENT_PACKAGES_DIR}/include)
+file(COPY ${CURRENT_PACKAGES_DIR}/wpilib/include/cscore/ DESTINATION ${CURRENT_PACKAGES_DIR}/include)
+endif()
+
+if(NOT VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ file(COPY ${CURRENT_PACKAGES_DIR}/wpilib/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/bin FILES_MATCHING PATTERN "*.dll")
+ file(COPY ${CURRENT_PACKAGES_DIR}/debug/wpilib/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin FILES_MATCHING PATTERN "*.dll")
+
+ file(COPY ${CURRENT_PACKAGES_DIR}/wpilib/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/bin FILES_MATCHING PATTERN "*.so")
+ file(COPY ${CURRENT_PACKAGES_DIR}/debug/wpilib/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin FILES_MATCHING PATTERN "*.so")
+
+ file(COPY ${CURRENT_PACKAGES_DIR}/wpilib/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/bin FILES_MATCHING PATTERN "*.dylib")
+ file(COPY ${CURRENT_PACKAGES_DIR}/debug/wpilib/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin FILES_MATCHING PATTERN "*.dylib")
+endif()
+
+file(COPY ${CURRENT_PACKAGES_DIR}/wpilib/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/lib FILES_MATCHING PATTERN "*.lib")
+file(COPY ${CURRENT_PACKAGES_DIR}/debug/wpilib/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib FILES_MATCHING PATTERN "*.lib")
+
+file(COPY ${CURRENT_PACKAGES_DIR}/wpilib/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/lib FILES_MATCHING PATTERN "*.a")
+file(COPY ${CURRENT_PACKAGES_DIR}/debug/wpilib/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib FILES_MATCHING PATTERN "*.a")
+
+vcpkg_copy_pdbs()
+
+file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/wpilib RENAME copyright)
diff --git a/ports/x265/portfile.cmake b/ports/x265/portfile.cmake
index 6b207baf3..987e72246 100644
--- a/ports/x265/portfile.cmake
+++ b/ports/x265/portfile.cmake
@@ -14,7 +14,7 @@ vcpkg_apply_patches(
)
set(ENABLE_ASSEMBLY OFF)
-if (WIN32)
+if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
vcpkg_find_acquire_program(NASM)
get_filename_component(NASM_EXE_PATH ${NASM} DIRECTORY)
set(ENV{PATH} "$ENV{PATH};${NASM_EXE_PATH}")
@@ -41,9 +41,9 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/x265)
-if(UNIX)
+if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin")
file(RENAME ${CURRENT_PACKAGES_DIR}/bin/x265 ${CURRENT_PACKAGES_DIR}/tools/x265/x265)
-elseif(WIN32)
+elseif(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
file(RENAME ${CURRENT_PACKAGES_DIR}/bin/x265.exe ${CURRENT_PACKAGES_DIR}/tools/x265/x265.exe)
endif()
@@ -55,4 +55,4 @@ vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/x265)
# Handle copyright
file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/x265)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/x265/COPYING ${CURRENT_PACKAGES_DIR}/share/x265/copyright) \ No newline at end of file
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/x265/COPYING ${CURRENT_PACKAGES_DIR}/share/x265/copyright)
diff --git a/ports/xxhash/CONTROL b/ports/xxhash/CONTROL
index 4cdbf5435..4b4f46172 100644
--- a/ports/xxhash/CONTROL
+++ b/ports/xxhash/CONTROL
@@ -1,3 +1,3 @@
Source: xxhash
-Version: 0.6.4-1
+Version: 0.7.0
Description: Extremely fast hash algorithm
diff --git a/ports/xxhash/fix-arm-uwp.patch b/ports/xxhash/fix-arm-uwp.patch
new file mode 100644
index 000000000..51bbc7474
--- /dev/null
+++ b/ports/xxhash/fix-arm-uwp.patch
@@ -0,0 +1,34 @@
+diff --git a/xxh3.h b/xxh3.h
+index 0972c46..e5c7101 100644
+--- a/xxh3.h
++++ b/xxh3.h
+@@ -40,7 +40,7 @@
+ #ifndef XXH3_H
+ #define XXH3_H
+
+-
++#pragma warning (disable : 4146)
+ /* === Dependencies === */
+
+ #undef XXH_INLINE_ALL /* in case it's already defined */
+@@ -97,7 +97,7 @@
+ #endif
+
+ /* U64 XXH_mult32to64(U32 a, U64 b) { return (U64)a * (U64)b; } */
+-#ifdef _MSC_VER
++#if defined(_MSC_VER) && (!_WIN32_WINNT >= 0x0A00)
+ # include <intrin.h>
+ /* MSVC doesn't do a good job with the mull detection. */
+ # define XXH_mult32to64 __emulu
+diff --git a/xxhsum.c b/xxhsum.c
+index 0ec11c0..7d39c24 100644
+--- a/xxhsum.c
++++ b/xxhsum.c
+@@ -31,6 +31,7 @@
+ #ifndef XXHASH_C_2097394837
+ #define XXHASH_C_2097394837
+
++#pragma warning (disable : 4146)
+ /* ************************************
+ * Compiler Options
+ **************************************/
diff --git a/ports/xxhash/portfile.cmake b/ports/xxhash/portfile.cmake
index 91f713578..74b19715f 100644
--- a/ports/xxhash/portfile.cmake
+++ b/ports/xxhash/portfile.cmake
@@ -5,9 +5,11 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Cyan4973/xxHash
- REF v0.6.4
- SHA512 6c914bac5092dfd01349c8223c382d3c13ba1b22e08300ce86ea9663a9a934f930debdeb71c14365ec57d72b95088a4354da92dfb7fcf7d07ec01c0f4fb70ca7
- HEAD_REF dev)
+ REF a728fc9fe895460ff0e5f1efc2ce233d2095fd20
+ SHA512 7795be00054d5f7abf4afab5912cc532bfc47f0bc8278cf09a44feb854f11e921d3d43e734efda1edbae0722450e4f9f02eeb5954220293eac930b4fa13ff737
+ HEAD_REF dev
+ PATCHES fix-arm-uwp.patch
+)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}/cmake_unofficial
@@ -18,6 +20,7 @@ vcpkg_install_cmake()
vcpkg_copy_pdbs()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/xxhash)
diff --git a/ports/zxing-cpp/CONTROL b/ports/zxing-cpp/CONTROL
index fec8e63e5..c51ccb60d 100644
--- a/ports/zxing-cpp/CONTROL
+++ b/ports/zxing-cpp/CONTROL
@@ -1,4 +1,4 @@
Source: zxing-cpp
-Version: 3.3.3-3
+Version: 3.3.3-4
Build-Depends: opencv[core]
Description: Barcode detection and decoding library.
diff --git a/ports/zxing-cpp/portfile.cmake b/ports/zxing-cpp/portfile.cmake
index 06a2e6b49..1d063de7c 100644
--- a/ports/zxing-cpp/portfile.cmake
+++ b/ports/zxing-cpp/portfile.cmake
@@ -22,13 +22,13 @@ vcpkg_install_cmake()
vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/zxing/cmake" TARGET_PATH share/zxing)
-file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/zxing)
-if (WIN32)
- file(COPY ${CURRENT_PACKAGES_DIR}/bin/zxing.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools/zxing)
-else(WIN32)
- file(COPY ${CURRENT_PACKAGES_DIR}/bin/zxing DESTINATION ${CURRENT_PACKAGES_DIR}/tools/zxing)
-endif(WIN32)
-vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/zxing)
+file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/zxing-cpp)
+if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ file(COPY ${CURRENT_PACKAGES_DIR}/bin/zxing.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools/zxing-cpp)
+else()
+ file(COPY ${CURRENT_PACKAGES_DIR}/bin/zxing DESTINATION ${CURRENT_PACKAGES_DIR}/tools/zxing-cpp)
+endif()
+vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/zxing-cpp)
vcpkg_copy_pdbs()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin)
diff --git a/scripts/buildsystems/vcpkg.cmake b/scripts/buildsystems/vcpkg.cmake
index 97fe1b81f..f657e2710 100644
--- a/scripts/buildsystems/vcpkg.cmake
+++ b/scripts/buildsystems/vcpkg.cmake
@@ -171,7 +171,7 @@ function(add_executable name)
list(FIND ARGV "ALIAS" ALIAS_IDX)
list(FIND ARGV "MACOSX_BUNDLE" MACOSX_BUNDLE_IDX)
if(IMPORTED_IDX EQUAL -1 AND ALIAS_IDX EQUAL -1)
- if(VCPKG_APPLOCAL_DEPS)
+ if(VCPKG_APPLOCAL_DEPS)
if(_VCPKG_TARGET_TRIPLET_PLAT MATCHES "windows|uwp")
add_custom_command(TARGET ${name} POST_BUILD
COMMAND powershell -noprofile -executionpolicy Bypass -file ${_VCPKG_TOOLCHAIN_DIR}/msbuild/applocal.ps1
diff --git a/scripts/cmake/vcpkg_acquire_msys.cmake b/scripts/cmake/vcpkg_acquire_msys.cmake
index adbd58ca5..09090db68 100644
--- a/scripts/cmake/vcpkg_acquire_msys.cmake
+++ b/scripts/cmake/vcpkg_acquire_msys.cmake
@@ -113,5 +113,13 @@ function(vcpkg_acquire_msys PATH_TO_ROOT_OUT)
message(STATUS "Acquiring MSYS Packages... OK")
endif()
+ # Deal with a stale process created by MSYS
+ if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ vcpkg_execute_required_process(
+ COMMAND TASKKILL /F /IM gpg-agent.exe /fi "memusage gt 2"
+ WORKING_DIRECTORY ${SOURCE_PATH}
+ )
+ endif()
+
set(${PATH_TO_ROOT_OUT} ${PATH_TO_ROOT} PARENT_SCOPE)
endfunction()
diff --git a/scripts/cmake/vcpkg_configure_meson.cmake b/scripts/cmake/vcpkg_configure_meson.cmake
index 3c6903c9d..f1ae0e65f 100644
--- a/scripts/cmake/vcpkg_configure_meson.cmake
+++ b/scripts/cmake/vcpkg_configure_meson.cmake
@@ -26,7 +26,7 @@ function(vcpkg_configure_meson)
set(MESON_RELEASE_LDFLAGS "${MESON_RELEASE_LDFLAGS} /INCREMENTAL:NO /OPT:REF /OPT:ICF")
# select meson cmd-line options
- list(APPEND _vcm_OPTIONS --buildtype plain --backend ninja)
+ list(APPEND _vcm_OPTIONS --buildtype plain --backend ninja --wrap-mode nodownload)
if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
list(APPEND _vcm_OPTIONS --default-library shared)
else()
diff --git a/scripts/cmake/vcpkg_find_acquire_program.cmake b/scripts/cmake/vcpkg_find_acquire_program.cmake
index d5e95eb4b..4a77b4b8e 100644
--- a/scripts/cmake/vcpkg_find_acquire_program.cmake
+++ b/scripts/cmake/vcpkg_find_acquire_program.cmake
@@ -202,9 +202,9 @@ function(vcpkg_find_acquire_program VAR)
set(REQUIRED_INTERPRETER PERL)
set(SCRIPTNAME "gas-preprocessor.pl")
set(PATHS ${DOWNLOADS}/tools/gas-preprocessor)
- set(URL "https://raw.githubusercontent.com/FFmpeg/gas-preprocessor/36bacb4cba27003c572e5bf7a9c4dfe3c9a8d40d/gas-preprocessor.pl")
+ set(URL "https://raw.githubusercontent.com/FFmpeg/gas-preprocessor/cbe88474ec196370161032a3863ec65050f70ba4/gas-preprocessor.pl")
set(ARCHIVE "gas-preprocessor.pl")
- set(HASH a25caadccd1457a0fd2abb5a0da9aca1713b2c351d76daf87a4141e52021f51aa09e95a62942c6f0764f79cc1fa65bf71584955b09e62ee7da067b5c82baf6b3)
+ set(HASH f6965875608bf2a3ee337e00c3f16e06cd9b5d10013da600d2a70887e47a7b4668af87b3524acf73dd122475712af831495a613a2128c1adb5fe0b4a11d96cd3)
elseif(VAR MATCHES "DARK")
set(PROGNAME dark)
set(SUBDIR "wix311-binaries")
@@ -223,9 +223,9 @@ function(vcpkg_find_acquire_program VAR)
elseif(VAR MATCHES "DOXYGEN")
set(PROGNAME doxygen)
set(PATHS ${DOWNLOADS}/tools/doxygen)
- set(URL "http://ftp.stack.nl/pub/users/dimitri/doxygen-1.8.14.windows.bin.zip")
- set(ARCHIVE "doxygen-1.8.14.windows.bin.zip")
- set(HASH d0d706501e7112045b1f401f22d12a2c8d9b7728edee9ad1975a17dff914c16494ae48a70beab6f6304643779935843f268c7afed3b9da7d403b5cb11cac0c50)
+ set(URL "http://doxygen.nl/files/doxygen-1.8.15.windows.bin.zip")
+ set(ARCHIVE "doxygen-1.8.15.windows.bin.zip")
+ set(HASH 89482dcb1863d381d47812c985593e736d703931d49994e09c7c03ef67e064115d0222b8de1563a7930404c9bc2d3be323f3d13a01ef18861be584db3d5a953c)
# Download Tools
elseif(VAR MATCHES "ARIA2")
set(PROGNAME aria2c)
diff --git a/scripts/cmake/vcpkg_from_github.cmake b/scripts/cmake/vcpkg_from_github.cmake
index 48bfd828a..c0d657bbc 100644
--- a/scripts/cmake/vcpkg_from_github.cmake
+++ b/scripts/cmake/vcpkg_from_github.cmake
@@ -161,7 +161,7 @@ function(vcpkg_from_github)
# Parse the github refs response with regex.
# TODO: use some JSON swiss-army-knife utility instead.
- file(READ "${ARCHIVE_VERSION}" _contents)
+ file(READ "${downloaded_file_path}.version" _contents)
string(REGEX MATCH "\"sha\": \"[a-f0-9]+\"" x "${_contents}")
string(REGEX REPLACE "\"sha\": \"([a-f0-9]+)\"" "\\1" _version ${x})