aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md2
-rw-r--r--docs/maintainers/control-files.md10
-rw-r--r--ports/alembic/CONTROL3
-rw-r--r--ports/anax/CONTROL3
-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/argparse/CONTROL4
-rw-r--r--ports/argparse/portfile.cmake30
-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.cmake23
-rw-r--r--ports/assimp/remove-useless-path.patch12
-rw-r--r--ports/autobahn/CONTROL3
-rw-r--r--ports/avro-c/CONTROL2
-rw-r--r--ports/avro-c/fix-build-error.patch20
-rw-r--r--ports/avro-c/portfile.cmake10
-rw-r--r--ports/aws-c-common/CONTROL2
-rw-r--r--ports/aws-c-common/disable-internal-crt-option.patch20
-rw-r--r--ports/aws-c-common/fix-dependencey-build-error.patch13
-rw-r--r--ports/aws-c-common/portfile.cmake7
-rw-r--r--ports/azure-c-shared-utility/CONTROL2
-rw-r--r--ports/azure-c-shared-utility/portfile.cmake4
-rw-r--r--ports/azure-iot-sdk-c/CONTROL2
-rw-r--r--ports/azure-iot-sdk-c/portfile.cmake4
-rw-r--r--ports/azure-macro-utils-c/CONTROL2
-rw-r--r--ports/azure-storage-cpp/CONTROL3
-rw-r--r--ports/azure-uamqp-c/CONTROL2
-rw-r--r--ports/azure-uamqp-c/portfile.cmake4
-rw-r--r--ports/azure-uhttp-c/CONTROL2
-rw-r--r--ports/azure-uhttp-c/portfile.cmake4
-rw-r--r--ports/azure-umqtt-c/CONTROL2
-rw-r--r--ports/azure-umqtt-c/portfile.cmake4
-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/benchmark/portfile.cmake4
-rw-r--r--ports/berkeleydb/CONTROL2
-rw-r--r--ports/blaze/CONTROL2
-rw-r--r--ports/bond/CONTROL3
-rw-r--r--ports/boost-thread/CONTROL2
-rw-r--r--ports/boost-thread/avoid-winapi.patch26
-rw-r--r--ports/box2d/CONTROL3
-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/capnproto/CONTROL3
-rw-r--r--ports/catch2/CONTROL2
-rw-r--r--ports/celero/CONTROL2
-rw-r--r--ports/celero/portfile.cmake4
-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/cjson/CONTROL6
-rw-r--r--ports/cjson/fix-install-path.patch34
-rw-r--r--ports/cjson/portfile.cmake63
-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/cli11/CONTROL3
-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/corrade/CONTROL3
-rw-r--r--ports/cppcms/CONTROL2
-rw-r--r--ports/cppcms/portfile.cmake8
-rw-r--r--ports/cppcodec/CONTROL3
-rw-r--r--ports/cppcodec/portfile.cmake24
-rw-r--r--ports/cryptopp/CONTROL2
-rw-r--r--ports/cryptopp/portfile.cmake9
-rw-r--r--ports/curl/CONTROL2
-rw-r--r--ports/curl/portfile.cmake8
-rw-r--r--ports/darts-clone/CONTROL2
-rw-r--r--ports/darts-clone/portfile.cmake2
-rw-r--r--ports/dcmtk/CONTROL2
-rw-r--r--ports/dcmtk/dcmtk.patch19
-rw-r--r--ports/dcmtk/portfile.cmake4
-rw-r--r--ports/dlib/CONTROL2
-rw-r--r--ports/draco/CONTROL2
-rw-r--r--ports/draco/fix-compile-error-uwp.patch45
-rw-r--r--ports/draco/fix-uwperror.patch13
-rw-r--r--ports/draco/portfile.cmake5
-rw-r--r--ports/ebml/CONTROL2
-rw-r--r--ports/ebml/portfile.cmake56
-rw-r--r--ports/ensmallen/CONTROL10
-rw-r--r--ports/ensmallen/portfile.cmake4
-rw-r--r--ports/entityx/CONTROL5
-rw-r--r--ports/entityx/fix-cmake.patch40
-rw-r--r--ports/entityx/portfile.cmake2
-rw-r--r--ports/entt/CONTROL5
-rw-r--r--ports/entt/portfile.cmake1
-rw-r--r--ports/exiv2/CONTROL3
-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/fastcdr/CONTROL2
-rw-r--r--ports/fastcdr/install-cmake.patch31
-rw-r--r--ports/fastcdr/portfile.cmake13
-rw-r--r--ports/ffmpeg/CONTROL6
-rw-r--r--ports/ffmpeg/fix_libvpx_windows_linking.patch55
-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.cmake69
-rw-r--r--ports/fizz/CONTROL2
-rw-r--r--ports/fizz/portfile.cmake4
-rw-r--r--ports/flatbuffers/CONTROL5
-rw-r--r--ports/flatbuffers/fix-uwp-build.patch20
-rw-r--r--ports/flatbuffers/ignore_use_of_cmake_toolchain_file.patch6
-rw-r--r--ports/flatbuffers/no-werror.patch10
-rw-r--r--ports/flatbuffers/portfile.cmake9
-rw-r--r--ports/fmilib/CONTROL3
-rw-r--r--ports/fmilib/portfile.cmake52
-rw-r--r--ports/folly/CONTROL2
-rw-r--r--ports/folly/portfile.cmake4
-rw-r--r--ports/fontconfig/CONTROL2
-rw-r--r--ports/fontconfig/portfile.cmake2
-rw-r--r--ports/forge/CONTROL2
-rw-r--r--ports/forge/fix-static_build.patch28
-rw-r--r--ports/forge/forge_targets_fix.patch115
-rw-r--r--ports/forge/portfile.cmake13
-rw-r--r--ports/forge/static_build.patch39
-rw-r--r--ports/freetype/CONTROL2
-rw-r--r--ports/freetype/portfile.cmake2
-rw-r--r--ports/ftgl/0001-fix-building-DLL-on-Windows.patch26
-rw-r--r--ports/ftgl/CONTROL2
-rw-r--r--ports/ftgl/Fix-headersFilePath.patch23
-rw-r--r--ports/ftgl/portfile.cmake7
-rw-r--r--ports/g2o/CONTROL5
-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/getopt-win32/CONTROL3
-rw-r--r--ports/gherkin-c/CONTROL2
-rw-r--r--ports/gherkin-c/portfile.cmake4
-rw-r--r--ports/glad/CONTROL2
-rw-r--r--ports/glad/portfile.cmake4
-rw-r--r--ports/glbinding/CONTROL3
-rw-r--r--ports/glbinding/portfile.cmake7
-rw-r--r--ports/glew/CONTROL2
-rw-r--r--ports/glew/fix-LNK2019.patch13
-rw-r--r--ports/glew/portfile.cmake9
-rw-r--r--ports/gli/CONTROL3
-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/CONTROL9
-rw-r--r--ports/glibmm/fix-define-glibmmconfig.patch43
-rw-r--r--ports/glibmm/portfile.cmake8
-rw-r--r--ports/glm/CONTROL3
-rw-r--r--ports/globjects/CONTROL3
-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/grpc/00003-undef-base64-macro.patch26
-rw-r--r--ports/grpc/CONTROL2
-rw-r--r--ports/grpc/portfile.cmake4
-rw-r--r--ports/gsoap/CONTROL2
-rw-r--r--ports/gsoap/portfile.cmake14
-rw-r--r--ports/gtk/CMakeLists.txt5
-rw-r--r--ports/gtk/CONTROL2
-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.cmake17
-rw-r--r--ports/hdf5/CONTROL2
-rw-r--r--ports/hdf5/portfile.cmake2
-rw-r--r--ports/hdf5/vcpkg-cmake-wrapper.cmake2
-rw-r--r--ports/hedley/CONTROL3
-rw-r--r--ports/hedley/portfile.cmake19
-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/fix_parallel_build_on_windows.patch13
-rw-r--r--ports/icu/portfile.cmake52
-rw-r--r--ports/immer/CONTROL3
-rw-r--r--ports/immer/portfile.cmake29
-rw-r--r--ports/inih/CONTROL2
-rw-r--r--ports/inih/portfile.cmake4
-rw-r--r--ports/io2d/portfile.cmake25
-rw-r--r--ports/ismrmrd/CONTROL2
-rw-r--r--ports/ismrmrd/portfile.cmake4
-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/jansson/CONTROL2
-rw-r--r--ports/jansson/portfile.cmake4
-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/kd-soap/CONTROL5
-rw-r--r--ports/kd-soap/kd-soap.patch (renamed from ports/kd-soap/kd-saop.patch)24
-rw-r--r--ports/kd-soap/portfile.cmake10
-rw-r--r--ports/lcm/CONTROL2
-rw-r--r--ports/lcm/fix-build-error.patch32
-rw-r--r--ports/lcm/portfile.cmake11
-rw-r--r--ports/libbson/CONTROL2
-rw-r--r--ports/libbson/portfile.cmake6
-rw-r--r--ports/libcroco/CMakeLists.txt14
-rw-r--r--ports/libcroco/CONTROL2
-rw-r--r--ports/libcroco/portfile.cmake6
-rw-r--r--ports/libfabric/CONTROL5
-rw-r--r--ports/libfabric/add_additional_includes.patch58
-rw-r--r--ports/libfabric/portfile.cmake46
-rw-r--r--ports/libgeotiff/0001-Updates-to-CMake-configuration-to-align-with-other-C.patch88
-rw-r--r--ports/libgeotiff/0002-Fix-directory-output.patch28
-rw-r--r--ports/libgeotiff/0004-Fix-libxtiff-installation.patch64
-rw-r--r--ports/libgeotiff/0005-Control-shared-library-build-with-option.patch34
-rw-r--r--ports/libgeotiff/0006-Fix-utility-link-error.patch42
-rw-r--r--ports/libgeotiff/CONTROL4
-rw-r--r--ports/libgeotiff/cmakelists.patch124
-rw-r--r--ports/libgeotiff/portfile.cmake49
-rw-r--r--ports/libgit2/CONTROL2
-rw-r--r--ports/libgit2/portfile.cmake4
-rw-r--r--ports/libics/CONTROL2
-rw-r--r--ports/libics/portfile.cmake4
-rw-r--r--ports/libimobiledevice/CONTROL2
-rw-r--r--ports/libimobiledevice/portfile.cmake4
-rw-r--r--ports/libjpeg-turbo/CONTROL2
-rw-r--r--ports/libjpeg-turbo/add-options-for-exes-docs-headers.patch486
-rw-r--r--ports/libjpeg-turbo/portfile.cmake23
-rw-r--r--ports/liblemon/CONTROL6
-rw-r--r--ports/liblemon/portfile.cmake7
-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/liblzma/CMakeLists.txt94
-rw-r--r--ports/liblzma/CONTROL6
-rw-r--r--ports/liblzma/auto-define-lzma-api-static.patch14
-rw-r--r--ports/liblzma/portfile.cmake66
-rw-r--r--ports/liblzma/usage5
-rw-r--r--ports/liblzma/vcpkg-cmake-wrapper.cmake4
-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/libmysql/CONTROL2
-rw-r--r--ports/libmysql/linux_libmysql.patch18
-rw-r--r--ports/libmysql/portfile.cmake19
-rw-r--r--ports/libopusenc/CMakeLists.txt3
-rw-r--r--ports/libopusenc/CONTROL2
-rw-r--r--ports/libopusenc/portfile.cmake4
-rw-r--r--ports/libplist/CONTROL2
-rw-r--r--ports/libplist/portfile.cmake8
-rw-r--r--ports/libpq/portfile.cmake12
-rw-r--r--ports/libqglviewer/CONTROL2
-rw-r--r--ports/libqglviewer/portfile.cmake4
-rw-r--r--ports/librabbitmq/portfile.cmake4
-rw-r--r--ports/libraw/CONTROL2
-rw-r--r--ports/libraw/findlibraw_debug_fix.patch6
-rw-r--r--ports/libraw/portfile.cmake11
-rw-r--r--ports/libsodium/CONTROL2
-rw-r--r--ports/libsodium/portfile.cmake2
-rw-r--r--ports/libspatialite/CONTROL2
-rw-r--r--ports/libspatialite/portfile.cmake6
-rw-r--r--ports/libunibreak/CONTROL2
-rw-r--r--ports/libunibreak/portfile.cmake4
-rw-r--r--ports/libusbmuxd/CONTROL2
-rw-r--r--ports/libusbmuxd/portfile.cmake7
-rw-r--r--ports/libuv/CONTROL2
-rw-r--r--ports/libuv/portfile.cmake4
-rw-r--r--ports/libvpx/CONTROL2
-rw-r--r--ports/libvpx/portfile.cmake5
-rw-r--r--ports/libwebp/0005-fix-static-build.patch13
-rw-r--r--ports/libwebp/CONTROL2
-rw-r--r--ports/libwebp/portfile.cmake1
-rw-r--r--ports/libyaml/0001-fix-version.patch15
-rw-r--r--ports/libyaml/CONTROL2
-rw-r--r--ports/libyaml/portfile.cmake7
-rw-r--r--ports/llvm/CONTROL2
-rw-r--r--ports/llvm/fix-build-error.patch16
-rw-r--r--ports/llvm/portfile.cmake4
-rw-r--r--ports/lz4/CMakeLists.txt1
-rw-r--r--ports/lz4/CONTROL3
-rw-r--r--ports/magic-enum/CONTROL3
-rw-r--r--ports/magic-enum/portfile.cmake22
-rw-r--r--ports/magnum-extras/CONTROL3
-rw-r--r--ports/magnum-integration/CONTROL3
-rw-r--r--ports/magnum-plugins/CONTROL3
-rw-r--r--ports/magnum/CONTROL3
-rw-r--r--ports/matroska/CONTROL2
-rw-r--r--ports/matroska/portfile.cmake4
-rw-r--r--ports/mdnsresponder/CONTROL3
-rw-r--r--ports/minisat-master-keying/CONTROL2
-rw-r--r--ports/miniz/CMakeLists-targets.patch109
-rw-r--r--ports/miniz/CONTROL2
-rw-r--r--ports/miniz/portfile.cmake4
-rw-r--r--ports/mlpack/CONTROL14
-rw-r--r--ports/mlpack/cmakelists.patch96
-rw-r--r--ports/mlpack/portfile.cmake34
-rw-r--r--ports/mongo-c-driver/CONTROL4
-rw-r--r--ports/mongo-c-driver/portfile.cmake8
-rw-r--r--ports/mongo-cxx-driver/CONTROL14
-rw-r--r--ports/mongo-cxx-driver/disable_test_and_example.patch145
-rw-r--r--ports/mongo-cxx-driver/portfile.cmake23
-rw-r--r--ports/moos-core/CONTROL3
-rw-r--r--ports/moos-core/portfile.cmake2
-rw-r--r--ports/moos-essential/CONTROL3
-rw-r--r--ports/moos-ui/CONTROL3
-rw-r--r--ports/mosquitto/CONTROL4
-rw-r--r--ports/mosquitto/archive-dest.patch13
-rw-r--r--ports/mosquitto/output_folders-cmake.patch54
-rw-r--r--ports/mosquitto/portfile.cmake7
-rw-r--r--ports/mosquitto/win64-cmake.patch48
-rw-r--r--ports/netcdf-c/CONTROL2
-rw-r--r--ports/netcdf-c/fix-build-error-on-linux.patch28
-rw-r--r--ports/netcdf-c/fix_curl_linkage.patch12
-rw-r--r--ports/netcdf-c/hdf5.patch27
-rw-r--r--ports/netcdf-c/hdf5_2.patch13
-rw-r--r--ports/netcdf-c/portfile.cmake16
-rw-r--r--ports/netcdf-c/transitive-hdf5.patch2
-rw-r--r--ports/networkdirect-sdk/CONTROL4
-rw-r--r--ports/networkdirect-sdk/portfile.cmake42
-rw-r--r--ports/nmslib/CONTROL2
-rw-r--r--ports/nmslib/fix-headers.patch16
-rw-r--r--ports/nmslib/portfile.cmake6
-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/ogre/001-cmake-install-dir.patch8
-rw-r--r--ports/ogre/CONTROL2
-rw-r--r--ports/ogre/portfile.cmake4
-rw-r--r--ports/openblas/portfile.cmake14
-rw-r--r--ports/opencv/CONTROL2
-rw-r--r--ports/opencv/portfile.cmake8
-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-uwp/portfile.cmake2
-rw-r--r--ports/openssl-windows/portfile.cmake50
-rw-r--r--ports/opentracing/CONTROL3
-rw-r--r--ports/openvpn3/CMakeLists.txt4
-rw-r--r--ports/openvpn3/CONTROL2
-rw-r--r--ports/openvr/CONTROL2
-rw-r--r--ports/openvr/portfile.cmake4
-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/paho-mqtt/CONTROL2
-rw-r--r--ports/paho-mqtt/fix-install-path.patch104
-rw-r--r--ports/paho-mqtt/fix-unresolvedsymbol-arm.patch12
-rw-r--r--ports/paho-mqtt/portfile.cmake5
-rw-r--r--ports/pango/CMakeLists.txt5
-rw-r--r--ports/pango/CONTROL2
-rw-r--r--ports/pdal/FindGDAL.cmake13
-rw-r--r--ports/pdal/FindGeoTIFF.cmake13
-rw-r--r--ports/pdal/PDALConfig.patch13
-rw-r--r--ports/pdal/portfile.cmake6
-rw-r--r--ports/pdcurses/CONTROL2
-rw-r--r--ports/pdcurses/portfile.cmake6
-rw-r--r--ports/platform-folders/portfile.cmake2
-rw-r--r--ports/poco/CONTROL3
-rw-r--r--ports/podofo/0001-unique_ptr.patch (renamed from ports/podofo/unique_ptr.patch)0
-rw-r--r--ports/podofo/0002-HAVE_UNISTD_H.patch (renamed from ports/podofo/002-HAVE_UNISTD_H.patch)0
-rw-r--r--ports/podofo/0003-uwp_fix.patch15
-rw-r--r--ports/podofo/CONTROL4
-rw-r--r--ports/podofo/portfile.cmake12
-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/proj4/0001-CMake-add-detection-of-recent-visual-studio-versions.patch4
-rw-r--r--ports/proj4/portfile.cmake37
-rw-r--r--ports/prometheus-cpp/CONTROL6
-rw-r--r--ports/prometheus-cpp/portfile.cmake6
-rw-r--r--ports/qca/0002-fix-build-error.patch57
-rw-r--r--ports/qca/CONTROL5
-rw-r--r--ports/qca/portfile.cmake8
-rw-r--r--ports/rapidjson/CONTROL3
-rw-r--r--ports/readline-win32/CONTROL3
-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/robin-map/CONTROL2
-rw-r--r--ports/robin-map/portfile.cmake6
-rw-r--r--ports/rs-core-lib/portfile.cmake2
-rw-r--r--ports/rtmidi/CONTROL2
-rw-r--r--ports/rtmidi/fix-POSIXname.patch17
-rw-r--r--ports/rtmidi/portfile.cmake8
-rw-r--r--ports/rttr/portfile.cmake4
-rw-r--r--ports/rxqt/CONTROL3
-rw-r--r--ports/sdl2pp/CONTROL3
-rw-r--r--ports/selene/disable_x86_intrinsics_on_arm.patch13
-rw-r--r--ports/selene/portfile.cmake2
-rw-r--r--ports/shiva/CONTROL4
-rw-r--r--ports/shiva/portfile.cmake6
-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/simde/CONTROL3
-rw-r--r--ports/simde/portfile.cmake16
-rw-r--r--ports/sndfile/portfile.cmake2
-rw-r--r--ports/snowhouse/CONTROL2
-rw-r--r--ports/snowhouse/portfile.cmake6
-rw-r--r--ports/sol2/CONTROL2
-rw-r--r--ports/sol2/portfile.cmake4
-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/spectra/CONTROL3
-rw-r--r--ports/spirv-cross/CONTROL2
-rw-r--r--ports/spirv-cross/portfile.cmake4
-rw-r--r--ports/sqlite-modern-cpp/CONTROL2
-rw-r--r--ports/sqlite-modern-cpp/portfile.cmake6
-rw-r--r--ports/sqlitecpp/0001-Find-external-sqlite3.patch40
-rw-r--r--ports/sqlitecpp/CONTROL2
-rw-r--r--ports/sqlitecpp/portfile.cmake5
-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/strict-variant/CONTROL2
-rw-r--r--ports/strict-variant/portfile.cmake4
-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/taglib/CONTROL2
-rw-r--r--ports/taglib/portfile.cmake4
-rw-r--r--ports/tbb/CONTROL2
-rw-r--r--ports/tbb/portfile.cmake6
-rw-r--r--ports/tesseract/CONTROL2
-rw-r--r--ports/tesseract/portfile.cmake10
-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/think-cell-range/CONTROL3
-rw-r--r--ports/tiff/CONTROL4
-rw-r--r--ports/tiff/add-component-options.patch43
-rw-r--r--ports/tiff/cmakelists.patch99
-rw-r--r--ports/tiff/crt-secure-no-deprecate.patch12
-rw-r--r--ports/tiff/fix-cxx-shared-libs.patch23
-rw-r--r--ports/tiff/portfile.cmake25
-rw-r--r--ports/tiff/usage4
-rw-r--r--ports/tiff/vcpkg-cmake-wrapper.cmake12
-rw-r--r--ports/tinyobjloader/CONTROL2
-rw-r--r--ports/tinyobjloader/portfile.cmake4
-rw-r--r--ports/treehopper/CONTROL3
-rw-r--r--ports/trompeloeil/CONTROL2
-rw-r--r--ports/umock-c/CONTROL2
-rw-r--r--ports/unicorn-lib/portfile.cmake2
-rw-r--r--ports/urdfdom-headers/CONTROL2
-rw-r--r--ports/urdfdom-headers/portfile.cmake4
-rw-r--r--ports/uvatlas/CONTROL2
-rw-r--r--ports/uvatlas/portfile.cmake8
-rw-r--r--ports/uvw/CONTROL3
-rw-r--r--ports/variant-lite/CONTROL3
-rw-r--r--ports/variant-lite/portfile.cmake31
-rw-r--r--ports/vlpp/CMakeLists.txt10
-rw-r--r--ports/vlpp/CONTROL2
-rw-r--r--ports/vlpp/portfile.cmake4
-rw-r--r--ports/vxl/CONTROL9
-rw-r--r--ports/vxl/fix_dependency.patch13
-rw-r--r--ports/vxl/portfile.cmake14
-rw-r--r--ports/wangle/CONTROL2
-rw-r--r--ports/wangle/portfile.cmake4
-rw-r--r--ports/wil/CONTROL2
-rw-r--r--ports/wil/portfile.cmake4
-rw-r--r--ports/wpilib/CONTROL12
-rw-r--r--ports/wpilib/portfile.cmake67
-rw-r--r--ports/x265/portfile.cmake8
-rw-r--r--ports/xeus/CONTROL2
-rw-r--r--ports/xeus/portfile.cmake4
-rw-r--r--ports/xmsh/portfile.cmake2
-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/z3/CONTROL2
-rw-r--r--ports/z3/fix-install-path.patch201
-rw-r--r--ports/z3/fix_cmake_long_dir.patch61
-rw-r--r--ports/z3/portfile.cmake5
-rw-r--r--ports/zstd/CONTROL3
-rw-r--r--ports/zstr/CONTROL3
-rw-r--r--ports/zstr/portfile.cmake17
-rw-r--r--ports/zxing-cpp/CONTROL2
-rw-r--r--ports/zxing-cpp/portfile.cmake14
-rw-r--r--ports/zydis/CONTROL3
-rw-r--r--ports/zydis/portfile.cmake31
-rw-r--r--scripts/buildsystems/msbuild/applocal.ps14
-rw-r--r--scripts/buildsystems/vcpkg.cmake2
-rw-r--r--scripts/cmake/vcpkg_acquire_msys.cmake8
-rw-r--r--scripts/cmake/vcpkg_build_cmake.cmake133
-rw-r--r--scripts/cmake/vcpkg_common_functions.cmake1
-rw-r--r--scripts/cmake/vcpkg_configure_meson.cmake2
-rw-r--r--scripts/cmake/vcpkg_execute_build_process.cmake140
-rw-r--r--scripts/cmake/vcpkg_find_acquire_program.cmake10
-rw-r--r--scripts/cmake/vcpkg_from_github.cmake2
-rw-r--r--toolsrc/include/vcpkg/base/chrono.h4
-rw-r--r--toolsrc/include/vcpkg/base/strings.h11
-rw-r--r--toolsrc/include/vcpkg/base/system.h2
-rw-r--r--toolsrc/include/vcpkg/sourceparagraph.h1
-rw-r--r--toolsrc/src/tests.arguments.cpp12
-rw-r--r--toolsrc/src/tests.dependencies.cpp2
-rw-r--r--toolsrc/src/tests.packagespec.cpp2
-rw-r--r--toolsrc/src/tests.paragraph.cpp2
-rw-r--r--toolsrc/src/vcpkg.cpp4
-rw-r--r--toolsrc/src/vcpkg/archives.cpp2
-rw-r--r--toolsrc/src/vcpkg/base/chrono.cpp10
-rw-r--r--toolsrc/src/vcpkg/base/downloads.cpp22
-rw-r--r--toolsrc/src/vcpkg/base/files.cpp2
-rw-r--r--toolsrc/src/vcpkg/base/system.cpp14
-rw-r--r--toolsrc/src/vcpkg/build.cpp44
-rw-r--r--toolsrc/src/vcpkg/commands.ci.cpp131
-rw-r--r--toolsrc/src/vcpkg/commands.create.cpp3
-rw-r--r--toolsrc/src/vcpkg/commands.dependinfo.cpp3
-rw-r--r--toolsrc/src/vcpkg/commands.edit.cpp33
-rw-r--r--toolsrc/src/vcpkg/commands.import.cpp3
-rw-r--r--toolsrc/src/vcpkg/commands.integrate.cpp16
-rw-r--r--toolsrc/src/vcpkg/export.cpp8
-rw-r--r--toolsrc/src/vcpkg/install.cpp48
-rw-r--r--toolsrc/src/vcpkg/metrics.cpp2
-rw-r--r--toolsrc/src/vcpkg/packagespecparseresult.cpp5
-rw-r--r--toolsrc/src/vcpkg/paragraphs.cpp2
-rw-r--r--toolsrc/src/vcpkg/sourceparagraph.cpp3
-rw-r--r--toolsrc/src/vcpkg/tools.cpp20
-rw-r--r--toolsrc/src/vcpkg/userconfig.cpp5
586 files changed, 6469 insertions, 7257 deletions
diff --git a/README.md b/README.md
index 9d526cdd2..c3f42aa0a 100644
--- a/README.md
+++ b/README.md
@@ -37,7 +37,7 @@ The best way to use installed libraries with CMake is via the toolchain file `sc
In Visual Studio, you can create a New Project (or open an existing one). All installed libraries are immediately ready to be `#include`'d and used in your project without additional configuration.
-For more information, see our [using a package](docs/examples/installing-and-using-packages.md) example for the specifics.
+For more information, see our [using a package](docs/examples/installing-and-using-packages.md) example for the specifics. If your library is not present in vcpkg catalog, you can open an [issue on the GitHub repo](https://github.com/microsoft/vcpkg/issues) where the dev team and the community can see it and potentially create the port file for this library.
Additional notes on macOS and Linux support can be found in the [official announcement](https://blogs.msdn.microsoft.com/vcblog/2018/04/24/announcing-a-single-c-library-manager-for-linux-macos-and-windows-vcpkg/).
diff --git a/docs/maintainers/control-files.md b/docs/maintainers/control-files.md
index a8f430836..ac4afa265 100644
--- a/docs/maintainers/control-files.md
+++ b/docs/maintainers/control-files.md
@@ -56,7 +56,7 @@ Version: 2019-3-21
```
#### Description
-A description of the library
+A description of the library.
By convention the first line of the description is a summary of the library. An optional detailed description follows. The detailed description can be multiple lines, all starting with whitespace.
@@ -70,6 +70,14 @@ Description: Mosquitto is an open source message broker that implements the MQ T
to machine" messaging such as with low power sensors or mobile devices such as phones, embedded computers or microcontrollers like the Arduino.
````
+#### Homepage
+The URL of the homepage for the library where a user is able to find additional documentation or the original source code.
+
+Example:
+```no-highlight
+Homepage: https://github.com/Microsoft/vcpkg
+```
+
#### Build-Depends
Comma separated list of vcpkg ports the library has a dependency on.
diff --git a/ports/alembic/CONTROL b/ports/alembic/CONTROL
index f828892df..8b19b03cb 100644
--- a/ports/alembic/CONTROL
+++ b/ports/alembic/CONTROL
@@ -1,4 +1,5 @@
Source: alembic
Version: 1.7.11
Build-Depends: ilmbase, hdf5
-Description: Alembic is an open framework for storing and sharing scene data that includes a C++ library, a file format, and client plugins and applications. http://alembic.io/
+Description: Alembic is an open framework for storing and sharing scene data that includes a C++ library, a file format, and client plugins and applications.
+Homepage: http://alembic.io/
diff --git a/ports/anax/CONTROL b/ports/anax/CONTROL
index a11803305..14b10c9af 100644
--- a/ports/anax/CONTROL
+++ b/ports/anax/CONTROL
@@ -1,3 +1,4 @@
Source: anax
Version: 2.1.0-5
-Description: An open source C++ entity system. <https://github.com/miguelmartin75/anax>
+Description: An open source C++ entity system.
+Homepage: https://github.com/miguelmartin75/anax
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/argparse/CONTROL b/ports/argparse/CONTROL
new file mode 100644
index 000000000..c7c33adac
--- /dev/null
+++ b/ports/argparse/CONTROL
@@ -0,0 +1,4 @@
+Source: argparse
+Version: 2019-06-10
+Description: Argument parser for modern C++
+Homepage: https://github.com/p-ranav/argparse
diff --git a/ports/argparse/portfile.cmake b/ports/argparse/portfile.cmake
new file mode 100644
index 000000000..0ad21e10a
--- /dev/null
+++ b/ports/argparse/portfile.cmake
@@ -0,0 +1,30 @@
+# header-only library
+
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO p-ranav/argparse
+ REF 2c71311b5fa49b7d65e6628375f2748d58830856
+ SHA512 08a28a3fb424befe7df9a428fbad8e2687a1b331d7099bfaca2c3e04d8d4b4888e99d481226407bf90bfce282388545b09e4125128215cc95dc56fb313641bf6
+ HEAD_REF master
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DARGPARSE_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)
+
+# CMake integration test
+vcpkg_test_cmake(PACKAGE_NAME ${PORT})
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..559dd249c 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,19 +27,14 @@ 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()
-vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/assimp-4.1")
+FILE(GLOB lib_cmake_directories RELATIVE "${CURRENT_PACKAGES_DIR}" "${CURRENT_PACKAGES_DIR}/lib/cmake/assimp-*")
+list(GET lib_cmake_directories 0 lib_cmake_directory)
+vcpkg_fixup_cmake_targets(CONFIG_PATH "${lib_cmake_directory}")
vcpkg_copy_pdbs()
@@ -51,8 +47,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/autobahn/CONTROL b/ports/autobahn/CONTROL
index 7a08d9f96..94152bb76 100644
--- a/ports/autobahn/CONTROL
+++ b/ports/autobahn/CONTROL
@@ -1,4 +1,5 @@
Source: autobahn
Version: 18.4.1
Build-Depends: websocketpp, msgpack, boost-asio, boost-thread
-Description: WAMP for C++ in Boost/Asio https://crossbar.io/autobahn
+Description: WAMP for C++ in Boost/Asio
+Homepage: https://crossbar.io/autobahn
diff --git a/ports/avro-c/CONTROL b/ports/avro-c/CONTROL
index 5bcf16fe5..527090f0d 100644
--- a/ports/avro-c/CONTROL
+++ b/ports/avro-c/CONTROL
@@ -1,4 +1,4 @@
Source: avro-c
-Version: 1.8.2-1
+Version: 1.8.2-2
Description: Apache Avro is a data serialization system
Build-Depends: jansson, liblzma, zlib
diff --git a/ports/avro-c/fix-build-error.patch b/ports/avro-c/fix-build-error.patch
new file mode 100644
index 000000000..6e07310fa
--- /dev/null
+++ b/ports/avro-c/fix-build-error.patch
@@ -0,0 +1,20 @@
+diff --git a/lang/c/src/CMakeLists.txt b/lang/c/src/CMakeLists.txt
+index c21f1ce..accb0e3 100644
+--- a/lang/c/src/CMakeLists.txt
++++ b/lang/c/src/CMakeLists.txt
+@@ -85,13 +85,13 @@ source_group(Avro FILES ${AVRO_SRC})
+ string(REPLACE ":" "." LIBAVRO_DOT_VERSION ${LIBAVRO_VERSION})
+
+ add_library(avro-static STATIC ${AVRO_SRC})
+-target_link_libraries(avro-static ${JANSSON_LIBRARIES} ${CODEC_LIBRARIES} ${THREADS_LIBRARIES})
++target_link_libraries(avro-static jansson::jansson ${CODEC_LIBRARIES} ${THREADS_LIBRARIES})
+ set_target_properties(avro-static PROPERTIES OUTPUT_NAME avro)
+
+ if (NOT WIN32)
+ # TODO: Create Windows DLLs. See http://www.cmake.org/Wiki/BuildingWinDLL
+ add_library(avro-shared SHARED ${AVRO_SRC})
+-target_link_libraries(avro-shared ${JANSSON_LIBRARIES} ${CODEC_LIBRARIES} ${THREADS_LIBRARIES})
++target_link_libraries(avro-shared jansson::jansson ${CODEC_LIBRARIES} ${THREADS_LIBRARIES})
+ set_target_properties(avro-shared PROPERTIES
+ OUTPUT_NAME avro
+ SOVERSION ${LIBAVRO_DOT_VERSION})
diff --git a/ports/avro-c/portfile.cmake b/ports/avro-c/portfile.cmake
index d868738df..ee0b6f7ca 100644
--- a/ports/avro-c/portfile.cmake
+++ b/ports/avro-c/portfile.cmake
@@ -13,14 +13,12 @@ vcpkg_from_github(
REF release-1.8.2
SHA512 a48cc353aadd45ad2c8593bf89ec3f1ddb0fcd364b79dd002a60a54d49cab714b46eee8bd6dc47b13588b9eead49c754dfe05f6aff735752fca8d2cd35ae8649
HEAD_REF master
+ PATCHES
+ avro.patch
+ avro-pr-217.patch
+ fix-build-error.patch # Since jansson updated, use jansson::jansson instead of the macro ${JANSSON_LIBRARIES}
)
-vcpkg_apply_patches(
- SOURCE_PATH ${SOURCE_PATH}
- PATCHES
- ${CMAKE_CURRENT_LIST_DIR}/avro.patch
- ${CMAKE_CURRENT_LIST_DIR}/avro-pr-217.patch)
-
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}/lang/c
PREFER_NINJA
diff --git a/ports/aws-c-common/CONTROL b/ports/aws-c-common/CONTROL
index 702ff2aa3..d80e99091 100644
--- a/ports/aws-c-common/CONTROL
+++ b/ports/aws-c-common/CONTROL
@@ -1,3 +1,3 @@
Source: aws-c-common
-Version: 0.3.0
+Version: 0.3.11
Description: AWS common library for C \ No newline at end of file
diff --git a/ports/aws-c-common/disable-internal-crt-option.patch b/ports/aws-c-common/disable-internal-crt-option.patch
new file mode 100644
index 000000000..d82a00aaa
--- /dev/null
+++ b/ports/aws-c-common/disable-internal-crt-option.patch
@@ -0,0 +1,20 @@
+diff --git a/cmake/AwsCFlags.cmake b/cmake/AwsCFlags.cmake
+index 5ceb11c..9d0aa12 100644
+--- a/cmake/AwsCFlags.cmake
++++ b/cmake/AwsCFlags.cmake
+@@ -38,15 +38,6 @@ function(aws_set_common_properties target)
+ # Disable unknown pragma warnings
+ list(APPEND AWS_C_FLAGS /wd4068)
+
+- string(TOUPPER "${CMAKE_BUILD_TYPE}" _CMAKE_BUILD_TYPE)
+- if(STATIC_CRT)
+- string(REPLACE "/MD" "/MT" _FLAGS "${CMAKE_C_FLAGS_${_CMAKE_BUILD_TYPE}}")
+- else()
+- string(REPLACE "/MT" "/MD" _FLAGS "${CMAKE_C_FLAGS_${_CMAKE_BUILD_TYPE}}")
+- endif()
+- string(REPLACE " " ";" _FLAGS "${_FLAGS}")
+- list(APPEND AWS_C_FLAGS "${_FLAGS}")
+-
+ else()
+ list(APPEND AWS_C_FLAGS -Wall -Werror -Wstrict-prototypes)
+
diff --git a/ports/aws-c-common/fix-dependencey-build-error.patch b/ports/aws-c-common/fix-dependencey-build-error.patch
new file mode 100644
index 000000000..cfbf2611c
--- /dev/null
+++ b/ports/aws-c-common/fix-dependencey-build-error.patch
@@ -0,0 +1,13 @@
+diff --git a/include/aws/common/byte_buf.h b/include/aws/common/byte_buf.h
+index 545b06d..c579c82 100644
+--- a/include/aws/common/byte_buf.h
++++ b/include/aws/common/byte_buf.h
+@@ -21,6 +21,8 @@
+
+ #include <string.h>
+
++#pragma warning(disable: 4068)
++
+ /**
+ * Represents a length-delimited binary string or buffer. If byte buffer points
+ * to constant memory or memory that should otherwise not be freed by this
diff --git a/ports/aws-c-common/portfile.cmake b/ports/aws-c-common/portfile.cmake
index 681964791..609d7269d 100644
--- a/ports/aws-c-common/portfile.cmake
+++ b/ports/aws-c-common/portfile.cmake
@@ -3,9 +3,12 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO awslabs/aws-c-common
- REF v0.3.0
- SHA512 604b4289f19be662f15dc5ba80c20b78856975332b485796f979580e45f8d778eb8ce0cc2c02dcbaf27bc1159f473e02676cd951b674b7c8478ed26438a04541
+ REF v0.3.11
+ SHA512 da845f748aecfff61209f542f4eac8d46738af52ce980d5c8315397f859429dfd9e4bf989ddf2fbe938d1efb33dce9c531c92cbe53388b1d1082d5caa97e8750
HEAD_REF master
+ PATCHES
+ fix-dependencey-build-error.patch # This patch fixes dependency port compilation failure
+ disable-internal-crt-option.patch # Disable internal crt option because vcpkg contains crt processing flow
)
vcpkg_configure_cmake(
diff --git a/ports/azure-c-shared-utility/CONTROL b/ports/azure-c-shared-utility/CONTROL
index f7e0a0fdd..08223a62c 100644
--- a/ports/azure-c-shared-utility/CONTROL
+++ b/ports/azure-c-shared-utility/CONTROL
@@ -1,5 +1,5 @@
Source: azure-c-shared-utility
-Version: 2019-05-16
+Version: 2019-05-16.1
Description: Azure C SDKs common code
Build-Depends: curl (linux), openssl (linux), azure-macro-utils-c, umock-c
diff --git a/ports/azure-c-shared-utility/portfile.cmake b/ports/azure-c-shared-utility/portfile.cmake
index ee5bebf5c..c43bf4451 100644
--- a/ports/azure-c-shared-utility/portfile.cmake
+++ b/ports/azure-c-shared-utility/portfile.cmake
@@ -6,8 +6,8 @@ if("public-preview" IN_LIST FEATURES)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Azure/azure-c-shared-utility
- REF bc83cba1230e98988ae5cd2328f4dcf8c49d5866
- SHA512 48947709f9c07c8a910d40066a52b746f9ab15543837f44207b787674efd2b11e7a7eb849c88e20984f0e2141e5611f6d6edea39c8b82687f371c08ab274bd7b
+ REF f0642196af85aeb4f2717d9cc11176290f321fb8
+ SHA512 fd8ee6e2be11c13f7388e57eb9c98397b6cb026ca370131db55b6118908701cdff2a1eaabb89bfe84591d6ee17163d06b7b86ad615216203bcbf0c8595d45452
HEAD_REF master
PATCHES no-double-expand-cmake.patch
)
diff --git a/ports/azure-iot-sdk-c/CONTROL b/ports/azure-iot-sdk-c/CONTROL
index cfca96393..676184078 100644
--- a/ports/azure-iot-sdk-c/CONTROL
+++ b/ports/azure-iot-sdk-c/CONTROL
@@ -1,5 +1,5 @@
Source: azure-iot-sdk-c
-Version: 2019-05-16
+Version: 2019-05-16.1
Build-Depends: azure-uamqp-c, azure-umqtt-c, azure-c-shared-utility, parson, azure-uhttp-c, azure-macro-utils-c, umock-c
Description: A C99 SDK for connecting devices to Microsoft Azure IoT services
diff --git a/ports/azure-iot-sdk-c/portfile.cmake b/ports/azure-iot-sdk-c/portfile.cmake
index bfd7703c8..3f3ca4f0c 100644
--- a/ports/azure-iot-sdk-c/portfile.cmake
+++ b/ports/azure-iot-sdk-c/portfile.cmake
@@ -6,8 +6,8 @@ if("public-preview" IN_LIST FEATURES)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Azure/azure-iot-sdk-c
- REF 68d9964daa3e6754f6f8d98bbbd637b0967d4d29
- SHA512 5492ab06ae3686c7a167d63620d6ca00024dd52d46627d7958569f1ec0cfca1b56151d54b8c7975f127f655018c10e830747ef84a0cdc66a44e903e25b2dc985
+ REF f3f9538960d9b29033e52522dd63e985ba970504
+ SHA512 f8ce98d62425da4bec1c9e99b7b662a615d90a9407e03f7ce31a56fb8848f6bda1a39156bbabf351383e490dc3438d842136220dcf08efb1560e21d9ac76a0ba
HEAD_REF public-preview
PATCHES improve-external-deps.patch
)
diff --git a/ports/azure-macro-utils-c/CONTROL b/ports/azure-macro-utils-c/CONTROL
index 72840172b..40aaa75fe 100644
--- a/ports/azure-macro-utils-c/CONTROL
+++ b/ports/azure-macro-utils-c/CONTROL
@@ -1,5 +1,5 @@
Source: azure-macro-utils-c
-Version: 2019-05-16
+Version: 2019-05-16.1
Description: A library of macros for the Azure IoT SDK Suite
Build-Depends:
diff --git a/ports/azure-storage-cpp/CONTROL b/ports/azure-storage-cpp/CONTROL
index c3f8babef..d799b4512 100644
--- a/ports/azure-storage-cpp/CONTROL
+++ b/ports/azure-storage-cpp/CONTROL
@@ -2,4 +2,5 @@ Source: azure-storage-cpp
Version: 6.1.0
Build-Depends: cpprestsdk[core], atlmfc (windows), boost-log (!windows&!uwp), boost-locale (!windows&!uwp), libxml2 (!windows&!uwp), libuuid (!windows&!uwp&!osx), gettext
Description: Microsoft Azure Storage Client SDK for C++
- A client library for working with Microsoft Azure storage services including blobs, files, tables, and queues. This client library enables working with the Microsoft Azure storage services which include the blob service for storing binary and text data, the file service for storing binary and text data, the table service for storing structured non-relational data, and the queue service for storing messages that may be accessed by a client. Microsoft Azure Storage team's blog - http://blogs.msdn.com/b/windowsazurestorage/
+ A client library for working with Microsoft Azure storage services including blobs, files, tables, and queues. This client library enables working with the Microsoft Azure storage services which include the blob service for storing binary and text data, the file service for storing binary and text data, the table service for storing structured non-relational data, and the queue service for storing messages that may be accessed by a client.
+Homepage: http://blogs.msdn.com/b/windowsazurestorage/ \ No newline at end of file
diff --git a/ports/azure-uamqp-c/CONTROL b/ports/azure-uamqp-c/CONTROL
index 2576f3e98..db9200f4c 100644
--- a/ports/azure-uamqp-c/CONTROL
+++ b/ports/azure-uamqp-c/CONTROL
@@ -1,5 +1,5 @@
Source: azure-uamqp-c
-Version: 2019-05-16
+Version: 2019-05-16.1
Build-Depends: azure-c-shared-utility, azure-macro-utils-c, umock-c
Description: AMQP library for C
diff --git a/ports/azure-uamqp-c/portfile.cmake b/ports/azure-uamqp-c/portfile.cmake
index 0bbc68b96..517eca19a 100644
--- a/ports/azure-uamqp-c/portfile.cmake
+++ b/ports/azure-uamqp-c/portfile.cmake
@@ -6,8 +6,8 @@ if("public-preview" IN_LIST FEATURES)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Azure/azure-uamqp-c
- REF 13f009ddd50a2837f651b0237de17db5f24c3af9
- SHA512 649e1826c02a25c57031e1cf1ae92ff15f7caadd064d1dff4aa4ee579598af58ae03f778138cdf26918c1500ca1b8678a6f88c0ae24fd6fca37dab7b81b34984
+ REF 5ceebf6ec8d1973cfa80804077c7cef23d3b36af
+ SHA512 6dc7ffc386339db54ff387760119ae5ffd564642cd18d0dc177e6302167cc3b40bdd0f4d9e50478db8d2760166b15058b53b9eb2d1c160f234693a59ac762a75
HEAD_REF master
)
else()
diff --git a/ports/azure-uhttp-c/CONTROL b/ports/azure-uhttp-c/CONTROL
index c5cc71cfd..f282a27f2 100644
--- a/ports/azure-uhttp-c/CONTROL
+++ b/ports/azure-uhttp-c/CONTROL
@@ -1,5 +1,5 @@
Source: azure-uhttp-c
-Version: 2019-05-16
+Version: 2019-05-16.1
Build-Depends: azure-c-shared-utility, azure-macro-utils-c, umock-c
Description: Azure HTTP Library written in C
diff --git a/ports/azure-uhttp-c/portfile.cmake b/ports/azure-uhttp-c/portfile.cmake
index f14d6dca0..af5afc875 100644
--- a/ports/azure-uhttp-c/portfile.cmake
+++ b/ports/azure-uhttp-c/portfile.cmake
@@ -6,8 +6,8 @@ if("public-preview" IN_LIST FEATURES)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Azure/azure-uhttp-c
- REF 43dce924b32818f8ab851f972cffebc204edc5c4
- SHA512 0e5e9e7dac0c8a1a01cea2fd9ef068f988ad3453f978957cbcb009126637fe5810001e273e7b300b4540914705a89250d96df652c4bb2c7f5348cd8ce7240d70
+ REF b8976adff02e543fc00e7db59eae9ce78dd014fe
+ SHA512 65ddccc07831309c4f3f8546bb1a45a6eff84674013311a15c99389d4fc33eaf2ef3da6c7c8e4bb03d32955d12c978190e7badb597379a9fefda4ebcf18827ec
HEAD_REF master
)
else()
diff --git a/ports/azure-umqtt-c/CONTROL b/ports/azure-umqtt-c/CONTROL
index 98019eb69..2138a45b1 100644
--- a/ports/azure-umqtt-c/CONTROL
+++ b/ports/azure-umqtt-c/CONTROL
@@ -1,5 +1,5 @@
Source: azure-umqtt-c
-Version: 2019-05-16
+Version: 2019-05-16.1
Build-Depends: azure-c-shared-utility, azure-macro-utils-c, umock-c
Description: General purpose library for communication over the mqtt protocol
diff --git a/ports/azure-umqtt-c/portfile.cmake b/ports/azure-umqtt-c/portfile.cmake
index e7e5a8df3..d64dd01d4 100644
--- a/ports/azure-umqtt-c/portfile.cmake
+++ b/ports/azure-umqtt-c/portfile.cmake
@@ -6,8 +6,8 @@ if("public-preview" IN_LIST FEATURES)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Azure/azure-umqtt-c
- REF ea9f6112d002bdff55c94df327bc7effc8393c78
- SHA512 68fdc22eb07d32cb9cf489d878db3be8326225e3a067153af7b9e29eabc8ee25162507b7e8921b71b83d42703d5a3d8e040f4a9e61a19540789432e2cecb782f
+ REF c37883fbb05218fd940b87899a116af240f90c40
+ SHA512 21bbe6dfafcc96d35775ab83a75334fbfd41a55a82a7da483d5ff179aa3792424851f250007c9603ef17c789d8b23b1a8b81580fc2cf793fd00b487c321fdba3
HEAD_REF master
)
else()
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/benchmark/portfile.cmake b/ports/benchmark/portfile.cmake
index bdc564ada..76cdfb437 100644
--- a/ports/benchmark/portfile.cmake
+++ b/ports/benchmark/portfile.cmake
@@ -9,8 +9,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO google/benchmark
- REF v1.5
- SHA512 a57122340c4f9a8e434ec70098916aef7c49d5d8312a30e4753f54bacc1099b146698b66c12f9ef116f7cadc93c604809a905c0e259aecf63aa2553390a1b609
+ REF v1.5.0
+ SHA512 a0df9aa3d03f676e302c76d83b436de36eea0a8517ab50a8f5a11c74ccc68a1f5128fa02474901002d8e6b5a4d290ef0272a798ff4670eab3e2d78dc86bb6cd3
HEAD_REF master
)
diff --git a/ports/berkeleydb/CONTROL b/ports/berkeleydb/CONTROL
index e77e5793a..b4fd6dae0 100644
--- a/ports/berkeleydb/CONTROL
+++ b/ports/berkeleydb/CONTROL
@@ -1,3 +1,3 @@
Source: berkeleydb
Version: 4.8.30-2
-Description: A high-performance embedded database for key/value data.
+Description: BDB - A high-performance embedded database for key/value data.
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/bond/CONTROL b/ports/bond/CONTROL
index 62f48bd8a..940b0dc05 100644
--- a/ports/bond/CONTROL
+++ b/ports/bond/CONTROL
@@ -1,5 +1,6 @@
Source: bond
Maintainer: bond@microsoft.com
Version: 7.0.2-2
-Description: Bond is a cross-platform framework for working with schematized data. It supports cross-language de/serialization and powerful generic mechanisms for efficiently manipulating data. Bond is broadly used at Microsoft in high scale services. <https://github.com/Microsoft/bond>
+Description: Bond is a cross-platform framework for working with schematized data. It supports cross-language de/serialization and powerful generic mechanisms for efficiently manipulating data. Bond is broadly used at Microsoft in high scale services.
+Homepage: https://github.com/Microsoft/bond
Build-Depends: rapidjson, boost-config, boost-utility, boost-assign
diff --git a/ports/boost-thread/CONTROL b/ports/boost-thread/CONTROL
index a21747a08..41f0d4066 100644
--- a/ports/boost-thread/CONTROL
+++ b/ports/boost-thread/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-thread
-Version: 1.70.0
+Version: 1.70.0-1
Build-Depends: boost-algorithm, boost-assert, boost-atomic, boost-bind, boost-build, boost-chrono, boost-concept-check, boost-config, boost-container, boost-container-hash, boost-core, boost-date-time, boost-detail, boost-exception, boost-function, boost-integer, boost-intrusive, boost-io, boost-lexical-cast, boost-math, boost-modular-build-helper, boost-move, boost-mpl, boost-optional, boost-predef, boost-preprocessor, boost-smart-ptr, boost-static-assert, boost-system, boost-throw-exception, boost-tuple, boost-type-traits, boost-utility, boost-vcpkg-helpers, boost-winapi
Description: Boost thread module
diff --git a/ports/boost-thread/avoid-winapi.patch b/ports/boost-thread/avoid-winapi.patch
index ed6a89ee7..2308600ea 100644
--- a/ports/boost-thread/avoid-winapi.patch
+++ b/ports/boost-thread/avoid-winapi.patch
@@ -1,13 +1,13 @@
-diff --git a/include/boost/thread/win32/thread_primitives.hpp b/include/boost/thread/win32/thread_primitives.hpp
-index 5e378f7..6144621 100644
---- a/include/boost/thread/win32/thread_primitives.hpp
-+++ b/include/boost/thread/win32/thread_primitives.hpp
-@@ -70,7 +70,7 @@ namespace boost
- {
- namespace win32
- {
-- namespace detail { typedef ticks_type (WINAPI *gettickcount64_t)(); }
-+ namespace detail { typedef ticks_type (__stdcall *gettickcount64_t)(); }
- extern BOOST_THREAD_DECL boost::detail::win32::detail::gettickcount64_t gettickcount64;
-
- enum event_type
+diff --git a/include/boost/thread/win32/thread_primitives.hpp b/include/boost/thread/win32/thread_primitives.hpp
+index e075140..d60ab36 100644
+--- a/include/boost/thread/win32/thread_primitives.hpp
++++ b/include/boost/thread/win32/thread_primitives.hpp
+@@ -70,7 +70,7 @@ namespace boost
+ {
+ namespace win32
+ {
+- namespace detail { typedef ticks_type (BOOST_WINAPI_WINAPI_CC *gettickcount64_t)(); }
++ namespace detail { typedef ticks_type (__stdcall *gettickcount64_t)(); }
+ extern BOOST_THREAD_DECL boost::detail::win32::detail::gettickcount64_t gettickcount64;
+
+ enum event_type
diff --git a/ports/box2d/CONTROL b/ports/box2d/CONTROL
index 943b1ec94..e95eea2ba 100644
--- a/ports/box2d/CONTROL
+++ b/ports/box2d/CONTROL
@@ -1,3 +1,4 @@
Source: box2d
Version: 2.3.1-374664b-2
-Description: Box2D (http://box2d.org) is an open source C++ engine for simulating rigid bodies in 2D.
+Description: An open source C++ engine for simulating rigid bodies in 2D.
+Homepage: http://box2d.org
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/capnproto/CONTROL b/ports/capnproto/CONTROL
index 3014018b9..2bb136b7a 100644
--- a/ports/capnproto/CONTROL
+++ b/ports/capnproto/CONTROL
@@ -1,4 +1,5 @@
Source: capnproto
Version: 0.7.0-1
-Description: Data interchange format and capability-based RPC system https://capnproto.org/
+Description: Data interchange format and capability-based RPC system
+Homepage: https://capnproto.org/
Build-Depends: zlib
diff --git a/ports/catch2/CONTROL b/ports/catch2/CONTROL
index 7f78259db..b3cd3c33d 100644
--- a/ports/catch2/CONTROL
+++ b/ports/catch2/CONTROL
@@ -1,4 +1,4 @@
Source: catch2
Version: 2.7.2
Description: A modern, header-only test framework for unit testing.
- Issues, PRs and changelogs can be found at https://github.com/catchorg/Catch2
+Homepage: https://github.com/catchorg/Catch2
diff --git a/ports/celero/CONTROL b/ports/celero/CONTROL
index aa90dad66..6b762e572 100644
--- a/ports/celero/CONTROL
+++ b/ports/celero/CONTROL
@@ -1,3 +1,3 @@
Source: celero
-Version: 2.4.0-1
+Version: 2.5.0-1
Description: Celero is a modern cross-platform (Windows, Linux, MacOS) Microbenchmarking library for C++.
diff --git a/ports/celero/portfile.cmake b/ports/celero/portfile.cmake
index 61dbec10e..a3dd2ad93 100644
--- a/ports/celero/portfile.cmake
+++ b/ports/celero/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO DigitalInBlue/Celero
- REF 9f41c21e35b04d7d65dcb0aff4c962f6e5f2cbc3
- SHA512 62a4803e61cf9e876c09cc68be07d4bfa31f291d3ced23e092347bf43b48086b3ba7862fc454082f42263d9ec0c260e8ba58da5c0c461ebff9c871209784e2a7
+ REF 6f24a1d98db4fee41ddd2f615cf490a5b514795a
+ SHA512 7dc8cecd2aac7bd312bfa01013f290fbfac8a43d07cc0d884e9b446c29a6c233e800f9bd3d03551f6e3b1ee2424cf90571f16590b23fc9333900fcc82143d048
HEAD_REF master
)
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/cjson/CONTROL b/ports/cjson/CONTROL
new file mode 100644
index 000000000..7029313e3
--- /dev/null
+++ b/ports/cjson/CONTROL
@@ -0,0 +1,6 @@
+Source: cjson
+Version: 1.7.10-1
+Description: Ultralightweight JSON parser in ANSI C
+
+Feature: utils
+Description: Enable building the cJSON_Utils library
diff --git a/ports/cjson/fix-install-path.patch b/ports/cjson/fix-install-path.patch
new file mode 100644
index 000000000..96a65d996
--- /dev/null
+++ b/ports/cjson/fix-install-path.patch
@@ -0,0 +1,34 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 033a882..6e2b2e4 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -149,7 +149,13 @@ configure_file("${CMAKE_CURRENT_SOURCE_DIR}/library_config/libcjson.pc.in"
+
+ install(FILES cJSON.h DESTINATION "${CMAKE_INSTALL_FULL_INCLUDEDIR}/cjson")
+ install (FILES "${CMAKE_CURRENT_BINARY_DIR}/libcjson.pc" DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}/pkgconfig")
+-install(TARGETS "${CJSON_LIB}" DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}" EXPORT "${CJSON_LIB}")
++install(TARGETS "${CJSON_LIB}"
++ EXPORT "${CJSON_LIB}"
++ ARCHIVE DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}"
++ LIBRARY DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}"
++ RUNTIME DESTINATION "${CMAKE_INSTALL_FULL_BINDIR}"
++ INCLUDES DESTINATION "${CMAKE_INSTALL_FULL_INCLUDEDIR}"
++)
+ if (BUILD_SHARED_AND_STATIC_LIBS)
+ install(TARGETS "${CJSON_LIB}-static" DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}")
+ endif()
+@@ -186,7 +192,13 @@ if(ENABLE_CJSON_UTILS)
+ configure_file("${CMAKE_CURRENT_SOURCE_DIR}/library_config/libcjson_utils.pc.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/libcjson_utils.pc" @ONLY)
+
+- install(TARGETS "${CJSON_UTILS_LIB}" DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}" EXPORT "${CJSON_UTILS_LIB}")
++ install(TARGETS "${CJSON_UTILS_LIB}"
++ EXPORT "${CJSON_UTILS_LIB}"
++ ARCHIVE DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}"
++ LIBRARY DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}"
++ RUNTIME DESTINATION "${CMAKE_INSTALL_FULL_BINDIR}"
++ INCLUDES DESTINATION "${CMAKE_INSTALL_FULL_INCLUDEDIR}"
++ )
+ if (BUILD_SHARED_AND_STATIC_LIBS)
+ install(TARGETS "${CJSON_UTILS_LIB}-static" DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}")
+ endif()
diff --git a/ports/cjson/portfile.cmake b/ports/cjson/portfile.cmake
new file mode 100644
index 000000000..7db22d9ae
--- /dev/null
+++ b/ports/cjson/portfile.cmake
@@ -0,0 +1,63 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO DaveGamble/cJSON
+ REF v1.7.10
+ SHA512 f8d7c9fe798b51ec3c69cabe4124d2f6372f0e6d282285e3ca951c58c971a9a520d87550530d750ff7f8055c0b6ff566f237b9af9eb345cf4f4fc4ff8c910740
+ HEAD_REF master
+ PATCHES
+ fix-install-path.patch
+)
+
+if("utils" IN_LIST FEATURES)
+ set(ENABLE_CJSON_UTILS ON)
+else()
+ set(ENABLE_CJSON_UTILS OFF)
+endif()
+
+if(CMAKE_HOST_WIN32)
+ string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" ENABLE_PUBLIC_SYMBOLS)
+else()
+ set(ENABLE_PUBLIC_SYMBOLS OFF)
+endif()
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DBUILD_SHARED_AND_STATIC_LIBS=OFF
+ -DCJSON_OVERRIDE_BUILD_SHARED_LIBS=OFF
+ -DENABLE_PUBLIC_SYMBOLS=${ENABLE_PUBLIC_SYMBOLS}
+ -DENABLE_TARGET_EXPORT=ON # Export CMake config files
+ -DENABLE_CJSON_UTILS=${ENABLE_CJSON_UTILS}
+ -DENABLE_CJSON_TEST=OFF
+ -DENABLE_FUZZING=OFF
+)
+
+vcpkg_install_cmake()
+
+vcpkg_copy_pdbs()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/cJSON)
+
+file(REMOVE_RECURSE
+ ${CURRENT_PACKAGES_DIR}/debug/include
+ ${CURRENT_PACKAGES_DIR}/debug/share
+)
+
+file(READ ${CURRENT_PACKAGES_DIR}/include/cjson/cJSON.h _contents)
+if(ENABLE_PUBLIC_SYMBOLS)
+ string(REPLACE "defined(CJSON_HIDE_SYMBOLS)" "0 /* defined(CJSON_HIDE_SYMBOLS) */" _contents "${_contents}")
+ string(REPLACE "defined(CJSON_EXPORT_SYMBOLS)" "0 /* defined(CJSON_EXPORT_SYMBOLS) */" _contents "${_contents}")
+ string(REPLACE "defined(CJSON_IMPORT_SYMBOLS)" "1 /* defined(CJSON_IMPORT_SYMBOLS) */" _contents "${_contents}")
+else()
+ string(REPLACE "defined(CJSON_HIDE_SYMBOLS)" "1 /* defined(CJSON_HIDE_SYMBOLS) */" _contents "${_contents}")
+endif()
+file(WRITE ${CURRENT_PACKAGES_DIR}/include/cjson/cJSON.h "${_contents}")
+
+# Handle copyright
+configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY)
+
+# CMake integration test
+vcpkg_test_cmake(PACKAGE_NAME ${PORT})
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/cli11/CONTROL b/ports/cli11/CONTROL
index 3fe872020..e478049c1 100644
--- a/ports/cli11/CONTROL
+++ b/ports/cli11/CONTROL
@@ -1,3 +1,4 @@
Source: cli11
Version: 1.8.0
-Description: CLI11 is a command line parser for C++11 and beyond that provides a rich feature set with a simple and intuitive interface. <https://github.com/CLIUtils/CLI11>
+Description: CLI11 is a command line parser for C++11 and beyond that provides a rich feature set with a simple and intuitive interface.
+Homepage: https://github.com/CLIUtils/CLI11
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/corrade/CONTROL b/ports/corrade/CONTROL
index db1dd82f9..fdce77033 100644
--- a/ports/corrade/CONTROL
+++ b/ports/corrade/CONTROL
@@ -1,6 +1,7 @@
Source: corrade
Version: 2019.01-1
-Description: C++11/C++14 multiplatform utility library http://magnum.graphics/corrade/
+Description: C++11/C++14 multiplatform utility library
+Homepage: http://magnum.graphics/corrade/
Default-Features: interconnect, pluginmanager, testsuite, utility
Feature: interconnect
diff --git a/ports/cppcms/CONTROL b/ports/cppcms/CONTROL
index f33c94ed9..b2db0ffa1 100644
--- a/ports/cppcms/CONTROL
+++ b/ports/cppcms/CONTROL
@@ -1,4 +1,4 @@
Source: cppcms
-Version: 1.1.0-2
+Version: 1.2.1
Description: CppCMS is a Free High Performance Web Development Framework (not a CMS) aimed at Rapid Web Application Development
Build-Depends: icu, pcre, openssl, zlib
diff --git a/ports/cppcms/portfile.cmake b/ports/cppcms/portfile.cmake
index c9ccca85b..e6c6cfa2a 100644
--- a/ports/cppcms/portfile.cmake
+++ b/ports/cppcms/portfile.cmake
@@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY ONLY_DYNAMIC_CRT)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO artyom-beilis/cppcms
- REF v1.1.0
- SHA512 cfc77f28ddee05b8a350fff1dbd7c09adcf008b8662d4f977b203dee50b5fadae97df499a655ebb48263a7448e0bdca514c8ac52ea805bf33e48612dabaa69f4
+ REF b72b19915794d1af63c9a9e9bea58e20a4ad93d4
+ SHA512 e99d34d14fbde22be725ac2c0bec069fb584e45c66767af75efaf454ca61a7a5e57434bf86109f910884c72202b8cf98fe16505e7d3d30d9218abd4d8b27d5df
)
vcpkg_find_acquire_program(PYTHON2)
@@ -27,5 +27,5 @@ file(GLOB EXE_FILES ${CURRENT_PACKAGES_DIR}/bin/*.exe)
file(REMOVE ${EXE_FILES})
# Handle copyright
-file(COPY ${SOURCE_PATH}/LGPLv3.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/cppcms)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/cppcms/LGPLv3.txt ${CURRENT_PACKAGES_DIR}/share/cppcms/copyright)
+file(COPY ${SOURCE_PATH}/MIT.TXT DESTINATION ${CURRENT_PACKAGES_DIR}/share/cppcms)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/cppcms/MIT.TXT ${CURRENT_PACKAGES_DIR}/share/cppcms/copyright)
diff --git a/ports/cppcodec/CONTROL b/ports/cppcodec/CONTROL
new file mode 100644
index 000000000..32f72bf2f
--- /dev/null
+++ b/ports/cppcodec/CONTROL
@@ -0,0 +1,3 @@
+Source: cppcodec
+Version: 0.2
+Description: Header-only C++11 library to encode/decode base64, base64url, base32, base32hex and hex (a.k.a. base16) as specified in RFC 4648, plus Crockford's base32. \ No newline at end of file
diff --git a/ports/cppcodec/portfile.cmake b/ports/cppcodec/portfile.cmake
new file mode 100644
index 000000000..b445f4d47
--- /dev/null
+++ b/ports/cppcodec/portfile.cmake
@@ -0,0 +1,24 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO tplgy/cppcodec
+ REF v0.2
+ SHA512 50c9c81cdb12560c87e513e1fd22c1ad24ea37b7d20a0e3044d43fb887f4c6494c69468e4d0811cd2fc1ae8fdb01b01cfb9f3cfdd8611d4bb0221cbd38cbead3
+ HEAD_REF master
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DBUILD_TESTING=OFF
+
+)
+
+vcpkg_install_cmake()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib)
+
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
+
diff --git a/ports/cryptopp/CONTROL b/ports/cryptopp/CONTROL
index e3a5d79de..c65a43c90 100644
--- a/ports/cryptopp/CONTROL
+++ b/ports/cryptopp/CONTROL
@@ -1,3 +1,3 @@
Source: cryptopp
-Version: 8.1.0
+Version: 8.1.0-1
Description: Crypto++ is a free C++ class library of cryptographic schemes.
diff --git a/ports/cryptopp/portfile.cmake b/ports/cryptopp/portfile.cmake
index b4f35e7e6..ad6557f77 100644
--- a/ports/cryptopp/portfile.cmake
+++ b/ports/cryptopp/portfile.cmake
@@ -26,6 +26,14 @@ vcpkg_from_github(
file(COPY ${CMAKE_SOURCE_PATH}/cryptopp-config.cmake DESTINATION ${SOURCE_PATH})
file(COPY ${CMAKE_SOURCE_PATH}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+# disable assembly on OSX to fix broken build
+if(APPLE)
+ set(CRYPTOPP_DISABLE_ASM "ON")
+else()
+ set(CRYPTOPP_DISABLE_ASM "OFF")
+endif()
+
+
# Dynamic linking should be avoided for Crypto++ to reduce the attack surface,
# so generate a static lib for both dynamic and static vcpkg targets.
# See also:
@@ -40,6 +48,7 @@ vcpkg_configure_cmake(
-DBUILD_STATIC=ON
-DBUILD_TESTING=OFF
-DBUILD_DOCUMENTATION=OFF
+ -DDISABLE_ASM=${CRYPTOPP_DISABLE_ASM}
)
vcpkg_install_cmake()
diff --git a/ports/curl/CONTROL b/ports/curl/CONTROL
index 226ce5b1a..3f5539de7 100644
--- a/ports/curl/CONTROL
+++ b/ports/curl/CONTROL
@@ -1,5 +1,5 @@
Source: curl
-Version: 7.65.0
+Version: 7.65.0-1
Build-Depends: zlib
Description: A library for transferring data with URLs
Default-Features: ssl
diff --git a/ports/curl/portfile.cmake b/ports/curl/portfile.cmake
index 2a75c696f..294c7a758 100644
--- a/ports/curl/portfile.cmake
+++ b/ports/curl/portfile.cmake
@@ -123,9 +123,9 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
# the native CMAKE_EXECUTABLE_SUFFIX does not work in portfiles, so emulate it
if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") # Windows
- set(EXECUTABLE_SUFFIX ".exe")
+ set(EXECUTABLE_SUFFIX ".exe")
else()
- set(EXECUTABLE_SUFFIX "")
+ set(EXECUTABLE_SUFFIX "")
endif()
if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/curl${EXECUTABLE_SUFFIX}")
@@ -134,9 +134,9 @@ if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/curl${EXECUTABLE_SUFFIX}")
vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/curl)
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
- file(READ "${CURRENT_PACKAGES_DIR}/share/curl/curl-target-release.cmake" RELEASE_MODULE)
+ file(READ "${CURRENT_PACKAGES_DIR}/share/curl/CURLTargets-release.cmake" RELEASE_MODULE)
string(REPLACE "\${_IMPORT_PREFIX}/bin/curl${EXECUTABLE_SUFFIX}" "\${_IMPORT_PREFIX}/tools/curl/curl${EXECUTABLE_SUFFIX}" RELEASE_MODULE "${RELEASE_MODULE}")
- file(WRITE "${CURRENT_PACKAGES_DIR}/share/curl/curl-target-release.cmake" "${RELEASE_MODULE}")
+ file(WRITE "${CURRENT_PACKAGES_DIR}/share/curl/CURLTargets-release.cmake" "${RELEASE_MODULE}")
endif()
endif()
diff --git a/ports/darts-clone/CONTROL b/ports/darts-clone/CONTROL
index 2d34f86c7..a0bfad433 100644
--- a/ports/darts-clone/CONTROL
+++ b/ports/darts-clone/CONTROL
@@ -1,3 +1,3 @@
Source: darts-clone
-Version: 1767ab87cffe
+Version: 1767ab87cffe-1
Description: A static double-array trie structure
diff --git a/ports/darts-clone/portfile.cmake b/ports/darts-clone/portfile.cmake
index 2979e83b5..d7eb7941c 100644
--- a/ports/darts-clone/portfile.cmake
+++ b/ports/darts-clone/portfile.cmake
@@ -23,4 +23,6 @@ vcpkg_configure_cmake(
vcpkg_install_cmake()
vcpkg_copy_pdbs()
+file(REMOVE ${CURRENT_PACKAGES_DIR}/include/Makefile.am)
+
file(INSTALL ${SOURCE_PATH}/COPYING.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/darts-clone RENAME copyright)
diff --git a/ports/dcmtk/CONTROL b/ports/dcmtk/CONTROL
index ab248db1c..ad087563d 100644
--- a/ports/dcmtk/CONTROL
+++ b/ports/dcmtk/CONTROL
@@ -1,3 +1,3 @@
Source: dcmtk
-Version: 3.6.3-1
+Version: 3.6.4
Description: This DICOM ToolKit (DCMTK) package consists of source code, documentation and installation instructions for a set of software libraries and applications implementing part of the DICOM/MEDICOM Standard.
diff --git a/ports/dcmtk/dcmtk.patch b/ports/dcmtk/dcmtk.patch
index c25a8db7b..cca14e28e 100644
--- a/ports/dcmtk/dcmtk.patch
+++ b/ports/dcmtk/dcmtk.patch
@@ -1,15 +1,16 @@
-diff --git "a/CMake/dcmtkPrepare.cmake" "b/CMake/dcmtkPrepare.cmake"
---- a/CMake/dcmtkPrepare.cmake 2018-02-05 12:58:13.000000000 -0500
-+++ b/CMake/dcmtkPrepare.cmake 2018-04-25 15:07:12.927851000 -0400
-@@ -192,9 +192,9 @@
+diff --git a/CMake/dcmtkPrepare.cmake b/CMake/dcmtkPrepare.cmake
+index e9f77b5..4f7ebe3 100644
+--- a/CMake/dcmtkPrepare.cmake
++++ b/CMake/dcmtkPrepare.cmake
+@@ -192,9 +192,9 @@ include(GNUInstallDirs)
# CMake's files (DCMTKTarget.cmake, DCMTKConfigVersion.cmake and DCMTKConfig.cmake) are installed
# to different installation paths under Unix- and Windows-based systems
- IF(UNIX)
-- SET(DCMTK_INSTALL_CMKDIR "${CMAKE_INSTALL_LIBDIR}/cmake/dcmtk")
+ if(UNIX)
+- set(DCMTK_INSTALL_CMKDIR "${CMAKE_INSTALL_LIBDIR}/cmake/dcmtk")
+ SET(DCMTK_INSTALL_CMKDIR "share/dcmtk")
- ELSEIF(WIN32)
-- SET(DCMTK_INSTALL_CMKDIR "cmake")
+ elseif(WIN32)
+- set(DCMTK_INSTALL_CMKDIR "cmake")
+ SET(DCMTK_INSTALL_CMKDIR "share/dcmtk")
- ENDIF(UNIX)
+ endif()
#-----------------------------------------------------------------------------
diff --git a/ports/dcmtk/portfile.cmake b/ports/dcmtk/portfile.cmake
index d11878a0e..cdf9b73e6 100644
--- a/ports/dcmtk/portfile.cmake
+++ b/ports/dcmtk/portfile.cmake
@@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO DCMTK/dcmtk
- REF DCMTK-3.6.3
- SHA512 5863d0c05f046075b998bced7c8c71bf8e969dd366f26d48cdf26012ea744ae4a22784a5c3c12e12b0f188e997c93a6890ef0c3c336865ea93f13c45f70b258d
+ REF 1967b13134308f311e6a827e616958c6a4da5bc9
+ SHA512 a63a773e339081720adb0f3260a3b21ee11cde8009b321c3f45eeb40402ff29bd580926fb44f0dd784ba8369e2597933196bdaa324517d91fa5201b11b7504c0
HEAD_REF master
PATCHES ${CMAKE_CURRENT_LIST_DIR}/dcmtk.patch
)
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/draco/CONTROL b/ports/draco/CONTROL
index afdeb1e6d..555c66d0a 100644
--- a/ports/draco/CONTROL
+++ b/ports/draco/CONTROL
@@ -1,4 +1,4 @@
Source: draco
-Version: 1.3.3-2
+Version: 1.3.5
Description: A library for compressing and decompressing 3D geometric meshes and point clouds. It is intended to improve the storage and transmission of 3D graphics.
Build-Depends:
diff --git a/ports/draco/fix-compile-error-uwp.patch b/ports/draco/fix-compile-error-uwp.patch
index 874ea7432..df0b1df22 100644
--- a/ports/draco/fix-compile-error-uwp.patch
+++ b/ports/draco/fix-compile-error-uwp.patch
@@ -1,30 +1,15 @@
-diff --git a/src/draco/core/symbol_coding_utils.h b/src/draco/core/symbol_coding_utils.h
-index be2183d..eaaca00 100644
---- a/src/draco/core/symbol_coding_utils.h
-+++ b/src/draco/core/symbol_coding_utils.h
-@@ -41,7 +41,9 @@ typename std::make_unsigned<IntTypeT>::type ConvertSignedIntToSymbol(
- if (val >= 0) {
- return static_cast<UnsignedType>(val) << 1;
- }
-- val = -(val + 1); // Map -1 to 0, -2 to -1, etc..
-+ // Map -1 to 0, -2 to -1, etc..
-+ val += 1;
-+ val *= -1;
- UnsignedType ret = static_cast<UnsignedType>(val);
- ret <<= 1;
- ret |= 1;
-diff --git a/src/draco/io/parser_utils.cc b/src/draco/io/parser_utils.cc
-index 1aa52cc..cfbbdbd 100644
---- a/src/draco/io/parser_utils.cc
-+++ b/src/draco/io/parser_utils.cc
-@@ -150,7 +150,9 @@ bool ParseSignedInt(DecoderBuffer *buffer, int32_t *value) {
- uint32_t v;
- if (!ParseUnsignedInt(buffer, &v))
- return false;
-- *value = (sign < 0) ? -v : v;
-+ if (sign < 0)
-+ v *= -1;
-+ *value = v;
- return true;
- }
-
+diff --git a/src/draco/io/parser_utils.cc b/src/draco/io/parser_utils.cc
+index 0a22ba1..9862949 100644
+--- a/src/draco/io/parser_utils.cc
++++ b/src/draco/io/parser_utils.cc
+@@ -150,7 +150,9 @@ bool ParseSignedInt(DecoderBuffer *buffer, int32_t *value) {
+ uint32_t v;
+ if (!ParseUnsignedInt(buffer, &v))
+ return false;
+- *value = (sign < 0) ? -v : v;
++ if (sign < 0)
++ v *= -1;
++ *value = v;
+ return true;
+ }
+
diff --git a/ports/draco/fix-uwperror.patch b/ports/draco/fix-uwperror.patch
new file mode 100644
index 000000000..ff643103e
--- /dev/null
+++ b/ports/draco/fix-uwperror.patch
@@ -0,0 +1,13 @@
+diff --git a/src/draco/core/bit_utils.h b/src/draco/core/bit_utils.h
+index f63cd07..0f6baaf 100644
+--- a/src/draco/core/bit_utils.h
++++ b/src/draco/core/bit_utils.h
+@@ -26,6 +26,8 @@
+ #include <intrin.h>
+ #endif // defined(_MSC_VER)
+
++#pragma warning(disable:4146)
++
+ namespace draco {
+
+ // Returns the number of '1' bits within the input 32 bit integer.
diff --git a/ports/draco/portfile.cmake b/ports/draco/portfile.cmake
index 3486134fb..22d332f98 100644
--- a/ports/draco/portfile.cmake
+++ b/ports/draco/portfile.cmake
@@ -5,11 +5,12 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO google/draco
- REF 1.3.3
- SHA512 80ed5a623046822f5bb26b2454c8ee8cc93ffe9eb3012e8461cefdfc577b26d69a92ea0f0c5e14f5f48c1ef99f9a7263b01710df376792e74358ae14e49c3897
+ REF 1.3.5
+ SHA512 f99fcbec60fbd1683d8aacc35ff8ad9ee1c84374132ad4cc8c0f56662f5d33f940f89028cf3e577cde3314fd0766c124f61798121e4127e888f302e9efe1a004
HEAD_REF master
PATCHES
fix-compile-error-uwp.patch
+ fix-uwperror.patch
)
vcpkg_configure_cmake(
diff --git a/ports/ebml/CONTROL b/ports/ebml/CONTROL
index 33a58c843..0d1f5e97c 100644
--- a/ports/ebml/CONTROL
+++ b/ports/ebml/CONTROL
@@ -1,3 +1,3 @@
Source: ebml
-Version: 1.3.8
+Version: 1.3.9
Description: a C++ libary to parse EBML files
diff --git a/ports/ebml/portfile.cmake b/ports/ebml/portfile.cmake
index 3aa6b264a..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.8
- SHA512 8af11f8ff22be1c72170eec97de813c4206c65795a320a86dd111794dc5b05c279d9455b87919b239762055d93704eec87cb023c53cf769da83ee22dbb49cc04
- 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..024a7617b 100644
--- a/ports/ensmallen/CONTROL
+++ b/ports/ensmallen/CONTROL
@@ -1,5 +1,5 @@
-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.1
+Description: A header-only C++ library for mathematical optimization.
+Build-Depends: openblas (!osx), clapack (!osx), armadillo
+
diff --git a/ports/ensmallen/portfile.cmake b/ports/ensmallen/portfile.cmake
index e98be1863..edded904a 100644
--- a/ports/ensmallen/portfile.cmake
+++ b/ports/ensmallen/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO mlpack/ensmallen
- REF ensmallen-1.15.0
- SHA512 4264bbba856e8fd4fb00d8a4e5f90d93b853d5358cea0ab7231f38d22af3b1e22b238af03edf292086937c16fe7575549d0a1e4fba1d49c85452ec1d3cc9f31a
+ REF 8bea8d214b40be3cb42e817328c0791541fbcd6c
+ SHA512 b075b763c136c1d2d5088c533a8557e3d425da7bcfeb3748063c1e3225e58969eddfc5bd786cb02f29f71ea5e3288327481a0961f64b1d2ff1251a0f59c07779
HEAD_REF master
PATCHES
disable_tests.patch
diff --git a/ports/entityx/CONTROL b/ports/entityx/CONTROL
index 0a41ad86d..9585262b8 100644
--- a/ports/entityx/CONTROL
+++ b/ports/entityx/CONTROL
@@ -1,3 +1,4 @@
Source: entityx
-Version: 1.3.0
-Description: EntityX - A fast, type-safe C++ Entity-Component system. <https://github.com/alecthomas/entityx>
+Version: 1.3.0-1
+Description: EntityX - A fast, type-safe C++ Entity-Component system.
+Homepage: 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..4ce029aef 100644
--- a/ports/entt/CONTROL
+++ b/ports/entt/CONTROL
@@ -1,3 +1,4 @@
Source: entt
-Version: 3.0.0
-Description: Gaming meets modern C++ - a fast and reliable entity-component system and much more. <https://github.com/skypjack/entt>
+Version: 3.0.0-1
+Description: Gaming meets modern C++ - a fast and reliable entity-component system and much more.
+Homepage: 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/CONTROL b/ports/exiv2/CONTROL
index aa8696107..d51354d43 100644
--- a/ports/exiv2/CONTROL
+++ b/ports/exiv2/CONTROL
@@ -1,7 +1,8 @@
Source: exiv2
Version: 0.27
Build-Depends: zlib, expat, libiconv, gettext
-Description: Image metadata library and tools http://www.exiv2.org
+Description: Image metadata library and tools
+Homepage: http://www.exiv2.org
Feature: unicode
Description: Compile with unicode support on windows \ No newline at end of file
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/fastcdr/CONTROL b/ports/fastcdr/CONTROL
index 9076962c7..4d3dc062c 100644
--- a/ports/fastcdr/CONTROL
+++ b/ports/fastcdr/CONTROL
@@ -1,3 +1,3 @@
Source: fastcdr
-Version: 1.0.6-2
+Version: 1.0.9-1
Description: eProsima FastCDR is a C++ library that provides two serialization mechanisms. One is the standard CDR serialization mechanism, while the other is a faster implementation that modifies the standard.
diff --git a/ports/fastcdr/install-cmake.patch b/ports/fastcdr/install-cmake.patch
index 0eff05063..04296897b 100644
--- a/ports/fastcdr/install-cmake.patch
+++ b/ports/fastcdr/install-cmake.patch
@@ -1,26 +1,13 @@
diff --git a/src/cpp/CMakeLists.txt b/src/cpp/CMakeLists.txt
-index 46d6f20..5d73ec5 100644
+index 14747c9..65c3ddb 100644
--- a/src/cpp/CMakeLists.txt
+++ b/src/cpp/CMakeLists.txt
-@@ -139,7 +139,12 @@ if(MSVC OR MSVC_IDE)
- set(DIR_EXTENSION "/${MSVC_ARCH}")
- endif()
+@@ -155,7 +155,7 @@ elseif(NOT EPROSIMA_INSTALLER)
+ COMPONENT cmake
+ )
-- install(TARGETS ${PROJECT_NAME} ${PROJECT_NAME}_static
-+ if(BUILD_SHARED_LIBS)
-+ set(PROJECT_TARGETS ${PROJECT_NAME})
-+ else()
-+ set(PROJECT_TARGETS ${PROJECT_NAME}_static)
-+ endif()
-+ install(TARGETS ${PROJECT_TARGETS}
- EXPORT ${PROJECT_NAME}Targets
- RUNTIME DESTINATION ${BIN_INSTALL_DIR}${DIR_EXTENSION}
- LIBRARY DESTINATION ${LIB_INSTALL_DIR}${DIR_EXTENSION}
-@@ -147,7 +152,6 @@ if(MSVC OR MSVC_IDE)
- COMPONENT libraries_${MSVC_ARCH}
- )
-
-- export(TARGETS ${PROJECT_NAME} ${PROJECT_NAME}_static FILE ${PROJECT_BINARY_DIR}/cmake/config/${PROJECT_NAME}Targets.cmake)
- install(EXPORT ${PROJECT_NAME}Targets
- DESTINATION ${LIB_INSTALL_DIR}${DIR_EXTENSION}/${PROJECT_NAME}/cmake
- COMPONENT cmake
+- if(MSVC OR MSVC_IDE)
++ if(MSVC OR MSVC_IDE AND 0)
+ if(TARGET_TYPE STREQUAL "SHARED_LIBRARY")
+ # Install pdb files
+ install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/Debug/
diff --git a/ports/fastcdr/portfile.cmake b/ports/fastcdr/portfile.cmake
index c3b6967d9..f4f2f81f0 100644
--- a/ports/fastcdr/portfile.cmake
+++ b/ports/fastcdr/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO eProsima/Fast-CDR
- REF v1.0.6
- SHA512 80861ff6a0283e1398306e081fe70d7d185f980e5714ae51864cae012b8f79719efa24e7f41025b2bfb2052cb2a3098436c75a38407f8f5a331593cb91868fb2
+ REF v1.0.9
+ SHA512 2825e61fc4736c9364fc3130f649798cec11fcb56dc5e202c17731121ad8a2795f0fbf8acb5d8d662181bc470e7a3e95a5027283872714be505bb2562c2e2312
HEAD_REF master
PATCHES install-cmake.patch
)
@@ -19,17 +19,16 @@ vcpkg_configure_cmake(
vcpkg_install_cmake()
-vcpkg_fixup_cmake_targets(CONFIG_PATH lib/fastcdr/cmake)
+vcpkg_fixup_cmake_targets(CONFIG_PATH share/fastcdr/cmake)
-file(READ "${CURRENT_PACKAGES_DIR}/share/fastcdr/fastcdrConfig.cmake" _contents)
-string(REPLACE "include(\${fastcdr_LIB_DIR}/fastcdr/cmake/fastcdrTargets.cmake)" "include(\${CMAKE_CURRENT_LIST_DIR}/fastcdrTargets.cmake)" _contents "${_contents}")
-file(WRITE "${CURRENT_PACKAGES_DIR}/share/fastcdr/fastcdrConfig.cmake" "${_contents}")
+file(READ "${CURRENT_PACKAGES_DIR}/share/fastcdr/fastcdr-config.cmake" _contents)
+string(REPLACE "include(\${fastcdr_LIB_DIR}/fastcdr/cmake/fastcdr-targets.cmake)" "include(\${CMAKE_CURRENT_LIST_DIR}/fastcdr-targets.cmake)" _contents "${_contents}")
+file(WRITE "${CURRENT_PACKAGES_DIR}/share/fastcdr/fastcdr-config.cmake" "${_contents}")
vcpkg_copy_pdbs()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/lib/fastcdr ${CURRENT_PACKAGES_DIR}/debug/lib/fastcdr)
-# always build static and share library default
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
file(READ ${CURRENT_PACKAGES_DIR}/include/fastcdr/eProsima_auto_link.h EPROSIMA_AUTO_LINK_H)
string(REPLACE "#define EPROSIMA_LIB_PREFIX \"lib\"" "#define EPROSIMA_LIB_PREFIX" EPROSIMA_AUTO_LINK_H "${EPROSIMA_AUTO_LINK_H}")
diff --git a/ports/ffmpeg/CONTROL b/ports/ffmpeg/CONTROL
index 037fcb975..ca28e399e 100644
--- a/ports/ffmpeg/CONTROL
+++ b/ports/ffmpeg/CONTROL
@@ -1,5 +1,5 @@
Source: ffmpeg
-Version: 4.1-5
+Version: 4.1-6
Description: a library to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created.
FFmpeg is the leading multimedia framework, able to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created. It supports the most obscure ancient formats up to the cutting edge. No matter if they were designed by some standards committee, the community or a corporation. It is also highly portable: FFmpeg compiles, runs, and passes our testing infrastructure FATE across Linux, Mac OS X, Microsoft Windows, the BSDs, Solaris, etc. under a wide variety of build environments, machine architectures, and configurations.
@@ -27,6 +27,10 @@ Feature: bzip2
Build-Depends: bzip2
Description: bzip2 support in ffmpeg
+Feature: vpx
+Build-Depends: libvpx
+Description: WebM VP8/VP9 support in ffmpeg
+
Feature: x264
Build-Depends: x264, ffmpeg[gpl]
Description: x264 support in ffmpeg
diff --git a/ports/ffmpeg/fix_libvpx_windows_linking.patch b/ports/ffmpeg/fix_libvpx_windows_linking.patch
new file mode 100644
index 000000000..805cd7e78
--- /dev/null
+++ b/ports/ffmpeg/fix_libvpx_windows_linking.patch
@@ -0,0 +1,55 @@
+diff --git "a/configure" "b/configure"
+index c8be177..2fef830 100644
+--- "a/configure"
++++ "b/configure"
+@@ -5098,6 +5098,8 @@ case "$arch" in
+ ;;
+ esac
+
++libvpx_name=vpx
++
+ # OS specific
+ case $target_os in
+ aix)
+@@ -5269,6 +5271,15 @@ case $target_os in
+ enabled x86_64 && objformat="win64" || objformat="win32"
+ ranlib=:
+ enable dos_paths
++ if [ -z "${extra_cflags##*-MDd*}" ]; then
++ libvpx_name=vpxmdd
++ elif [ -z "${extra_cflags##*-MD*}" ]; then
++ libvpx_name=vpxmd
++ elif [ -z "${extra_cflags##*-MTd*}" ]; then
++ libvpx_name=vpxmtd
++ elif [ -z "${extra_cflags##*-MT*}" ]; then
++ libvpx_name=vpxmt
++ fi
+ ;;
+ cygwin*)
+ target_os=cygwin
+@@ -6153,21 +6164,21 @@ enabled libvorbis && require_pkg_config libvorbis vorbis vorbis/codec.h
+ enabled libvpx && {
+ enabled libvpx_vp8_decoder && {
+ check_pkg_config libvpx_vp8_decoder "vpx >= 1.4.0" "vpx/vpx_decoder.h vpx/vp8dx.h" vpx_codec_vp8_dx ||
+- check_lib libvpx_vp8_decoder "vpx/vpx_decoder.h vpx/vp8dx.h" "vpx_codec_dec_init_ver VPX_IMG_FMT_HIGHBITDEPTH" -lvpx ||
++ check_lib libvpx_vp8_decoder "vpx/vpx_decoder.h vpx/vp8dx.h" "vpx_codec_dec_init_ver VPX_IMG_FMT_HIGHBITDEPTH" -l$libvpx_name ||
+ die "ERROR: libvpx decoder version must be >=1.4.0";
+ }
+ enabled libvpx_vp8_encoder && {
+ check_pkg_config libvpx_vp8_encoder "vpx >= 1.4.0" "vpx/vpx_encoder.h vpx/vp8cx.h" vpx_codec_vp8_cx ||
+- check_lib libvpx_vp8_encoder "vpx/vpx_encoder.h vpx/vp8cx.h" "vpx_codec_enc_init_ver VPX_IMG_FMT_HIGHBITDEPTH" -lvpx ||
++ check_lib libvpx_vp8_encoder "vpx/vpx_encoder.h vpx/vp8cx.h" "vpx_codec_enc_init_ver VPX_IMG_FMT_HIGHBITDEPTH" -l$libvpx_name ||
+ die "ERROR: libvpx encoder version must be >=1.4.0";
+ }
+ enabled libvpx_vp9_decoder && {
+ check_pkg_config libvpx_vp9_decoder "vpx >= 1.4.0" "vpx/vpx_decoder.h vpx/vp8dx.h" vpx_codec_vp9_dx ||
+- check_lib libvpx_vp9_decoder "vpx/vpx_decoder.h vpx/vp8dx.h" "vpx_codec_vp9_dx VPX_IMG_FMT_HIGHBITDEPTH" "-lvpx $libm_extralibs"
++ check_lib libvpx_vp9_decoder "vpx/vpx_decoder.h vpx/vp8dx.h" "vpx_codec_vp9_dx VPX_IMG_FMT_HIGHBITDEPTH" "-l$libvpx_name $libm_extralibs"
+ }
+ enabled libvpx_vp9_encoder && {
+ check_pkg_config libvpx_vp9_encoder "vpx >= 1.4.0" "vpx/vpx_encoder.h vpx/vp8cx.h" vpx_codec_vp9_cx ||
+- check_lib libvpx_vp9_encoder "vpx/vpx_encoder.h vpx/vp8cx.h" "vpx_codec_vp9_cx VPX_IMG_FMT_HIGHBITDEPTH" "-lvpx $libm_extralibs"
++ check_lib libvpx_vp9_encoder "vpx/vpx_encoder.h vpx/vp8cx.h" "vpx_codec_vp9_cx VPX_IMG_FMT_HIGHBITDEPTH" "-l$libvpx_name $libm_extralibs"
+ }
+ if disabled_all libvpx_vp8_decoder libvpx_vp9_decoder libvpx_vp8_encoder libvpx_vp9_encoder; then
+ die "libvpx enabled but no supported decoders found"
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..1ce53a996 100644
--- a/ports/ffmpeg/portfile.cmake
+++ b/ports/ffmpeg/portfile.cmake
@@ -15,8 +15,7 @@ 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
+ fix_libvpx_windows_linking.patch
)
if (${SOURCE_PATH} MATCHES " ")
@@ -26,16 +25,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 +54,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)
@@ -84,6 +95,12 @@ else()
set(OPTIONS "${OPTIONS} --disable-ffprobe")
endif()
+if("vpx" IN_LIST FEATURES)
+ set(OPTIONS "${OPTIONS} --enable-libvpx")
+else()
+ set(OPTIONS "${OPTIONS} --disable-libvpx")
+endif()
+
if("x264" IN_LIST FEATURES)
set(OPTIONS "${OPTIONS} --enable-libx264")
else()
@@ -108,27 +125,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 +162,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 +172,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 +187,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 +205,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/fizz/CONTROL b/ports/fizz/CONTROL
index b5c027cda..4f4856c47 100644
--- a/ports/fizz/CONTROL
+++ b/ports/fizz/CONTROL
@@ -1,4 +1,4 @@
Source: fizz
-Version: 2019.05.13.00
+Version: 2019.05.20.00
Build-Depends: folly, openssl, libsodium, zlib
Description: a TLS 1.3 implementation by Facebook
diff --git a/ports/fizz/portfile.cmake b/ports/fizz/portfile.cmake
index 3ebe020a9..0eb0f81bf 100644
--- a/ports/fizz/portfile.cmake
+++ b/ports/fizz/portfile.cmake
@@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO facebookincubator/fizz
- REF v2019.05.13.00
- SHA512 f1ce2a74ad0c06fb29b37bf02dce832ffc6581723e92f11bfde075307cb0d0e2000e686e48f2f77f07a8abc425a61c2621b7d1211551ee93867cb042f1100598
+ REF 6d26a1be8d7a20d8d89c374ee3dc5c452d18c18d
+ SHA512 bc6aa17a97fdfc53d0a247b876cbd1fea8214608b7e463dcf21e34df65015fe77e617c5a6c6bfa84b87e60e56b6aeb89aa2d8d774f97fc1f76f415869948a48a
HEAD_REF master
PATCHES find-zlib.patch
)
diff --git a/ports/flatbuffers/CONTROL b/ports/flatbuffers/CONTROL
index c0b505eed..432a2f877 100644
--- a/ports/flatbuffers/CONTROL
+++ b/ports/flatbuffers/CONTROL
@@ -1,4 +1,5 @@
Source: flatbuffers
-Version: 1.10.0-1
-Description: Memory Efficient Serialization Library http://google.github.io/flatbuffers/
+Version: 1.11.0
+Description: Memory Efficient Serialization Library
FlatBuffers is an efficient cross platform serialization library for games and other memory constrained apps. It allows you to directly access serialized data without unpacking/parsing it first, while still having great forwards/backwards compatibility.
+Homepage: http://google.github.io/flatbuffers/
diff --git a/ports/flatbuffers/fix-uwp-build.patch b/ports/flatbuffers/fix-uwp-build.patch
new file mode 100644
index 000000000..7d8fe93a3
--- /dev/null
+++ b/ports/flatbuffers/fix-uwp-build.patch
@@ -0,0 +1,20 @@
+diff --git a/src/util.cpp b/src/util.cpp
+index c1bb197..658e116 100644
+--- a/src/util.cpp
++++ b/src/util.cpp
+@@ -239,9 +239,15 @@ bool ReadEnvironmentVariable(const char *var_name, std::string *_value) {
+ #ifdef _MSC_VER
+ __pragma(warning(disable : 4996)); // _CRT_SECURE_NO_WARNINGS
+ #endif
++#if _WIN32_WINNT < 0x0A00
+ auto env_str = std::getenv(var_name);
+ if (!env_str) return false;
+ if (_value) *_value = std::string(env_str);
++#else
++ //There is no support for environment variables in UWP
++ var_name; // Do nothing
++ *_value = std::string("");
++#endif
+ return true;
+ }
+
diff --git a/ports/flatbuffers/ignore_use_of_cmake_toolchain_file.patch b/ports/flatbuffers/ignore_use_of_cmake_toolchain_file.patch
index 2205f0b37..38e1f12ec 100644
--- a/ports/flatbuffers/ignore_use_of_cmake_toolchain_file.patch
+++ b/ports/flatbuffers/ignore_use_of_cmake_toolchain_file.patch
@@ -1,8 +1,8 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index a3388dd..699ea3b 100644
+index 119855a..945085a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -104,7 +104,7 @@ set(FlatBuffers_GRPCTest_SRCS
+@@ -155,7 +155,7 @@ set(FlatBuffers_GRPCTest_SRCS
# source_group(Compiler FILES ${FlatBuffers_Compiler_SRCS})
# source_group(Tests FILES ${FlatBuffers_Tests_SRCS})
@@ -10,4 +10,4 @@ index a3388dd..699ea3b 100644
+if(EXISTS "${CMAKE_TOOLCHAIN_FILE}" AND NOT DEFINED VCPKG_TOOLCHAIN)
# do not apply any global settings if the toolchain
# is being configured externally
- elseif(APPLE)
+ message(STATUS "Using toolchain file: ${CMAKE_TOOLCHAIN_FILE}.")
diff --git a/ports/flatbuffers/no-werror.patch b/ports/flatbuffers/no-werror.patch
index 7c2d548b9..b354e229d 100644
--- a/ports/flatbuffers/no-werror.patch
+++ b/ports/flatbuffers/no-werror.patch
@@ -1,17 +1,18 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index a3388dd..f0626e5 100644
+index 119855a..6269362 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -119,12 +119,16 @@ elseif(CMAKE_COMPILER_IS_GNUCXX)
+@@ -172,13 +172,17 @@ elseif(CMAKE_COMPILER_IS_GNUCXX)
"${CMAKE_CXX_FLAGS} -std=c++0x")
endif(CYGWIN)
set(CMAKE_CXX_FLAGS
- "${CMAKE_CXX_FLAGS} -Wall -pedantic -Werror -Wextra -Werror=shadow")
-+ "${CMAKE_CXX_FLAGS} -Wall -pedantic -Wextra -Werror=shadow")
++ "${CMAKE_CXX_FLAGS} -Wall -pedantic -Wextra -Werror=shadow")
+ set(FLATBUFFERS_PRIVATE_CXX_FLAGS "-Wold-style-cast")
if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 4.4)
if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 7.0)
set(CMAKE_CXX_FLAGS
- "${CMAKE_CXX_FLAGS} -faligned-new")
+ "${CMAKE_CXX_FLAGS} -faligned-new -Werror=implicit-fallthrough=2")
endif()
+ if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7.0)
+ set(CMAKE_CXX_FLAGS
@@ -20,4 +21,3 @@ index a3388dd..f0626e5 100644
set(CMAKE_CXX_FLAGS
"${CMAKE_CXX_FLAGS} -Wunused-result -Werror=unused-result -Wunused-parameter -Werror=unused-parameter")
endif()
-
diff --git a/ports/flatbuffers/portfile.cmake b/ports/flatbuffers/portfile.cmake
index e055766b6..b954affe8 100644
--- a/ports/flatbuffers/portfile.cmake
+++ b/ports/flatbuffers/portfile.cmake
@@ -5,12 +5,13 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO google/flatbuffers
- REF v1.10.0
- SHA512 b8382c8e9a45d6aca83270e93704b9ef2938e4ef9bb5165edbd8f286329e86353037ad6e54a99fd3d70b0c893d06cfd8766e00f05497e69be4b9e6c0506133d2
+ REF v1.11.0
+ SHA512 cbb2e1e6885255cc950e2fa8248b56a8bc2c6e52f6fc7ed9066e6ae5a1d53f1263594b83f4b944a672cf9d0e1e800e51ce7fa423eff45abf5056269879c286fe
HEAD_REF master
PATCHES
- ${CMAKE_CURRENT_LIST_DIR}/ignore_use_of_cmake_toolchain_file.patch
- ${CMAKE_CURRENT_LIST_DIR}/no-werror.patch
+ ignore_use_of_cmake_toolchain_file.patch
+ no-werror.patch
+ fix-uwp-build.patch
)
set(OPTIONS)
diff --git a/ports/fmilib/CONTROL b/ports/fmilib/CONTROL
index aa6b868d5..8d0a51f74 100644
--- a/ports/fmilib/CONTROL
+++ b/ports/fmilib/CONTROL
@@ -1,3 +1,4 @@
Source: fmilib
Version: 2.0.3-1
-Description: FMI library is intended as a foundation for applications interfacing FMUs (Functional Mockup Units) that follow FMI Standard. This version of the library supports FMI 1.0 and FMI2.0. See http://www.fmi-standard.org/
+Description: FMI library is intended as a foundation for applications interfacing FMUs (Functional Mockup Units) that follow FMI Standard. This version of the library supports FMI 1.0 and FMI2.0.
+Homepage: http://www.fmi-standard.org/
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/folly/CONTROL b/ports/folly/CONTROL
index 1d673877f..c466edebb 100644
--- a/ports/folly/CONTROL
+++ b/ports/folly/CONTROL
@@ -1,5 +1,5 @@
Source: folly
-Version: 2019.05.13.00
+Version: 2019.05.20.00
Description: An open-source C++ library developed and used at Facebook. The library is UNSTABLE on Windows
Build-Depends: openssl, libevent, double-conversion, glog, gflags, boost-chrono, boost-context, boost-conversion, boost-crc, boost-date-time, boost-filesystem, boost-multi-index, boost-program-options, boost-regex, boost-system, boost-thread, boost-smart-ptr
Default-Features: zlib
diff --git a/ports/folly/portfile.cmake b/ports/folly/portfile.cmake
index e77c084f6..7e7f40565 100644
--- a/ports/folly/portfile.cmake
+++ b/ports/folly/portfile.cmake
@@ -14,8 +14,8 @@ vcpkg_add_to_path("${PYTHON3_DIR}")
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO facebook/folly
- REF v2019.05.13.00
- SHA512 5dfeef0c2845b15e32a29119921d65e349a7ae9bcfa25c406d42d8df1614d2542153cd0ad8d0cf22592045b24272375a7839af91579d6be685cb8a3512586689
+ REF 354223ec1602913667c52cee1ce0782a82cb0cad
+ SHA512 53dd401e5fe8aebf35bec7c1b49e45a7abf152ad12f7392f31653f9e644207d0926424948ad2d7974bf3e5eabaa97e3e9113f1318883bfc99b968b3700b19023
HEAD_REF master
PATCHES
missing-include-atomic.patch
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/forge/CONTROL b/ports/forge/CONTROL
index f4317486e..595f6d2a2 100644
--- a/ports/forge/CONTROL
+++ b/ports/forge/CONTROL
@@ -1,4 +1,4 @@
Source: forge
-Version: 1.0.3-1
+Version: 1.0.4-1
Description: Helps with high performance visualizations involving OpenGL-CUDA/OpenCL interop.
Build-Depends: glfw3, glm, glbinding, freetype, boost-functional, freeimage, fontconfig (!windows)
diff --git a/ports/forge/fix-static_build.patch b/ports/forge/fix-static_build.patch
new file mode 100644
index 000000000..67f498cd8
--- /dev/null
+++ b/ports/forge/fix-static_build.patch
@@ -0,0 +1,28 @@
+diff --git a/extern/glad/CMakeLists.txt b/extern/glad/CMakeLists.txt
+index c8c8d86..27adf86 100644
+--- a/extern/glad/CMakeLists.txt
++++ b/extern/glad/CMakeLists.txt
+@@ -2,15 +2,19 @@ add_library(forge_glad_interface INTERFACE)
+
+ target_include_directories(forge_glad_interface
+ INTERFACE
+- ${CMAKE_CURRENT_SOURCE_DIR}/include
++ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
+ )
+
+ target_sources(forge_glad_interface
+ INTERFACE
+- ${CMAKE_CURRENT_SOURCE_DIR}/src/glad.c
++ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src/glad.c>
+ )
+
+ target_link_libraries(forge_glad_interface
+ INTERFACE
+- ${CMAKE_DL_LIBS}
++ $<BUILD_INTERFACE:${CMAKE_DL_LIBS}>
+ )
++
++if (NOT BUILD_SHARED_LIBS)
++ install(TARGETS forge_glad_interface EXPORT ForgeTargets)
++endif ()
+\ No newline at end of file
diff --git a/ports/forge/forge_targets_fix.patch b/ports/forge/forge_targets_fix.patch
deleted file mode 100644
index f2d8371d2..000000000
--- a/ports/forge/forge_targets_fix.patch
+++ /dev/null
@@ -1,115 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index c7236a6..b4b910a 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -110,64 +110,63 @@ install(DIRECTORY include/
- PATTERN "*.h"
- PATTERN "*.hpp"
- PATTERN ".gitignore" EXCLUDE)
--# The Forge version header is generated and thus need to be
--# included explicitly
-+
- install(FILES ${Forge_BINARY_DIR}/include/fg/version.h
- DESTINATION "${FG_INSTALL_INC_DIR}/fg/"
- COMPONENT headers)
-
--install(EXPORT ForgeTargets
-- NAMESPACE Forge::
-- DESTINATION ${FG_INSTALL_CMAKE_DIR}
-- COMPONENT forge)
--
--export(EXPORT ForgeTargets
-- NAMESPACE Forge::
-- FILE cmake/ForgeTargets.cmake)
-+# install the examples irrespective of the FG_BUILD_EXAMPLES value
-+# only the examples source files are installed, so the installation of these
-+# source files does not depend on FG_BUILD_EXAMPLES
-+# when FG_BUILD_EXAMPLES is OFF, the examples source is installed without
-+# building the example executables
-+install(DIRECTORY examples/ #NOTE The slash at the end is important
-+ DESTINATION ${FG_INSTALL_EXAMPLE_DIR}
-+ COMPONENT examples)
-
- include(CMakePackageConfigHelpers)
- write_basic_package_version_file(
-- "${Forge_BINARY_DIR}/cmake/ForgeConfigVersion.cmake"
-+ "${Forge_BINARY_DIR}/ForgeConfigVersion.cmake"
- COMPATIBILITY SameMajorVersion)
-
--# This config file will be installed so we need to set the install_destination
--# path relative to the install path
-+
-+# export install config file
- set(INCLUDE_DIRS include)
- set(CMAKE_DIR ${FG_INSTALL_CMAKE_DIR})
- configure_package_config_file(
-- "${PROJECT_SOURCE_DIR}/CMakeModules/ForgeConfig.cmake.in"
-- "cmake/install/ForgeConfig.cmake"
-- INSTALL_DESTINATION "${FG_INSTALL_CMAKE_DIR}"
-- PATH_VARS INCLUDE_DIRS CMAKE_DIR)
--
--install(FILES ${Forge_BINARY_DIR}/cmake/install/ForgeConfig.cmake
-- ${Forge_BINARY_DIR}/cmake/ForgeConfigVersion.cmake
-+ "${PROJECT_SOURCE_DIR}/CMakeModules/ForgeConfig.cmake.in"
-+ "cmake_install/ForgeConfig.cmake"
-+ INSTALL_DESTINATION "${FG_INSTALL_CMAKE_DIR}"
-+ PATH_VARS INCLUDE_DIRS CMAKE_DIR
-+)
-+install(FILES ${Forge_BINARY_DIR}/cmake_install/ForgeConfig.cmake
-+ ${Forge_BINARY_DIR}/ForgeConfigVersion.cmake
- DESTINATION ${FG_INSTALL_CMAKE_DIR}
-- COMPONENT cmake)
-+ COMPONENT cmake
-+)
-+install(EXPORT ForgeTargets
-+ NAMESPACE Forge::
-+ DESTINATION ${FG_INSTALL_CMAKE_DIR}
-+ COMPONENT forge
-+)
-
--# Following file will be used to create the config file for the build directory.
--# These config files will be used by the examples to find the Forge
--# libraries
-+
-+# export build tree targets config file
- set(INCLUDE_DIRS "${Forge_SOURCE_DIR}/include" "${Forge_BINARY_DIR}/include")
--set(CMAKE_DIR "${Forge_BINARY_DIR}/cmake")
-+set(CMAKE_DIR "${Forge_BINARY_DIR}")
- configure_package_config_file(
-- "${PROJECT_SOURCE_DIR}/CMakeModules/ForgeConfig.cmake.in"
-- "cmake/ForgeConfig.cmake"
-- INSTALL_DESTINATION "${Forge_BINARY_DIR}/cmake"
-- PATH_VARS INCLUDE_DIRS CMAKE_DIR
-- INSTALL_PREFIX "${Forge_BINARY_DIR}")
-+ "${PROJECT_SOURCE_DIR}/CMakeModules/ForgeConfig.cmake.in"
-+ "ForgeConfig.cmake"
-+ INSTALL_DESTINATION "${Forge_BINARY_DIR}"
-+ PATH_VARS INCLUDE_DIRS CMAKE_DIR
-+ INSTALL_PREFIX "${Forge_BINARY_DIR}"
-+)
-+export(EXPORT ForgeTargets
-+ NAMESPACE Forge::
-+ FILE ForgeTargets.cmake
-+)
-+#export(PACKAGE Forge)
-
--#--------------------------------------------------------------------
--# Install examples
--#--------------------------------------------------------------------
--# install the examples irrespective of the FG_BUILD_EXAMPLES value
--# only the examples source files are installed, so the installation of these
--# source files does not depend on FG_BUILD_EXAMPLES
--# when FG_BUILD_EXAMPLES is OFF, the examples source is installed without
--# building the example executables
--install(DIRECTORY examples/ #NOTE The slash at the end is important
-- DESTINATION ${FG_INSTALL_EXAMPLE_DIR}
-- COMPONENT examples)
-
- include(CPackConfig)
-
-@@ -177,4 +176,4 @@ conditional_directory(FG_BUILD_EXAMPLES examples)
- mark_as_advanced(
- pkgcfg_lib_FontConfigPkg_freetype
- pkgcfg_lib_FontConfigPkg_fontconfig
-- )
-+)
diff --git a/ports/forge/portfile.cmake b/ports/forge/portfile.cmake
index cd7c2ca54..24df90dce 100644
--- a/ports/forge/portfile.cmake
+++ b/ports/forge/portfile.cmake
@@ -4,18 +4,13 @@ if(NOT VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
message(FATAL_ERROR "This port currently only supports x64 architecture")
endif()
-set(PATCHES forge_targets_fix.patch)
-if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
- list(APPEND PATCHES static_build.patch)
-endif()
-
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO arrayfire/forge
- REF v1.0.3
- SHA512 e1a7688c1c3ab4659401463c5d025917b6e5766129446aefbebe0d580756cd2cc07256ddda9b20899690765220e5467b9209e00476c80ea6a51a1a0c0e9da616
+ REF 650bf611de102a2cc0c32dba7646f8128f0300c8
+ SHA512 2093464db0f3a7f0178f65bed37986a4df1117f1d7ad65157d525584490cdf234475f01ed1a2003a9e54bdc3b9e2e450808044a264c2284d67b8c2a353400027
HEAD_REF master
- PATCHES ${PATCHES}
+ PATCHES fix-static_build.patch
)
vcpkg_configure_cmake(
@@ -41,4 +36,4 @@ file(REMOVE_RECURSE
${DLLS}
)
-file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/forge RENAME copyright)
+file(INSTALL ${SOURCE_PATH}/.github/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/forge RENAME copyright)
diff --git a/ports/forge/static_build.patch b/ports/forge/static_build.patch
deleted file mode 100644
index 387811ce1..000000000
--- a/ports/forge/static_build.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-diff --git a/src/backend/opengl/CMakeLists.txt b/src/backend/opengl/CMakeLists.txt
-index 1aeec1e..52eff05 100755
---- a/src/backend/opengl/CMakeLists.txt
-+++ b/src/backend/opengl/CMakeLists.txt
-@@ -142,7 +142,7 @@ install(TARGETS forge
- INCLUDES DESTINATION ${FG_INSTALL_INC_DIR})
-
- # install dependencies
--if (WIN32)
-+if (WIN32 AND BUILD_SHARED_LIBS)
- if (FG_WITH_FREEIMAGE AND NOT FG_USE_STATIC_FREEIMAGE)
- install(FILES $<TARGET_FILE:FreeImage::FreeImage>
- DESTINATION ${FG_INSTALL_BIN_DIR}
-diff --git a/src/backend/opengl/glfw/CMakeLists.txt b/src/backend/opengl/glfw/CMakeLists.txt
-index caf4913..3c8d71c 100644
---- a/src/backend/opengl/glfw/CMakeLists.txt
-+++ b/src/backend/opengl/glfw/CMakeLists.txt
-@@ -24,7 +24,7 @@ if (NOT BUILD_SHARED_LIBS)
- install(TARGETS forge_wtk_interface EXPORT ForgeTargets)
- endif ()
-
--if (WIN32)
-+if (WIN32 AND BUILD_SHARED_LIBS)
- install(FILES $<TARGET_FILE:glfw>
- DESTINATION ${FG_INSTALL_BIN_DIR}
- COMPONENT dependencies)
-diff --git a/src/backend/opengl/sdl/CMakeLists.txt b/src/backend/opengl/sdl/CMakeLists.txt
-index d8cd312..d55f27d 100644
---- a/src/backend/opengl/sdl/CMakeLists.txt
-+++ b/src/backend/opengl/sdl/CMakeLists.txt
-@@ -24,7 +24,7 @@ if (NOT BUILD_SHARED_LIBS)
- install(TARGETS forge_wtk_interface EXPORT ForgeTargets)
- endif ()
-
--if (WIN32)
-+if (WIN32 AND BUILD_SHARED_LIBS)
- install(FILES $<TARGET_FILE:SDL2::SDL2>
- DESTINATION ${FG_INSTALL_BIN_DIR}
- COMPONENT dependencies)
diff --git a/ports/freetype/CONTROL b/ports/freetype/CONTROL
index 7e18d1a7c..15c9caffd 100644
--- a/ports/freetype/CONTROL
+++ b/ports/freetype/CONTROL
@@ -1,4 +1,4 @@
Source: freetype
-Version: 2.9.1-1
+Version: 2.9.1-2
Build-Depends: zlib, bzip2, libpng
Description: A library to render fonts.
diff --git a/ports/freetype/portfile.cmake b/ports/freetype/portfile.cmake
index 73cb6b317..654cff2b9 100644
--- a/ports/freetype/portfile.cmake
+++ b/ports/freetype/portfile.cmake
@@ -70,7 +70,7 @@ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
else() #if(VCPKG_BUILD_TYPE STREQUAL "release")
file(READ ${CURRENT_PACKAGES_DIR}/share/freetype/freetype-config.cmake CONFIG_MODULE)
endif()
-string(REPLACE "\${_IMPORT_PREFIX}/include/freetype2" "\${_IMPORT_PREFIX}/include/freetype" CONFIG_MODULE "${CONFIG_MODULE}")
+string(REPLACE "\${_IMPORT_PREFIX}/include/freetype2" "\${_IMPORT_PREFIX}/include;\${_IMPORT_PREFIX}/include/freetype" CONFIG_MODULE "${CONFIG_MODULE}")
file(WRITE ${CURRENT_PACKAGES_DIR}/share/freetype/freetype-config.cmake "${CONFIG_MODULE}")
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
diff --git a/ports/ftgl/0001-fix-building-DLL-on-Windows.patch b/ports/ftgl/0001-fix-building-DLL-on-Windows.patch
deleted file mode 100644
index e9b8c52a5..000000000
--- a/ports/ftgl/0001-fix-building-DLL-on-Windows.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From b56270d28a59297518e91f85333a2e1a7fecdc9e Mon Sep 17 00:00:00 2001
-From: Juha Sointusalo <juha.sointusalo@gmail.com>
-Date: Thu, 13 Dec 2018 21:38:23 +0200
-Subject: [PATCH] fix building DLL on Windows
-
-Without FTGL_LIBRARY all symbols are declared to be imported instead of
-exported and linking the library fails.
----
- CMakeLists.txt | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index d6c5a57..6b230ce 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -27,6 +27,7 @@ ENDIF(NOT CMAKE_BUILD_TYPE)
- OPTION(BUILD_SHARED_LIBS "Build Shared Libraries" ON)
- IF(BUILD_SHARED_LIBS)
- SET(LIB_TYPE SHARED)
-+ ADD_DEFINITIONS(-DFTGL_LIBRARY)
- ELSE(BUILD_SHARED_LIBS)
- SET(LIB_TYPE STATIC)
- ADD_DEFINITIONS(-D FTGL_LIBRARY_STATIC)
---
-2.18.0.windows.1
-
diff --git a/ports/ftgl/CONTROL b/ports/ftgl/CONTROL
index 2abfa8778..b8e652144 100644
--- a/ports/ftgl/CONTROL
+++ b/ports/ftgl/CONTROL
@@ -1,5 +1,5 @@
Source: ftgl
-Version: 2.3.1
+Version: 2.4.0-1
Description: FTGL is a free open source library to enable developers to use arbitrary fonts in their OpenGL (www.opengl.org) applications.
Unlike other OpenGL font libraries FTGL uses standard font file formats so doesn't need a preprocessing step to convert the high quality font data into a lesser quality, proprietary format.
FTGL uses the Freetype (www.freetype.org) font library to open and 'decode' the fonts. It then takes that output and stores it in a format most efficient for OpenGL rendering.
diff --git a/ports/ftgl/Fix-headersFilePath.patch b/ports/ftgl/Fix-headersFilePath.patch
new file mode 100644
index 000000000..f3459352a
--- /dev/null
+++ b/ports/ftgl/Fix-headersFilePath.patch
@@ -0,0 +1,23 @@
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 693e49f..c47ff3c 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -1,9 +1,5 @@
+-
+-
+-
+ INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/cmake)
+
+-
+ ADD_DEFINITIONS(-DPACKAGE_VERSION="${VERSION_SERIES}.${VERSION_MAJOR}.${VERSION_MINOR}")
+
+ IF(WIN32)
+@@ -26,7 +22,7 @@ SET(libftgl_la_SOURCES
+ FTGlyphContainer.h
+ FTInternals.h
+ FTLibrary.cpp
+- FTLibrary.h
++ FTGL/FTLibrary.h
+ FTList.h
+ FTPoint.cpp
+ FTSize.cpp
diff --git a/ports/ftgl/portfile.cmake b/ports/ftgl/portfile.cmake
index a8878af0f..65df89b20 100644
--- a/ports/ftgl/portfile.cmake
+++ b/ports/ftgl/portfile.cmake
@@ -1,12 +1,13 @@
include(vcpkg_common_functions)
+vcpkg_find_acquire_program(DOXYGEN)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO frankheckenbach/ftgl
- REF 2.3.1
- SHA512 4c3c92e79371aa9048a0de6c27bd008036be19fe6179bce472f36ced359026aaeaa5b63c83f90ffc1d425dd2e587479efc700dc1082c2ed0189d16ea87838c9a
+ REF 483639219095ad080538e07ceb5996de901d4e74
+ SHA512 d5bf95db8db6a5c9f710bd274cb9bb82e3e67569e8f3ec55b36e068636a09252e6f191e36d8279e61b5d12408c065ce51829fc38d4d7afe5bda724752d2f084f
HEAD_REF master
- PATCHES "0001-fix-building-DLL-on-Windows.patch"
+ PATCHES Fix-headersFilePath.patch
)
vcpkg_configure_cmake(
diff --git a/ports/g2o/CONTROL b/ports/g2o/CONTROL
index 57999aece..f27951611 100644
--- a/ports/g2o/CONTROL
+++ b/ports/g2o/CONTROL
@@ -1,4 +1,5 @@
Source: g2o
Version: 20170730_git-4
-Build-Depends: suitesparse, eigen3, clapack, ceres
-Description: g2o: A General Framework for Graph Optimization http://openslam.org/g2o.html
+Build-Depends: suitesparse, eigen3, clapack (!osx), ceres
+Description: g2o: A General Framework for Graph Optimization
+Homepage: 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/getopt-win32/CONTROL b/ports/getopt-win32/CONTROL
index d80fa0b00..ba14d4909 100644
--- a/ports/getopt-win32/CONTROL
+++ b/ports/getopt-win32/CONTROL
@@ -1,3 +1,4 @@
Source: getopt-win32
Version: 0.1
-Description: An implementation of getopt provided by https://github.com/libimobiledevice-win32
+Description: An implementation of getopt.
+Homepage: https://github.com/libimobiledevice-win32
diff --git a/ports/gherkin-c/CONTROL b/ports/gherkin-c/CONTROL
index 171dedae0..b25786ca3 100644
--- a/ports/gherkin-c/CONTROL
+++ b/ports/gherkin-c/CONTROL
@@ -1,3 +1,3 @@
Source: gherkin-c
-Version: c-libs-e63e83104b
+Version: 4.1.2
Description: Gherkin parser/compiler in C
diff --git a/ports/gherkin-c/portfile.cmake b/ports/gherkin-c/portfile.cmake
index f229ba836..453387f5f 100644
--- a/ports/gherkin-c/portfile.cmake
+++ b/ports/gherkin-c/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO c-libs/gherkin-c
- REF e63e83104b835e217140e9dc77d9ce2bb50f234e
- SHA512 a99b3f695257b45df8ff7b8ec46bff28991cf2b9bc51a25247550471c724bd14ee64340db684f096131f47d7f4ff278d23dda546e7dfe29134bbc1dbccaf0d1e
+ REF 8f31c2ff6a7b58196a061c8847508563679f67b3
+ SHA512 f78a1f9da7ff38fe2546e0db9ed33a2e25e12aa8a407ce827933a379ce083e6f872b39eb2321ff8c35199015c3c2299e46567171c5edfeff07600765f3f0a6ec
HEAD_REF master
)
diff --git a/ports/glad/CONTROL b/ports/glad/CONTROL
index 5d041c0a0..98a427195 100644
--- a/ports/glad/CONTROL
+++ b/ports/glad/CONTROL
@@ -1,4 +1,4 @@
Source: glad
-Version: 0.1.29
+Version: 0.1.30
Description: Multi-Language Vulkan/GL/GLES/EGL/GLX/WGL Loader-Generator based on the official specs.
Build-Depends: egl-registry, opengl-registry
diff --git a/ports/glad/portfile.cmake b/ports/glad/portfile.cmake
index 252109b8f..eb1a226e9 100644
--- a/ports/glad/portfile.cmake
+++ b/ports/glad/portfile.cmake
@@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Dav1dde/glad
- REF v0.1.29
- SHA512 056c0439b673d86bd10fe733873d4b82cf70861818980f08b3ec23f7b478750064a6d53925cc2cf9445e570cece5f21e12d7af6f1927b64af05d8d1f2afdedcb
+ REF v0.1.30
+ SHA512 2db0f75e5859be039bf4dcbea239dd6d35bdc92e69912e807dfacdb01581c73b6a5eb0f0889f2ffcd705415abe5f28cf204b4010d08f5477b51c0ce3ae6a35b5
HEAD_REF master
)
diff --git a/ports/glbinding/CONTROL b/ports/glbinding/CONTROL
index a6db3dcde..5e2d8a638 100644
--- a/ports/glbinding/CONTROL
+++ b/ports/glbinding/CONTROL
@@ -1,3 +1,4 @@
Source: glbinding
-Version: 3.1.0
+Version: 3.1.0-1
Description: glbinding is an MIT licensed, cross-platform C++ binding for the OpenGL API
+Build-Depends: egl-registry
diff --git a/ports/glbinding/portfile.cmake b/ports/glbinding/portfile.cmake
index 659d7c23c..dbbff30da 100644
--- a/ports/glbinding/portfile.cmake
+++ b/ports/glbinding/portfile.cmake
@@ -6,8 +6,8 @@ vcpkg_from_github(
SHA512 d7294c9a0dc47a7c107b134e5dfa78c5812fc6bf739b9fd778fa7ce946d5ea971839a65c3985e0915fd75311e4a85fb221d33a71856c460199eab0e7622f7151
HEAD_REF master
PATCHES
- force-system-install.patch
- fix-uwpmacro.patch
+ force-system-install.patch
+ fix-uwpmacro.patch
)
vcpkg_configure_cmake(
@@ -52,6 +52,9 @@ endforeach()
file(WRITE ${CURRENT_PACKAGES_DIR}/share/glbinding/glbinding-config.cmake "include(\${CMAKE_CURRENT_LIST_DIR}/glbinding/glbinding-export.cmake)\ninclude(\${CMAKE_CURRENT_LIST_DIR}/glbinding-aux/glbinding-aux-export.cmake)\ninclude(\${CMAKE_CURRENT_LIST_DIR}/KHRplatform/KHRplatform-export.cmake)\nset(glbinding_FOUND TRUE)\n")
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
+# Remove files already published by egl-registry
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/KHR)
+
# Handle copyright
file(RENAME ${CURRENT_PACKAGES_DIR}/share/glbinding/LICENSE ${CURRENT_PACKAGES_DIR}/share/glbinding/copyright)
diff --git a/ports/glew/CONTROL b/ports/glew/CONTROL
index 54b2d09df..13cc92230 100644
--- a/ports/glew/CONTROL
+++ b/ports/glew/CONTROL
@@ -1,3 +1,3 @@
Source: glew
-Version: 2.1.0-3
+Version: 2.1.0-4
Description: The OpenGL Extension Wrangler Library (GLEW) is a cross-platform open-source C/C++ extension loading library.
diff --git a/ports/glew/fix-LNK2019.patch b/ports/glew/fix-LNK2019.patch
new file mode 100644
index 000000000..d45e61a88
--- /dev/null
+++ b/ports/glew/fix-LNK2019.patch
@@ -0,0 +1,13 @@
+diff --git a/build/cmake/CMakeLists.txt b/build/cmake/CMakeLists.txt
+index 5081e0f..f76725a 100644
+--- a/build/cmake/CMakeLists.txt
++++ b/build/cmake/CMakeLists.txt
+@@ -108,7 +108,7 @@ if (MSVC)
+ target_compile_options (glew PRIVATE -GS-)
+ target_compile_options (glew_s PRIVATE -GS-)
+ # remove stdlib dependency
+- target_link_libraries (glew LINK_PRIVATE -nodefaultlib -noentry)
++ # target_link_libraries (glew LINK_PRIVATE -nodefaultlib -noentry)
+ string(REGEX REPLACE "/RTC(su|[1su])" "" CMAKE_C_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG})
+ elseif (WIN32 AND ((CMAKE_C_COMPILER_ID MATCHES "GNU") OR (CMAKE_C_COMPILER_ID MATCHES "Clang")))
+ # remove stdlib dependency on windows with GCC and Clang (for similar reasons
diff --git a/ports/glew/portfile.cmake b/ports/glew/portfile.cmake
index 9b982db7f..f05934f05 100644
--- a/ports/glew/portfile.cmake
+++ b/ports/glew/portfile.cmake
@@ -1,6 +1,6 @@
include(vcpkg_common_functions)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/glew/glew-2.1.0)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/glew-58abdfb190)
# Don't change to vcpkg_from_github! The github-auto-generated archives are missing some files.
# More info: https://github.com/nigels-com/glew/issues/31 and https://github.com/nigels-com/glew/issues/13
@@ -9,7 +9,12 @@ vcpkg_download_distfile(ARCHIVE_FILE
FILENAME "glew-2.1.0.tgz"
SHA512 9a9b4d81482ccaac4b476c34ed537585ae754a82ebb51c3efa16d953c25cc3931be46ed2e49e79c730cd8afc6a1b78c97d52cd714044a339c3bc29734cd4d2ab
)
-vcpkg_extract_source_archive(${ARCHIVE_FILE} ${CURRENT_BUILDTREES_DIR}/src/glew)
+vcpkg_extract_source_archive_ex(
+ OUT_SOURCE_PATH ${SOURCE_PATH}
+ ARCHIVE ${ARCHIVE_FILE}
+ REF glew
+ PATCHES fix-LNK2019.patch
+)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}/build/cmake
diff --git a/ports/gli/CONTROL b/ports/gli/CONTROL
index 521a79120..6ba55d18d 100644
--- a/ports/gli/CONTROL
+++ b/ports/gli/CONTROL
@@ -1,4 +1,5 @@
Source: gli
Version: dd17acf
Build-Depends: glm
-Description: OpenGL Image (GLI) https://gli.g-truc.net
+Description: OpenGL Image (GLI)
+Homepage: https://gli.g-truc.net
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..f17df43e1 100644
--- a/ports/glibmm/CONTROL
+++ b/ports/glibmm/CONTROL
@@ -1,4 +1,5 @@
-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++.
+Homepage: 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/glm/CONTROL b/ports/glm/CONTROL
index 3bea7f0ed..ccf64caa1 100644
--- a/ports/glm/CONTROL
+++ b/ports/glm/CONTROL
@@ -1,3 +1,4 @@
Source: glm
Version: 0.9.9.5-3
-Description: OpenGL Mathematics (GLM) https://glm.g-truc.net
+Description: OpenGL Mathematics (GLM)
+Homepage: https://glm.g-truc.net
diff --git a/ports/globjects/CONTROL b/ports/globjects/CONTROL
index e05b2393f..fb9ca9a1f 100644
--- a/ports/globjects/CONTROL
+++ b/ports/globjects/CONTROL
@@ -2,4 +2,5 @@ Source: globjects
Maintainer: mattias@mattiascibien.net
Version: 1.1.0-2018-09-19-1
Build-Depends: glbinding, glm
-Description: C++ library strictly wrapping OpenGL objects. <https://github.com/cginternals/globjects>
+Description: C++ library strictly wrapping OpenGL objects.
+Homepage: https://github.com/cginternals/globjects
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/grpc/00003-undef-base64-macro.patch b/ports/grpc/00003-undef-base64-macro.patch
index 8417e3eea..193b1fd38 100644
--- a/ports/grpc/00003-undef-base64-macro.patch
+++ b/ports/grpc/00003-undef-base64-macro.patch
@@ -1,13 +1,13 @@
-diff --git a/src/core/lib/transport/transport.cc b/src/core/lib/transport/transport.cc
-index 09306110c6..eb0ad96a7a 100644
---- a/src/core/lib/transport/transport.cc
-+++ b/src/core/lib/transport/transport.cc
-@@ -134,6 +134,8 @@ void grpc_stream_ref_init(grpc_stream_refcount* refcount, int initial_refs,
- refcount->slice_refcount.sub_refcount = &refcount->slice_refcount;
- }
-
-+#undef move64
-+
- static void move64(uint64_t* from, uint64_t* to) {
- *to += *from;
- *from = 0;
+diff --git a/src/core/lib/transport/transport.cc b/src/core/lib/transport/transport.cc
+index 29c1e56..29de9d8 100644
+--- a/src/core/lib/transport/transport.cc
++++ b/src/core/lib/transport/transport.cc
+@@ -96,6 +96,8 @@ void grpc_stream_ref_init(grpc_stream_refcount* refcount, int initial_refs,
+ refcount, &refcount->slice_refcount);
+ }
+
++#undef move64
++
+ static void move64(uint64_t* from, uint64_t* to) {
+ *to += *from;
+ *from = 0;
diff --git a/ports/grpc/CONTROL b/ports/grpc/CONTROL
index c2ce84cc2..4c73364c5 100644
--- a/ports/grpc/CONTROL
+++ b/ports/grpc/CONTROL
@@ -1,4 +1,4 @@
Source: grpc
-Version: 1.20.1-1
+Version: 1.21.1
Build-Depends: zlib, openssl, protobuf, c-ares (!uwp)
Description: An RPC library and framework
diff --git a/ports/grpc/portfile.cmake b/ports/grpc/portfile.cmake
index e8576d533..e97082ede 100644
--- a/ports/grpc/portfile.cmake
+++ b/ports/grpc/portfile.cmake
@@ -13,8 +13,8 @@ endif()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO grpc/grpc
- REF v1.20.1
- SHA512 e0dd0318d2b4ec07e0eafffa218938d91b1440c5053a557460ea7fceaab3d76f0cccc1d595abe7de9fa79f068b71cfbc5a28a3b688bc9c1e2737086928149583
+ REF 75475f090875e737ad6909a6057c59577f0c79b1
+ SHA512 db9ff82dee38cb0f4ba10874d10bf6cb20c8a4d49e7dd24bcd9f71388c54c782ee12fda6f1bfedd79ad988b0275d3f96df4686217465acfafcfb5e4c30093a5b
HEAD_REF master
PATCHES
00001-fix-uwp.patch
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/gtk/CMakeLists.txt b/ports/gtk/CMakeLists.txt
index 22e30b1a7..9c265c7e5 100644
--- a/ports/gtk/CMakeLists.txt
+++ b/ports/gtk/CMakeLists.txt
@@ -12,6 +12,11 @@ if(CMAKE_BUILD_TYPE STREQUAL Debug)
set(CAIRO_LIB_SUFFIX d)
endif()
+if (WIN32)
+ # Set utf-8 charset to avoid compile error C2001
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /utf-8")
+endif()
+
# find dependencies
# glib
find_path(GLIB_INCLUDE_DIR glib.h)
diff --git a/ports/gtk/CONTROL b/ports/gtk/CONTROL
index c470f8ac8..ac0d4764f 100644
--- a/ports/gtk/CONTROL
+++ b/ports/gtk/CONTROL
@@ -1,4 +1,4 @@
Source: gtk
-Version: 3.22.19-2
+Version: 3.22.19-3
Description: Portable library for creating graphical user interfaces.
Build-Depends: glib, atk, gdk-pixbuf, pango, cairo, libepoxy, gettext
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..d0e544d7a 100644
--- a/ports/harfbuzz/CONTROL
+++ b/ports/harfbuzz/CONTROL
@@ -1,5 +1,5 @@
Source: harfbuzz
-Version: 2.4.0
+Version: 2.5.1-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..08b20f270 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
@@ -68,9 +68,22 @@ vcpkg_configure_cmake(
)
vcpkg_install_cmake()
+
vcpkg_fixup_cmake_targets(CONFIG_PATH share/harfbuzz TARGET_PATH share/harfbuzz)
+
vcpkg_copy_pdbs()
+if (HAVE_GLIB)
+ # Propagate dependency on glib downstream
+ file(READ "${CURRENT_PACKAGES_DIR}/share/harfbuzz/harfbuzzConfig.cmake" _contents)
+ file(WRITE "${CURRENT_PACKAGES_DIR}/share/harfbuzz/harfbuzzConfig.cmake" "
+include(CMakeFindDependencyMacro)
+find_dependency(unofficial-glib CONFIG)
+
+${_contents}
+")
+endif()
+
# Handle copyright
file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/harfbuzz RENAME copyright)
diff --git a/ports/hdf5/CONTROL b/ports/hdf5/CONTROL
index 6ec2cea9b..19939c95a 100644
--- a/ports/hdf5/CONTROL
+++ b/ports/hdf5/CONTROL
@@ -1,5 +1,5 @@
Source: hdf5
-Version: 1.10.5-5
+Version: 1.10.5-6
Description: HDF5 is a data model, library, and file format for storing and managing data
Build-Depends: zlib, szip
diff --git a/ports/hdf5/portfile.cmake b/ports/hdf5/portfile.cmake
index cb1541fed..593b38abf 100644
--- a/ports/hdf5/portfile.cmake
+++ b/ports/hdf5/portfile.cmake
@@ -33,6 +33,7 @@ endif()
#Note: HDF5 Builds by default static as well as shared libraries. Set BUILD_SHARED_LIBS to OFF to only get static libraries
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED_LIBS)
+file(REMOVE ${SOURCE_PATH}/config/cmake_ext_mod/FindSZIP.cmake)#Outdated; does not find debug szip
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
DISABLE_PARALLEL_CONFIGURE
@@ -50,6 +51,7 @@ vcpkg_configure_cmake(
-DHDF5_INSTALL_CMAKE_DIR=share
)
+
vcpkg_install_cmake()
vcpkg_copy_pdbs()
diff --git a/ports/hdf5/vcpkg-cmake-wrapper.cmake b/ports/hdf5/vcpkg-cmake-wrapper.cmake
index 96d8a53c9..695befcdc 100644
--- a/ports/hdf5/vcpkg-cmake-wrapper.cmake
+++ b/ports/hdf5/vcpkg-cmake-wrapper.cmake
@@ -6,8 +6,10 @@ if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.3)
# The caller hasn't said "CONFIG", so they want the built-in FindHDF5.cmake behavior. Set configurations macros to ensure the built-in script finds us.
if("@VCPKG_LIBRARY_LINKAGE@" STREQUAL "static")
set(HDF5_USE_STATIC_LIBRARIES ON)
+ add_compile_definitions(H5_BUILT_AS_STATIC_LIB)
else()
set(HDF5_USE_STATIC_LIBRARIES OFF)
+ add_compile_definitions(H5_BUILT_AS_DYNAMIC_LIB)
endif()
endif()
cmake_policy(POP)
diff --git a/ports/hedley/CONTROL b/ports/hedley/CONTROL
new file mode 100644
index 000000000..08b5e02b1
--- /dev/null
+++ b/ports/hedley/CONTROL
@@ -0,0 +1,3 @@
+Source: hedley
+Version: 2019-05-08-1
+Description: A C/C++ header to help move #ifdefs out of your code
diff --git a/ports/hedley/portfile.cmake b/ports/hedley/portfile.cmake
new file mode 100644
index 000000000..e06e9630a
--- /dev/null
+++ b/ports/hedley/portfile.cmake
@@ -0,0 +1,19 @@
+# header-only library
+
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO nemequ/hedley
+ REF 1b74d9bc892137b3f006d04ff905098b900116d0
+ SHA512 8f3e4fc081fb33cc3a3d637eb09863e80fa94b5e46ecf6507aabe6a5b0648881a96c8cf2ef01b4146ecd3a14908ef87f3204960514af6c91d00c93bea18eda41
+ HEAD_REF master
+)
+
+file(COPY ${SOURCE_PATH}/hedley.h DESTINATION ${CURRENT_PACKAGES_DIR}/include)
+
+file(STRINGS ${SOURCE_PATH}/hedley.h SOURCE_LINES)
+# Capture more lines than required to handle future license file changes
+list(SUBLIST SOURCE_LINES 0 30 SOURCE_LINES)
+list(JOIN SOURCE_LINES "\n" _contents)
+file(WRITE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright "${_contents}")
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/fix_parallel_build_on_windows.patch b/ports/icu/fix_parallel_build_on_windows.patch
new file mode 100644
index 000000000..b0ea7556c
--- /dev/null
+++ b/ports/icu/fix_parallel_build_on_windows.patch
@@ -0,0 +1,13 @@
+diff --git a/source/data/Makefile.in b/source/data/Makefile.in
+index 1140b69..936ef81 100644
+--- a/source/data/Makefile.in
++++ b/source/data/Makefile.in
+@@ -514,7 +514,7 @@ build-dir:
+ # The | is an order-only prerequisite. This helps when the -j option is used,
+ # and we don't want the files to be built before the directories are built.
+ ifneq ($(filter order-only,$(.FEATURES)),)
+-$(ALL_FILES) $(ALL_INDEX_SRC_FILES): | build-dir
++$(ALL_FILES) $(ALL_INDEX_SRC_FILES) $(SO_VERSION_DATA): | build-dir
+ endif
+
+ # Now, sections for building each kind of data.
diff --git a/ports/icu/portfile.cmake b/ports/icu/portfile.cmake
index 91cba5db7..9225246f3 100644
--- a/ports/icu/portfile.cmake
+++ b/ports/icu/portfile.cmake
@@ -15,11 +15,13 @@ vcpkg_download_distfile(
FILENAME "icu4c-${VERSION2}-src.tgz"
SHA512 4c37691246db802e4bae0c8c5f6ac1dac64c5753b607e539c5c1c36e361fcd9dd81bd1d3b5416c2960153b83700ccdb356412847d0506ab7782ae626ac0ffb94
)
-vcpkg_extract_source_archive(${ARCHIVE} ${CURRENT_BUILDTREES_DIR}/src/icu-${VERSION})
-
-vcpkg_apply_patches(SOURCE_PATH ${SOURCE_PATH}
- PATCHES ${CMAKE_CURRENT_LIST_DIR}/disable-escapestr-tool.patch
- ${CMAKE_CURRENT_LIST_DIR}/remove-MD-from-configure.patch
+vcpkg_extract_source_archive_ex(
+ OUT_SOURCE_PATH SOURCE_PATH
+ ARCHIVE ${ARCHIVE}
+ PATCHES
+ ${CMAKE_CURRENT_LIST_DIR}/disable-escapestr-tool.patch
+ ${CMAKE_CURRENT_LIST_DIR}/remove-MD-from-configure.patch
+ ${CMAKE_CURRENT_LIST_DIR}/fix_parallel_build_on_windows.patch
)
set(CONFIGURE_OPTIONS "--disable-samples --disable-tests")
@@ -94,8 +96,8 @@ else()
message(STATUS "Configuring ${TARGET_TRIPLET}-rel")
file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel)
file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel)
- set(ENV{CFLAGS} "${ICU_RUNTIME} -O2 -Oi -Zi ${VCPKG_C_FLAGS} ${VCPKG_C_FLAGS_RELEASE}")
- set(ENV{CXXFLAGS} "${ICU_RUNTIME} -O2 -Oi -Zi ${VCPKG_CXX_FLAGS} ${VCPKG_CXX_FLAGS_RELEASE}")
+ set(ENV{CFLAGS} "${ICU_RUNTIME} -O2 -Oi -Zi -FS ${VCPKG_C_FLAGS} ${VCPKG_C_FLAGS_RELEASE}")
+ set(ENV{CXXFLAGS} "${ICU_RUNTIME} -O2 -Oi -Zi -FS ${VCPKG_CXX_FLAGS} ${VCPKG_CXX_FLAGS_RELEASE}")
set(ENV{LDFLAGS} "-DEBUG -INCREMENTAL:NO -OPT:REF -OPT:ICF")
vcpkg_execute_required_process(
COMMAND ${BASH} --noprofile --norc -c
@@ -110,8 +112,8 @@ else()
message(STATUS "Configuring ${TARGET_TRIPLET}-dbg")
file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg)
file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg)
- set(ENV{CFLAGS} "${ICU_RUNTIME}d -Od -Zi -RTC1 ${VCPKG_C_FLAGS} ${VCPKG_C_FLAGS_DEBUG}")
- set(ENV{CXXFLAGS} "${ICU_RUNTIME}d -Od -Zi -RTC1 ${VCPKG_CXX_FLAGS} ${VCPKG_CXX_FLAGS_DEBUG}")
+ set(ENV{CFLAGS} "${ICU_RUNTIME}d -Od -Zi -FS -RTC1 ${VCPKG_C_FLAGS} ${VCPKG_C_FLAGS_DEBUG}")
+ set(ENV{CXXFLAGS} "${ICU_RUNTIME}d -Od -Zi -FS -RTC1 ${VCPKG_CXX_FLAGS} ${VCPKG_CXX_FLAGS_DEBUG}")
set(ENV{LDFLAGS} "-DEBUG")
vcpkg_execute_required_process(
COMMAND ${BASH} --noprofile --norc -c
@@ -129,20 +131,32 @@ unset(ENV{LDFLAGS})
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
# Build release
message(STATUS "Package ${TARGET_TRIPLET}-rel")
- vcpkg_execute_required_process(
- COMMAND ${BASH} --noprofile --norc -c "make && make install"
+ vcpkg_execute_build_process(
+ COMMAND ${BASH} --noprofile --norc -c "make -j ${VCPKG_CONCURRENCY}"
+ NO_PARALLEL_COMMAND ${BASH} --noprofile --norc -c "make"
+ WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel"
+ LOGNAME "make-build-${TARGET_TRIPLET}-rel")
+
+ vcpkg_execute_build_process(
+ COMMAND ${BASH} --noprofile --norc -c "make install"
WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel"
- LOGNAME "build-${TARGET_TRIPLET}-rel")
+ LOGNAME "make-install-${TARGET_TRIPLET}-rel")
message(STATUS "Package ${TARGET_TRIPLET}-rel done")
endif()
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
# Build debug
message(STATUS "Package ${TARGET_TRIPLET}-dbg")
- vcpkg_execute_required_process(
- COMMAND ${BASH} --noprofile --norc -c "make && make install"
+ vcpkg_execute_build_process(
+ COMMAND ${BASH} --noprofile --norc -c "make -j ${VCPKG_CONCURRENCY}"
+ NO_PARALLEL_COMMAND ${BASH} --noprofile --norc -c "make"
WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg"
- LOGNAME "build-${TARGET_TRIPLET}-dbg")
+ LOGNAME "make-build-${TARGET_TRIPLET}-dbg")
+
+ vcpkg_execute_build_process(
+ COMMAND ${BASH} --noprofile --norc -c "make install"
+ WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg"
+ LOGNAME "make-install-${TARGET_TRIPLET}-dbg")
message(STATUS "Package ${TARGET_TRIPLET}-dbg done")
endif()
@@ -209,11 +223,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/immer/CONTROL b/ports/immer/CONTROL
new file mode 100644
index 000000000..f6f736b59
--- /dev/null
+++ b/ports/immer/CONTROL
@@ -0,0 +1,3 @@
+Source: immer
+Version: 2019-06-07
+Description: Postmodern immutable and persistent data structures for C++
diff --git a/ports/immer/portfile.cmake b/ports/immer/portfile.cmake
new file mode 100644
index 000000000..da2a40bad
--- /dev/null
+++ b/ports/immer/portfile.cmake
@@ -0,0 +1,29 @@
+# header-only library
+
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO arximboldi/immer
+ REF fe1d5151f8e62a97a953664f8de39b05ac0d2031
+ SHA512 2f78c2d85a24b2bcb69bbbf8b038c8bacb5a841e0f0ce7e4e521d369423c7d44f803a1c766a77d0955246a1b22476de15fa708a3786f05c41a3b705a574bbb71
+ HEAD_REF master
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DENABLE_PYTHON=OFF
+ -DENABLE_GUILE=OFF
+ -DENABLE_BOOST_COROUTINE=OFF
+)
+
+vcpkg_install_cmake()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/Immer)
+
+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/inih/CONTROL b/ports/inih/CONTROL
index 22721b8ae..22c519e21 100644
--- a/ports/inih/CONTROL
+++ b/ports/inih/CONTROL
@@ -1,3 +1,3 @@
Source: inih
-Version: 43
+Version: 44
Description: Simple .INI file parser
diff --git a/ports/inih/portfile.cmake b/ports/inih/portfile.cmake
index 75e538ae3..a0a34d77f 100644
--- a/ports/inih/portfile.cmake
+++ b/ports/inih/portfile.cmake
@@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO benhoyt/inih
- REF r43
- SHA512 4ad87d69b033886d170257174f0dd97c475f86e311b875bbaf6835e5c4c5c0d98d788702b3880a0befb304f5440ee61de3ea1948f1432198949265013f4146e4
+ REF b1dbff4b0bd1e1f40d237e21011f6dee0ec2fa69
+ SHA512 b250a7d2a9a1a18793a5f7421d444cbf92c21f1aca5f767781221e2e64b0ba5e0804e82c3f8e4f2c0e08516f4ddbf1533e4d254c557bfb38d9a0da879b98cffb
HEAD_REF master
)
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/ismrmrd/CONTROL b/ports/ismrmrd/CONTROL
index 3725293f7..7f7c26ef7 100644
--- a/ports/ismrmrd/CONTROL
+++ b/ports/ismrmrd/CONTROL
@@ -1,4 +1,4 @@
Source: ismrmrd
-Version: 1.4
+Version: 1.4.0
Description: ISMRM Raw Data Format
Build-Depends: pugixml, hdf5
diff --git a/ports/ismrmrd/portfile.cmake b/ports/ismrmrd/portfile.cmake
index 2422752ea..7427cb1b2 100644
--- a/ports/ismrmrd/portfile.cmake
+++ b/ports/ismrmrd/portfile.cmake
@@ -9,8 +9,8 @@ endif()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO ismrmrd/ismrmrd
- REF 0d05ad0cf0b09adb975566ff6a817a01d69f4325
- SHA512 7127658c3339ca3022a61093fb037aa02ac0cec4885e03657935dc41bc7266e74b437108cd0a9455c91bc74bdbb6e3a182752effca3564a36d3ddc29d3972496
+ REF 4d4004d91ccadd41ddb30b019f970a69bb23a1bc
+ SHA512 648901de4629c8b11574894763a5fa61a3cb0420c5aa62cdff02c4641ba702ca73efba12b403076301e44a4f0a7c915da1f2c7a34b24377d0385af92f2eda892
HEAD_REF master
PATCHES
${WIN32_INCLUDE_STDDEF}
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/jansson/CONTROL b/ports/jansson/CONTROL
index 6050b464d..ec808a999 100644
--- a/ports/jansson/CONTROL
+++ b/ports/jansson/CONTROL
@@ -1,3 +1,3 @@
Source: jansson
-Version: 2.11-2
+Version: 2.12
Description: Jansson is a C library for encoding, decoding and manipulating JSON data
diff --git a/ports/jansson/portfile.cmake b/ports/jansson/portfile.cmake
index e243422fb..b6f3caef0 100644
--- a/ports/jansson/portfile.cmake
+++ b/ports/jansson/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO akheron/jansson
- REF v2.11
- SHA512 5dd94951e1aedd3f3a9ab6a43170d2395ec70c5a00e6da58538816b2dcd98835fc4ca43ab1e9b78864c01e48075505573f4f8d1da5c9d2c094622518d19525e8
+ REF 71c4e8ec215afa225ac20eed269a14963cd37b50
+ SHA512 cdb955996768d6c7ed15b9f1bb7ddf4905f881c4e604d9e7a863f42c513eaaa9fb8799dacfa392424fbf725aac125d4716e10c44c3415449b5c5edd38a87b290
HEAD_REF master
)
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/kd-soap/CONTROL b/ports/kd-soap/CONTROL
index 65b8419e6..8c534ca82 100644
--- a/ports/kd-soap/CONTROL
+++ b/ports/kd-soap/CONTROL
@@ -1,4 +1,5 @@
Source: kd-soap
-Version: 1.7.0
-Description: A Qt-based client-side and server-side SOAP component http://www.kdab.com/products/kd-soap
+Version: 1.8.0
+Description: A Qt-based client-side and server-side SOAP component
+Homepage: http://www.kdab.com/products/kd-soap
Build-Depends: qt5-base
diff --git a/ports/kd-soap/kd-saop.patch b/ports/kd-soap/kd-soap.patch
index 975a1c9f7..d48050faf 100644
--- a/ports/kd-soap/kd-saop.patch
+++ b/ports/kd-soap/kd-soap.patch
@@ -1,12 +1,12 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index c3c824e..d7a1cce 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -168,6 +168,6 @@ if(${PROJECT_NAME}_IS_ROOT_PROJECT)
- enable_testing()
- add_subdirectory(testtools)
- add_subdirectory(unittests)
-+ add_subdirectory(examples)
- endif()
-- add_subdirectory(examples)
- endif()
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index c3c824e..d7a1cce 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -168,6 +168,6 @@ if(${PROJECT_NAME}_IS_ROOT_PROJECT)
+ enable_testing()
+ add_subdirectory(testtools)
+ add_subdirectory(unittests)
++ add_subdirectory(examples)
+ endif()
+- add_subdirectory(examples)
+ endif()
diff --git a/ports/kd-soap/portfile.cmake b/ports/kd-soap/portfile.cmake
index 2b49d114e..61102836c 100644
--- a/ports/kd-soap/portfile.cmake
+++ b/ports/kd-soap/portfile.cmake
@@ -3,15 +3,11 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO KDAB/KDSoap
- REF 66a7804f157f51bc62c193b63a28918236bd7424
- SHA512 e9e2ac3ef714ebd5a85972c0eed613f88cc36f213df4fb938d61b58947972524f26f54a226f8e28ce47385cd859030a560781b4aebe3a25e672ac82b5477eeb8
+ REF kdsoap-1.8.0
+ SHA512 e118f2083887d1b5d613d793e87ec23a570a8a749ef7f4de65582998b735979b4c389a939169a893d735bdf110dc84a4cca5ee38146e4009be715902f6323bb9
HEAD_REF master
+ PATCHES kd-soap.patch
)
-vcpkg_apply_patches(
- SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/8236bd7424-79789c62ed
- PATCHES "${CMAKE_CURRENT_LIST_DIR}/kd-saop.patch"
-)
-
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
diff --git a/ports/lcm/CONTROL b/ports/lcm/CONTROL
index 0cca68404..2621e23c5 100644
--- a/ports/lcm/CONTROL
+++ b/ports/lcm/CONTROL
@@ -1,5 +1,5 @@
Source: lcm
-Version: 1.3.95-1
+Version: 1.4.0
Build-Depends: glib
Description: Lightweight Communications and Marshalling (LCM)
LCM is a set of libraries and tools for message passing and data marshalling, targeted at real-time systems where high-bandwidth and low latency are critical. It provides a publish/subscribe message passing model and automatic marshalling/unmarshalling code generation with bindings for applications in a variety of programming languages.
diff --git a/ports/lcm/fix-build-error.patch b/ports/lcm/fix-build-error.patch
new file mode 100644
index 000000000..ffca33d79
--- /dev/null
+++ b/ports/lcm/fix-build-error.patch
@@ -0,0 +1,32 @@
+diff --git a/lcm/windows/WinPorting.cpp b/lcm/windows/WinPorting.cpp
+index e22acd6..b9c7e69 100644
+--- a/lcm/windows/WinPorting.cpp
++++ b/lcm/windows/WinPorting.cpp
+@@ -1,8 +1,8 @@
+
+ #define _WIN32_WINNT 0x0501
+-#include <Mswsock.h>
+ #include <stdio.h>
+ #include <winsock2.h>
++#include <Mswsock.h>
+
+ #include "WinPorting.h"
+
+diff --git a/lcmgen/emit_go.c b/lcmgen/emit_go.c
+index c520044..b5be56a 100644
+--- a/lcmgen/emit_go.c
++++ b/lcmgen/emit_go.c
+@@ -6,8 +6,13 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
++#ifdef WIN32
++#include <io.h>
++#else
+ #include <unistd.h>
++#endif
+ #ifdef WIN32
++#define F_OK 0
+ #define __STDC_FORMAT_MACROS // Enable integer types
+ #endif
+
diff --git a/ports/lcm/portfile.cmake b/ports/lcm/portfile.cmake
index b50139f62..ef1633d84 100644
--- a/ports/lcm/portfile.cmake
+++ b/ports/lcm/portfile.cmake
@@ -3,14 +3,11 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO lcm-proj/lcm
- REF 82bd3a223e3227c70832307e53a65c13c1e5f81b
- SHA512 5d3abf457e18a3bb50489ed17393c5416a459134f73c264e67d174a29411d6deb70c754b5669422a438ea3e5793b9b1b91d67e9d842151c5a910245fede5879f
+ REF v1.4.0
+ SHA512 ca036aa2c31911e0bfaeab9665188c97726201267314693a1c333c4efe13ea598b39a55a19bc1d48e65462ac9d1716adfda5af86c645d59c3247192631247cc6
HEAD_REF master
-)
-
-vcpkg_apply_patches(
- SOURCE_PATH ${SOURCE_PATH}
- PATCHES ${CMAKE_CURRENT_LIST_DIR}/only-install-one-flavor.patch
+ PATCHES only-install-one-flavor.patch
+ fix-build-error.patch
)
vcpkg_configure_cmake(
diff --git a/ports/libbson/CONTROL b/ports/libbson/CONTROL
index 541286c50..21c9f9fdd 100644
--- a/ports/libbson/CONTROL
+++ b/ports/libbson/CONTROL
@@ -1,3 +1,3 @@
Source: libbson
-Version: 1.13.0
+Version: 1.14.0
Description: libbson is a library providing useful routines related to building, parsing, and iterating BSON documents.
diff --git a/ports/libbson/portfile.cmake b/ports/libbson/portfile.cmake
index dc4de34dd..18f567b71 100644
--- a/ports/libbson/portfile.cmake
+++ b/ports/libbson/portfile.cmake
@@ -1,10 +1,11 @@
include(vcpkg_common_functions)
+set(BUILD_VERSION 1.14.0)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO mongodb/mongo-c-driver
- REF 1.13.0
- SHA512 d2f5b04b3d2dbdeba4547ec1fe8a0da7bad5214de92fff480ef0ff7d97ea45d5e6347c11c249867d4905b1dd81b76c7cfbb9094a58df586dae881955ee246907
+ REF ${BUILD_VERSION}
+ SHA512 bf2bb835543dd2a445aac6cafa7bbbf90921ec41014534779924a5eb7cbd9fd532acd8146ce81dfcf1bcac33a78d8fce22b962ed7f776449e4357eccab8d6110
HEAD_REF master
PATCHES fix-uwp.patch
)
@@ -24,6 +25,7 @@ vcpkg_configure_cmake(
-DENABLE_TESTS=OFF
-DENABLE_EXAMPLES=OFF
-DENABLE_STATIC=${ENABLE_STATIC}
+ -DBUILD_VERSION=${BUILD_VERSION}
)
vcpkg_install_cmake()
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/libfabric/CONTROL b/ports/libfabric/CONTROL
new file mode 100644
index 000000000..931d10f5e
--- /dev/null
+++ b/ports/libfabric/CONTROL
@@ -0,0 +1,5 @@
+Source: libfabric
+Version: 1.7.1
+Description: The OpenFabrics Interfaces Working Group (OFIWG) and the Libfabric open-source community are pleased to announce the release of version v1.6.2 of libfabric. See NEWS.md for the list of features and enhancements that have been added since the last release.
+Homepage: https://github.com/ofiwg/libfabric
+Build-Depends: networkdirect-sdk (windows)
diff --git a/ports/libfabric/add_additional_includes.patch b/ports/libfabric/add_additional_includes.patch
new file mode 100644
index 000000000..377a810d2
--- /dev/null
+++ b/ports/libfabric/add_additional_includes.patch
@@ -0,0 +1,58 @@
+diff --git a/libfabric.vcxproj b/libfabric.vcxproj
+index 43a05e7..ceb596f 100644
+--- a/libfabric.vcxproj
++++ b/libfabric.vcxproj
+@@ -125,7 +125,7 @@
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>WIN32;_WINSOCKAPI_=;_CRT_SECURE_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;_WINDOWS;_USRDLL;LIBFABRIC_EXPORTS;HAVE_CONFIG_H;ENABLE_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <SDLCheck>true</SDLCheck>
+- <AdditionalIncludeDirectories>$(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include</AdditionalIncludeDirectories>
++ <AdditionalIncludeDirectories>$(AdditionalIncludeDirectories);$(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include</AdditionalIncludeDirectories>
+ <CompileAs>CompileAsC</CompileAs>
+ <DisableSpecificWarnings>4127;4200;4204;4221;4115;4201;4100</DisableSpecificWarnings>
+ <C99Support>true</C99Support>
+@@ -148,7 +148,7 @@
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>WIN32;_WINSOCKAPI_=;_CRT_SECURE_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;_WINDOWS;_USRDLL;LIBFABRIC_EXPORTS;HAVE_CONFIG_H;ENABLE_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <SDLCheck>true</SDLCheck>
+- <AdditionalIncludeDirectories>$(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include;</AdditionalIncludeDirectories>
++ <AdditionalIncludeDirectories>$(AdditionalIncludeDirectories);$(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include;</AdditionalIncludeDirectories>
+ <CompileAs>CompileAsC</CompileAs>
+ <DisableSpecificWarnings>4127;4200;4204;4221;4115;4201;4100</DisableSpecificWarnings>
+ <C99Support>true</C99Support>
+@@ -171,7 +171,7 @@
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>WIN32;_WINSOCKAPI_=;_CRT_SECURE_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;_WINDOWS;_USRDLL;LIBFABRIC_EXPORTS;HAVE_CONFIG_H;ENABLE_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <SDLCheck>true</SDLCheck>
+- <AdditionalIncludeDirectories>$(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include</AdditionalIncludeDirectories>
++ <AdditionalIncludeDirectories>$(AdditionalIncludeDirectories);$(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include</AdditionalIncludeDirectories>
+ <CompileAs>CompileAsC</CompileAs>
+ <DisableSpecificWarnings>4127;4200;94;4204;4221;869</DisableSpecificWarnings>
+ <C99Support>true</C99Support>
+@@ -195,7 +195,7 @@
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>WIN32;_WINSOCKAPI_=;_CRT_SECURE_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;_WINDOWS;_USRDLL;LIBFABRIC_EXPORTS;HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <SDLCheck>true</SDLCheck>
+- <AdditionalIncludeDirectories>$(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include</AdditionalIncludeDirectories>
++ <AdditionalIncludeDirectories>$(AdditionalIncludeDirectories);$(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include</AdditionalIncludeDirectories>
+ <DisableSpecificWarnings>4127;4200;4204;4221;4115;4201;4100</DisableSpecificWarnings>
+ <C99Support>true</C99Support>
+ <ShowIncludes>false</ShowIncludes>
+@@ -220,7 +220,7 @@
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>WIN32;_WINSOCKAPI_=;_CRT_SECURE_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;_WINDOWS;_USRDLL;LIBFABRIC_EXPORTS;HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <SDLCheck>true</SDLCheck>
+- <AdditionalIncludeDirectories>$(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include;</AdditionalIncludeDirectories>
++ <AdditionalIncludeDirectories>$(AdditionalIncludeDirectories);$(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include;</AdditionalIncludeDirectories>
+ <DisableSpecificWarnings>4127;4200;4204;4221;4115;4201;4100</DisableSpecificWarnings>
+ <C99Support>true</C99Support>
+ <ShowIncludes>false</ShowIncludes>
+@@ -245,7 +245,7 @@
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>WIN32;_WINSOCKAPI_=;_CRT_SECURE_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;_WINDOWS;_USRDLL;LIBFABRIC_EXPORTS;HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <SDLCheck>true</SDLCheck>
+- <AdditionalIncludeDirectories>$(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include;</AdditionalIncludeDirectories>
++ <AdditionalIncludeDirectories>$(AdditionalIncludeDirectories);$(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include;</AdditionalIncludeDirectories>
+ <DisableSpecificWarnings>4127;4200;94;4204;4221;869</DisableSpecificWarnings>
+ <C99Support>true</C99Support>
+ <ShowIncludes>false</ShowIncludes>
diff --git a/ports/libfabric/portfile.cmake b/ports/libfabric/portfile.cmake
new file mode 100644
index 000000000..f7dc21226
--- /dev/null
+++ b/ports/libfabric/portfile.cmake
@@ -0,0 +1,46 @@
+include(vcpkg_common_functions)
+
+if (VCPKG_CMAKE_SYSTEM_NAME)
+ # The library supports Linux/Darwin/BSD, it is just not yet added here
+ message(FATAL_ERROR "vcpkg libfabric currently suports windows. Please consider a pull request to add additional support!")
+endif()
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO ofiwg/libfabric
+ REF v1.7.1
+ HEAD_REF master
+ SHA512 3ae06839295a5b581a5d9936ee991bb597672a4981cc7fa385f4db7645d5328156d758848827ec186c0056cf3abd97f8f3859ec16a8b5bbd0d1f979143ee7bb1
+ PATCHES
+ add_additional_includes.patch
+)
+
+if(NOT VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
+ message(FATAL_ERROR "VCPKG BUILD ERROR: libfabric only supports x64")
+endif()
+
+set(LIBFABRIC_RELEASE_CONFIGURATION "Release-v141")
+set(LIBFABRIC_DEBUG_CONFIGURATION "Debug-v141")
+
+vcpkg_install_msbuild(
+ SOURCE_PATH ${SOURCE_PATH}
+ PROJECT_SUBPATH libfabric.vcxproj
+ INCLUDES_SUBPATH include
+ LICENSE_SUBPATH COPYING
+ PLATFORM "x64"
+ RELEASE_CONFIGURATION ${LIBFABRIC_RELEASE_CONFIGURATION}
+ DEBUG_CONFIGURATION ${LIBFABRIC_RELEASE_CONFIGURATION}
+ USE_VCPKG_INTEGRATION
+ ALLOW_ROOT_INCLUDES
+ OPTIONS
+ /p:SolutionDir=${SOURCE_PATH}
+ /p:AdditionalIncludeDirectories="${CURRENT_INSTALLED_DIR}/include"
+)
+
+#Move includes under subdirectory to avoid colisions with other libraries
+file(RENAME ${CURRENT_PACKAGES_DIR}/include ${CURRENT_PACKAGES_DIR}/includetemp)
+file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/include)
+file(RENAME ${CURRENT_PACKAGES_DIR}/includetemp ${CURRENT_PACKAGES_DIR}/include/libfabric)
+
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libfabric RENAME copyright)
diff --git a/ports/libgeotiff/0001-Updates-to-CMake-configuration-to-align-with-other-C.patch b/ports/libgeotiff/0001-Updates-to-CMake-configuration-to-align-with-other-C.patch
deleted file mode 100644
index 93476fd2f..000000000
--- a/ports/libgeotiff/0001-Updates-to-CMake-configuration-to-align-with-other-C.patch
+++ /dev/null
@@ -1,88 +0,0 @@
-From 77b4bf4e649d55b1f1df38494114727f972ec806 Mon Sep 17 00:00:00 2001
-From: Howard Butler <hobu.inc@gmail.com>
-Date: Mon, 11 Dec 2017 15:21:56 +0000
-Subject: [PATCH 1/5] Updates to CMake configuration to align with other CMake
- norms (BUILD_SHARED_LIBS mostly)
-
-git-svn-id: https://svn.osgeo.org/metacrs/geotiff/trunk/libgeotiff@2801 4e78687f-474d-0410-85f9-8d5e500ac6b2
-Signed-off-by: Hiroshi Miura <miurahr@linux.com>
----
- CMakeLists.txt | 22 ++--------------------
- cmake/project-config.cmake.in | 5 ++++-
- 2 files changed, 6 insertions(+), 21 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 0c70973..55ececf 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -9,7 +9,6 @@ PROJECT(GeoTIFF)
-
- SET(GEOTIFF_LIB_NAME geotiff)
- SET(GEOTIFF_LIBRARY_TARGET geotiff_library)
--SET(GEOTIFF_ARCHIVE_TARGET geotiff_archive)
-
- ##############################################################################
- # CMake settings
-@@ -416,32 +415,15 @@ FILE(WRITE "${CMAKE_CURRENT_BINARY_DIR}/epsg_incode_header.h"
-
- SET(XTIFF_SOURCES libxtiff/xtiff.c)
-
--#---
--# Static libgeotiff archive
--# NOTE: Did not put XTIFF_SOURCES in static lib because libxtiff.a is written out
--# currently.
--#---
- if (MSVC OR CMAKE_CONFIGURATION_TYPES)
- # For multi-config systems and for Visual Studio, the debug versions
- # of the libraries have a _d suffix.
- set (CMAKE_DEBUG_POSTFIX _d)
- endif ()
-
--ADD_LIBRARY(${GEOTIFF_ARCHIVE_TARGET} STATIC
-- ${GEOTIFF_LIB_SOURCES} ${GEOTIFF_LIB_CSV_SOURCES})
--SET_TARGET_PROPERTIES(${GEOTIFF_ARCHIVE_TARGET} PROPERTIES
-- OUTPUT_NAME ${GEOTIFF_LIB_NAME})
--
--# Shared libgeotiff library
--ADD_LIBRARY(${GEOTIFF_LIBRARY_TARGET} SHARED
-+ADD_LIBRARY(${GEOTIFF_LIBRARY_TARGET}
- ${GEOTIFF_LIB_SOURCES} ${GEOTIFF_LIB_CSV_SOURCES} ${XTIFF_SOURCES})
-
--# Windows:
--IF(WIN32 AND MSVC)
-- SET_TARGET_PROPERTIES(${GEOTIFF_LIBRARY_TARGET} PROPERTIES IMPORT_SUFFIX "_i.lib")
--ENDIF(WIN32 AND MSVC)
--
--
- # Unix, linux:
- IF(UNIX)
- SET_TARGET_PROPERTIES(
-@@ -478,7 +460,7 @@ TARGET_LINK_LIBRARIES(${GEOTIFF_LIBRARY_TARGET}
- # LIBRARY DESTINATION ${GEOTIFF_LIB_DIR}
- # ARCHIVE DESTINATION ${GEOTIFF_LIB_DIR})
-
--INSTALL( TARGETS ${GEOTIFF_ARCHIVE_TARGET} ${GEOTIFF_LIBRARY_TARGET}
-+INSTALL( TARGETS ${GEOTIFF_LIBRARY_TARGET}
- EXPORT depends
- RUNTIME DESTINATION bin
- LIBRARY DESTINATION lib
-diff --git a/cmake/project-config.cmake.in b/cmake/project-config.cmake.in
-index 6b5499f..dc5b999 100644
---- a/cmake/project-config.cmake.in
-+++ b/cmake/project-config.cmake.in
-@@ -32,8 +32,11 @@ set (@PROJECT_NAME@_BINARY_DIRS "${_ROOT}/bin")
-
- message (STATUS " include directory: \${@PROJECT_NAME@_INCLUDE_DIRS}")
-
-+if(BUILD_SHARED_LIBS)
- set (@PROJECT_NAME@_SHARED_LIBRARIES @GEOTIFF_LIBRARY_TARGET@)
--set (@PROJECT_NAME@_STATIC_LIBRARIES @GEOTIFF_ARCHIVE_TARGET@)
-+else()
-+set (@PROJECT_NAME@_STATIC_LIBRARIES @GEOTIFF_LIBRARY_TARGET@)
-+endif()
- # Read in the exported definition of the library
- include ("${_DIR}/@PROJECT_NAME_LOWER@-depends.cmake")
-
---
-2.16.1
-
diff --git a/ports/libgeotiff/0002-Fix-directory-output.patch b/ports/libgeotiff/0002-Fix-directory-output.patch
deleted file mode 100644
index d6b79e54c..000000000
--- a/ports/libgeotiff/0002-Fix-directory-output.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 2b60f0a2c264bf3730e89739384a6d50991b2fc4 Mon Sep 17 00:00:00 2001
-From: Hiroshi Miura <miurahr@linux.com>
-Date: Wed, 14 Feb 2018 12:31:53 +0900
-Subject: [PATCH 2/5] Fix directory output
-
-Signed-off-by: Hiroshi Miura <miurahr@linux.com>
----
- cmake/CMakeLists.txt | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt
-index 47a2b00..b41f2fa 100644
---- a/cmake/CMakeLists.txt
-+++ b/cmake/CMakeLists.txt
-@@ -10,8 +10,8 @@ if (NOT WIN32)
- set (INSTALL_CMAKE_DIR "share/cmake/${PROJECT_NAME}")
- set (PROJECT_ROOT_DIR "../../..")
- else ()
-- set (INSTALL_CMAKE_DIR "cmake")
-- set (PROJECT_ROOT_DIR "..")
-+ set (INSTALL_CMAKE_DIR "share/${PROJECT_NAME}")
-+ set (PROJECT_ROOT_DIR "../..")
- endif ()
-
- configure_file (project-config.cmake.in project-config.cmake @ONLY)
---
-2.16.1
-
diff --git a/ports/libgeotiff/0004-Fix-libxtiff-installation.patch b/ports/libgeotiff/0004-Fix-libxtiff-installation.patch
deleted file mode 100644
index f7da51ab0..000000000
--- a/ports/libgeotiff/0004-Fix-libxtiff-installation.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From 3a7c42f304ec3bb149e31bbd21c9c84048c3047c Mon Sep 17 00:00:00 2001
-From: Hiroshi Miura <miurahr@linux.com>
-Date: Thu, 15 Feb 2018 13:11:01 +0900
-Subject: [PATCH 4/5] Fix libxtiff installation
-
-Signed-off-by: Hiroshi Miura <miurahr@linux.com>
----
- CMakeLists.txt | 9 ++-------
- libxtiff/CMakeLists.txt | 9 ---------
- 2 files changed, 2 insertions(+), 16 deletions(-)
- delete mode 100644 libxtiff/CMakeLists.txt
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 1e2fe3d..c52cfb4 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -354,11 +354,6 @@ INSTALL(FILES ${GEOTIFF_MAN_PAGES} DESTINATION share/man/man1)
- # INSTALL(FILES ${GEOTIFF_LIB_HEADERS} DESTINATION ${GEOTIFF_INCLUDE_DIR})
- INSTALL(FILES ${GEOTIFF_LIB_HEADERS} DESTINATION include)
-
--###############################################################################
--# Build libxtiff library
--
--ADD_SUBDIRECTORY(libxtiff)
--
- ###############################################################################
- # Build libgeotiff library
-
-@@ -406,6 +401,8 @@ FOREACH(epsg_csv_file ${GEOTIFF_CSV_DATA})
- ENDIF()
- ENDFOREACH()
-
-+SET(XTIFF_SOURCES libxtiff/xtiff.c)
-+
- SET(EPSG_INCODE_EXPLANATION
- "This file is autogenerated by CMake, based on the INCODE_EPSG_* options specified during configure.\n
- Choosing an EPSG CSV file for inclusion into code will run csv/csv2c.py on the file and include the\n
-@@ -414,8 +411,6 @@ STRING(REPLACE ";" "\n" EPSG_INCLUDEFILE_POINTER_STRING "${epsg_includefile_poin
- FILE(WRITE "${CMAKE_CURRENT_BINARY_DIR}/epsg_incode_header.h"
- "/* ${EPSG_INCODE_EXPLANATION} */\n${epsg_includefile_externconst}; \n\n/* Pointers to csv data included in code */\nstatic const datafile_t files[] = {\n${EPSG_INCLUDEFILE_POINTER_STRING}\n { NULL, NULL }};")
-
--SET(XTIFF_SOURCES libxtiff/xtiff.c)
--
- if (MSVC OR CMAKE_CONFIGURATION_TYPES)
- # For multi-config systems and for Visual Studio, the debug versions
- # of the libraries have a _d suffix.
-diff --git a/libxtiff/CMakeLists.txt b/libxtiff/CMakeLists.txt
-deleted file mode 100644
-index a0bbb96..0000000
---- a/libxtiff/CMakeLists.txt
-+++ /dev/null
-@@ -1,9 +0,0 @@
--###############################################################################
--#
--# CMake configuration file to build libxtiff library
--#
--# Author: Mateusz Loskot <mateusz@loskot.net>
--#
--###############################################################################
--
--ADD_LIBRARY(xtiff STATIC xtiff.c)
---
-2.16.1
-
diff --git a/ports/libgeotiff/0005-Control-shared-library-build-with-option.patch b/ports/libgeotiff/0005-Control-shared-library-build-with-option.patch
deleted file mode 100644
index ed9a4e88a..000000000
--- a/ports/libgeotiff/0005-Control-shared-library-build-with-option.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 84e537f3bd0db74b22ffebb3746d292daf4f4e59 Mon Sep 17 00:00:00 2001
-From: Hiroshi Miura <miurahr@linux.com>
-Date: Thu, 15 Feb 2018 13:17:14 +0900
-Subject: [PATCH 5/5] Control shared library build with option
-
-Signed-off-by: Hiroshi Miura <miurahr@linux.com>
----
- CMakeLists.txt | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index c52cfb4..5890203 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -5,14 +5,15 @@
- # Author: Mateusz Loskot <mateusz@loskot.net>
- #
- ###############################################################################
-+CMAKE_MINIMUM_REQUIRED(VERSION 3.1.0)
- PROJECT(GeoTIFF)
-
- SET(GEOTIFF_LIB_NAME geotiff)
- SET(GEOTIFF_LIBRARY_TARGET geotiff_library)
-+option(BUILD_SHARE_LIBS "Set ON to build shared library." ON)
-
- ##############################################################################
- # CMake settings
--CMAKE_MINIMUM_REQUIRED(VERSION 2.6.0)
-
- SET(CMAKE_COLOR_MAKEFILE ON)
-
---
-2.16.1
-
diff --git a/ports/libgeotiff/0006-Fix-utility-link-error.patch b/ports/libgeotiff/0006-Fix-utility-link-error.patch
deleted file mode 100644
index ef0963b26..000000000
--- a/ports/libgeotiff/0006-Fix-utility-link-error.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 2625b4a85b6cacf9b6ede3cf30af16eb795044e9 Mon Sep 17 00:00:00 2001
-From: Hiroshi Miura <miurahr@linux.com>
-Date: Sat, 24 Feb 2018 08:36:31 +0900
-Subject: [PATCH 6/6] Fix utility link error
-
-Signed-off-by: Hiroshi Miura <miurahr@linux.com>
----
- bin/CMakeLists.txt | 7 +------
- 1 file changed, 1 insertion(+), 6 deletions(-)
-
-diff --git a/bin/CMakeLists.txt b/bin/CMakeLists.txt
-index 583ae36..6c6cc21 100644
---- a/bin/CMakeLists.txt
-+++ b/bin/CMakeLists.txt
-@@ -6,10 +6,6 @@
- #
- ###############################################################################
-
--INCLUDE_DIRECTORIES(
-- .
-- ${CMAKE_SOURCE_DIR})
--
- IF(WIN32 AND MSVC)
- SET(GETOPT_SOURCE getopt.c)
- ENDIF()
-@@ -22,12 +18,11 @@ MESSAGE(STATUS "Adding GeoTIFF utilities to build")
-
- FOREACH(utility ${GEOTIFF_UTILITIES})
- ADD_EXECUTABLE(${utility} ${utility}.c ${GETOPT_SOURCE})
-- TARGET_LINK_LIBRARIES(${utility} xtiff ${GEOTIFF_LIBRARY_TARGET})
-+ TARGET_LINK_LIBRARIES(${utility} ${GEOTIFF_LIBRARY_TARGET})
- ENDFOREACH()
-
- ADD_EXECUTABLE(geotifcp geotifcp.c ${GETOPT_SOURCE})
- TARGET_LINK_LIBRARIES(geotifcp
-- xtiff
- ${GEOTIFF_LIBRARY_TARGET}
- ${JPEG_LIBRARIES}
- ${ZLIB_LIBRARIES})
---
-2.16.1
-
diff --git a/ports/libgeotiff/CONTROL b/ports/libgeotiff/CONTROL
index 34d804005..28cbee52d 100644
--- a/ports/libgeotiff/CONTROL
+++ b/ports/libgeotiff/CONTROL
@@ -1,4 +1,4 @@
Source: libgeotiff
-Version: 1.4.2-8
-Description: Libgeotiff is an open source library normally hosted on top of ​libtiff for reading, and writing GeoTIFF information tags.
+Version: 1.4.2-9
+Description: Libgeotiff is an open source library normally hosted on top of libtiff for reading, and writing GeoTIFF information tags.
Build-Depends: tiff, proj4, zlib, libjpeg-turbo
diff --git a/ports/libgeotiff/cmakelists.patch b/ports/libgeotiff/cmakelists.patch
new file mode 100644
index 000000000..689c6df5b
--- /dev/null
+++ b/ports/libgeotiff/cmakelists.patch
@@ -0,0 +1,124 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 0c70973..617978c 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -190,22 +190,6 @@ IF(WITH_TIFF)
+ endif ()
+
+ IF(TIFF_FOUND)
+- # Confirm required API is available
+- INCLUDE(CheckFunctionExists)
+- SET(CMAKE_REQUIRED_LIBRARIES ${TIFF_LIBRARIES})
+-
+- CHECK_FUNCTION_EXISTS(TIFFOpen HAVE_TIFFOPEN)
+- IF(NOT HAVE_TIFFOPEN)
+- SET(TIFF_FOUND) # ReSET to NOT found for TIFF library
+- MESSAGE(FATAL_ERROR "Failed to link with libtiff - TIFFOpen function not found")
+- ENDIF()
+-
+- CHECK_FUNCTION_EXISTS(TIFFMergeFieldInfo HAVE_TIFFMERGEFIELDINFO)
+- IF(NOT HAVE_TIFFMERGEFIELDINFO)
+- SET(TIFF_FOUND) # ReSET to NOT found for TIFF library
+- MESSAGE(FATAL_ERROR "Failed to link with libtiff - TIFFMergeFieldInfo function not found. libtiff 3.6.0 Beta or later required. Please upgrade or use an older version of libgeotiff")
+- ENDIF()
+-
+ INCLUDE_DIRECTORIES(${TIFF_INCLUDE_DIR})
+ ADD_DEFINITIONS(-DHAVE_TIFF=1)
+ ENDIF(TIFF_FOUND)
+@@ -354,11 +338,6 @@ INSTALL(FILES ${GEOTIFF_MAN_PAGES} DESTINATION share/man/man1)
+ # INSTALL(FILES ${GEOTIFF_LIB_HEADERS} DESTINATION ${GEOTIFF_INCLUDE_DIR})
+ INSTALL(FILES ${GEOTIFF_LIB_HEADERS} DESTINATION include)
+
+-###############################################################################
+-# Build libxtiff library
+-
+-ADD_SUBDIRECTORY(libxtiff)
+-
+ ###############################################################################
+ # Build libgeotiff library
+
+@@ -427,13 +406,9 @@ if (MSVC OR CMAKE_CONFIGURATION_TYPES)
+ set (CMAKE_DEBUG_POSTFIX _d)
+ endif ()
+
+-ADD_LIBRARY(${GEOTIFF_ARCHIVE_TARGET} STATIC
+- ${GEOTIFF_LIB_SOURCES} ${GEOTIFF_LIB_CSV_SOURCES})
+-SET_TARGET_PROPERTIES(${GEOTIFF_ARCHIVE_TARGET} PROPERTIES
+- OUTPUT_NAME ${GEOTIFF_LIB_NAME})
+
+ # Shared libgeotiff library
+-ADD_LIBRARY(${GEOTIFF_LIBRARY_TARGET} SHARED
++ADD_LIBRARY(${GEOTIFF_LIBRARY_TARGET}
+ ${GEOTIFF_LIB_SOURCES} ${GEOTIFF_LIB_CSV_SOURCES} ${XTIFF_SOURCES})
+
+ # Windows:
+@@ -478,7 +453,7 @@ TARGET_LINK_LIBRARIES(${GEOTIFF_LIBRARY_TARGET}
+ # LIBRARY DESTINATION ${GEOTIFF_LIB_DIR}
+ # ARCHIVE DESTINATION ${GEOTIFF_LIB_DIR})
+
+-INSTALL( TARGETS ${GEOTIFF_ARCHIVE_TARGET} ${GEOTIFF_LIBRARY_TARGET}
++INSTALL( TARGETS ${GEOTIFF_LIBRARY_TARGET}
+ EXPORT depends
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib
+diff --git a/bin/CMakeLists.txt b/bin/CMakeLists.txt
+index 7b12341..b6b1d0c 100644
+--- a/bin/CMakeLists.txt
++++ b/bin/CMakeLists.txt
+@@ -6,9 +6,6 @@
+ #
+ ###############################################################################
+
+-INCLUDE_DIRECTORIES(
+- .
+- ${CMAKE_SOURCE_DIR})
+
+ IF(WIN32 AND MSVC)
+ SET(GETOPT_SOURCE getopt.c)
+@@ -22,12 +19,11 @@ MESSAGE(STATUS "Adding GeoTIFF utilities to build")
+
+ FOREACH(utility ${GEOTIFF_UTILITIES})
+ ADD_EXECUTABLE(${utility} ${utility}.c ${GETOPT_SOURCE})
+- TARGET_LINK_LIBRARIES(${utility} xtiff ${GEOTIFF_LIBRARY_TARGET})
++ TARGET_LINK_LIBRARIES(${utility} ${GEOTIFF_LIBRARY_TARGET})
+ ENDFOREACH()
+
+ ADD_EXECUTABLE(geotifcp geotifcp.c ${GETOPT_SOURCE})
+ TARGET_LINK_LIBRARIES(geotifcp
+- xtiff
+ ${GEOTIFF_LIBRARY_TARGET}
+ ${JPEG_LIBRARIES}
+ ${ZLIB_LIBRARIES})
+diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt
+index 47a2b00..ffbd004 100644
+--- a/cmake/CMakeLists.txt
++++ b/cmake/CMakeLists.txt
+@@ -6,13 +6,8 @@
+ # ${INSTALL_CMAKE_DIR} and @PROJECT_ROOT_DIR@ is the relative
+ # path to the root from there. (Note that the whole install tree can
+ # be relocated.)
+-if (NOT WIN32)
+- set (INSTALL_CMAKE_DIR "share/cmake/${PROJECT_NAME}")
+- set (PROJECT_ROOT_DIR "../../..")
+-else ()
+- set (INSTALL_CMAKE_DIR "cmake")
+- set (PROJECT_ROOT_DIR "..")
+-endif ()
++ set (INSTALL_CMAKE_DIR "share/${PROJECT_NAME}")
++ set (PROJECT_ROOT_DIR "../..")
+
+ configure_file (project-config.cmake.in project-config.cmake @ONLY)
+ configure_file (project-config-version.cmake.in
+diff --git a/cmake/project-config.cmake.in b/cmake/project-config.cmake.in
+index 6b5499f..e4ddd11 100644
+--- a/cmake/project-config.cmake.in
++++ b/cmake/project-config.cmake.in
+@@ -33,7 +33,7 @@ set (@PROJECT_NAME@_BINARY_DIRS "${_ROOT}/bin")
+ message (STATUS " include directory: \${@PROJECT_NAME@_INCLUDE_DIRS}")
+
+ set (@PROJECT_NAME@_SHARED_LIBRARIES @GEOTIFF_LIBRARY_TARGET@)
+-set (@PROJECT_NAME@_STATIC_LIBRARIES @GEOTIFF_ARCHIVE_TARGET@)
++set (@PROJECT_NAME@_STATIC_LIBRARIES @GEOTIFF_LIBRARY_TARGET@)
+ # Read in the exported definition of the library
+ include ("${_DIR}/@PROJECT_NAME_LOWER@-depends.cmake")
+
diff --git a/ports/libgeotiff/portfile.cmake b/ports/libgeotiff/portfile.cmake
index bb64e7ac2..1e4bb3370 100644
--- a/ports/libgeotiff/portfile.cmake
+++ b/ports/libgeotiff/portfile.cmake
@@ -1,12 +1,11 @@
include(vcpkg_common_functions)
set(LIBGEOTIFF_VERSION 1.4.2)
-set(LIBGEOTIFF_HASH 059c6e05eb0c47f17b102c7217a2e1636e76d622c4d1bdcf0bd89fb3505f3130bffa881e21c73cfd2ca0d6863b81322f85784658ba3539b53b63c3a8f38d1deb)
vcpkg_download_distfile(ARCHIVE
URLS "http://download.osgeo.org/geotiff/libgeotiff/libgeotiff-${LIBGEOTIFF_VERSION}.tar.gz"
FILENAME "libgeotiff-${LIBGEOTIFF_VERSION}.tar.gz"
- SHA512 ${LIBGEOTIFF_HASH}
+ SHA512 059c6e05eb0c47f17b102c7217a2e1636e76d622c4d1bdcf0bd89fb3505f3130bffa881e21c73cfd2ca0d6863b81322f85784658ba3539b53b63c3a8f38d1deb
)
vcpkg_extract_source_archive_ex(
@@ -14,11 +13,7 @@ vcpkg_extract_source_archive_ex(
ARCHIVE ${ARCHIVE}
REF ${LIBGEOTIFF_VERSION}
PATCHES
- 0001-Updates-to-CMake-configuration-to-align-with-other-C.patch
- 0002-Fix-directory-output.patch
- 0004-Fix-libxtiff-installation.patch
- 0005-Control-shared-library-build-with-option.patch
- 0006-Fix-utility-link-error.patch
+ cmakelists.patch
geotiff-config.patch
)
@@ -33,42 +28,40 @@ vcpkg_configure_cmake(
-DWITH_PROJ4=ON
-DWITH_ZLIB=ON
-DWITH_JPEG=ON
- OPTIONS_RELEASE -DWITH_UTILITIES=ON
- OPTIONS_DEBUG -DWITH_UTILITIES=OFF
+ -DWITH_UTILITIES=ON
)
vcpkg_install_cmake()
-if(WIN32)
- vcpkg_fixup_cmake_targets(CONFIG_PATH share/GeoTIFF)
- file(RENAME ${CURRENT_PACKAGES_DIR}/share/libgeotiff ${CURRENT_PACKAGES_DIR}/share/geotiff) # move configs to expected location
-else()
- vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/GeoTIFF)
- file(RENAME ${CURRENT_PACKAGES_DIR}/share/libgeotiff ${CURRENT_PACKAGES_DIR}/share/geotiff) # move configs to expected location
-endif()
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share)
-configure_file(${SOURCE_PATH}/COPYING ${CURRENT_PACKAGES_DIR}/share/libgeotiff/copyright COPYONLY)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/doc)
if(VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
file(GLOB GEOTIFF_UTILS ${CURRENT_PACKAGES_DIR}/bin/*)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin)
else()
file(GLOB GEOTIFF_UTILS ${CURRENT_PACKAGES_DIR}/bin/*.exe)
+ file(GLOB GEOTIFF_UTILS_DEBUG ${CURRENT_PACKAGES_DIR}/debug/bin/*.exe)
+ file(REMOVE ${GEOTIFF_UTILS_DEBUG})
endif()
file(COPY ${GEOTIFF_UTILS} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/libgeotiff)
vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/libgeotiff)
+file(REMOVE ${GEOTIFF_UTILS})
-file(GLOB EXES ${CURRENT_PACKAGES_DIR}/bin/*.exe ${CURRENT_PACKAGES_DIR}/debug/bin/*.exe)
-if(EXES)
- file(REMOVE ${EXES})
-endif()
-
-if(VCPKG_LIBRARY_LINKAGE STREQUAL "static" OR (VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore"))
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin ${CURRENT_PACKAGES_DIR}/bin)
endif()
-# Move and cleanup doc files
-file(RENAME ${CURRENT_PACKAGES_DIR}/doc ${CURRENT_PACKAGES_DIR}/share/libgeotiff/doc)
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/doc)
-
vcpkg_copy_pdbs()
+vcpkg_fixup_cmake_targets(CONFIG_PATH share/GeoTIFF)
+file(INSTALL ${CURRENT_PACKAGES_DIR}/share/libgeotiff/geotiff-config-version.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/geotiff)
+file(INSTALL ${CURRENT_PACKAGES_DIR}/share/libgeotiff/geotiff-config.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/geotiff)
+file(INSTALL ${CURRENT_PACKAGES_DIR}/share/libgeotiff/geotiff-depends-release.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/geotiff)
+file(INSTALL ${CURRENT_PACKAGES_DIR}/share/libgeotiff/geotiff-depends-debug.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/geotiff)
+file(INSTALL ${CURRENT_PACKAGES_DIR}/share/libgeotiff/geotiff-depends.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/geotiff)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
+
+file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libgeotiff RENAME copyright)
+
+file(RENAME ${CURRENT_PACKAGES_DIR}/doc ${CURRENT_PACKAGES_DIR}/share/libgeotiff/doc)
diff --git a/ports/libgit2/CONTROL b/ports/libgit2/CONTROL
index 55a90bea5..71ba1a4c9 100644
--- a/ports/libgit2/CONTROL
+++ b/ports/libgit2/CONTROL
@@ -1,4 +1,4 @@
Source: libgit2
-Version: 0.28.1
+Version: 0.28.2
Build-Depends: openssl (!windows&&!uwp)
Description: Git linkable library
diff --git a/ports/libgit2/portfile.cmake b/ports/libgit2/portfile.cmake
index 3516788b7..711da201e 100644
--- a/ports/libgit2/portfile.cmake
+++ b/ports/libgit2/portfile.cmake
@@ -8,8 +8,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO libgit2/libgit2
- REF v0.28.1
- SHA512 5a1bc5c6af6ad25cb8b2c446e75a774d2a615d4999ec3223d681c7b120d83e7cecd94f1ca549bac0802f5324e27e73cc5a6483ad410636c2f06f098b30b1b647
+ REF b3e1a56ebb2b9291e82dc027ba9cbcfc3ead54d3
+ SHA512 2a992759c0892300eff6d4e823367e2cfc5bcaa6e37a0e87de45a16393c53ccd286f47f37d38c104e79eed8688b9834ada00000b2d6894f89773f75c83e23022
HEAD_REF master
)
diff --git a/ports/libics/CONTROL b/ports/libics/CONTROL
index 5f98c9614..115540291 100644
--- a/ports/libics/CONTROL
+++ b/ports/libics/CONTROL
@@ -1,3 +1,3 @@
Source: libics
-Version: 1.6.2
+Version: 1.6.3
Description: Reference library for ICS (Image Cytometry Standard), an open standard for writing images of any dimensionality and data type to file, together with associated information regarding the recording equipment or recorded subject. \ No newline at end of file
diff --git a/ports/libics/portfile.cmake b/ports/libics/portfile.cmake
index 9bcf997ed..f0d27363a 100644
--- a/ports/libics/portfile.cmake
+++ b/ports/libics/portfile.cmake
@@ -2,8 +2,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO svi-opensource/libics
- REF 8d8d2dbe72450cbaf88080b6c0e24a7a4a58009e
- SHA512 739668b4d51ddb67d50ed1d41bd6965b90b5e4eafc7ec19e2f1d668f48af6e237f6a1872673e3fec5888efe94c2b321295c4de9502aba1f677fc6d0e0399c141
+ REF b9532b738ad7f17569dfcaae74eb53d3c2959394
+ SHA512 a7c0d89125570021494feaf0a187e3a1695e92c85a03d59ac9729618cdddb2ae13af94e4ce93241acbbb9d28465f75297bf03f2c46061bb7a0bba7ec28a23da4
HEAD_REF master
PATCHES
cmakelists.patch
diff --git a/ports/libimobiledevice/CONTROL b/ports/libimobiledevice/CONTROL
index b6d3c2960..0a6a21bf8 100644
--- a/ports/libimobiledevice/CONTROL
+++ b/ports/libimobiledevice/CONTROL
@@ -1,4 +1,4 @@
Source: libimobiledevice
-Version: 1.2.1.215-1
+Version: 1.2.76
Description: A cross-platform protocol library to communicate with iOS devices
Build-Depends: libplist, libusbmuxd, openssl, dirent, getopt \ No newline at end of file
diff --git a/ports/libimobiledevice/portfile.cmake b/ports/libimobiledevice/portfile.cmake
index 4bc505163..f91cad8cc 100644
--- a/ports/libimobiledevice/portfile.cmake
+++ b/ports/libimobiledevice/portfile.cmake
@@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY ONLY_DYNAMIC_CRT)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO libimobiledevice-win32/libimobiledevice
- REF 1.2.1.215
- SHA512 192ac12eb4fdf518a934cb8061d4a40e48f483e969e34167f2a5346efac1d745e4041eff84d7175d106b1a3b3f806d5e69643daa1459e48e69bc9c38d722be3c
+ REF d6b24aae971b990d2777a88ec3a1e31b40d6152f
+ SHA512 75e45162fecd80464846ff51c9b3e722017f738de8f6b55e9f41f5eadcd93730b12512087d427badbc0c2b54a76a66359a472ab5bc5be5fa02826db1171565d0
HEAD_REF msvc-master
)
diff --git a/ports/libjpeg-turbo/CONTROL b/ports/libjpeg-turbo/CONTROL
index a3ee5e4bb..fca490542 100644
--- a/ports/libjpeg-turbo/CONTROL
+++ b/ports/libjpeg-turbo/CONTROL
@@ -1,3 +1,3 @@
Source: libjpeg-turbo
-Version: 2.0.1-1
+Version: 2.0.2
Description: libjpeg-turbo is a JPEG image codec that uses SIMD instructions (MMX, SSE2, NEON, AltiVec) to accelerate baseline JPEG compression and decompression on x86, x86-64, ARM, and PowerPC systems.
diff --git a/ports/libjpeg-turbo/add-options-for-exes-docs-headers.patch b/ports/libjpeg-turbo/add-options-for-exes-docs-headers.patch
index af82c77b8..ceb90b51d 100644
--- a/ports/libjpeg-turbo/add-options-for-exes-docs-headers.patch
+++ b/ports/libjpeg-turbo/add-options-for-exes-docs-headers.patch
@@ -1,238 +1,248 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index efeb51a..5c7d829 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -147,6 +147,12 @@ option(ENABLE_SHARED "Build shared libraries" TRUE)
- boolean_number(ENABLE_SHARED)
- option(ENABLE_STATIC "Build static libraries" TRUE)
- boolean_number(ENABLE_STATIC)
-+option(ENABLE_EXECUTABLES "Build executables" TRUE)
-+boolean_number(ENABLE_EXECUTABLES)
-+option(INSTALL_DOCS "Install doc files" TRUE)
-+boolean_number(INSTALL_DOCS)
-+option(INSTALL_HEADERS "Install header files" TRUE)
-+boolean_number(INSTALL_HEADERS)
- option(REQUIRE_SIMD "Generate a fatal error if SIMD extensions are not available for this platform (default is to fall back to a non-SIMD build)" FALSE)
- boolean_number(REQUIRE_SIMD)
- option(WITH_12BIT "Encode/decode JPEG images with 12-bit samples (implies WITH_ARITH_DEC=0 WITH_ARITH_ENC=0 WITH_JAVA=0 WITH_SIMD=0 WITH_TURBOJPEG=0 )" FALSE)
-@@ -593,17 +599,19 @@ if(WITH_TURBOJPEG)
- LINK_FLAGS "${TJMAPFLAG}${TJMAPFILE}")
- endif()
-
-- add_executable(tjunittest tjunittest.c tjutil.c md5/md5.c md5/md5hl.c)
-- target_link_libraries(tjunittest turbojpeg)
-+ if(ENABLE_EXECUTABLES)
-+ add_executable(tjunittest tjunittest.c tjutil.c md5/md5.c md5/md5hl.c)
-+ target_link_libraries(tjunittest turbojpeg)
-
-- add_executable(tjbench tjbench.c tjutil.c)
-- target_link_libraries(tjbench turbojpeg)
-- if(UNIX)
-- target_link_libraries(tjbench m)
-- endif()
-+ add_executable(tjbench tjbench.c tjutil.c)
-+ target_link_libraries(tjbench turbojpeg)
-+ if(UNIX)
-+ target_link_libraries(tjbench m)
-+ endif()
-
-- add_executable(tjexample tjexample.c)
-- target_link_libraries(tjexample turbojpeg)
-+ add_executable(tjexample tjexample.c)
-+ target_link_libraries(tjexample turbojpeg)
-+ endif()
- endif()
-
- if(ENABLE_STATIC)
-@@ -616,14 +624,16 @@ if(WITH_TURBOJPEG)
- set_target_properties(turbojpeg-static PROPERTIES OUTPUT_NAME turbojpeg)
- endif()
-
-- add_executable(tjunittest-static tjunittest.c tjutil.c md5/md5.c
-- md5/md5hl.c)
-- target_link_libraries(tjunittest-static turbojpeg-static)
-+ if(ENABLE_EXECUTABLES)
-+ add_executable(tjunittest-static tjunittest.c tjutil.c md5/md5.c
-+ md5/md5hl.c)
-+ target_link_libraries(tjunittest-static turbojpeg-static)
-
-- add_executable(tjbench-static tjbench.c tjutil.c)
-- target_link_libraries(tjbench-static turbojpeg-static)
-- if(UNIX)
-- target_link_libraries(tjbench-static m)
-+ add_executable(tjbench-static tjbench.c tjutil.c)
-+ target_link_libraries(tjbench-static turbojpeg-static)
-+ if(UNIX)
-+ target_link_libraries(tjbench-static m)
-+ endif()
- endif()
- endif()
- endif()
-@@ -639,7 +649,7 @@ else()
- set(DJPEG_BMP_SOURCES wrbmp.c wrtarga.c)
- endif()
-
--if(ENABLE_STATIC)
-+if(ENABLE_STATIC AND ENABLE_EXECUTABLES)
- add_executable(cjpeg-static cjpeg.c cdjpeg.c rdgif.c rdppm.c rdswitch.c
- ${CJPEG_BMP_SOURCES})
- set_property(TARGET cjpeg-static PROPERTY COMPILE_FLAGS ${COMPILE_FLAGS})
-@@ -655,9 +665,11 @@ if(ENABLE_STATIC)
- set_property(TARGET jpegtran-static PROPERTY COMPILE_FLAGS "${USE_SETMODE}")
- endif()
-
--add_executable(rdjpgcom rdjpgcom.c)
-+if(ENABLE_EXECUTABLES)
-+ add_executable(rdjpgcom rdjpgcom.c)
-
--add_executable(wrjpgcom wrjpgcom.c)
-+ add_executable(wrjpgcom wrjpgcom.c)
-+endif()
-
-
- ###############################################################################
-@@ -1326,26 +1338,32 @@ set(EXE ${CMAKE_EXECUTABLE_SUFFIX})
-
- if(WITH_TURBOJPEG)
- if(ENABLE_SHARED)
-- install(TARGETS turbojpeg tjbench
-+ install(TARGETS turbojpeg
- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
- RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
-+ if(ENABLE_EXECUTABLES)
-+ install(TARGETS tjbench
-+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
-+ endif()
- endif()
- if(ENABLE_STATIC)
- install(TARGETS turbojpeg-static ARCHIVE
- DESTINATION ${CMAKE_INSTALL_LIBDIR})
-- if(NOT ENABLE_SHARED)
-+ if(NOT ENABLE_SHARED AND ENABLE_EXECUTABLES)
- install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/tjbench-static${EXE}
- DESTINATION ${CMAKE_INSTALL_BINDIR} RENAME tjbench${EXE})
- endif()
- endif()
-- install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/turbojpeg.h
-- DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
-+ if(INSTALL_HEADERS)
-+ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/turbojpeg.h
-+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
-+ endif()
- endif()
-
- if(ENABLE_STATIC)
- install(TARGETS jpeg-static ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
-- if(NOT ENABLE_SHARED)
-+ if(NOT ENABLE_SHARED AND ENABLE_EXECUTABLES)
- install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/cjpeg-static${EXE}
- DESTINATION ${CMAKE_INSTALL_BINDIR} RENAME cjpeg${EXE})
- install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/djpeg-static${EXE}
-@@ -1355,21 +1373,25 @@ if(ENABLE_STATIC)
- endif()
- endif()
-
--install(TARGETS rdjpgcom wrjpgcom RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
-+if(ENABLE_EXECUTABLES)
-+ install(TARGETS rdjpgcom wrjpgcom RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
-+endif()
-
--install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/README.ijg
-- ${CMAKE_CURRENT_SOURCE_DIR}/README.md ${CMAKE_CURRENT_SOURCE_DIR}/example.txt
-- ${CMAKE_CURRENT_SOURCE_DIR}/tjexample.c
-- ${CMAKE_CURRENT_SOURCE_DIR}/libjpeg.txt
-- ${CMAKE_CURRENT_SOURCE_DIR}/structure.txt
-- ${CMAKE_CURRENT_SOURCE_DIR}/usage.txt ${CMAKE_CURRENT_SOURCE_DIR}/wizard.txt
-- ${CMAKE_CURRENT_SOURCE_DIR}/LICENSE.md DESTINATION ${CMAKE_INSTALL_DOCDIR})
--if(WITH_JAVA)
-- install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/java/TJExample.java
-- DESTINATION ${CMAKE_INSTALL_DOCDIR})
-+if(INSTALL_DOCS)
-+ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/README.ijg
-+ ${CMAKE_CURRENT_SOURCE_DIR}/README.md ${CMAKE_CURRENT_SOURCE_DIR}/example.txt
-+ ${CMAKE_CURRENT_SOURCE_DIR}/tjexample.c
-+ ${CMAKE_CURRENT_SOURCE_DIR}/libjpeg.txt
-+ ${CMAKE_CURRENT_SOURCE_DIR}/structure.txt
-+ ${CMAKE_CURRENT_SOURCE_DIR}/usage.txt ${CMAKE_CURRENT_SOURCE_DIR}/wizard.txt
-+ ${CMAKE_CURRENT_SOURCE_DIR}/LICENSE.md DESTINATION ${CMAKE_INSTALL_DOCDIR})
-+ if(WITH_JAVA)
-+ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/java/TJExample.java
-+ DESTINATION ${CMAKE_INSTALL_DOCDIR})
-+ endif()
- endif()
-
--if(UNIX OR MINGW)
-+if((UNIX OR MINGW) AND INSTALL_DOCS)
- install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/cjpeg.1
- ${CMAKE_CURRENT_SOURCE_DIR}/djpeg.1 ${CMAKE_CURRENT_SOURCE_DIR}/jpegtran.1
- ${CMAKE_CURRENT_SOURCE_DIR}/rdjpgcom.1
-@@ -1380,10 +1402,12 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/pkgscripts/libjpeg.pc
- ${CMAKE_CURRENT_BINARY_DIR}/pkgscripts/libturbojpeg.pc
- DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
-
--install(FILES ${CMAKE_CURRENT_BINARY_DIR}/jconfig.h
-- ${CMAKE_CURRENT_SOURCE_DIR}/jerror.h ${CMAKE_CURRENT_SOURCE_DIR}/jmorecfg.h
-- ${CMAKE_CURRENT_SOURCE_DIR}/jpeglib.h
-- DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
-+if(INSTALL_HEADERS)
-+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/jconfig.h
-+ ${CMAKE_CURRENT_SOURCE_DIR}/jerror.h ${CMAKE_CURRENT_SOURCE_DIR}/jmorecfg.h
-+ ${CMAKE_CURRENT_SOURCE_DIR}/jpeglib.h
-+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
-+endif()
-
- include(cmakescripts/BuildPackages.cmake)
-
-diff --git a/sharedlib/CMakeLists.txt b/sharedlib/CMakeLists.txt
-index 2bab832..afbb56a 100755
---- a/sharedlib/CMakeLists.txt
-+++ b/sharedlib/CMakeLists.txt
-@@ -70,24 +70,33 @@ else()
- set(DJPEG_BMP_SOURCES ../wrbmp.c ../wrtarga.c)
- endif()
-
--add_executable(cjpeg ../cjpeg.c ../cdjpeg.c ../rdgif.c ../rdppm.c
-- ../rdswitch.c ${CJPEG_BMP_SOURCES})
--set_property(TARGET cjpeg PROPERTY COMPILE_FLAGS ${COMPILE_FLAGS})
--target_link_libraries(cjpeg jpeg)
-+if(ENABLE_EXECUTABLES)
-+ add_executable(cjpeg ../cjpeg.c ../cdjpeg.c ../rdgif.c ../rdppm.c
-+ ../rdswitch.c ${CJPEG_BMP_SOURCES})
-+ set_property(TARGET cjpeg PROPERTY COMPILE_FLAGS ${COMPILE_FLAGS})
-+ target_link_libraries(cjpeg jpeg)
-
--add_executable(djpeg ../djpeg.c ../cdjpeg.c ../rdcolmap.c ../rdswitch.c
-- ../wrgif.c ../wrppm.c ${DJPEG_BMP_SOURCES})
--set_property(TARGET djpeg PROPERTY COMPILE_FLAGS ${COMPILE_FLAGS})
--target_link_libraries(djpeg jpeg)
-+ add_executable(djpeg ../djpeg.c ../cdjpeg.c ../rdcolmap.c ../rdswitch.c
-+ ../wrgif.c ../wrppm.c ${DJPEG_BMP_SOURCES})
-+ set_property(TARGET djpeg PROPERTY COMPILE_FLAGS ${COMPILE_FLAGS})
-+ target_link_libraries(djpeg jpeg)
-
--add_executable(jpegtran ../jpegtran.c ../cdjpeg.c ../rdswitch.c ../transupp.c)
--target_link_libraries(jpegtran jpeg)
--set_property(TARGET jpegtran PROPERTY COMPILE_FLAGS "${USE_SETMODE}")
-+ add_executable(jpegtran ../jpegtran.c ../cdjpeg.c ../rdswitch.c ../transupp.c)
-+ target_link_libraries(jpegtran jpeg)
-+ set_property(TARGET jpegtran PROPERTY COMPILE_FLAGS "${USE_SETMODE}")
-
--add_executable(jcstest ../jcstest.c)
--target_link_libraries(jcstest jpeg)
-+ add_executable(jcstest ../jcstest.c)
-+ target_link_libraries(jcstest jpeg)
-+endif()
-
--install(TARGETS jpeg cjpeg djpeg jpegtran
-+install(TARGETS jpeg
- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
- RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
-+
-+if(ENABLE_EXECUTABLES)
-+ install(TARGETS cjpeg djpeg jpegtran
-+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
-+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
-+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
-+endif()
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index b9d2d40..c868862 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -143,6 +143,12 @@ option(ENABLE_SHARED "Build shared libraries" TRUE)
+ boolean_number(ENABLE_SHARED)
+ option(ENABLE_STATIC "Build static libraries" TRUE)
+ boolean_number(ENABLE_STATIC)
++option(ENABLE_EXECUTABLES "Build executables" TRUE)
++boolean_number(ENABLE_EXECUTABLES)
++option(INSTALL_DOCS "Install doc files" TRUE)
++boolean_number(INSTALL_DOCS)
++option(INSTALL_HEADERS "Install header files" TRUE)
++boolean_number(INSTALL_HEADERS)
+ option(REQUIRE_SIMD "Generate a fatal error if SIMD extensions are not available for this platform (default is to fall back to a non-SIMD build)" FALSE)
+ boolean_number(REQUIRE_SIMD)
+ option(WITH_12BIT "Encode/decode JPEG images with 12-bit samples (implies WITH_ARITH_DEC=0 WITH_ARITH_ENC=0 WITH_JAVA=0 WITH_SIMD=0 WITH_TURBOJPEG=0 )" FALSE)
+@@ -593,18 +599,20 @@ if(WITH_TURBOJPEG)
+ LINK_FLAGS "${TJMAPFLAG}${TJMAPFILE}")
+ endif()
+
+- add_executable(tjunittest tjunittest.c tjutil.c md5/md5.c md5/md5hl.c)
+- target_link_libraries(tjunittest turbojpeg)
++ if(ENABLE_EXECUTABLES)
++ add_executable(tjunittest tjunittest.c tjutil.c md5/md5.c md5/md5hl.c)
++ target_link_libraries(tjunittest turbojpeg)
+
+- add_executable(tjbench tjbench.c tjutil.c)
+- target_link_libraries(tjbench turbojpeg)
+- if(UNIX)
+- target_link_libraries(tjbench m)
+- endif()
++ add_executable(tjbench tjbench.c tjutil.c)
++ target_link_libraries(tjbench turbojpeg)
++ if(UNIX)
++ target_link_libraries(tjbench m)
++ endif()
+
+- add_executable(tjexample tjexample.c)
+- target_link_libraries(tjexample turbojpeg)
+- endif()
++ add_executable(tjexample tjexample.c)
++ target_link_libraries(tjexample turbojpeg)
++ endif()
++ endif()
+
+ if(ENABLE_STATIC)
+ add_library(turbojpeg-static STATIC ${JPEG_SOURCES} $<TARGET_OBJECTS:simd>
+@@ -616,14 +624,16 @@ if(WITH_TURBOJPEG)
+ set_target_properties(turbojpeg-static PROPERTIES OUTPUT_NAME turbojpeg)
+ endif()
+
+- add_executable(tjunittest-static tjunittest.c tjutil.c md5/md5.c
+- md5/md5hl.c)
+- target_link_libraries(tjunittest-static turbojpeg-static)
++ if(ENABLE_EXECUTABLES)
++ add_executable(tjunittest-static tjunittest.c tjutil.c md5/md5.c
++ md5/md5hl.c)
++ target_link_libraries(tjunittest-static turbojpeg-static)
+
+- add_executable(tjbench-static tjbench.c tjutil.c)
+- target_link_libraries(tjbench-static turbojpeg-static)
+- if(UNIX)
+- target_link_libraries(tjbench-static m)
++ add_executable(tjbench-static tjbench.c tjutil.c)
++ target_link_libraries(tjbench-static turbojpeg-static)
++ if(UNIX)
++ target_link_libraries(tjbench-static m)
++ endif()
+ endif()
+ endif()
+ endif()
+@@ -639,7 +649,7 @@ else()
+ set(DJPEG_BMP_SOURCES wrbmp.c wrtarga.c)
+ endif()
+
+-if(ENABLE_STATIC)
++if(ENABLE_STATIC AND ENABLE_EXECUTABLES)
+ add_executable(cjpeg-static cjpeg.c cdjpeg.c rdgif.c rdppm.c rdswitch.c
+ ${CJPEG_BMP_SOURCES})
+ set_property(TARGET cjpeg-static PROPERTY COMPILE_FLAGS ${COMPILE_FLAGS})
+@@ -655,9 +665,10 @@ if(ENABLE_STATIC)
+ set_property(TARGET jpegtran-static PROPERTY COMPILE_FLAGS "${USE_SETMODE}")
+ endif()
+
+-add_executable(rdjpgcom rdjpgcom.c)
+-
+-add_executable(wrjpgcom wrjpgcom.c)
++if(ENABLE_EXECUTABLES)
++ add_executable(rdjpgcom rdjpgcom.c)
++ add_executable(wrjpgcom wrjpgcom.c)
++endif()
+
+
+ ###############################################################################
+@@ -1328,10 +1339,14 @@ set(EXE ${CMAKE_EXECUTABLE_SUFFIX})
+
+ if(WITH_TURBOJPEG)
+ if(ENABLE_SHARED)
+- install(TARGETS turbojpeg tjbench
++ install(TARGETS turbojpeg
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
++ if(ENABLE_EXECUTABLES)
++ install(TARGETS tjbench
++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
++ endif()
+ if(NOT CMAKE_VERSION VERSION_LESS "3.1" AND MSVC AND
+ CMAKE_C_LINKER_SUPPORTS_PDB)
+ install(FILES "$<TARGET_PDB_FILE:turbojpeg>"
+@@ -1341,7 +1356,7 @@ if(WITH_TURBOJPEG)
+ if(ENABLE_STATIC)
+ install(TARGETS turbojpeg-static ARCHIVE
+ DESTINATION ${CMAKE_INSTALL_LIBDIR})
+- if(NOT ENABLE_SHARED)
++ if(NOT ENABLE_SHARED AND ENABLE_EXECUTABLES)
+ if(MSVC_IDE)
+ set(DIR "${CMAKE_CURRENT_BINARY_DIR}/\${CMAKE_INSTALL_CONFIG_NAME}")
+ else()
+@@ -1351,13 +1366,15 @@ if(WITH_TURBOJPEG)
+ DESTINATION ${CMAKE_INSTALL_BINDIR} RENAME tjbench${EXE})
+ endif()
+ endif()
+- install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/turbojpeg.h
+- DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
++ if(INSTALL_HEADERS)
++ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/turbojpeg.h
++ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
++ endif()
+ endif()
+
+ if(ENABLE_STATIC)
+ install(TARGETS jpeg-static ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
+- if(NOT ENABLE_SHARED)
++ if(NOT ENABLE_SHARED AND ENABLE_EXECUTABLES)
+ if(MSVC_IDE)
+ set(DIR "${CMAKE_CURRENT_BINARY_DIR}/\${CMAKE_INSTALL_CONFIG_NAME}")
+ else()
+@@ -1372,21 +1389,25 @@ if(ENABLE_STATIC)
+ endif()
+ endif()
+
+-install(TARGETS rdjpgcom wrjpgcom RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
++if(ENABLE_EXECUTABLES)
++ install(TARGETS rdjpgcom wrjpgcom RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
++endif()
+
+-install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/README.ijg
+- ${CMAKE_CURRENT_SOURCE_DIR}/README.md ${CMAKE_CURRENT_SOURCE_DIR}/example.txt
+- ${CMAKE_CURRENT_SOURCE_DIR}/tjexample.c
+- ${CMAKE_CURRENT_SOURCE_DIR}/libjpeg.txt
+- ${CMAKE_CURRENT_SOURCE_DIR}/structure.txt
+- ${CMAKE_CURRENT_SOURCE_DIR}/usage.txt ${CMAKE_CURRENT_SOURCE_DIR}/wizard.txt
+- ${CMAKE_CURRENT_SOURCE_DIR}/LICENSE.md DESTINATION ${CMAKE_INSTALL_DOCDIR})
+-if(WITH_JAVA)
+- install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/java/TJExample.java
+- DESTINATION ${CMAKE_INSTALL_DOCDIR})
++if(INSTALL_DOCS)
++ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/README.ijg
++ ${CMAKE_CURRENT_SOURCE_DIR}/README.md ${CMAKE_CURRENT_SOURCE_DIR}/example.txt
++ ${CMAKE_CURRENT_SOURCE_DIR}/tjexample.c
++ ${CMAKE_CURRENT_SOURCE_DIR}/libjpeg.txt
++ ${CMAKE_CURRENT_SOURCE_DIR}/structure.txt
++ ${CMAKE_CURRENT_SOURCE_DIR}/usage.txt ${CMAKE_CURRENT_SOURCE_DIR}/wizard.txt
++ ${CMAKE_CURRENT_SOURCE_DIR}/LICENSE.md DESTINATION ${CMAKE_INSTALL_DOCDIR})
++ if(WITH_JAVA)
++ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/java/TJExample.java
++ DESTINATION ${CMAKE_INSTALL_DOCDIR})
++ endif()
+ endif()
+
+-if(UNIX OR MINGW)
++if((UNIX OR MINGW) AND INSTALL_DOCS)
+ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/cjpeg.1
+ ${CMAKE_CURRENT_SOURCE_DIR}/djpeg.1 ${CMAKE_CURRENT_SOURCE_DIR}/jpegtran.1
+ ${CMAKE_CURRENT_SOURCE_DIR}/rdjpgcom.1
+@@ -1397,10 +1418,12 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/pkgscripts/libjpeg.pc
+ ${CMAKE_CURRENT_BINARY_DIR}/pkgscripts/libturbojpeg.pc
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
+
+-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/jconfig.h
+- ${CMAKE_CURRENT_SOURCE_DIR}/jerror.h ${CMAKE_CURRENT_SOURCE_DIR}/jmorecfg.h
+- ${CMAKE_CURRENT_SOURCE_DIR}/jpeglib.h
+- DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
++if(INSTALL_HEADERS)
++ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/jconfig.h
++ ${CMAKE_CURRENT_SOURCE_DIR}/jerror.h ${CMAKE_CURRENT_SOURCE_DIR}/jmorecfg.h
++ ${CMAKE_CURRENT_SOURCE_DIR}/jpeglib.h
++ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
++endif()
+
+ include(cmakescripts/BuildPackages.cmake)
+
+diff --git a/sharedlib/CMakeLists.txt b/sharedlib/CMakeLists.txt
+index a5c4e39..794c2af 100644
+--- a/sharedlib/CMakeLists.txt
++++ b/sharedlib/CMakeLists.txt
+@@ -71,27 +71,35 @@ else()
+ set(DJPEG_BMP_SOURCES ../wrbmp.c ../wrtarga.c)
+ endif()
+
+-add_executable(cjpeg ../cjpeg.c ../cdjpeg.c ../rdgif.c ../rdppm.c
+- ../rdswitch.c ${CJPEG_BMP_SOURCES})
+-set_property(TARGET cjpeg PROPERTY COMPILE_FLAGS ${COMPILE_FLAGS})
+-target_link_libraries(cjpeg jpeg)
++if(ENABLE_EXECUTABLES)
++ add_executable(cjpeg ../cjpeg.c ../cdjpeg.c ../rdgif.c ../rdppm.c
++ ../rdswitch.c ${CJPEG_BMP_SOURCES})
++ set_property(TARGET cjpeg PROPERTY COMPILE_FLAGS ${COMPILE_FLAGS})
++ target_link_libraries(cjpeg jpeg)
+
+-add_executable(djpeg ../djpeg.c ../cdjpeg.c ../rdcolmap.c ../rdswitch.c
+- ../wrgif.c ../wrppm.c ${DJPEG_BMP_SOURCES})
+-set_property(TARGET djpeg PROPERTY COMPILE_FLAGS ${COMPILE_FLAGS})
+-target_link_libraries(djpeg jpeg)
++ add_executable(djpeg ../djpeg.c ../cdjpeg.c ../rdcolmap.c ../rdswitch.c
++ ../wrgif.c ../wrppm.c ${DJPEG_BMP_SOURCES})
++ set_property(TARGET djpeg PROPERTY COMPILE_FLAGS ${COMPILE_FLAGS})
++ target_link_libraries(djpeg jpeg)
+
+-add_executable(jpegtran ../jpegtran.c ../cdjpeg.c ../rdswitch.c ../transupp.c)
+-target_link_libraries(jpegtran jpeg)
+-set_property(TARGET jpegtran PROPERTY COMPILE_FLAGS "${USE_SETMODE}")
++ add_executable(jpegtran ../jpegtran.c ../cdjpeg.c ../rdswitch.c ../transupp.c)
++ target_link_libraries(jpegtran jpeg)
++ set_property(TARGET jpegtran PROPERTY COMPILE_FLAGS "${USE_SETMODE}")
+
+-add_executable(jcstest ../jcstest.c)
+-target_link_libraries(jcstest jpeg)
++ add_executable(jcstest ../jcstest.c)
++ target_link_libraries(jcstest jpeg)
++endif()
+
+-install(TARGETS jpeg cjpeg djpeg jpegtran
++install(TARGETS jpeg
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
++if(ENABLE_EXECUTABLES)
++ install(TARGETS cjpeg djpeg jpegtran
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
++endif()
+ if(NOT CMAKE_VERSION VERSION_LESS "3.1" AND MSVC AND
+ CMAKE_C_LINKER_SUPPORTS_PDB)
+ install(FILES "$<TARGET_PDB_FILE:jpeg>"
diff --git a/ports/libjpeg-turbo/portfile.cmake b/ports/libjpeg-turbo/portfile.cmake
index 1e1f6ca42..a4fbb5b66 100644
--- a/ports/libjpeg-turbo/portfile.cmake
+++ b/ports/libjpeg-turbo/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO libjpeg-turbo/libjpeg-turbo
- REF 2.0.1
- SHA512 d456515dcda7c5e2e257c9fd1441f3a5cff0d33281237fb9e3584bbec08a181c4b037947a6f87d805977ec7528df39b12a5d32f6e8db878a62bcc90482f86e0e
+ REF 2.0.2
+ SHA512 4dcde37ba014500cee69f7d49b359112655c177cf2c0003b4693bfe25f8a55147e9a87f58d31b4fc952a7faed6fecd5087220fd879110ade326922991f11c423
HEAD_REF master
PATCHES
add-options-for-exes-docs-headers.patch
@@ -54,6 +54,8 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib/jpeg-static.lib")
file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/jpeg-static.lib" "${CURRENT_PACKAGES_DIR}/debug/lib/jpegd.lib")
file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/turbojpeg-static.lib" "${CURRENT_PACKAGES_DIR}/debug/lib/turbojpegd.lib")
+
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
endif()
else(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib/jpeg.lib")
@@ -66,12 +68,21 @@ file(COPY
${SOURCE_PATH}/LICENSE.md
DESTINATION ${CURRENT_PACKAGES_DIR}/share/libjpeg-turbo
)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/libjpeg-turbo/LICENSE.md ${CURRENT_PACKAGES_DIR}/share/libjpeg-turbo/copyright)
-vcpkg_copy_pdbs()
-file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
-file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/jpeg)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share/man)
+file(GLOB EXE ${CURRENT_PACKAGES_DIR}/bin/*.exe)
+file(GLOB DEBUG_EXE ${CURRENT_PACKAGES_DIR}/debug/bin/*.exe)
+if(EXE OR DEBUG_EXE)
+ file(REMOVE ${EXE} ${DEBUG_EXE})
+endif()
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/jpeg)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/libjpeg-turbo/LICENSE.md ${CURRENT_PACKAGES_DIR}/share/libjpeg-turbo/copyright)
+
+vcpkg_copy_pdbs()
+
vcpkg_test_cmake(PACKAGE_NAME JPEG MODULE)
diff --git a/ports/liblemon/CONTROL b/ports/liblemon/CONTROL
index c21960b72..1ec6050e0 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: 2019-06-13
+Description: Library for Efficient Modeling and Optimization in Networks
diff --git a/ports/liblemon/portfile.cmake b/ports/liblemon/portfile.cmake
index b41322a87..960b09987 100644
--- a/ports/liblemon/portfile.cmake
+++ b/ports/liblemon/portfile.cmake
@@ -2,12 +2,12 @@ include(vcpkg_common_functions)
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
-set(VERSION 1.3.1)
+set(VERSION ed2c21cbd6ef)
vcpkg_download_distfile(ARCHIVE
- URLS "http://lemon.cs.elte.hu/pub/sources/lemon-${VERSION}.zip"
+ URLS "http://lemon.cs.elte.hu/hg/lemon/archive/${VERSION}.zip"
FILENAME "lemon-${VERSION}.zip"
- SHA512 86d15914b8c3cd206a20c37dbe3b8ca4b553060567a07603db7b6f8dd7dcf9cb043cca31660ff1b7fb77e359b59fac5ca0aab57fd415fda5ecca0f42eade6567
+ SHA512 029640e4f791a18068cb2e2b4e794d09822d9d56fb957eb3e2cceae3a30065c0041a31c465637cfcadf7b2473564070b34adc88513439cdf9046831854e2aa70
)
vcpkg_extract_source_archive_ex(
@@ -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/liblzma/CMakeLists.txt b/ports/liblzma/CMakeLists.txt
index 6b84c004a..a9927c2b6 100644
--- a/ports/liblzma/CMakeLists.txt
+++ b/ports/liblzma/CMakeLists.txt
@@ -1,22 +1,15 @@
cmake_minimum_required(VERSION 3.0)
-project(liblzma)
+project(LibLZMA)
-add_definitions(-DHAVE_CONFIG_H)
-if(BUILD_SHARED_LIBS)
- add_definitions(-DLIBLZMADLL_EXPORTS)
- add_definitions(-DDLL_EXPORT)
-endif()
-
-if(NOT MSVC)
- add_definitions(-DHAVE_VISIBILITY=1)
-endif()
+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" CACHE PATH "Path where headers will be installed")
+set(INSTALL_CMAKE_DIR "share/liblzma" CACHE PATH "Path where cmake configs will be installed")
+set(CMAKE_DEBUG_POSTFIX "d" CACHE STRING "Append a suffix to debug libraries")
-if(WIN32)
- include_directories(windows/vs2017)
-else()
- include_directories(${CMAKE_CURRENT_BINARY_DIR})
+if(NOT WIN32)
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/config.h
- """
+ "
#define TUKLIB_SYMBOL_PREFIX lzma_
#define ASSUME_RAM 128
#define HAVE_CHECK_CRC32 1
@@ -58,19 +51,10 @@ else()
#define PACKAGE_NAME \"XZ Utils\"
#define PACKAGE_URL \"http://tukaani.org/xz/\"
#define SIZEOF_SIZE_T (sizeof(size_t))
-""")
+")
endif()
-include_directories(src/liblzma/common)
-include_directories(src/common)
-include_directories(src/liblzma/api)
-include_directories(src/liblzma/check)
-include_directories(src/liblzma/delta)
-include_directories(src/liblzma/lz)
-include_directories(src/liblzma/lzma)
-include_directories(src/liblzma/rangecoder)
-include_directories(src/liblzma/simple)
-add_library(lzma
+add_library(LibLZMA
src/common/tuklib_cpucores.c
src/common/tuklib_physmem.c
src/liblzma/check/check.c
@@ -143,14 +127,56 @@ add_library(lzma
src/liblzma/simple/simple_decoder.c
src/liblzma/simple/simple_encoder.c
src/liblzma/simple/sparc.c
- src/liblzma/simple/x86.c)
+ src/liblzma/simple/x86.c
+)
-install(TARGETS lzma
- RUNTIME DESTINATION bin
- ARCHIVE DESTINATION lib
- LIBRARY DESTINATION lib)
+if(MSVC)
+ target_include_directories(LibLZMA PRIVATE $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/windows/vs2017>)
+else()
+ target_compile_definitions(LibLZMA PRIVATE -DHAVE_VISIBILITY=1)
+endif()
-if(NOT LIBLZMA_SKIP_HEADERS)
- install(DIRECTORY ${PROJECT_SOURCE_DIR}/src/liblzma/api/lzma DESTINATION include)
- install(FILES ${PROJECT_SOURCE_DIR}/src/liblzma/api/lzma.h DESTINATION include)
+if(BUILD_SHARED_LIBS)
+ target_compile_definitions(LibLZMA PRIVATE -DDLL_EXPORT)
+ target_compile_definitions(LibLZMA PUBLIC -DLIBLZMADLL_EXPORTS)
+else()
+ target_compile_definitions(LibLZMA PUBLIC -DLZMA_API_STATIC)
endif()
+target_compile_definitions(LibLZMA PUBLIC -DHAVE_CONFIG_H)
+
+target_include_directories(LibLZMA PUBLIC
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/src/liblzma/common>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/src/common>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/src/liblzma/check>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/src/liblzma/delta>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/src/liblzma/lz>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/src/liblzma/rangecoder>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/src/liblzma/simple>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/src/liblzma/lzma>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/src/liblzma/api>
+ $<INSTALL_INTERFACE:${INSTALL_INCLUDE_DIR}>
+)
+
+set_target_properties(LibLZMA PROPERTIES OUTPUT_NAME "lzma")
+
+set_target_properties(LibLZMA PROPERTIES PUBLIC_HEADER
+"${PROJECT_SOURCE_DIR}/src/liblzma/api/lzma/base.h;${PROJECT_SOURCE_DIR}/src/liblzma/api/lzma/bcj.h;${PROJECT_SOURCE_DIR}/src/liblzma/api/lzma/block.h;${PROJECT_SOURCE_DIR}/src/liblzma/api/lzma/check.h;${PROJECT_SOURCE_DIR}/src/liblzma/api/lzma/container.h;${PROJECT_SOURCE_DIR}/src/liblzma/api/lzma/delta.h;${PROJECT_SOURCE_DIR}/src/liblzma/api/lzma/filter.h;${PROJECT_SOURCE_DIR}/src/liblzma/api/lzma/hardware.h;${PROJECT_SOURCE_DIR}/src/liblzma/api/lzma/index.h;${PROJECT_SOURCE_DIR}/src/liblzma/api/lzma/index_hash.h;${PROJECT_SOURCE_DIR}/src/liblzma/api/lzma/lzma12.h;${PROJECT_SOURCE_DIR}/src/liblzma/api/lzma/stream_flags.h;${PROJECT_SOURCE_DIR}/src/liblzma/api/lzma/version.h;${PROJECT_SOURCE_DIR}/src/liblzma/api/lzma/vli.h"
+)
+
+install(TARGETS LibLZMA EXPORT LibLZMATargets
+ RUNTIME DESTINATION "${INSTALL_BIN_DIR}"
+ ARCHIVE DESTINATION "${INSTALL_LIB_DIR}"
+ LIBRARY DESTINATION "${INSTALL_LIB_DIR}"
+ PUBLIC_HEADER DESTINATION "${INSTALL_INCLUDE_DIR}/lzma"
+)
+
+install(FILES "${PROJECT_SOURCE_DIR}/src/liblzma/api/lzma.h"
+ DESTINATION "${INSTALL_INCLUDE_DIR}"
+)
+
+install(EXPORT LibLZMATargets
+ FILE LibLZMAConfig.cmake
+ NAMESPACE LibLZMA::
+ DESTINATION "${INSTALL_CMAKE_DIR}"
+)
diff --git a/ports/liblzma/CONTROL b/ports/liblzma/CONTROL
index c94576a3f..1a2ee8147 100644
--- a/ports/liblzma/CONTROL
+++ b/ports/liblzma/CONTROL
@@ -1,3 +1,3 @@
-Source: liblzma
-Version: 5.2.4-1
-Description: Compression library with an API similar to that of zlib.
+Source: liblzma
+Version: 5.2.4-2
+Description: Compression library with an API similar to that of zlib.
diff --git a/ports/liblzma/auto-define-lzma-api-static.patch b/ports/liblzma/auto-define-lzma-api-static.patch
deleted file mode 100644
index d897e2457..000000000
--- a/ports/liblzma/auto-define-lzma-api-static.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/lzma.h b/lzma.h
-index ce675a7..ac0fc98 100644
---- a/lzma.h
-+++ b/lzma.h
-@@ -187,6 +187,9 @@
- * need to worry about LZMA_API_STATIC. Also the calling convention is
- * omitted on Cygwin but not on MinGW.
- */
-+
-+#define LZMA_API_STATIC
-+
- #ifndef LZMA_API_IMPORT
- # if !defined(LZMA_API_STATIC) && defined(_WIN32) && !defined(__GNUC__)
- # define LZMA_API_IMPORT __declspec(dllimport)
diff --git a/ports/liblzma/portfile.cmake b/ports/liblzma/portfile.cmake
index 5534b10e4..e7260309b 100644
--- a/ports/liblzma/portfile.cmake
+++ b/ports/liblzma/portfile.cmake
@@ -15,21 +15,67 @@ file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
- OPTIONS_DEBUG
- -DLIBLZMA_SKIP_HEADERS=ON
)
vcpkg_install_cmake()
vcpkg_copy_pdbs()
+vcpkg_fixup_cmake_targets()
-if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
- vcpkg_apply_patches(
- SOURCE_PATH ${CURRENT_PACKAGES_DIR}/include
- PATCHES
- ${CMAKE_CURRENT_LIST_DIR}/auto-define-lzma-api-static.patch)
+file(APPEND ${CURRENT_PACKAGES_DIR}/share/liblzma/LibLZMAConfig.cmake
+"
+include(\${CMAKE_ROOT}/Modules/SelectLibraryConfigurations.cmake)
+find_path(LibLZMA_INCLUDE_DIR
+ NAMES lzma.h
+ PATH_SUFFIXES lzma
+)
+if(NOT LibLZMA_LIBRARY)
+ find_library(LibLZMA_LIBRARY_RELEASE NAMES lzma LZMA LibLZMA PATHS \${_IMPORT_PREFIX}/lib/)
+ find_library(LibLZMA_LIBRARY_DEBUG NAMES lzmad LZMAd LibLZMAd PATHS \${_IMPORT_PREFIX}/debug/lib/)
+ select_library_configurations(LibLZMA)
+endif()
+set(LibLZMA_INCLUDE_DIRS \${LibLZMA_INCLUDE_DIR} CACHE PATH \"\")
+set(LibLZMA_LIBRARIES \${LibLZMA_LIBRARY} CACHE STRING \"\")
+set(LZMA_INCLUDE_DIR \${LibLZMA_INCLUDE_DIR} CACHE PATH \"\")
+set(LZMA_LIBRARY \${LibLZMA_LIBRARY} CACHE STRING \"\")
+set(LZMA_INCLUDE_DIRS \${LibLZMA_INCLUDE_DIR} CACHE PATH \"\")
+set(LZMA_LIBRARIES \${LibLZMA_LIBRARY} CACHE STRING \"\")
+set(LIBLZMA_INCLUDE_DIRS \${LibLZMA_INCLUDE_DIR} CACHE PATH \"\")
+set(LIBLZMA_LIBRARIES \${LibLZMA_LIBRARY} CACHE STRING \"\")
+set(LIBLZMA_INCLUDE_DIR \${LibLZMA_INCLUDE_DIR} CACHE PATH \"\")
+set(LIBLZMA_LIBRARY \${LibLZMA_LIBRARY} CACHE STRING \"\")
+
+if(LIBLZMA_INCLUDE_DIR AND EXISTS \"\${LIBLZMA_INCLUDE_DIR}/lzma/version.h\")
+ file(STRINGS \"\${LIBLZMA_INCLUDE_DIR}/lzma/version.h\" LIBLZMA_HEADER_CONTENTS REGEX \"#define LZMA_VERSION_[A-Z]+ [0-9]+\")
+
+ string(REGEX REPLACE \".*#define LZMA_VERSION_MAJOR ([0-9]+).*\" \"\\\\1\" LIBLZMA_VERSION_MAJOR \"\${LIBLZMA_HEADER_CONTENTS}\")
+ string(REGEX REPLACE \".*#define LZMA_VERSION_MINOR ([0-9]+).*\" \"\\\\1\" LIBLZMA_VERSION_MINOR \"\${LIBLZMA_HEADER_CONTENTS}\")
+ string(REGEX REPLACE \".*#define LZMA_VERSION_PATCH ([0-9]+).*\" \"\\\\1\" LIBLZMA_VERSION_PATCH \"\${LIBLZMA_HEADER_CONTENTS}\")
+
+ set(LIBLZMA_VERSION_STRING \"\${LIBLZMA_VERSION_MAJOR}.\${LIBLZMA_VERSION_MINOR}.\${LIBLZMA_VERSION_PATCH}\")
+ unset(LIBLZMA_HEADER_CONTENTS)
endif()
-file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/liblzma)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/liblzma/COPYING ${CURRENT_PACKAGES_DIR}/share/liblzma/copyright)
+## We're using new code known now as XZ, even library still been called LZMA
+## it can be found in http://tukaani.org/xz/
+## Avoid using old codebase
+#if (LIBLZMA_LIBRARY)
+# include(\${CMAKE_ROOT}/Modules/CheckLibraryExists.cmake)
+# CHECK_LIBRARY_EXISTS(\${LibLZMA_LIBRARY_RELEASE} lzma_auto_decoder \"\" LIBLZMA_HAS_AUTO_DECODER)
+# CHECK_LIBRARY_EXISTS(\${LibLZMA_LIBRARY_RELEASE} lzma_easy_encoder \"\" LIBLZMA_HAS_EASY_ENCODER)
+# CHECK_LIBRARY_EXISTS(\${LibLZMA_LIBRARY_RELEASE} lzma_lzma_preset \"\" LIBLZMA_HAS_LZMA_PRESET)
+#endif ()
+
+set(LibLZMA_FOUND TRUE CACHE BOOL \"\")
+set(LZMA_FOUND TRUE CACHE BOOL \"\")
+set(LIBLZMA_FOUND TRUE CACHE BOOL \"\")
+")
+
+if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ file(APPEND ${CURRENT_PACKAGES_DIR}/share/liblzma/LibLZMAConfig.cmake "add_definitions(-DLZMA_API_STATIC)")
+endif()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/liblzma)
-file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/liblzma)
+file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/liblzma RENAME copyright)
diff --git a/ports/liblzma/usage b/ports/liblzma/usage
deleted file mode 100644
index 6f5a281a5..000000000
--- a/ports/liblzma/usage
+++ /dev/null
@@ -1,5 +0,0 @@
-The package liblzma is compatible with built-in CMake targets:
-
- find_package(LibLZMA REQUIRED)
- target_include_directories(main PRIVATE ${LIBLZMA_INCLUDE_DIRS})
- target_link_libraries(main PRIVATE ${LIBLZMA_LIBRARIES})
diff --git a/ports/liblzma/vcpkg-cmake-wrapper.cmake b/ports/liblzma/vcpkg-cmake-wrapper.cmake
new file mode 100644
index 000000000..b7572d736
--- /dev/null
+++ b/ports/liblzma/vcpkg-cmake-wrapper.cmake
@@ -0,0 +1,4 @@
+list(REMOVE_ITEM ARGS "NO_MODULE")
+list(REMOVE_ITEM ARGS "CONFIG")
+list(REMOVE_ITEM ARGS "MODULE")
+_find_package(${ARGS} CONFIG)
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/libmysql/CONTROL b/ports/libmysql/CONTROL
index 007718af7..a6f97e1fe 100644
--- a/ports/libmysql/CONTROL
+++ b/ports/libmysql/CONTROL
@@ -1,4 +1,4 @@
Source: libmysql
-Version: 8.0.4-3
+Version: 8.0.4-4
Build-Depends: boost-algorithm, boost-geometry, boost-optional, boost-functional, boost-graph, openssl, icu, libevent, liblzma, lz4, zlib
Description: A MySQL client library for C development.
diff --git a/ports/libmysql/linux_libmysql.patch b/ports/libmysql/linux_libmysql.patch
new file mode 100644
index 000000000..42dfa73d8
--- /dev/null
+++ b/ports/libmysql/linux_libmysql.patch
@@ -0,0 +1,18 @@
+diff --git a/configure.cmake b/configure.cmake
+index 1f3d8e2..9e45f48 100644
+--- a/configure.cmake
++++ b/configure.cmake
+@@ -456,7 +456,11 @@ IF(NOT HAVE_FCNTL_NONBLOCK)
+ ENDIF()
+
+ IF(NOT CMAKE_CROSSCOMPILING AND NOT MSVC)
+- STRING(TOLOWER ${CMAKE_SYSTEM_PROCESSOR} processor)
++ IF(${CMAKE_SYSTEM_PROCESSOR})
++ STRING(TOLOWER ${CMAKE_SYSTEM_PROCESSOR} processor)
++ ELSE()
++ STRING(TOLOWER ${CMAKE_HOST_SYSTEM_PROCESSOR} processor)
++ ENDIF()
+ IF(processor MATCHES "86" OR processor MATCHES "amd64" OR processor MATCHES "x64")
+ IF(NOT CMAKE_SYSTEM_NAME MATCHES "SunOS")
+ # The loader in some Solaris versions has a bug due to which it refuses to
+
diff --git a/ports/libmysql/portfile.cmake b/ports/libmysql/portfile.cmake
index dfd38c41c..e179ca714 100644
--- a/ports/libmysql/portfile.cmake
+++ b/ports/libmysql/portfile.cmake
@@ -10,6 +10,10 @@ if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" AND NOT CMAKE_SYSTEM_NAME OR CMAKE_S
message(FATAL_ERROR "Oracle has dropped support in libmysql for 32-bit Windows.")
endif()
+if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux")
+ message(WARNING "libmysql needs ncurses on LINUX, please install ncurses first.\nOn Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel.")
+endif()
+
include(vcpkg_common_functions)
vcpkg_from_github(
@@ -18,13 +22,10 @@ vcpkg_from_github(
REF mysql-8.0.4
SHA512 8d9129e7670e88df14238299052a5fe6d4f3e40bf27ef7a3ca8f4f91fb40507b13463e9bd24435b34e5d06c5d056dfb259fb04e77cc251b188eea734db5642be
HEAD_REF master
-)
-
-vcpkg_apply_patches(
- SOURCE_PATH ${SOURCE_PATH}
PATCHES
- ${CMAKE_CURRENT_LIST_DIR}/ignore-boost-version.patch
- ${CMAKE_CURRENT_LIST_DIR}/system-libs.patch
+ ignore-boost-version.patch
+ system-libs.patch
+ linux_libmysql.patch
)
file(REMOVE_RECURSE ${SOURCE_PATH}/include/boost_1_65_0)
@@ -100,13 +101,13 @@ else()
${CURRENT_PACKAGES_DIR}/lib/mysqlclient.lib
${CURRENT_PACKAGES_DIR}/debug/lib/mysqlclient.lib)
- # correct the dll directory
+ # correct the dll directory
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/bin)
file (RENAME ${CURRENT_PACKAGES_DIR}/lib/libmysql.dll ${CURRENT_PACKAGES_DIR}/bin/libmysql.dll)
file (RENAME ${CURRENT_PACKAGES_DIR}/lib/libmysql.pdb ${CURRENT_PACKAGES_DIR}/bin/libmysql.pdb)
endif()
-
+
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/bin)
file (RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/libmysql.dll ${CURRENT_PACKAGES_DIR}/debug/bin/libmysql.dll)
@@ -120,4 +121,4 @@ file(WRITE ${CURRENT_PACKAGES_DIR}/include/mysql/mysql_com.h "${_contents}")
# copy license
file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libmysql)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/libmysql/LICENSE ${CURRENT_PACKAGES_DIR}/share/libmysql/copyright) \ No newline at end of file
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/libmysql/LICENSE ${CURRENT_PACKAGES_DIR}/share/libmysql/copyright)
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/libplist/CONTROL b/ports/libplist/CONTROL
index bb7db384c..9189b4f48 100644
--- a/ports/libplist/CONTROL
+++ b/ports/libplist/CONTROL
@@ -1,3 +1,3 @@
Source: libplist
-Version: 2.0.1.197-2
+Version: 1.2.77
Description: A library to handle Apple Property List format in binary or XML
diff --git a/ports/libplist/portfile.cmake b/ports/libplist/portfile.cmake
index 51549e4ca..5b6ce749c 100644
--- a/ports/libplist/portfile.cmake
+++ b/ports/libplist/portfile.cmake
@@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY ONLY_DYNAMIC_CRT)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO libimobiledevice-win32/libplist
- REF 2.0.1.197
- SHA512 55e1817c61d608b11646eb9c28c445f9ee801c7beb2121bd810235561117262adb73dbecb23b9ef5b0c54b0fc8089e0a46acc0e8f4845329a50a663ab004052c
+ REF f279ef534ab5adeb81f063dee5e8a8fc3ca6d3ab
+ SHA512 52001a46935693e3ac5f0b8c3d13d9bf51c5f34189f6f006bd697d7e965f402460060708c4fb54ed43f49a217ac442fcb8dca252fcbccd3e6a154b6c9a8c2104
HEAD_REF msvc-master
PATCHES dllexport.patch
)
@@ -21,3 +21,7 @@ vcpkg_install_msbuild(
LICENSE_SUBPATH COPYING.lesser
REMOVE_ROOT_INCLUDES
)
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
+endif() \ No newline at end of file
diff --git a/ports/libpq/portfile.cmake b/ports/libpq/portfile.cmake
index 7b23aed32..5dd4e197c 100644
--- a/ports/libpq/portfile.cmake
+++ b/ports/libpq/portfile.cmake
@@ -1,11 +1,19 @@
include(vcpkg_common_functions)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/postgresql-9.6.3)
+
+if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ message(FATAL_ERROR "${PORT} currently only supports being built for desktop")
+endif()
+
vcpkg_download_distfile(ARCHIVE
URLS "https://ftp.postgresql.org/pub/source/v9.6.3/postgresql-9.6.3.tar.bz2"
FILENAME "postgresql-9.6.3.tar.bz2"
SHA512 97141972e154e6b0e756ee6a4e20f26e82022a9fd4c56305314a3a5567a79ece638e4ac3d513b46138737ae6bd27a098f30013a94767db151181aac9c01290a1
)
-vcpkg_extract_source_archive(${ARCHIVE})
+
+vcpkg_extract_source_archive_ex(
+ OUT_SOURCE_PATH SOURCE_PATH
+ ARCHIVE ${ARCHIVE}
+)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
diff --git a/ports/libqglviewer/CONTROL b/ports/libqglviewer/CONTROL
index c9e66ef18..add042b7e 100644
--- a/ports/libqglviewer/CONTROL
+++ b/ports/libqglviewer/CONTROL
@@ -1,4 +1,4 @@
Source: libqglviewer
-Version: 2.7.1-1
+Version: 2.7.0
Description: libQGLViewer is an open source C++ library based on Qt that eases the creation of OpenGL 3D viewers.
Build-Depends: qt5-base
diff --git a/ports/libqglviewer/portfile.cmake b/ports/libqglviewer/portfile.cmake
index f57092521..7a7cc9fdf 100644
--- a/ports/libqglviewer/portfile.cmake
+++ b/ports/libqglviewer/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO GillesDebunne/libQGLViewer
- REF 28a23f14997dc2e08990b884c07075b48979cac7
- SHA512 58058543e07857f8b1480301b72f789290eee2d65382bee29773bcc1e3f45cedcee33b762bdb870b6cae8a0daab38ebdecde40e2f02720cf0f6fcf10f2007f25
+ REF 781d914c003466b342b45d19266a9613fc0e7e0e
+ SHA512 0586020c159fa4b3acb3ea3fa0a361bcc757d840298d7a436c356d0929b5ace3da4d054e3c0d107a499076413336e3b9a2f35750e6bf0add9320cc52a5c7afd5
HEAD_REF master
PATCHES "use-default-config-on-all-platforms.patch"
)
diff --git a/ports/librabbitmq/portfile.cmake b/ports/librabbitmq/portfile.cmake
index 02ca27c8d..79463c26c 100644
--- a/ports/librabbitmq/portfile.cmake
+++ b/ports/librabbitmq/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO alanxz/rabbitmq-c
- REF v0.9.0
- SHA512 a63fe267a3ec112a5e9456a03066132b91f897181947fba18ea3efb14ca0a69996d7dfaecda61a0dd360e03a4e56569e70592e1674b75d20b937a118e1acfc64
+ REF 77e3805d1662034339c3c19bcdaaa62a56c1fa7e
+ SHA512 f20a841d184a2448b12c59b551ac5f1bf70a4cc0e0226fe803bab64bd6e26be5f275fb36717b3abb614e88212668cb87de5f9f749fc17ff565b2fe15f66c090e
HEAD_REF master
PATCHES
fix-uwpwarning.patch
diff --git a/ports/libraw/CONTROL b/ports/libraw/CONTROL
index 0e4eda530..1a13a37d9 100644
--- a/ports/libraw/CONTROL
+++ b/ports/libraw/CONTROL
@@ -1,4 +1,4 @@
Source: libraw
-Version: 0.19.2
+Version: 201903-1
Build-Depends: lcms, jasper
Description: raw image decoder library
diff --git a/ports/libraw/findlibraw_debug_fix.patch b/ports/libraw/findlibraw_debug_fix.patch
index a09eca537..294963eb6 100644
--- a/ports/libraw/findlibraw_debug_fix.patch
+++ b/ports/libraw/findlibraw_debug_fix.patch
@@ -1,6 +1,6 @@
--- a/cmake/modules/FindLibRaw.cmake 2016-11-02 07:09:50.000000000 +0100
-+++ b/cmake/modules/FindLibRaw.cmake 2018-06-02 02:50:10.501142400 +0200
-@@ -31,18 +31,34 @@
++++ b/cmake/modules/FindLibRaw.cmake 2019-06-03 22:05:28.759307500 +0200
+@@ -31,18 +31,36 @@
PATH_SUFFIXES libraw
)
@@ -18,6 +18,8 @@
+ ${PC_LIBRAW_LIBRARY_DIRS}
+ )
+
++INCLUDE(SelectLibraryConfigurations)
++
+select_library_configurations(LibRaw)
+
+FIND_LIBRARY(LibRaw_r_LIBRARY_RELEASE NAMES raw_r
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/libsodium/CONTROL b/ports/libsodium/CONTROL
index a994a1729..cff52a1b2 100644
--- a/ports/libsodium/CONTROL
+++ b/ports/libsodium/CONTROL
@@ -1,3 +1,3 @@
Source: libsodium
-Version: 1.0.17-2
+Version: 1.0.17-3
Description: A modern and easy-to-use crypto library
diff --git a/ports/libsodium/portfile.cmake b/ports/libsodium/portfile.cmake
index b8321c6ac..c18f07992 100644
--- a/ports/libsodium/portfile.cmake
+++ b/ports/libsodium/portfile.cmake
@@ -40,6 +40,8 @@ file(REMOVE_RECURSE
${CURRENT_PACKAGES_DIR}/debug/include
)
+file(REMOVE ${CURRENT_PACKAGES_DIR}/include/Makefile.am)
+
if (VCPKG_LIBRARY_LINKAGE STREQUAL "static")
vcpkg_replace_string(
${CURRENT_PACKAGES_DIR}/include/sodium/export.h
diff --git a/ports/libspatialite/CONTROL b/ports/libspatialite/CONTROL
index bb19a0605..c535d33e1 100644
--- a/ports/libspatialite/CONTROL
+++ b/ports/libspatialite/CONTROL
@@ -1,5 +1,5 @@
Source: libspatialite
-Version: 4.3.0a-2
+Version: 4.3.0a-3
Description: SpatiaLite is an open source library intended to extend the SQLite core to support fully fledged Spatial SQL capabilities.
Build-Depends: libxml2, sqlite3, geos, proj4, zlib, freexl, libiconv
diff --git a/ports/libspatialite/portfile.cmake b/ports/libspatialite/portfile.cmake
index 59a1499f4..b73733ff2 100644
--- a/ports/libspatialite/portfile.cmake
+++ b/ports/libspatialite/portfile.cmake
@@ -33,10 +33,10 @@ else()
set(GEOS_LIBS_REL "${CURRENT_INSTALLED_DIR}/lib/libgeos_c.lib ${CURRENT_INSTALLED_DIR}/lib/libgeos.lib")
set(GEOS_LIBS_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/libgeos_cd.lib ${CURRENT_INSTALLED_DIR}/debug/lib/libgeosd.lib")
set(LIBXML2_LIBS_REL "${CURRENT_INSTALLED_DIR}/lib/libxml2.lib ${CURRENT_INSTALLED_DIR}/lib/lzma.lib ws2_32.lib")
- set(LIBXML2_LIBS_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/libxml2.lib ${CURRENT_INSTALLED_DIR}/debug/lib/lzma.lib ws2_32.lib")
+ set(LIBXML2_LIBS_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/libxml2.lib ${CURRENT_INSTALLED_DIR}/debug/lib/lzmad.lib ws2_32.lib")
endif()
-set(LIBS_ALL_DBG
+set(LIBS_ALL_DBG
"${CURRENT_INSTALLED_DIR}/debug/lib/libiconv.lib \
${CURRENT_INSTALLED_DIR}/debug/lib/libcharset.lib \
${CURRENT_INSTALLED_DIR}/debug/lib/sqlite3.lib \
@@ -46,7 +46,7 @@ set(LIBS_ALL_DBG
${GEOS_LIBS_DBG} \
${CURRENT_INSTALLED_DIR}/debug/lib/projd.lib"
)
-set(LIBS_ALL_REL
+set(LIBS_ALL_REL
"${CURRENT_INSTALLED_DIR}/lib/libiconv.lib \
${CURRENT_INSTALLED_DIR}/lib/libcharset.lib \
${CURRENT_INSTALLED_DIR}/lib/sqlite3.lib \
diff --git a/ports/libunibreak/CONTROL b/ports/libunibreak/CONTROL
index 26fc64c37..76f9b3432 100644
--- a/ports/libunibreak/CONTROL
+++ b/ports/libunibreak/CONTROL
@@ -1,3 +1,3 @@
Source: libunibreak
-Version: 4.1
+Version: 4.2
Description: an implementation of the line breaking and word breaking algorithms as described in [Unicode Standard Annex 14] 1 and [Unicode Standard Annex 29] 2. Check the project's [home page] 3 for up-to-date information.
diff --git a/ports/libunibreak/portfile.cmake b/ports/libunibreak/portfile.cmake
index 29e5a4fc0..c054ce685 100644
--- a/ports/libunibreak/portfile.cmake
+++ b/ports/libunibreak/portfile.cmake
@@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO adah1972/libunibreak
- REF libunibreak_4_1
- SHA512 9dea703a9c969f58944817cf014f27b2e9c373dff1b26cbc7d2539a1797e61480893841cf3c7398870be7ddd974a899c8d60b07a238e343a698c17e9e4ba7a10
+ REF 15b579aac410b7c11ba596f4a9abbf405a187e34
+ SHA512 a46196ad276134dad19fbc4ad49a2f4a4563137e30657b0f06cee9e6b4dab803723ae270f9682c4b8245c9d10297ce44b7bfb08bfa16894552cdb916fc758c02
HEAD_REF master
)
diff --git a/ports/libusbmuxd/CONTROL b/ports/libusbmuxd/CONTROL
index 3773d17f9..05faa6a1c 100644
--- a/ports/libusbmuxd/CONTROL
+++ b/ports/libusbmuxd/CONTROL
@@ -1,4 +1,4 @@
Source: libusbmuxd
-Version: 1.0.107-2
+Version: 1.2.77
Description: A client library to multiplex connections from and to iOS devices
Build-Depends: libplist
diff --git a/ports/libusbmuxd/portfile.cmake b/ports/libusbmuxd/portfile.cmake
index c4d338b19..9a03b5e53 100644
--- a/ports/libusbmuxd/portfile.cmake
+++ b/ports/libusbmuxd/portfile.cmake
@@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY ONLY_DYNAMIC_CRT)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO libimobiledevice-win32/libusbmuxd
- REF 1.0.109
- SHA512 104205ebcac96765f4bf0b42dbe5df084be4f87fc64454b4e02049fbd18caf9282d070f8949935977eda76fba68b6a909571afea58d4ad4091f02d0e6b7a08e0
+ REF a4422aa65f3635d99c3b80fad18f093ef3c5f653
+ SHA512 9446bbcd6b901e6183f6e86d7fe7301c01182ae5b9330182fbca529bb1db54250cd6012256a420d457a7243388811c94bb2ecf5a0747238714d00b3850e60e8e
HEAD_REF msvc-master
PATCHES dllexport.patch
)
@@ -24,3 +24,6 @@ vcpkg_install_msbuild(
)
file(REMOVE "${CURRENT_PACKAGES_DIR}/include/Makefile.am")
+if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
+endif() \ No newline at end of file
diff --git a/ports/libuv/CONTROL b/ports/libuv/CONTROL
index 0066853b2..79033b5a0 100644
--- a/ports/libuv/CONTROL
+++ b/ports/libuv/CONTROL
@@ -1,3 +1,3 @@
Source: libuv
-Version: 1.29.0
+Version: 1.29.1
Description: libuv is a multi-platform support library with a focus on asynchronous I/O.
diff --git a/ports/libuv/portfile.cmake b/ports/libuv/portfile.cmake
index b95d4f295..ba7cdfeb0 100644
--- a/ports/libuv/portfile.cmake
+++ b/ports/libuv/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO libuv/libuv
- REF v1.29.0
- SHA512 19f1f25ffdb287a755f773488e3da5fd5b5b43c333e3dfb019bbac430ccd77456da96dbf60c38b97c87880f90f08438366e29bbcc8d81a28f777f39fca8af529
+ REF d16e6094e1eb3b0b5981ef1dd7e03ec4d466944d
+ SHA512 338d25fec26ab69d300141086de825edabc5e65c50b6d9cf0e2f8f1937a930e4ecf4460ba2789cef64a85ad4a63c9b5f2a482ee2498c542f73e5915bbff6170f
HEAD_REF v1.x
)
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/libwebp/0005-fix-static-build.patch b/ports/libwebp/0005-fix-static-build.patch
new file mode 100644
index 000000000..f17713efd
--- /dev/null
+++ b/ports/libwebp/0005-fix-static-build.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 7585fac..83edb3a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -540,7 +540,7 @@ if(WEBP_BUILD_EXTRAS)
+ find_package(SDL)
+ if(SDL_FOUND)
+ add_executable(vwebp_sdl ${VWEBP_SDL_SRCS})
+- target_link_libraries(vwebp_sdl ${SDL_LIBRARY} imageioutil webp)
++ target_link_libraries(vwebp_sdl ${SDL_LIBRARY} imageioutil webp dxguid winmm)
+ target_include_directories(vwebp_sdl
+ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}/src
diff --git a/ports/libwebp/CONTROL b/ports/libwebp/CONTROL
index 11647702d..f4f01570a 100644
--- a/ports/libwebp/CONTROL
+++ b/ports/libwebp/CONTROL
@@ -1,5 +1,5 @@
Source: libwebp
-Version: 1.0.2-3
+Version: 1.0.2-4
Description: Lossy compression of digital photographic images.
Build-Depends: opengl
diff --git a/ports/libwebp/portfile.cmake b/ports/libwebp/portfile.cmake
index f0bd669ee..49590a982 100644
--- a/ports/libwebp/portfile.cmake
+++ b/ports/libwebp/portfile.cmake
@@ -11,6 +11,7 @@ vcpkg_from_github(
0002-cmake-config-add-backwards-compatibility.patch
0003-remove-missing-symbol.patch
0004-add-missing-linked-library.patch
+ 0005-fix-static-build.patch
)
set(WEBP_BUILD_ANIM_UTILS OFF)
diff --git a/ports/libyaml/0001-fix-version.patch b/ports/libyaml/0001-fix-version.patch
deleted file mode 100644
index c2a59d30f..000000000
--- a/ports/libyaml/0001-fix-version.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 1abdd77..60a6b44 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -3,8 +3,8 @@ cmake_minimum_required(VERSION 3.0)
- project (yaml C)
-
- set (YAML_VERSION_MAJOR 0)
--set (YAML_VERSION_MINOR 1)
--set (YAML_VERSION_PATCH 7)
-+set (YAML_VERSION_MINOR 2)
-+set (YAML_VERSION_PATCH 1)
- set (YAML_VERSION_STRING "${YAML_VERSION_MAJOR}.${YAML_VERSION_MINOR}.${YAML_VERSION_PATCH}")
-
- option(BUILD_SHARED_LIBS "Build libyaml as a shared library" OFF)
diff --git a/ports/libyaml/CONTROL b/ports/libyaml/CONTROL
index 1c770b2b9..df8b2b1fe 100644
--- a/ports/libyaml/CONTROL
+++ b/ports/libyaml/CONTROL
@@ -1,3 +1,3 @@
Source: libyaml
-Version: 0.2.1-1
+Version: 0.2.2
Description: A C library for parsing and emitting YAML.
diff --git a/ports/libyaml/portfile.cmake b/ports/libyaml/portfile.cmake
index 047692719..210fc2d7f 100644
--- a/ports/libyaml/portfile.cmake
+++ b/ports/libyaml/portfile.cmake
@@ -3,15 +3,16 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO yaml/libyaml
- REF 0.2.1
- SHA512 8b91738183a6d81c2c0381b4279cff9d8f811dac643ce5e08aa869058f5653ad8a2d9d8f9e563b26ad75b617b80b10ccb32753984a50ed684529a90bdd248bff
+ REF 0.2.2
+ SHA512 455494591014a97c4371a1f372ad09f0d6e487e4f1d3419c98e9cd2f16d43a0cf9a0787d7250bebee8b8d400df4626f5acd81e90139e54fa574a66ec84964c06
HEAD_REF master
- PATCHES 0001-fix-version.patch
)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
+ OPTIONS
+ -DBUILD_TESTING=OFF
)
vcpkg_install_cmake()
diff --git a/ports/llvm/CONTROL b/ports/llvm/CONTROL
index d4e631680..1bc8335fc 100644
--- a/ports/llvm/CONTROL
+++ b/ports/llvm/CONTROL
@@ -1,4 +1,4 @@
Source: llvm
-Version: 7.0.0-2
+Version: 7.0.0-3
Description: The LLVM Compiler Infrastructure
Build-Depends: atlmfc (windows)
diff --git a/ports/llvm/fix-build-error.patch b/ports/llvm/fix-build-error.patch
new file mode 100644
index 000000000..a311fb959
--- /dev/null
+++ b/ports/llvm/fix-build-error.patch
@@ -0,0 +1,16 @@
+diff --git a/tools/clang/tools/libclang/CMakeLists.txt b/tools/clang/tools/libclang/CMakeLists.txt
+index e539c83..09c1ea3 100644
+--- a/tools/clang/tools/libclang/CMakeLists.txt
++++ b/tools/clang/tools/libclang/CMakeLists.txt
+@@ -56,10 +56,7 @@ if (TARGET clangTidyPlugin)
+ endif()
+ endif ()
+
+-find_library(DL_LIBRARY_PATH dl)
+-if (DL_LIBRARY_PATH)
+- list(APPEND LIBS dl)
+-endif()
++list(APPEND LIBS "${DL_LIBRARY_PATH}")
+
+ option(LIBCLANG_BUILD_STATIC
+ "Build libclang as a static library (in addition to a shared one)" OFF)
diff --git a/ports/llvm/portfile.cmake b/ports/llvm/portfile.cmake
index a471ec1ae..1828ea86e 100644
--- a/ports/llvm/portfile.cmake
+++ b/ports/llvm/portfile.cmake
@@ -28,7 +28,9 @@ endif()
vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
- PATCHES ${CMAKE_CURRENT_LIST_DIR}/install-cmake-modules-to-share.patch
+ PATCHES
+ install-cmake-modules-to-share.patch
+ fix-build-error.patch
)
vcpkg_find_acquire_program(PYTHON3)
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/magic-enum/CONTROL b/ports/magic-enum/CONTROL
new file mode 100644
index 000000000..590b8d758
--- /dev/null
+++ b/ports/magic-enum/CONTROL
@@ -0,0 +1,3 @@
+Source: magic-enum
+Version: 2019-06-07
+Description: Header-only C++17 library provides static reflection for enums, work with any enum type without any macro or boilerplate code.
diff --git a/ports/magic-enum/portfile.cmake b/ports/magic-enum/portfile.cmake
new file mode 100644
index 000000000..95be6cc27
--- /dev/null
+++ b/ports/magic-enum/portfile.cmake
@@ -0,0 +1,22 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO "Neargye/magic_enum"
+ REF 4dfaa4b7b4814c2cf85b08ad3084fc28c8b129c6
+ SHA512 924e5a134f4200652fdc3f3d676b49efa8c30b5577d638f60134ce81092b23f7976a494ce50b58b25ed7bce0653a7e29206acf9e512408c4701ec6822ab2d176
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DMAGIC_ENUM_OPT_BUILD_EXAMPLES=OFF
+ -DMAGIC_ENUM_OPT_BUILD_TESTS=OFF
+)
+
+vcpkg_install_cmake()
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/magic_enum)
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib)
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/magic-enum RENAME copyright)
diff --git a/ports/magnum-extras/CONTROL b/ports/magnum-extras/CONTROL
index 9942c9463..36da8ed0c 100644
--- a/ports/magnum-extras/CONTROL
+++ b/ports/magnum-extras/CONTROL
@@ -1,7 +1,8 @@
Source: magnum-extras
Version: 2019.01-1
Build-Depends: magnum[core]
-Description: Extras for magnum, C++11/C++14 graphics middleware for games and data visualization http://magnum.graphics/
+Description: Extras for magnum, C++11/C++14 graphics middleware for games and data visualization
+Homepage: http://magnum.graphics/
Default-Features:
Feature: ui
diff --git a/ports/magnum-integration/CONTROL b/ports/magnum-integration/CONTROL
index da379258c..99fa4779b 100644
--- a/ports/magnum-integration/CONTROL
+++ b/ports/magnum-integration/CONTROL
@@ -1,7 +1,8 @@
Source: magnum-integration
Version: 2019.01-1
Build-Depends: magnum[core]
-Description: Integrations for magnum, C++11/C++14 graphics middleware for games and data visualization http://magnum.graphics/
+Description: Integrations for magnum, C++11/C++14 graphics middleware for games and data visualization
+Homepage: http://magnum.graphics/
Default-Features:
Feature: bullet
diff --git a/ports/magnum-plugins/CONTROL b/ports/magnum-plugins/CONTROL
index c109f7edf..ed3ec4510 100644
--- a/ports/magnum-plugins/CONTROL
+++ b/ports/magnum-plugins/CONTROL
@@ -1,7 +1,8 @@
Source: magnum-plugins
Version: 2019.01-1
Build-Depends: magnum[core]
-Description: Plugins for magnum, C++11/C++14 graphics middleware for games and data visualization http://magnum.graphics/
+Description: Plugins for magnum, C++11/C++14 graphics middleware for games and data visualization
+Homepage: http://magnum.graphics/
Default-Features: ddsimporter, miniexrimageconverter, opengeximporter, stanfordimporter, stbimageconverter, stbimageimporter
Feature: assimpimporter
diff --git a/ports/magnum/CONTROL b/ports/magnum/CONTROL
index 29db869a3..d1d527786 100644
--- a/ports/magnum/CONTROL
+++ b/ports/magnum/CONTROL
@@ -1,7 +1,8 @@
Source: magnum
Version: 2019.01-1
Build-Depends: corrade[utility]
-Description: C++11/C++14 graphics middleware for games and data visualization http://magnum.graphics/
+Description: C++11/C++14 graphics middleware for games and data visualization
+Homepage: http://magnum.graphics/
Default-Features: anyimageimporter, anyaudioimporter, anyimageconverter, anysceneimporter, debugtools, gl, meshtools, primitives, scenegraph, shaders, text, texturetools, trade, sdl2application
Feature: al-info
diff --git a/ports/matroska/CONTROL b/ports/matroska/CONTROL
index 9036584a3..eca20aca6 100644
--- a/ports/matroska/CONTROL
+++ b/ports/matroska/CONTROL
@@ -1,4 +1,4 @@
Source: matroska
-Version: 1.5.1
+Version: 1.5.2
Description: a C++ libary to parse Matroska files (.mkv and .mka)
Build-Depends: ebml
diff --git a/ports/matroska/portfile.cmake b/ports/matroska/portfile.cmake
index 475292233..bf41c8f1a 100644
--- a/ports/matroska/portfile.cmake
+++ b/ports/matroska/portfile.cmake
@@ -7,8 +7,8 @@ endif()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Matroska-Org/libmatroska
- REF release-1.5.1
- SHA512 6cb5ff4920ac9920fe4c0bca30b486c8b744661a553da1b7912e5b0b3370814bcf14640472b00c1e87138510cc4feca55555e1cb133c67bc60dc463b9dd615db
+ REF release-1.5.2
+ SHA512 5e819d611455efb1dd49ea26b6b124899b1f6ba07b4af93b2f3437ffe7c2c0089a922ef894a7c8612faddadeea75142d0604ee54e6c5822439dc8c65008e119b
HEAD_REF master
)
diff --git a/ports/mdnsresponder/CONTROL b/ports/mdnsresponder/CONTROL
index f703d5860..f1ee35042 100644
--- a/ports/mdnsresponder/CONTROL
+++ b/ports/mdnsresponder/CONTROL
@@ -1,3 +1,4 @@
Source: mdnsresponder
Version: 765.30.11
-Description: The mDNSResponder project is a component of Bonjour, Apple's ease-of-use IP networking initiative: <http://developer.apple.com/bonjour/> \ No newline at end of file
+Description: The mDNSResponder project is a component of Bonjour, Apple's ease-of-use IP networking initiative.
+Homepage: http://developer.apple.com/bonjour/ \ No newline at end of file
diff --git a/ports/minisat-master-keying/CONTROL b/ports/minisat-master-keying/CONTROL
index 84021f371..109ba31b5 100644
--- a/ports/minisat-master-keying/CONTROL
+++ b/ports/minisat-master-keying/CONTROL
@@ -2,4 +2,4 @@ Source: minisat-master-keying
Version: 2.2-mod-2
Description: A minimalistic high-performance SAT solver
This is a modernized, cross-platform, CMake-enabled fork of the original MiniSat.
- Since the original library is no longer under development, post issues and pull requests should be posted to https://github.com/master-keying/minisat
+Homepage: https://github.com/master-keying/minisat
diff --git a/ports/miniz/CMakeLists-targets.patch b/ports/miniz/CMakeLists-targets.patch
index 3b4c70468..c9d32e479 100644
--- a/ports/miniz/CMakeLists-targets.patch
+++ b/ports/miniz/CMakeLists-targets.patch
@@ -1,54 +1,55 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 7dd6309..eaf160f 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -8,12 +8,12 @@ if(CMAKE_BUILD_TYPE STREQUAL "")
- CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel." FORCE)
- endif ()
-
--set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin)
--
- set(miniz_SOURCE miniz.c miniz_zip.c miniz_tinfl.c miniz_tdef.c)
-
--add_library(miniz ${miniz_SOURCE})
-+add_library(miniz STATIC ${miniz_SOURCE})
-+target_compile_definitions(miniz PRIVATE _CRT_SECURE_NO_WARNINGS)
-
-+if(FALSE)
- set(EXAMPLE1_SRC_LIST "${CMAKE_CURRENT_SOURCE_DIR}/examples/example1.c")
- set(EXAMPLE2_SRC_LIST "${CMAKE_CURRENT_SOURCE_DIR}/examples/example2.c")
- set(EXAMPLE3_SRC_LIST "${CMAKE_CURRENT_SOURCE_DIR}/examples/example3.c")
-@@ -41,12 +41,28 @@ if(${UNIX})
- target_link_libraries(example6 m)
- endif()
-
-+target_compile_definitions(example1 PRIVATE _CRT_SECURE_NO_WARNINGS)
-+target_compile_definitions(example2 PRIVATE _CRT_SECURE_NO_WARNINGS)
-+target_compile_definitions(example3 PRIVATE _CRT_SECURE_NO_WARNINGS)
-+target_compile_definitions(example4 PRIVATE _CRT_SECURE_NO_WARNINGS)
-+target_compile_definitions(example5 PRIVATE _CRT_SECURE_NO_WARNINGS)
-+target_compile_definitions(example6 PRIVATE _CRT_SECURE_NO_WARNINGS)
-+
- # add_executable(miniz_tester ${MINIZ_TESTER_SRC_LIST})
- # target_link_libraries(miniz_tester miniz)
-+endif()
-
--install(TARGETS ${PROJECT_NAME} EXPORT ${PROJECT_NAME}Targets
-- ARCHIVE DESTINATION lib
-- LIBRARY DESTINATION lib
-+install(TARGETS ${PROJECT_NAME} EXPORT ${PROJECT_NAME}Config
-+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
-+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
- )
-+export(TARGETS ${PROJECT_NAME}
-+ NAMESPACE miniz::
-+ FILE "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config.cmake"
-+)
-+install(EXPORT ${PROJECT_NAME}Config
-+ DESTINATION "${CMAKE_INSTALL_PREFIX}/share/miniz"
-+ NAMESPACE miniz::
-+)
- file(GLOB INSTALL_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/*.h)
--install(FILES ${INSTALL_HEADERS} DESTINATION include/${PROJECT_NAME})
-\ No newline at end of file
-+install(FILES ${INSTALL_HEADERS} DESTINATION include/${PROJECT_NAME})
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index f3e453a..094a4e8 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -8,13 +8,12 @@ if(CMAKE_BUILD_TYPE STREQUAL "")
+ CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel." FORCE)
+ endif ()
+
+-set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin)
+-
+ set(miniz_SOURCE miniz.c miniz_zip.c miniz_tinfl.c miniz_tdef.c)
+
+-add_library(miniz ${miniz_SOURCE})
+-target_include_directories(miniz PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}")
+-
++add_library(miniz STATIC ${miniz_SOURCE})
++target_compile_definitions(miniz PRIVATE _CRT_SECURE_NO_WARNINGS)
++
++if(FALSE)
+ set(EXAMPLE1_SRC_LIST "${CMAKE_CURRENT_SOURCE_DIR}/examples/example1.c")
+ set(EXAMPLE2_SRC_LIST "${CMAKE_CURRENT_SOURCE_DIR}/examples/example2.c")
+ set(EXAMPLE3_SRC_LIST "${CMAKE_CURRENT_SOURCE_DIR}/examples/example3.c")
+@@ -41,12 +40,28 @@ if(${UNIX})
+ target_link_libraries(example6 m)
+ endif()
+
++target_compile_definitions(example1 PRIVATE _CRT_SECURE_NO_WARNINGS)
++target_compile_definitions(example2 PRIVATE _CRT_SECURE_NO_WARNINGS)
++target_compile_definitions(example3 PRIVATE _CRT_SECURE_NO_WARNINGS)
++target_compile_definitions(example4 PRIVATE _CRT_SECURE_NO_WARNINGS)
++target_compile_definitions(example5 PRIVATE _CRT_SECURE_NO_WARNINGS)
++target_compile_definitions(example6 PRIVATE _CRT_SECURE_NO_WARNINGS)
++
+ # add_executable(miniz_tester ${MINIZ_TESTER_SRC_LIST})
+ # target_link_libraries(miniz_tester miniz)
++endif()
+
+-install(TARGETS ${PROJECT_NAME} EXPORT ${PROJECT_NAME}Targets
+- ARCHIVE DESTINATION lib
+- LIBRARY DESTINATION lib
++install(TARGETS ${PROJECT_NAME} EXPORT ${PROJECT_NAME}Config
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ )
++export(TARGETS ${PROJECT_NAME}
++ NAMESPACE miniz::
++ FILE "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config.cmake"
++)
++install(EXPORT ${PROJECT_NAME}Config
++ DESTINATION "${CMAKE_INSTALL_PREFIX}/share/miniz"
++ NAMESPACE miniz::
++)
+ file(GLOB INSTALL_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/*.h)
+ install(FILES ${INSTALL_HEADERS} DESTINATION include/${PROJECT_NAME})
+\ No newline at end of file
diff --git a/ports/miniz/CONTROL b/ports/miniz/CONTROL
index 51a370a80..88eacdb85 100644
--- a/ports/miniz/CONTROL
+++ b/ports/miniz/CONTROL
@@ -1,3 +1,3 @@
Source: miniz
-Version: 2.0.8
+Version: 2.1.0
Description: Single C source file zlib-replacement library
diff --git a/ports/miniz/portfile.cmake b/ports/miniz/portfile.cmake
index 9c67ea8c9..4de2dc3f3 100644
--- a/ports/miniz/portfile.cmake
+++ b/ports/miniz/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO richgel999/miniz
- REF 2.0.8
- SHA512 84b480df8bff63422d8c36cef3741f9b9f3dce13babf4de6cb4d575209978ad849357cc72bcf31ee8b6c5da6853ed2e5eddbbe16fecd689afd7028e834abf7e9
+ REF a4264837ae37384b1d7a205a6732db322f0f3769
+ SHA512 88f0e03cccfe66c796db7594b93c667bd52cd7f4d13803181e9d86b4aa26f214fd2907a45a752da603d3e87f8d53c40bfc0956b279c0d49016f7b943aeb9cd33
HEAD_REF master
PATCHES
CMakeLists-targets.patch
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/mongo-c-driver/CONTROL b/ports/mongo-c-driver/CONTROL
index 4f45aa9b6..577cea1aa 100644
--- a/ports/mongo-c-driver/CONTROL
+++ b/ports/mongo-c-driver/CONTROL
@@ -1,4 +1,4 @@
Source: mongo-c-driver
-Version: 1.13.0
-Build-Depends: libbson, openssl (uwp)
+Version: 1.14.0-1
+Build-Depends: libbson, openssl (!windows), zlib
Description: Client library written in C for MongoDB.
diff --git a/ports/mongo-c-driver/portfile.cmake b/ports/mongo-c-driver/portfile.cmake
index 2d4c88460..5a0c484c0 100644
--- a/ports/mongo-c-driver/portfile.cmake
+++ b/ports/mongo-c-driver/portfile.cmake
@@ -1,9 +1,11 @@
include(vcpkg_common_functions)
+set(BUILD_VERSION 1.14.0)
+
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO mongodb/mongo-c-driver
- REF 1.13.0
- SHA512 d2f5b04b3d2dbdeba4547ec1fe8a0da7bad5214de92fff480ef0ff7d97ea45d5e6347c11c249867d4905b1dd81b76c7cfbb9094a58df586dae881955ee246907
+ REF ${BUILD_VERSION}
+ SHA512 bf2bb835543dd2a445aac6cafa7bbbf90921ec41014534779924a5eb7cbd9fd532acd8146ce81dfcf1bcac33a78d8fce22b962ed7f776449e4357eccab8d6110
HEAD_REF master
PATCHES fix-uwp.patch
)
@@ -30,7 +32,9 @@ vcpkg_configure_cmake(
-DENABLE_TESTS=OFF
-DENABLE_EXAMPLES=OFF
-DENABLE_SSL=${ENABLE_SSL}
+ -DENABLE_ZLIB=SYSTEM
-DENABLE_STATIC=${ENABLE_STATIC}
+ -DBUILD_VERSION=${BUILD_VERSION}
)
vcpkg_install_cmake()
diff --git a/ports/mongo-cxx-driver/CONTROL b/ports/mongo-cxx-driver/CONTROL
index 4d89b54c0..8d98763dd 100644
--- a/ports/mongo-cxx-driver/CONTROL
+++ b/ports/mongo-cxx-driver/CONTROL
@@ -1,4 +1,16 @@
Source: mongo-cxx-driver
-Version: 3.2.0-2
+Version: 3.4.0-1
Build-Depends: libbson, mongo-c-driver, boost-smart-ptr, boost-optional, boost-utility
Description: MongoDB C++ Driver.
+
+Feature: mnmlstc
+Description: Use MNMLSTC/core C++17 polyfill.
+
+Feature: system-mnmlstc
+Description: Use an available version of MNMLSTC on your system as C++17 polyfill.
+
+Feature: boost
+Description: Use Boost C++17 polyfill. The only option under MSVC.
+
+Feature: std-experimental
+Description: Use optional and string_view from std::experimental.
diff --git a/ports/mongo-cxx-driver/disable_test_and_example.patch b/ports/mongo-cxx-driver/disable_test_and_example.patch
index 734f52f26..2c24024a8 100644
--- a/ports/mongo-cxx-driver/disable_test_and_example.patch
+++ b/ports/mongo-cxx-driver/disable_test_and_example.patch
@@ -1,151 +1,42 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 27cf3b6b8..896eee19a 100644
+index c6f56e4..5601f90 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -87,68 +87,68 @@ endif()
+@@ -89,6 +89,8 @@ endif()
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
--add_custom_target(hugo_dir
-- COMMAND ${CMAKE_COMMAND} -E make_directory hugo
--)
--
--add_custom_target(hugo
-- DEPENDS hugo_dir
-- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/docs
-- COMMAND hugo
-- VERBATIM
--)
--
--add_custom_target(hugo-deploy
-- DEPENDS hugo
-- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
-- COMMAND etc/deploy-to-ghpages.pl --hugo git@github.com:mongodb/mongo-cxx-driver
-- VERBATIM
--)
--
--add_custom_target(docs_dir_current
-- COMMAND ${CMAKE_COMMAND} -E make_directory docs/api/current
--)
--
--add_custom_target(doxygen-current
-- DEPENDS docs_dir_current
-- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
-- COMMAND doxygen ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile
-- VERBATIM
--)
--
--add_custom_target(doxygen-all
-- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
-- COMMAND etc/generate-all-apidocs.pl
-- VERBATIM
--)
--
--add_custom_target(doxygen-deploy
-- DEPENDS doxygen-all
-- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
-- COMMAND etc/deploy-to-ghpages.pl --doxygen git@github.com:mongodb/mongo-cxx-driver
-- VERBATIM
--)
--
--add_custom_target(format
-- python ${CMAKE_SOURCE_DIR}/etc/clang_format.py format
-- VERBATIM
--)
--
--add_custom_target(format-lint
-- python ${CMAKE_SOURCE_DIR}/etc/clang_format.py lint
-- VERBATIM
--)
--
--add_custom_target(docs
-- DEPENDS hugo doxygen-current
--)
--
--set(THIRD_PARTY_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src/third_party)
-+# add_custom_target(hugo_dir
-+# COMMAND ${CMAKE_COMMAND} -E make_directory hugo
-+# )
++if(0)
+
-+# add_custom_target(hugo
-+# DEPENDS hugo_dir
-+# WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/docs
-+# COMMAND hugo
-+# VERBATIM
-+# )
-+
-+# add_custom_target(hugo-deploy
-+# DEPENDS hugo
-+# WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
-+# COMMAND etc/deploy-to-ghpages.pl --hugo git@github.com:mongodb/mongo-cxx-driver
-+# VERBATIM
-+# )
-+
-+# add_custom_target(docs_dir_current
-+# COMMAND ${CMAKE_COMMAND} -E make_directory docs/api/current
-+# )
-+
-+# add_custom_target(doxygen-current
-+# DEPENDS docs_dir_current
-+# WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
-+# COMMAND doxygen ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile
-+# VERBATIM
-+# )
-+
-+# add_custom_target(doxygen-all
-+# WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
-+# COMMAND etc/generate-all-apidocs.pl
-+# VERBATIM
-+# )
-+
-+# add_custom_target(doxygen-deploy
-+# DEPENDS doxygen-all
-+# WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
-+# COMMAND etc/deploy-to-ghpages.pl --doxygen git@github.com:mongodb/mongo-cxx-driver
-+# VERBATIM
-+# )
-+
-+# add_custom_target(format
-+# python ${CMAKE_SOURCE_DIR}/etc/clang_format.py format
-+# VERBATIM
-+# )
-+
-+# add_custom_target(format-lint
-+# python ${CMAKE_SOURCE_DIR}/etc/clang_format.py lint
-+# VERBATIM
-+# )
-+
-+# add_custom_target(docs
-+# DEPENDS hugo doxygen-current
-+# )
-+
-+# set(THIRD_PARTY_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src/third_party)
+ add_custom_target(hugo_dir
+ COMMAND ${CMAKE_COMMAND} -E make_directory hugo
+ )
+@@ -147,6 +149,8 @@ add_custom_target(docs
+
+ set(THIRD_PARTY_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src/third_party)
++endif()
++
enable_testing()
add_subdirectory(src)
-
--add_subdirectory(examples EXCLUDE_FROM_ALL)
-+#add_subdirectory(examples EXCLUDE_FROM_ALL)
-
- add_subdirectory(benchmark EXCLUDE_FROM_ALL)
diff --git a/src/bsoncxx/CMakeLists.txt b/src/bsoncxx/CMakeLists.txt
-index bd6e40662..d6054b022 100644
+index 50085d0..5966d21 100644
--- a/src/bsoncxx/CMakeLists.txt
+++ b/src/bsoncxx/CMakeLists.txt
@@ -249,4 +249,4 @@ install(
- DESTINATION lib/cmake/${PKG}-${BSONCXX_VERSION}
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PKG}-${BSONCXX_VERSION}
)
-add_subdirectory(test)
-+#add_subdirectory(test)
++# add_subdirectory(test)
diff --git a/src/mongocxx/CMakeLists.txt b/src/mongocxx/CMakeLists.txt
-index a05021228..3dd7c1224 100644
+index 3cba62d..64ff936 100644
--- a/src/mongocxx/CMakeLists.txt
+++ b/src/mongocxx/CMakeLists.txt
-@@ -238,4 +238,4 @@ install(
- DESTINATION lib/cmake/${PKG}-${MONGOCXX_VERSION}
+@@ -259,4 +259,4 @@ install(
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PKG}-${MONGOCXX_VERSION}
)
-add_subdirectory(test)
-+#add_subdirectory(test)
++# add_subdirectory(test)
diff --git a/ports/mongo-cxx-driver/portfile.cmake b/ports/mongo-cxx-driver/portfile.cmake
index 69ac66b04..a5a1c6f39 100644
--- a/ports/mongo-cxx-driver/portfile.cmake
+++ b/ports/mongo-cxx-driver/portfile.cmake
@@ -1,7 +1,7 @@
include(vcpkg_common_functions)
set(VERSION_MAJOR 3)
-set(VERSION_MINOR 2)
+set(VERSION_MINOR 4)
set(VERSION_PATCH 0)
set(VERSION_FULL ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH})
@@ -9,14 +9,30 @@ vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO mongodb/mongo-cxx-driver
REF r${VERSION_FULL}
- SHA512 cad8dd6e9fd75aa3aee15321c9b3df21d43c346f5b0b3dd75c86f9117d3376ad83fcda0c4a333c0a23d555e76d79432016623dd5f860ffef9964a6e8046e84b5
+ SHA512 28c052904f1b456b92482097166238eae1ad50c3ed207496f09366b46f2c9465c7e98c7219f4f10314e4d8fdd01c36b70a2221891bb75231adcc1edf013d43ce
HEAD_REF master
PATCHES
- disable_test_and_example.patch
fix-uwp.patch
disable-c2338-mongo-cxx-driver.patch
+ disable_test_and_example.patch
)
+if ("mnmlstc" IN_LIST FEATURES)
+ set(BSONCXX_POLY MNMLSTC)
+elseif ("system-mnmlstc" IN_LIST FEATURES)
+ set(BSONCXX_POLY SYSTEM_MNMLSTC)
+elseif ("boost" IN_LIST FEATURES)
+ set(BSONCXX_POLY BOOST)
+elseif("std-experimental" IN_LIST FEATURES)
+ set(BSONCXX_POLY STD_EXPERIMENTAL)
+else()
+ if (WIN32)
+ set(BSONCXX_POLY BOOST)
+ else()
+ set(BSONCXX_POLY MNMLSTC)
+ endif()
+endif()
+
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
@@ -25,6 +41,7 @@ vcpkg_configure_cmake(
-DLIBMONGOC_DIR=${CURRENT_INSTALLED_DIR}
-DMONGOCXX_HEADER_INSTALL_DIR=include
-DBSONCXX_HEADER_INSTALL_DIR=include
+ -DBSONCXX_POLY_USE_${BSONCXX_POLY}=1
)
vcpkg_install_cmake()
diff --git a/ports/moos-core/CONTROL b/ports/moos-core/CONTROL
index 64f94d6db..33e68c93f 100644
--- a/ports/moos-core/CONTROL
+++ b/ports/moos-core/CONTROL
@@ -1,3 +1,4 @@
Source: moos-core
Version: 10.4.0-2
-Description: A very light weight, easy to use middleware. See the MOOS homepage at https://sites.google.com/site/moossoftware/ for more information and documentation. \ No newline at end of file
+Description: A very light weight, easy to use middleware.
+Homepage: https://sites.google.com/site/moossoftware/ \ No newline at end of file
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/moos-essential/CONTROL b/ports/moos-essential/CONTROL
index c47dfa433..06cc1c0f0 100644
--- a/ports/moos-essential/CONTROL
+++ b/ports/moos-essential/CONTROL
@@ -1,4 +1,5 @@
Source: moos-essential
Version: 10.0.1-1
-Description: a set of useful applications that leverage the core-moos communications layer See the MOOS homepage at https://sites.google.com/site/moossoftware/ for more information and documentation.
+Description: a set of useful applications that leverage the core-moos communications layer.
+Homepage: https://sites.google.com/site/moossoftware/
Build-Depends: moos-core
diff --git a/ports/moos-ui/CONTROL b/ports/moos-ui/CONTROL
index 07de10690..08279ce15 100644
--- a/ports/moos-ui/CONTROL
+++ b/ports/moos-ui/CONTROL
@@ -1,6 +1,7 @@
Source: moos-ui
Version: 10.0.1-1
-Description: set of user interface tools to use and leverage the MOOS project. See the MOOS homepage at https://sites.google.com/site/moossoftware/ for more information and documentation.
+Description: set of user interface tools to use and leverage the MOOS project.
+Homepage: https://sites.google.com/site/moossoftware/
Build-Depends: moos-core
diff --git a/ports/mosquitto/CONTROL b/ports/mosquitto/CONTROL
index a80d0da7a..1a72c19fc 100644
--- a/ports/mosquitto/CONTROL
+++ b/ports/mosquitto/CONTROL
@@ -1,6 +1,6 @@
Source: mosquitto
-Version: 1.5.0-3
+Version: 1.6.2-2
Build-Depends: c-ares, libwebsockets, openssl, pthreads
Description: Mosquitto is an open source message broker that implements the MQ Telemetry Transport protocol versions 3.1 and 3.1.1.
MQTT provides a lightweight method of carrying out messaging using a publish/subscribe model. This makes it suitable for "machine to machine" messaging such as with low power sensors or mobile devices such as phones, embedded computers or microcontrollers like the Arduino.
- You can see more information from this url https://mosquitto.org/download/
+Homepage: https://mosquitto.org/download/
diff --git a/ports/mosquitto/archive-dest.patch b/ports/mosquitto/archive-dest.patch
new file mode 100644
index 000000000..11a9ccce4
--- /dev/null
+++ b/ports/mosquitto/archive-dest.patch
@@ -0,0 +1,13 @@
+diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt
+index 221c230..1bd4e96 100644
+--- a/lib/CMakeLists.txt
++++ b/lib/CMakeLists.txt
+@@ -89,7 +89,7 @@ set_target_properties(libmosquitto PROPERTIES
+ SOVERSION 1
+ )
+
+-install(TARGETS libmosquitto RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}")
++install(TARGETS libmosquitto RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}")
+
+ if (WITH_STATIC_LIBRARIES)
+ add_library(libmosquitto_static STATIC ${C_SRC})
diff --git a/ports/mosquitto/output_folders-cmake.patch b/ports/mosquitto/output_folders-cmake.patch
deleted file mode 100644
index 5b1c60eb6..000000000
--- a/ports/mosquitto/output_folders-cmake.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index e1d631e..e95d7fb 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -16,10 +16,10 @@ set (VERSION 1.5.0)
- add_definitions (-DCMAKE -DVERSION=\"${VERSION}\")
-
- if (WIN32)
-- set (BINDIR .)
-- set (SBINDIR .)
-+ set (BINDIR bin)
-+ set (SBINDIR bin)
- set (SYSCONFDIR .)
-- set (LIBDIR .)
-+ set (LIBDIR lib)
- set (INCLUDEDIR include)
- set (DATAROOTDIR share)
- set (MANDIR man)
-@@ -90,7 +90,7 @@ endif (${DOCUMENTATION} STREQUAL ON)
- # Install config file
- # ========================================
-
--install(FILES mosquitto.conf aclfile.example pskfile.example pwfile.example DESTINATION "${SYSCONFDIR}")
-+#install(FILES mosquitto.conf aclfile.example pskfile.example pwfile.example DESTINATION "${SYSCONFDIR}")
-
-
- # ========================================
-diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt
-index 272b60a..c180067 100644
---- a/lib/CMakeLists.txt
-+++ b/lib/CMakeLists.txt
-@@ -104,7 +104,7 @@ set_target_properties(libmosquitto PROPERTIES
- SOVERSION 1
- )
-
--install(TARGETS libmosquitto RUNTIME DESTINATION "${BINDIR}" LIBRARY DESTINATION "${LIBDIR}")
-+install(TARGETS libmosquitto RUNTIME DESTINATION "${BINDIR}" LIBRARY DESTINATION "${LIBDIR}" ARCHIVE DESTINATION "${LIBDIR}")
-
- if (${WITH_STATIC_LIBRARIES} STREQUAL ON)
- add_library(libmosquitto_static STATIC ${C_SRC})
-diff --git a/lib/cpp/CMakeLists.txt b/lib/cpp/CMakeLists.txt
-index 5e4f08e..a8cc6be 100644
---- a/lib/cpp/CMakeLists.txt
-+++ b/lib/cpp/CMakeLists.txt
-@@ -13,7 +13,7 @@ set_target_properties(mosquittopp PROPERTIES
- VERSION ${VERSION}
- SOVERSION 1
- )
--install(TARGETS mosquittopp RUNTIME DESTINATION "${BINDIR}" LIBRARY DESTINATION "${LIBDIR}")
-+install(TARGETS mosquittopp RUNTIME DESTINATION "${BINDIR}" LIBRARY DESTINATION "${LIBDIR}" ARCHIVE DESTINATION "${LIBDIR}")
-
- if (${WITH_STATIC_LIBRARIES} STREQUAL ON)
- add_library(mosquittopp_static STATIC
-
diff --git a/ports/mosquitto/portfile.cmake b/ports/mosquitto/portfile.cmake
index 92a8988d4..f3b2f9715 100644
--- a/ports/mosquitto/portfile.cmake
+++ b/ports/mosquitto/portfile.cmake
@@ -5,12 +5,12 @@ vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY ONLY_DYNAMIC_CRT)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO eclipse/mosquitto
- REF v1.5
- SHA512 f6a5c8e71d642ef931176fe428fb79353933facc2db226d9e55b87d4ff9bd6610a1bd05d71159e30c8afb1fda542d233630ae164770e652baa7ea51117211489
+ REF f825d4bb5e9f4fc5dc62ad09f895c87800d0f579
+ SHA512 cd94236d5673f7e5a992d1e866afe2ccb496dfb7cc24e53808caed603bc8e899ca12857a16eac58ac7ab7235a849b6e2528c55e0debf651ef76dcebef75e7df9
HEAD_REF master
PATCHES
+ archive-dest.patch
win64-cmake.patch
- output_folders-cmake.patch
)
vcpkg_configure_cmake(
@@ -38,6 +38,7 @@ file(GLOB EXE ${CURRENT_PACKAGES_DIR}/bin/*.exe)
file(GLOB DEBUG_EXE ${CURRENT_PACKAGES_DIR}/debug/bin/*.exe)
file(REMOVE ${EXE})
file(REMOVE ${DEBUG_EXE})
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/mosquitto RENAME copyright)
diff --git a/ports/mosquitto/win64-cmake.patch b/ports/mosquitto/win64-cmake.patch
index 360bf006b..9105c403f 100644
--- a/ports/mosquitto/win64-cmake.patch
+++ b/ports/mosquitto/win64-cmake.patch
@@ -1,22 +1,9 @@
-diff --git a/config.h b/config.h
-index 906fad4..d5b2a72 100644
---- a/config.h
-+++ b/config.h
-@@ -15,7 +15,7 @@
- # define EPROTO ECONNABORTED
- #endif
-
--#ifdef WIN32
-+#ifdef WIN32 || WIN64
- # ifndef strcasecmp
- # define strcasecmp strcmpi
- # endif
-diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt
-index d537e77..272b60a 100644
---- a/lib/CMakeLists.txt
-+++ b/lib/CMakeLists.txt
-@@ -6,12 +6,7 @@ option(WITH_THREADING "Include client library threading support?" ON)
- if (${WITH_THREADING} STREQUAL ON)
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index e58d072..e582a25 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -54,12 +54,7 @@ option(WITH_THREADING "Include client library threading support?" ON)
+ if (WITH_THREADING)
add_definitions("-DWITH_THREADING")
if (WIN32)
- if (CMAKE_CL_64)
@@ -29,21 +16,30 @@ index d537e77..272b60a 100644
else (WIN32)
find_library(LIBPTHREAD pthread)
if (LIBPTHREAD)
+diff --git a/config.h b/config.h
+index b7a7616..bceb92a 100644
+--- a/config.h
++++ b/config.h
+@@ -27,7 +27,7 @@
+ # define EPROTO ECONNABORTED
+ #endif
+
+-#ifdef WIN32
++#if defined(WIN32) || defined(WIN64)
+ # ifndef strcasecmp
+ # define strcasecmp strcmpi
+ # endif
diff --git a/lib/net_mosq.h b/lib/net_mosq.h
-index b5d8549..be60659 100644
+index b843ebe..8c077eb 100644
--- a/lib/net_mosq.h
+++ b/lib/net_mosq.h
-@@ -20,7 +20,12 @@
+@@ -20,6 +20,9 @@ Contributors:
#include <unistd.h>
#else
#include <winsock2.h>
+#if defined(_MSC_VER) && _MSC_VER > 1900
+#undef ssize_t
- typedef int ssize_t;
-+#else
-+typedef int ssize_t;
+#endif
+ typedef SSIZE_T ssize_t;
#endif
- #include "mosquitto_internal.h"
-
diff --git a/ports/netcdf-c/CONTROL b/ports/netcdf-c/CONTROL
index 902a166eb..91d73cacb 100644
--- a/ports/netcdf-c/CONTROL
+++ b/ports/netcdf-c/CONTROL
@@ -1,4 +1,4 @@
Source: netcdf-c
-Version: 4.7.0
+Version: 4.7.0-2
Build-Depends: hdf5, curl
Description: a set of self-describing, machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data.
diff --git a/ports/netcdf-c/fix-build-error-on-linux.patch b/ports/netcdf-c/fix-build-error-on-linux.patch
new file mode 100644
index 000000000..bdcd7c97a
--- /dev/null
+++ b/ports/netcdf-c/fix-build-error-on-linux.patch
@@ -0,0 +1,28 @@
+diff --git a/include/ncconfigure.h b/include/ncconfigure.h
+index 2c5b2c8..d397790 100644
+--- a/include/ncconfigure.h
++++ b/include/ncconfigure.h
+@@ -25,20 +25,20 @@ missing functions should be
+ defined and missing types defined.
+ */
+
+-#ifndef HAVE_STRDUP
++#ifndef strdup
+ extern char* strdup(const char*);
+ #endif
+
+ /* handle null arguments */
+ #ifndef nulldup
+-#ifdef HAVE_STRDUP
++#ifdef strdup
+ #define nulldup(s) ((s)==NULL?NULL:strdup(s))
+ #else
+ char *nulldup(const char* s);
+ #endif
+ #endif
+
+-#ifdef _MSC_VER
++#ifdef _WIN32
+ #ifndef HAVE_SSIZE_T
+ #include <basetsd.h>
+ typedef SSIZE_T ssize_t;
diff --git a/ports/netcdf-c/fix_curl_linkage.patch b/ports/netcdf-c/fix_curl_linkage.patch
deleted file mode 100644
index 09fead1f0..000000000
--- a/ports/netcdf-c/fix_curl_linkage.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index eb0bc26b..f1409fc6 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -783,6 +783,7 @@ IF(ENABLE_DAP)
-
- ADD_DEFINITIONS(-DCURL_STATICLIB=1)
- INCLUDE_DIRECTORIES(${CURL_INCLUDE_DIRS})
-+ LINK_LIBRARIES(${CURL_LIBRARIES})
-
- # Check to see if CURLOPT_USERNAME is defined.
- # It is present starting version 7.19.1.
diff --git a/ports/netcdf-c/hdf5.patch b/ports/netcdf-c/hdf5.patch
new file mode 100644
index 000000000..71f4921ed
--- /dev/null
+++ b/ports/netcdf-c/hdf5.patch
@@ -0,0 +1,27 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index a3874c13..36f15beb 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -599,11 +599,10 @@ IF(USE_HDF5 OR ENABLE_NETCDF_4)
+ IF(NC_FIND_SHARED_LIBS)
+ SET(NC_HDF5_LINK_TYPE "shared")
+ SET(NC_HDF5_LINK_TYPE_UPPER "SHARED")
+- ADD_DEFINITIONS(-DH5_BUILT_AS_DYNAMIC_LIB)
+ ELSE(NC_FIND_SHARED_LIBS)
+ SET(NC_HDF5_LINK_TYPE "static")
+ SET(NC_HDF5_LINK_TYPE_UPPER "STATIC")
+- ADD_DEFINITIONS(-DH5_BUILT_AS_STATIC_LIB)
++ SET(HDF5_USE_STATIC_LIBRARIES ON)
+ ENDIF(NC_FIND_SHARED_LIBS)
+
+ #####
+@@ -614,8 +615,7 @@ IF(USE_HDF5 OR ENABLE_NETCDF_4)
+ # had worked.
+ #####
+ IF(MSVC)
+- SET(SEARCH_PACKAGE_NAME ${HDF5_PACKAGE_NAME})
+- FIND_PACKAGE(HDF5 NAMES ${SEARCH_PACKAGE_NAME} COMPONENTS C HL NO_MODULES REQUIRED ${NC_HDF5_LINK_TYPE})
++ FIND_PACKAGE(HDF5 COMPONENTS C HL REQUIRED)
+ ELSE(MSVC)
+ FIND_PACKAGE(HDF5 COMPONENTS C HL REQUIRED)
+ ENDIF(MSVC)
diff --git a/ports/netcdf-c/hdf5_2.patch b/ports/netcdf-c/hdf5_2.patch
new file mode 100644
index 000000000..a3a3fb751
--- /dev/null
+++ b/ports/netcdf-c/hdf5_2.patch
@@ -0,0 +1,13 @@
+diff --git a/liblib/CMakeLists.txt b/liblib/CMakeLists.txt
+index ea9b0294..3c7f427d 100644
+--- a/liblib/CMakeLists.txt
++++ b/liblib/CMakeLists.txt
+@@ -83,7 +83,7 @@ IF(USE_HDF5 OR USE_NETCDF4)
+ # HDF5_HL_LIBRARY.
+ SET(TLL_LIBS ${HDF5_HL_LIBRARIES} ${HDF5_C_LIBRARIES} ${TLL_LIBS} ${SZIP_LIBRARY})
+ ELSE() # Windows CMake defines HDF5_LIBRARIES.
+- SET(TLL_LIBS ${HDF5_LIBRARIES} ${TLL_LIBS} ${SZIP_LIBRARY})
++ SET(TLL_LIBS ${HDF5_HL_LIBRARIES} ${HDF5_C_LIBRARIES} ${TLL_LIBS} ${SZIP_LIBRARY})
+ ENDIF()
+ ENDIF()
+
diff --git a/ports/netcdf-c/portfile.cmake b/ports/netcdf-c/portfile.cmake
index a965ce70e..a2f81cdb0 100644
--- a/ports/netcdf-c/portfile.cmake
+++ b/ports/netcdf-c/portfile.cmake
@@ -10,9 +10,21 @@ vcpkg_from_github(
no-install-deps.patch
config-pkg-location.patch
transitive-hdf5.patch
- fix_curl_linkage.patch
+ hdf5.patch
+ hdf5_2.patch
+ fix-build-error-on-linux.patch
)
+#Remove outdated find modules
+file(REMOVE "${SOURCE_PATH}/cmake/modules/FindSZIP.cmake")
+file(REMOVE "${SOURCE_PATH}/cmake/modules/FindZLIB.cmake")
+
+if(VCPKG_CRT_LINKAGE STREQUAL "static")
+ set(NC_USE_STATIC_CRT ON)
+else()
+ set(NC_USE_STATIC_CRT OFF)
+endif()
+
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
DISABLE_PARALLEL_CONFIGURE
@@ -22,9 +34,11 @@ vcpkg_configure_cmake(
-DBUILD_TESTING=OFF
-DENABLE_EXAMPLES=OFF
-DENABLE_TESTS=OFF
+ -DENABLE_FILTER_TESTING=OFF
-DUSE_HDF5=ON
-DENABLE_DAP_REMOTE_TESTS=OFF
-DDISABLE_INSTALL_DEPENDENCIES=ON
+ -DNC_USE_STATIC_CRT=${NC_USE_STATIC_CRT}
-DConfigPackageLocation=share/netcdf
)
diff --git a/ports/netcdf-c/transitive-hdf5.patch b/ports/netcdf-c/transitive-hdf5.patch
index 220640366..89773e6d4 100644
--- a/ports/netcdf-c/transitive-hdf5.patch
+++ b/ports/netcdf-c/transitive-hdf5.patch
@@ -6,7 +6,7 @@ index 6f4ccf8..14a3743 100644
set(netCDF_LIBRARIES netcdf)
-+find_package(HDF5 REQUIRED)
++find_package(HDF5 COMPONENTS C HL CONFIG REQUIRED)
+
# include target information
include("${CMAKE_CURRENT_LIST_DIR}/netCDFTargets.cmake")
diff --git a/ports/networkdirect-sdk/CONTROL b/ports/networkdirect-sdk/CONTROL
new file mode 100644
index 000000000..3cc939c8e
--- /dev/null
+++ b/ports/networkdirect-sdk/CONTROL
@@ -0,0 +1,4 @@
+Source: networkdirect-sdk
+Version: 2.0.1
+Description: The Network Direct architecture allows hardware vendors to expose the advanced capabilities of their networking devices.
+Homepage: https://www.nuget.org/packages/NetworkDirect \ No newline at end of file
diff --git a/ports/networkdirect-sdk/portfile.cmake b/ports/networkdirect-sdk/portfile.cmake
new file mode 100644
index 000000000..bb893ed90
--- /dev/null
+++ b/ports/networkdirect-sdk/portfile.cmake
@@ -0,0 +1,42 @@
+include(vcpkg_common_functions)
+
+#only supports windows
+if (VCPKG_CMAKE_SYSTEM_NAME)
+ message(FATAL_ERROR "networkDirect-sdk only supports windows")
+endif()
+
+if(NOT VCPKG_TARGET_ARCHITECTURE STREQUAL "x64" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
+ message(FATAL_ERROR "networkDirect-sdk only supports x64 and x86")
+endif()
+
+vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
+vcpkg_download_distfile(ARCHIVE
+ URLS "https://www.nuget.org/api/v2/package/NetworkDirect/2.0.1"
+ FILENAME "networkDirect-2.0.1.zip"
+ SHA512 97e48ab293c164a80a3ed9e51f1f9f5ae85c07ee91c49950a76b486567d2e50346a2379b8284ffcb9d7d2fe70f76eff9455dce740cf9d3e0c1b83100e25168a8
+)
+
+vcpkg_download_distfile(LICENSE
+ URLS "https://raw.githubusercontent.com/microsoft/NetworkDirect/master/LICENSE.txt"
+ FILENAME "networkingDirect_license.txt"
+ SHA512 7d79aae4c9beb85811a3e122a2b12aad231f519dd12a461ac49d52864a735a6b05a263d433c11ede1406d2e49b6dc62dd38487eb7bd8c079d7198a20cf85fc4d
+)
+
+vcpkg_extract_source_archive_ex(
+ OUT_SOURCE_PATH SOURCE_PATH
+ ARCHIVE ${ARCHIVE}
+ NO_REMOVE_ONE_LEVEL
+)
+
+file(COPY ${SOURCE_PATH}/include DESTINATION ${CURRENT_PACKAGES_DIR}/ )
+
+if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
+ file(COPY ${SOURCE_PATH}/lib/x64/ndutil.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib/)
+ file(COPY ${SOURCE_PATH}/lib/x64/ndutil.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/)
+elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
+ file(COPY ${SOURCE_PATH}/lib/Win32/ndutil.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib/)
+ file(COPY ${SOURCE_PATH}/lib/Win32/ndutil.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/)
+endif()
+
+file(COPY ${LICENSE} DESTINATION ${CURRENT_PACKAGES_DIR}/share/networkdirect-sdk/COPYRIGHT)
diff --git a/ports/nmslib/CONTROL b/ports/nmslib/CONTROL
index 7b65617c3..111bcc858 100644
--- a/ports/nmslib/CONTROL
+++ b/ports/nmslib/CONTROL
@@ -1,5 +1,5 @@
Source: nmslib
-Version: 1.7.2-1
+Version: 1.7.3.6
Description: Non-Metric Space Library (NMSLIB) is an efficient similarity search library and a toolkit for evaluation of k-NN methods for generic non-metric spaces.
#
# ## Extras are currently unsupported for Windows, waiting for fixes.
diff --git a/ports/nmslib/fix-headers.patch b/ports/nmslib/fix-headers.patch
index 92a8d6c36..ee6db36df 100644
--- a/ports/nmslib/fix-headers.patch
+++ b/ports/nmslib/fix-headers.patch
@@ -1,5 +1,5 @@
diff --git a/similarity_search/src/method/hnsw.cc b/similarity_search/src/method/hnsw.cc
-index 30a7c8a..5ca07c5 100644
+index f5c7fca..4780746 100644
--- a/similarity_search/src/method/hnsw.cc
+++ b/similarity_search/src/method/hnsw.cc
@@ -27,7 +27,7 @@
@@ -38,7 +38,7 @@ index b6473bd..6dcb00f 100644
#include "portable_simd.h"
#include "space.h"
diff --git a/similarity_search/src/method/small_world_rand.cc b/similarity_search/src/method/small_world_rand.cc
-index 59e13f7..0f3e0b9 100644
+index e8280cb..6bdb0f7 100644
--- a/similarity_search/src/method/small_world_rand.cc
+++ b/similarity_search/src/method/small_world_rand.cc
@@ -16,7 +16,7 @@
@@ -48,10 +48,10 @@ index 59e13f7..0f3e0b9 100644
-#include <mmintrin.h>
+#include <xmmintrin.h>
- #include "portable_simd.h"
- #include "space.h"
+ #if defined(_WIN32) || defined(WIN32)
+ #include <intrin.h>
diff --git a/similarity_search/src/method/vptree.cc b/similarity_search/src/method/vptree.cc
-index d0262ad..0e5befc 100644
+index 04f481e..c71eed5 100644
--- a/similarity_search/src/method/vptree.cc
+++ b/similarity_search/src/method/vptree.cc
@@ -20,7 +20,7 @@
@@ -60,9 +60,9 @@ index d0262ad..0e5befc 100644
// This is only for _mm_prefetch
-#include <mmintrin.h>
+#include <xmmintrin.h>
-
- #include "portable_simd.h"
- #include "space.h"
+ #if defined(_WIN32) || defined(WIN32)
+ #include <intrin.h>
+ #endif
diff --git a/similarity_search/test/test_overlap.cc b/similarity_search/test/test_overlap.cc
index 326b26b..413d66d 100644
--- a/similarity_search/test/test_overlap.cc
diff --git a/ports/nmslib/portfile.cmake b/ports/nmslib/portfile.cmake
index 49a194ba1..ffea74d75 100644
--- a/ports/nmslib/portfile.cmake
+++ b/ports/nmslib/portfile.cmake
@@ -4,9 +4,9 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
- REPO searchivarius/nmslib
- REF v1.7.2
- SHA512 2f910f752bfb1146aa8d1765fd5faf64d718a92ab7edf9d8ac0a2d9c4359d42b07b3cd553e2aff93da8b009add52ab9cce6b841f5175f57163f73f643ff62c19
+ REPO nmslib/nmslib
+ REF 1eda05dccd5ed34df50a243dfc64c5e9187388f8
+ SHA512 e4518c8dd84867bd0ac5dbc5d3b57d8053d1f73588fc0cf1d7c91cc4819f22dc7888d6be587691ebc1fd12b67de16de63b5e0a24847b6f7b49b57d1e6b457ebd
HEAD_REF master
)
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/ogre/001-cmake-install-dir.patch b/ports/ogre/001-cmake-install-dir.patch
index 548f946f7..d0df419eb 100644
--- a/ports/ogre/001-cmake-install-dir.patch
+++ b/ports/ogre/001-cmake-install-dir.patch
@@ -1,3 +1,5 @@
+diff --git a/CMake/CMakeLists.txt b/CMake/CMakeLists.txt
+index a7a3796..2e21403 100644
--- a/CMake/CMakeLists.txt
+++ b/CMake/CMakeLists.txt
@@ -13,10 +13,12 @@
@@ -17,9 +19,11 @@
endif()
set(INST_FILES Utils/FindPkgMacros.cmake)
+diff --git a/CMake/InstallResources.cmake b/CMake/InstallResources.cmake
+index 783755e..79f7514 100644
--- a/CMake/InstallResources.cmake
+++ b/CMake/InstallResources.cmake
-@@ -242,10 +242,12 @@
+@@ -208,10 +208,12 @@ endif ()
# Create the CMake package files
include(CMakePackageConfigHelpers)
@@ -34,5 +38,5 @@
+ set(OGRE_CMAKE_DIR "${OGRE_LIB_DIRECTORY}/OGRE/cmake")
+ endif()
endif()
- configure_package_config_file(${OGRE_TEMPLATES_DIR}/OGREConfig.cmake.in ${OGRE_BINARY_DIR}/cmake/OGREConfig.cmake
+ configure_package_config_file(${OGRE_TEMPLATES_DIR}/OGREConfig.cmake.in ${PROJECT_BINARY_DIR}/cmake/OGREConfig.cmake
INSTALL_DESTINATION ${OGRE_CMAKE_DIR}
diff --git a/ports/ogre/CONTROL b/ports/ogre/CONTROL
index d7543d10b..828f2165e 100644
--- a/ports/ogre/CONTROL
+++ b/ports/ogre/CONTROL
@@ -1,5 +1,5 @@
Source: ogre
-Version: 1.11.3-4
+Version: 1.12.0
Build-Depends: freeimage, freetype, zlib, zziplib
Description: 3D Object-Oriented Graphics Rendering Engine
diff --git a/ports/ogre/portfile.cmake b/ports/ogre/portfile.cmake
index 74cb8a1c0..1b9087aca 100644
--- a/ports/ogre/portfile.cmake
+++ b/ports/ogre/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO OGRECave/ogre
- REF v1.11.3
- SHA512 af52821022ab6148e64fdf183b1aa4607b101c7d0edc20d2ccc909f50eed218d7a283fa3b58260fd41cd3f324ecafad8c5137c66e05786580b043240551b2c42
+ REF c14f8847f743f4dc1b3abc947b1725c87d8b10ce
+ SHA512 a2fd7ffd653c1578bc860b58cf4c899f27cc967f75e2254dc3e372044f118d5951e42b35bfc711aa8996e1885f372d3cfa5a768b8674e0b3d844811990eb87fc
HEAD_REF master
PATCHES
001-cmake-install-dir.patch
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/opencv/CONTROL b/ports/opencv/CONTROL
index 8b32750b7..3b5145535 100644
--- a/ports/opencv/CONTROL
+++ b/ports/opencv/CONTROL
@@ -1,5 +1,5 @@
Source: opencv
-Version: 3.4.3-7
+Version: 3.4.3-8
Build-Depends: zlib
Description: computer vision library
Default-Features: opengl, jpeg, png, tiff, eigen, flann
diff --git a/ports/opencv/portfile.cmake b/ports/opencv/portfile.cmake
index 3df6f6b50..a3d8c894b 100644
--- a/ports/opencv/portfile.cmake
+++ b/ports/opencv/portfile.cmake
@@ -394,6 +394,14 @@ string(REPLACE "${CURRENT_INSTALLED_DIR}"
"\${_VCPKG_INSTALLED_DIR}/\${VCPKG_TARGET_TRIPLET}" OPENCV_MODULES "${OPENCV_MODULES}")
file(WRITE ${CURRENT_PACKAGES_DIR}/share/opencv/OpenCVModules.cmake "${OPENCV_MODULES}")
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ file(READ ${CURRENT_PACKAGES_DIR}/share/opencv/OpenCVModules.cmake OPENCV_MODULES)
+ string(REPLACE "set(CMAKE_IMPORT_FILE_VERSION 1)"
+ "set(CMAKE_IMPORT_FILE_VERSION 1)
+ find_package(TIFF REQUIRED)" OPENCV_MODULES "${OPENCV_MODULES}")
+ file(WRITE ${CURRENT_PACKAGES_DIR}/share/opencv/OpenCVModules.cmake "${OPENCV_MODULES}")
+endif()
+
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
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-uwp/portfile.cmake b/ports/openssl-uwp/portfile.cmake
index ba8d97e3d..8efd7bd20 100644
--- a/ports/openssl-uwp/portfile.cmake
+++ b/ports/openssl-uwp/portfile.cmake
@@ -8,6 +8,8 @@ endif()
if (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm")
set(UWP_PLATFORM "arm")
+elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
+ set(UWP_PLATFORM "arm64")
elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
set(UWP_PLATFORM "x64")
elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
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/opentracing/CONTROL b/ports/opentracing/CONTROL
index 293dd179c..ac0cbf6f2 100644
--- a/ports/opentracing/CONTROL
+++ b/ports/opentracing/CONTROL
@@ -1,3 +1,4 @@
Source: opentracing
Version: 1.5.1
-Description: C++ implementation of the OpenTracing API http://opentracing.io
+Description: C++ implementation of the OpenTracing API
+Homepage: http://opentracing.io
diff --git a/ports/openvpn3/CMakeLists.txt b/ports/openvpn3/CMakeLists.txt
index fcbe85794..70ec99858 100644
--- a/ports/openvpn3/CMakeLists.txt
+++ b/ports/openvpn3/CMakeLists.txt
@@ -8,6 +8,10 @@ find_library(MBEDX509_LIB mbedx509)
include_directories(. ${ASIO_HPP})
+if(WIN32)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /bigobj")
+endif()
+
add_definitions(-DNOMINMAX -DUSE_ASIO -DUSE_MBEDTLS)
add_library(ovpncli client/ovpncli.cpp)
diff --git a/ports/openvpn3/CONTROL b/ports/openvpn3/CONTROL
index 09264a192..3b8899f18 100644
--- a/ports/openvpn3/CONTROL
+++ b/ports/openvpn3/CONTROL
@@ -1,4 +1,4 @@
Source: openvpn3
-Version: 2018-03-21
+Version: 2018-03-21-1
Build-Depends: asio, tap-windows6 (windows), mbedtls
Description: a C++ class library that implements the functionality of an OpenVPN client, and is protocol-compatible with the OpenVPN 2.x branch.
diff --git a/ports/openvr/CONTROL b/ports/openvr/CONTROL
index dbbe6f4c9..dfaf95c1e 100644
--- a/ports/openvr/CONTROL
+++ b/ports/openvr/CONTROL
@@ -1,3 +1,3 @@
Source: openvr
-Version: 1.1.3b
+Version: 1.4.18
Description: an API and runtime that allows access to VR hardware from multiple vendors without requiring that applications have specific knowledge of the hardware they are targeting.
diff --git a/ports/openvr/portfile.cmake b/ports/openvr/portfile.cmake
index 2bc15f368..ca2902f50 100644
--- a/ports/openvr/portfile.cmake
+++ b/ports/openvr/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO ValveSoftware/openvr
- REF v1.1.3b
- SHA512 03d9f61e8a2fee6bed02e087b20ccdc281a06dcbb151afe07a072b8758d56d7f4bed7a5dd8eccd43166c8fac6536930c0e4e81a8deaa081e635fd99a304fc565
+ REF 02bc73b9bcfe9cc2d2802bd5fdc91f724de8ef10
+ SHA512 5b0b954b09570dcf72f0340d6bcc0a5ba9e754babf33aaee35c9d45ce08f5256643692705b014b8c94b098b554e7882a837cf6a2c25e946e6bc69ba3b9db0ede
HEAD_REF master
)
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/paho-mqtt/CONTROL b/ports/paho-mqtt/CONTROL
index 4d819f5b1..590968f0a 100644
--- a/ports/paho-mqtt/CONTROL
+++ b/ports/paho-mqtt/CONTROL
@@ -1,4 +1,4 @@
Source: paho-mqtt
-Version: 1.2.1-1
+Version: 1.3.0
Description: Paho project provides open-source client implementations of MQTT and MQTT-SN messaging protocols aimed at new, existing, and emerging applications for the Internet of Things
Build-Depends: openssl
diff --git a/ports/paho-mqtt/fix-install-path.patch b/ports/paho-mqtt/fix-install-path.patch
index 512052e1a..478141931 100644
--- a/ports/paho-mqtt/fix-install-path.patch
+++ b/ports/paho-mqtt/fix-install-path.patch
@@ -1,48 +1,56 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 418e2f2..f05aad4 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -62,9 +62,9 @@ ENDIF()
- ### packaging settings
- SET(CPACK_PACKAGE_VENDOR "Eclipse Paho")
- SET(CPACK_PACKAGE_NAME "Eclipse-Paho-MQTT-C")
--INSTALL(FILES CONTRIBUTING.md epl-v10 edl-v10 README.md notice.html DESTINATION .)
-+INSTALL(FILES CONTRIBUTING.md epl-v10 edl-v10 README.md notice.html DESTINATION share/paho-mqtt)
- FILE(GLOB samples "src/samples/*.c")
--INSTALL(FILES ${samples} DESTINATION samples)
-+INSTALL(FILES ${samples} DESTINATION share/paho-mqtt/samples)
- IF (WIN32)
- SET(CPACK_GENERATOR "ZIP")
- ELSEIF(PAHO_BUILD_DEB_PACKAGE)
-diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
-index 06e4c5d..9cf7c21 100644
---- a/doc/CMakeLists.txt
-+++ b/doc/CMakeLists.txt
-@@ -37,4 +37,4 @@ FOREACH(DOXYFILE_SRC DoxyfileV3ClientAPI;DoxyfileV3AsyncAPI;DoxyfileV3ClientInte
- SET(DOXYTARGETS ${DOXYTARGETS} ${DOXYFILE_SRC}.target)
- ENDFOREACH(DOXYFILE_SRC)
- ADD_CUSTOM_TARGET(doc ALL DEPENDS ${DOXYTARGETS})
--INSTALL(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/doc DESTINATION share)
-+INSTALL(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/doc DESTINATION share/paho-mqtt)
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index c57185b..98c7f31 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -84,7 +84,7 @@ INSTALL(TARGETS paho-mqtt3c paho-mqtt3a
- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
- RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
- INSTALL(TARGETS MQTTVersion
-- RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
-+ RUNTIME DESTINATION tools/paho-mqtt)
-
- IF (PAHO_BUILD_STATIC)
- ADD_LIBRARY(paho-mqtt3c-static STATIC $<TARGET_OBJECTS:common_obj> MQTTClient.c)
-@@ -98,7 +98,7 @@ IF (PAHO_BUILD_STATIC)
- ENDIF()
-
- INSTALL(FILES MQTTAsync.h MQTTClient.h MQTTClientPersistence.h
-- DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
-+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/paho-mqtt)
-
- IF (PAHO_WITH_SSL)
- SET(OPENSSL_SEARCH_PATH "" CACHE PATH "Directory containing OpenSSL libraries and includes")
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 64ae92c..6d552d1 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -64,11 +64,11 @@ ENDIF()
+ IF (PAHO_ENABLE_CPACK)
+ ### packaging settings
+ FILE(GLOB samples "src/samples/*.c")
+- INSTALL(FILES ${samples} DESTINATION samples)
++ INSTALL(FILES ${samples} DESTINATION share/paho-mqtt/samples)
+
+ SET(CPACK_PACKAGE_VENDOR "Eclipse Paho")
+ SET(CPACK_PACKAGE_NAME "Eclipse-Paho-MQTT-C")
+- INSTALL(FILES CONTRIBUTING.md epl-v10 edl-v10 README.md notice.html DESTINATION .)
++ INSTALL(FILES CONTRIBUTING.md epl-v10 edl-v10 README.md notice.html DESTINATION share/paho-mqtt)
+
+ IF (WIN32)
+ SET(CPACK_GENERATOR "ZIP")
+diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
+index f15f314..54deec5 100644
+--- a/doc/CMakeLists.txt
++++ b/doc/CMakeLists.txt
+@@ -39,7 +39,7 @@ ENDFOREACH(DOXYFILE_SRC)
+
+ ADD_CUSTOM_TARGET(doc ALL DEPENDS ${DOXYTARGETS})
+ IF (PAHO_ENABLE_CPACK)
+- INSTALL(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/doc DESTINATION share)
++ INSTALL(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/doc DESTINATION share/paho-mqtt)
+ ELSE()
+ INSTALL(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/doc DESTINATION ${CMAKE_INSTALL_DOCDIR})
+ ENDIF()
+\ No newline at end of file
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index b46eaca..a132062 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -89,7 +89,7 @@ INSTALL(TARGETS paho-mqtt3c paho-mqtt3a
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
+ INSTALL(TARGETS MQTTVersion
+- RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
++ RUNTIME DESTINATION tools/paho-mqtt)
+
+ IF (PAHO_BUILD_STATIC)
+ ADD_LIBRARY(paho-mqtt3c-static STATIC $<TARGET_OBJECTS:common_obj> MQTTClient.c)
+@@ -102,8 +102,8 @@ IF (PAHO_BUILD_STATIC)
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ ENDIF()
+
+-INSTALL(FILES MQTTAsync.h MQTTClient.h MQTTClientPersistence.h MQTTProperties.h MQTTReasonCodes.h MQTTSubscribeOpts.h
+- DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
++INSTALL(FILES MQTTAsync.h MQTTClient.h MQTTClientPersistence.h MQTTProperties.h MQTTReasonCodes.h MQTTSubscribeOpts.h
++ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/paho-mqtt)
+
+ IF (PAHO_WITH_SSL)
+ SET(OPENSSL_SEARCH_PATH "" CACHE PATH "Directory containing OpenSSL libraries and includes")
diff --git a/ports/paho-mqtt/fix-unresolvedsymbol-arm.patch b/ports/paho-mqtt/fix-unresolvedsymbol-arm.patch
new file mode 100644
index 000000000..165901887
--- /dev/null
+++ b/ports/paho-mqtt/fix-unresolvedsymbol-arm.patch
@@ -0,0 +1,12 @@
+diff --git a/src/SHA1.c b/src/SHA1.c
+index 9bb1175..b2ef930 100644
+--- a/src/SHA1.c
++++ b/src/SHA1.c
+@@ -19,6 +19,7 @@
+ #if !defined(OPENSSL)
+ #if defined(WIN32) || defined(WIN64)
+ #pragma comment(lib, "crypt32.lib")
++#pragma comment(lib, "Advapi32.lib")
+
+ int SHA1_Init(SHA_CTX *c)
+ {
diff --git a/ports/paho-mqtt/portfile.cmake b/ports/paho-mqtt/portfile.cmake
index 5453abf1b..03b6c73bd 100644
--- a/ports/paho-mqtt/portfile.cmake
+++ b/ports/paho-mqtt/portfile.cmake
@@ -3,13 +3,14 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO eclipse/paho.mqtt.c
- REF v1.2.1
- SHA512 98828852ecd127445591df31416adaebebd30848c027361ae62af6b14b84e3cf2a4b90cab692b983148cbf93f710a9e2dd722a3da8c4fd17eb2149e4227a8860
+ REF 9f715d0862a8e16099b5837c4e53a1bf6a6a0675
+ SHA512 3ab5e25bfe303f51485696248e78a8a10f20c0e69b7ea6016165a97d61172336e8fbe5b9d059ae546357bace9f3adb8e2026643b61a6af82fae448a024e51d21
HEAD_REF master
PATCHES
remove_compiler_options.patch
fix-install-path.patch
fix-static-build.patch
+ fix-unresolvedsymbol-arm.patch
)
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" PAHO_BUILD_STATIC)
diff --git a/ports/pango/CMakeLists.txt b/ports/pango/CMakeLists.txt
index cc21d3eee..f0e6d85e7 100644
--- a/ports/pango/CMakeLists.txt
+++ b/ports/pango/CMakeLists.txt
@@ -11,6 +11,11 @@ else()
configure_file(./config.h.unix ${CMAKE_CURRENT_BINARY_DIR}/config.h COPYONLY)
endif()
+if (WIN32)
+ # Set utf-8 charset to avoid compile error C2001
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /utf-8")
+endif()
+
add_definitions(-DHAVE_CONFIG_H)
include_directories(. ./pango ${CMAKE_CURRENT_BINARY_DIR})
diff --git a/ports/pango/CONTROL b/ports/pango/CONTROL
index 9b176290b..f58bf18ec 100644
--- a/ports/pango/CONTROL
+++ b/ports/pango/CONTROL
@@ -1,4 +1,4 @@
Source: pango
-Version: 1.40.11-3
+Version: 1.40.11-4
Description: Text and font handling library.
Build-Depends: glib, gettext, cairo, fontconfig, freetype, harfbuzz[glib] (!windows-static)
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/FindGeoTIFF.cmake b/ports/pdal/FindGeoTIFF.cmake
deleted file mode 100644
index 51a5fb2d8..000000000
--- a/ports/pdal/FindGeoTIFF.cmake
+++ /dev/null
@@ -1,13 +0,0 @@
-find_path(GEOTIFF_INCLUDE_DIR geotiff.h)
-
-find_library(GEOTIFF_LIBRARY_DEBUG NAMES geotiff_d)
-find_library(GEOTIFF_LIBRARY_RELEASE NAMES geotiff)
-
-include(SelectLibraryConfigurations)
-select_library_configurations(GEOTIFF)
-
-include(FindPackageHandleStandardArgs)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(
- GEOTIFF DEFAULT_MSG
- GEOTIFF_LIBRARY GEOTIFF_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 6ab78024f..566fc08e4 100644
--- a/ports/pdal/portfile.cmake
+++ b/ports/pdal/portfile.cmake
@@ -18,12 +18,16 @@ 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")
# Deploy custom CMake modules to enforce expected dependencies look-up
-foreach(_module IN ITEMS FindGDAL FindGEOS FindGeoTIFF)
+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/
diff --git a/ports/pdcurses/CONTROL b/ports/pdcurses/CONTROL
index 29cbff29b..75bce7928 100644
--- a/ports/pdcurses/CONTROL
+++ b/ports/pdcurses/CONTROL
@@ -1,3 +1,3 @@
Source: pdcurses
-Version: 3.6
+Version: 3.8
Description: Public Domain Curses - a curses library for environments that don't fit the termcap/terminfo model.
diff --git a/ports/pdcurses/portfile.cmake b/ports/pdcurses/portfile.cmake
index 8581b5583..72c54e403 100644
--- a/ports/pdcurses/portfile.cmake
+++ b/ports/pdcurses/portfile.cmake
@@ -9,8 +9,8 @@ find_program(NMAKE nmake)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO wmcbrine/PDCurses
- REF 3.6
- SHA512 1ed34e7eb791c9e00aae60878339e79f6b3af086c45d88d2b59d9b2b4020481ff5a5c21e078e59ae24f2de3b4d412f0240f21a50eb743f7e172c832a7e17ed5e
+ REF 2467ab2b6c07163d0171b80ad6c252c29da28173
+ SHA512 4d729a4e0ffa1b5d1fd35ed73329d08886e1e565936a008cd7b45f8e5fbaabcb86c65377fd1e33acef6271f828cd4158e8a56ed15cd664b2a8c8e1d66cf8c00a
HEAD_REF master
)
@@ -73,7 +73,7 @@ if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
endif()
file(
- COPY ${SOURCE_PATH}/curses.h ${SOURCE_PATH}/panel.h ${SOURCE_PATH}/term.h
+ COPY ${SOURCE_PATH}/curses.h ${SOURCE_PATH}/panel.h
DESTINATION ${CURRENT_PACKAGES_DIR}/include
)
file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/pdcurses RENAME copyright)
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/poco/CONTROL b/ports/poco/CONTROL
index 29291a730..4503529c6 100644
--- a/ports/poco/CONTROL
+++ b/ports/poco/CONTROL
@@ -1,7 +1,8 @@
Source: poco
Version: 2.0.0-pre-1
Build-Depends: expat, libpq, pcre, sqlite3, zlib
-Description: Modern, powerful open source C++ class libraries for building network and internet-based applications that run on desktop, server, mobile and embedded systems. (https://github.com/pocoproject/poco)
+Description: Modern, powerful open source C++ class libraries for building network and internet-based applications that run on desktop, server, mobile and embedded systems.
+Homepage: https://github.com/pocoproject/poco
Feature: mysql
Build-Depends: libmysql
diff --git a/ports/podofo/unique_ptr.patch b/ports/podofo/0001-unique_ptr.patch
index 5c70e8471..5c70e8471 100644
--- a/ports/podofo/unique_ptr.patch
+++ b/ports/podofo/0001-unique_ptr.patch
diff --git a/ports/podofo/002-HAVE_UNISTD_H.patch b/ports/podofo/0002-HAVE_UNISTD_H.patch
index 6aed4b279..6aed4b279 100644
--- a/ports/podofo/002-HAVE_UNISTD_H.patch
+++ b/ports/podofo/0002-HAVE_UNISTD_H.patch
diff --git a/ports/podofo/0003-uwp_fix.patch b/ports/podofo/0003-uwp_fix.patch
new file mode 100644
index 000000000..91872d7eb
--- /dev/null
+++ b/ports/podofo/0003-uwp_fix.patch
@@ -0,0 +1,15 @@
+diff --git a/src/base/PdfCompilerCompat.h b/src/base/PdfCompilerCompat.h
+index 706875f..8efb349 100644
+--- a/src/base/PdfCompilerCompat.h
++++ b/src/base/PdfCompilerCompat.h
+@@ -113,6 +113,10 @@
+ #define NOMINMAX
+ #endif
+
++#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_APP)
++#include <combaseapi.h>
++#endif
++
+ // Integer types - fixed size types guaranteed to work anywhere
+ // because we detect the right underlying type name to use with
+ // CMake. Use typedefs rather than macros for saner error messages
diff --git a/ports/podofo/CONTROL b/ports/podofo/CONTROL
index 6664b043c..083248c3c 100644
--- a/ports/podofo/CONTROL
+++ b/ports/podofo/CONTROL
@@ -1,7 +1,7 @@
Source: podofo
-Version: 0.9.6-6
+Version: 0.9.6-7
Description: PoDoFo is a library to work with the PDF file format
-Build-Depends: zlib, libpng, libjpeg-turbo, tiff, openssl (!windows&!uwp), freetype
+Build-Depends: zlib, libpng, libjpeg-turbo, tiff, openssl, freetype
Feature: fontconfig
Description: Enable font manager support on Unix platforms.
diff --git a/ports/podofo/portfile.cmake b/ports/podofo/portfile.cmake
index 335c307f2..759b6dbe1 100644
--- a/ports/podofo/portfile.cmake
+++ b/ports/podofo/portfile.cmake
@@ -6,13 +6,19 @@ vcpkg_download_distfile(ARCHIVE
FILENAME "podofo-${PODOFO_VERSION}.tar.gz"
SHA512 35c1a457758768bdadc93632385f6b9214824fead279f1b85420443fb2135837cefca9ced476df0d47066f060e9150e12fcd40f60fa1606b177da433feb20130
)
+
+if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ set(ADDITIONAL_PATCH "0003-uwp_fix.patch")
+endif()
+
vcpkg_extract_source_archive_ex(
OUT_SOURCE_PATH SOURCE_PATH
ARCHIVE ${ARCHIVE}
REF ${PODOFO_VERSION}
- PATCHES
- "unique_ptr.patch"
- "002-HAVE_UNISTD_H.patch"
+ PATCHES
+ 0001-unique_ptr.patch
+ 0002-HAVE_UNISTD_H.patch
+ ${ADDITIONAL_PATCH}
)
set(PODOFO_NO_FONTMANAGER ON)
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/proj4/0001-CMake-add-detection-of-recent-visual-studio-versions.patch b/ports/proj4/0001-CMake-add-detection-of-recent-visual-studio-versions.patch
index 9be5438aa..2f1f9ca29 100644
--- a/ports/proj4/0001-CMake-add-detection-of-recent-visual-studio-versions.patch
+++ b/ports/proj4/0001-CMake-add-detection-of-recent-visual-studio-versions.patch
@@ -15,8 +15,8 @@ index 294a50b..c7fb6bf 100644
if(MSVC_VERSION EQUAL 1800)
set(PROJ_COMPILER_NAME "msvc-12.0") #Visual Studio 2013
endif()
-+ if(MSVC_VERSION EQUAL 1900)
-+ set(PROJ_COMPILER_NAME "msvc-14.0") #Visual Studio 2015
++ if(MSVC_VERSION GREATER_EQUAL 1900)
++ set(PROJ_COMPILER_NAME "msvc-14.0") #Visual Studio 2015/2017/2019
+ endif()
endif(MSVC)
diff --git a/ports/proj4/portfile.cmake b/ports/proj4/portfile.cmake
index f7532a967..64974e4ba 100644
--- a/ports/proj4/portfile.cmake
+++ b/ports/proj4/portfile.cmake
@@ -1,29 +1,27 @@
include(vcpkg_common_functions)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/proj-4.9.3)
+
+set(PROJ4_VERSION 4.9.3)
+
vcpkg_download_distfile(ARCHIVE
- URLS "http://download.osgeo.org/proj/proj-4.9.3.zip"
- FILENAME "proj-4.9.3.zip"
+ URLS "http://download.osgeo.org/proj/proj-${PROJ4_VERSION}.zip"
+ FILENAME "proj-${PROJ4_VERSION}.zip"
SHA512 c9703008cd1f75fe1239b180158e560b9b88ae2ffd900b72923c716908eb86d1abbc4230647af5e3131f8c34481bdc66b03826d669620161ffcfbe67801cb631
)
-vcpkg_extract_source_archive(${ARCHIVE})
-vcpkg_apply_patches(
- SOURCE_PATH ${SOURCE_PATH}/
+vcpkg_extract_source_archive_ex(
+ OUT_SOURCE_PATH SOURCE_PATH
+ ARCHIVE ${ARCHIVE}
+ REF ${PROJ4_VERSION}
PATCHES
- ${CMAKE_CURRENT_LIST_DIR}/0001-CMake-add-detection-of-recent-visual-studio-versions.patch
- ${CMAKE_CURRENT_LIST_DIR}/0002-CMake-fix-error-by-only-setting-properties-for-targe.patch
- ${CMAKE_CURRENT_LIST_DIR}/0003-CMake-configurable-cmake-config-install-location.patch
+ 0001-CMake-add-detection-of-recent-visual-studio-versions.patch
+ 0002-CMake-fix-error-by-only-setting-properties-for-targe.patch
+ 0003-CMake-configurable-cmake-config-install-location.patch
)
-if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
- list(APPEND CMAKE_OPTIONS "-DBUILD_LIBPROJ_SHARED=YES")
-else()
- list(APPEND CMAKE_OPTIONS "-DBUILD_LIBPROJ_SHARED=NO")
-endif()
-
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
- OPTIONS ${CMAKE_OPTIONS}
+ OPTIONS
+ -DBUILD_LIBPROJ_SHARED=${BUILD_SHARED_LIBS}
-DPROJ_LIB_SUBDIR=lib
-DPROJ_INCLUDE_SUBDIR=include
-DPROJ_DATA_SUBDIR=share/proj4
@@ -36,7 +34,6 @@ vcpkg_configure_cmake(
)
vcpkg_install_cmake()
-
vcpkg_fixup_cmake_targets(CONFIG_PATH share/proj4)
# Rename library and adapt cmake configuration
@@ -68,11 +65,7 @@ if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore
endif()
endif()
-# Remove duplicate headers installed from debug build
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
-# Remove data installed from debug build
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
-# Handle copyright
-file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/proj4)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/proj4/COPYING ${CURRENT_PACKAGES_DIR}/share/proj4/copyright)
+file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/proj4 RENAME copyright)
diff --git a/ports/prometheus-cpp/CONTROL b/ports/prometheus-cpp/CONTROL
index e89b84cb2..341af0e8c 100644
--- a/ports/prometheus-cpp/CONTROL
+++ b/ports/prometheus-cpp/CONTROL
@@ -1,5 +1,5 @@
Source: prometheus-cpp
-Version: 0.6.0
+Version: 0.7.0
Description: Prometheus Client Library for Modern C++
Default-Features: compression, pull
@@ -7,6 +7,10 @@ Feature: compression
Build-Depends: zlib
Description: Enable zlib compression
+Feature: tests
+Build-Depends: gtest
+Description: Additional testing support
+
Feature: pull
Build-Depends: civetweb
Description: Support for regular pull mode
diff --git a/ports/prometheus-cpp/portfile.cmake b/ports/prometheus-cpp/portfile.cmake
index 388623d48..20f58c8a2 100644
--- a/ports/prometheus-cpp/portfile.cmake
+++ b/ports/prometheus-cpp/portfile.cmake
@@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO jupp0r/prometheus-cpp
- REF v0.6.0
- SHA512 a7e6f902f3007007ec68add5ac63e833c6f383ed0ce103e238b7248497f495e664446df7801000e36021adcb7cfb1d461bbb45e1b4fba9ffa4edfcaf5b5957dd
+ REF v0.7.0
+ SHA512 ff946585e24d84596e851f838b42566512fe368f164254d309b2aa3bda770c5442b6eeb880055351f89e0e2d0b581fddb5b0e70dd5b2a15370e508c4aabbcb1c
HEAD_REF master
)
@@ -21,13 +21,13 @@ endmacro()
feature(compression ENABLE_COMPRESSION)
feature(pull ENABLE_PULL)
feature(push ENABLE_PUSH)
+feature(tests ENABLE_TESTING)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS
-DUSE_THIRDPARTY_LIBRARIES=OFF # use vcpkg packages
- -DENABLE_TESTING=FALSE # need gtest 1.8.1
${FEATURE_OPTIONS}
)
diff --git a/ports/qca/0002-fix-build-error.patch b/ports/qca/0002-fix-build-error.patch
new file mode 100644
index 000000000..f4ddee3a0
--- /dev/null
+++ b/ports/qca/0002-fix-build-error.patch
@@ -0,0 +1,57 @@
+diff --git a/plugins/qca-gnupg/CMakeLists.txt b/plugins/qca-gnupg/CMakeLists.txt
+index 1ed8e21..20890dd 100644
+--- a/plugins/qca-gnupg/CMakeLists.txt
++++ b/plugins/qca-gnupg/CMakeLists.txt
+@@ -68,6 +68,4 @@ if(NOT DEVELOPER_MODE)
+ LIBRARY DESTINATION "${QCA_CRYPTO_INSTALL_DIR}"
+ ARCHIVE DESTINATION "${QCA_CRYPTO_INSTALL_DIR}"
+ RUNTIME DESTINATION "${QCA_CRYPTO_INSTALL_DIR}")
+-
+- install_pdb(qca-gnupg ${QCA_CRYPTO_INSTALL_DIR})
+ endif()
+diff --git a/plugins/qca-logger/CMakeLists.txt b/plugins/qca-logger/CMakeLists.txt
+index ba6926e..45e1986 100644
+--- a/plugins/qca-logger/CMakeLists.txt
++++ b/plugins/qca-logger/CMakeLists.txt
+@@ -20,6 +20,4 @@ if(NOT DEVELOPER_MODE)
+ LIBRARY DESTINATION "${QCA_CRYPTO_INSTALL_DIR}"
+ ARCHIVE DESTINATION "${QCA_CRYPTO_INSTALL_DIR}"
+ RUNTIME DESTINATION "${QCA_CRYPTO_INSTALL_DIR}")
+-
+- install_pdb(qca-logger ${QCA_CRYPTO_INSTALL_DIR})
+ endif()
+diff --git a/plugins/qca-ossl/CMakeLists.txt b/plugins/qca-ossl/CMakeLists.txt
+index af3d756..c8480a3 100644
+--- a/plugins/qca-ossl/CMakeLists.txt
++++ b/plugins/qca-ossl/CMakeLists.txt
+@@ -65,8 +65,6 @@ if(OPENSSL_FOUND)
+ LIBRARY DESTINATION "${QCA_CRYPTO_INSTALL_DIR}"
+ ARCHIVE DESTINATION "${QCA_CRYPTO_INSTALL_DIR}"
+ RUNTIME DESTINATION "${QCA_CRYPTO_INSTALL_DIR}")
+-
+- install_pdb(qca-ossl ${QCA_CRYPTO_INSTALL_DIR})
+ endif()
+
+ else(OPENSSL_FOUND)
+diff --git a/plugins/qca-softstore/CMakeLists.txt b/plugins/qca-softstore/CMakeLists.txt
+index d7af072..3c64870 100644
+--- a/plugins/qca-softstore/CMakeLists.txt
++++ b/plugins/qca-softstore/CMakeLists.txt
+@@ -20,6 +20,4 @@ if(NOT DEVELOPER_MODE)
+ LIBRARY DESTINATION "${QCA_CRYPTO_INSTALL_DIR}"
+ ARCHIVE DESTINATION "${QCA_CRYPTO_INSTALL_DIR}"
+ RUNTIME DESTINATION "${QCA_CRYPTO_INSTALL_DIR}")
+-
+- install_pdb(qca-softstore ${QCA_CRYPTO_INSTALL_DIR})
+ endif()
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 2e81974..907049c 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -184,6 +184,5 @@ if(NOT DEVELOPER_MODE)
+ FRAMEWORK DESTINATION "${QCA_LIBRARY_INSTALL_DIR}"
+ PUBLIC_HEADER DESTINATION "${QCA_FULL_INCLUDE_INSTALL_DIR}" INCLUDES DESTINATION "${QCA_FULL_INCLUDE_INSTALL_DIR}"
+ )
+- install_pdb(${QCA_LIB_NAME} ${QCA_BINARY_INSTALL_DIR})
+ endif()
+
diff --git a/ports/qca/CONTROL b/ports/qca/CONTROL
index 4c09bf3b1..356dff560 100644
--- a/ports/qca/CONTROL
+++ b/ports/qca/CONTROL
@@ -1,4 +1,5 @@
Source: qca
-Version: 2.2.0-4
-Description: Qt Cryptographic Architecture (QCA). Sources: https://cgit.kde.org/qca.git/
+Version: 2.2.1
+Description: Qt Cryptographic Architecture (QCA).
+Homepage: https://cgit.kde.org/qca.git/
Build-Depends: qt5-base
diff --git a/ports/qca/portfile.cmake b/ports/qca/portfile.cmake
index 55acdc0b6..9b2b15397 100644
--- a/ports/qca/portfile.cmake
+++ b/ports/qca/portfile.cmake
@@ -20,9 +20,11 @@ endif()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO KDE/qca
- REF 19ec49f89a0a560590ec733c549b92e199792837
- SHA512 6a83ee6715a9a922f4fde5af571e2aad043ac5cbd522f57365038dd31879b44eb57a099ff797793d7ee19e320e0a151e5beacdff3bed525d39ea0b8e46efca9a
- PATCHES 0001-fix-path-for-vcpkg.patch
+ REF v2.2.1
+ SHA512 6b10f9bbf9ebf136655d1c6464f3849c8581b3cd5ef07b0697ddd5f32611dce301af5148e8e6fe91e763301e68994957a62a278334ee7a78559101f411f27d49
+ PATCHES
+ 0001-fix-path-for-vcpkg.patch
+ 0002-fix-build-error.patch
)
# According to:
diff --git a/ports/rapidjson/CONTROL b/ports/rapidjson/CONTROL
index b5fe3d4c9..02f7b5107 100644
--- a/ports/rapidjson/CONTROL
+++ b/ports/rapidjson/CONTROL
@@ -1,3 +1,4 @@
Source: rapidjson
Version: 1.1.0-3
-Description: A fast JSON parser/generator for C++ with both SAX/DOM style API <http://rapidjson.org/>
+Description: A fast JSON parser/generator for C++ with both SAX/DOM style API
+Homepage: http://rapidjson.org/
diff --git a/ports/readline-win32/CONTROL b/ports/readline-win32/CONTROL
index d04614bac..f8beab3d9 100644
--- a/ports/readline-win32/CONTROL
+++ b/ports/readline-win32/CONTROL
@@ -1,3 +1,4 @@
Source: readline-win32
Version: 5.0-2
-Description: Implementation of readline for Windows Desktop provided by https://github.com/lltcggie \ No newline at end of file
+Description: Implementation of readline for Windows Desktop
+Homepage: https://github.com/lltcggie \ No newline at end of file
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 1444f330f..23abf439e 100644
--- a/ports/restinio/CONTROL
+++ b/ports/restinio/CONTROL
@@ -1,4 +1,4 @@
Source: restinio
-Version: 0.4.9
+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 fa8e0c587..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
- SHA512 a839d3178d89e954bd47a40c7468e1ab2b34786c0122897620d9d8cff36e9d2c50b5e93d0774f7bdba8a17f91ea7dc2730135a6cdcb76aad5d8f5079ee1d9fdd
+ 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/robin-map/CONTROL b/ports/robin-map/CONTROL
index f24dc8337..c11d67999 100644
--- a/ports/robin-map/CONTROL
+++ b/ports/robin-map/CONTROL
@@ -1,3 +1,3 @@
Source: robin-map
-Version: 0.2.0
+Version: 0.6.1
Description: A C++ implementation of a fast hash map and hash set using robin hood hashing
diff --git a/ports/robin-map/portfile.cmake b/ports/robin-map/portfile.cmake
index 6436f6194..73cd9c7d8 100644
--- a/ports/robin-map/portfile.cmake
+++ b/ports/robin-map/portfile.cmake
@@ -3,12 +3,12 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Tessil/robin-map
- REF v0.2.0
- SHA512 6d16c612a0d646fd08857f2f6ee2909fb607ff05fa9c7733a2b618d662f63bba2f99677b75a09870a1582b7b37f255c4ff1f9171c897c3cfa73dd8879de1ec18
+ REF 3285ed7615b72020bd68ba6d30f9ec0c0c526098
+ SHA512 3850a0ea06f62ba177a1746a92a3f9c999f6398d4d786dbc63dd276569e77e3d9c15e83c0cb74a1314e3c2b5ff73225675d914cf4ab3f052353b237ab9219bc8
HEAD_REF master
)
-file(COPY ${SOURCE_PATH}/tsl DESTINATION ${CURRENT_PACKAGES_DIR}/include)
+file(COPY ${SOURCE_PATH}/include/tsl DESTINATION ${CURRENT_PACKAGES_DIR}/include)
file(INSTALL
${SOURCE_PATH}/LICENSE
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/rtmidi/CONTROL b/ports/rtmidi/CONTROL
index 9eaad9735..2c3d38dd4 100644
--- a/ports/rtmidi/CONTROL
+++ b/ports/rtmidi/CONTROL
@@ -1,3 +1,3 @@
Source: rtmidi
-Version: 2.1.1-2
+Version: 4.0.0
Description: A set of C++ classes that provide a common API for realtime MIDI input/output across Linux (ALSA & JACK), Macintosh OS X (CoreMidi & JACK) and Windows (Multimedia)
diff --git a/ports/rtmidi/fix-POSIXname.patch b/ports/rtmidi/fix-POSIXname.patch
new file mode 100644
index 000000000..a2a5b0ee1
--- /dev/null
+++ b/ports/rtmidi/fix-POSIXname.patch
@@ -0,0 +1,17 @@
+diff --git a/rtmidi_c.cpp b/rtmidi_c.cpp
+index 248c9e5..ec1dd38 100644
+--- a/rtmidi_c.cpp
++++ b/rtmidi_c.cpp
+@@ -136,7 +136,11 @@ const char* rtmidi_get_port_name (RtMidiPtr device, unsigned int portNumber)
+ {
+ try {
+ std::string name = ((RtMidi*) device->ptr)->getPortName (portNumber);
+- return strdup (name.c_str ());
++#if defined(_WIN) || defined(WINAPI_FAMILY) //Windows platform
++ return _strdup (name.c_str ());
++#else // Unix platform
++ return strdup (name.c_str ());
++#endif
+
+ } catch (const RtMidiError & err) {
+ device->ok = false;
diff --git a/ports/rtmidi/portfile.cmake b/ports/rtmidi/portfile.cmake
index cee6e1a73..8aa949b5a 100644
--- a/ports/rtmidi/portfile.cmake
+++ b/ports/rtmidi/portfile.cmake
@@ -3,9 +3,11 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO thestk/rtmidi
- REF 2.1.1
- SHA512 4d378720dd0f7c0e1a87741c088756839878ed56465b053040f70a1e039828fe221a6b1669b77b2fdd146cb192934c5719cc934c2c6a6304f44dbee2972c68e8
+ REF 4.0.0
+ SHA512 39383f121320c9471b31f8b9d283167bfadf4c7328b6664d1d54a4c52e3dd9b76362875258d90363c6044e87fcee31ccce80e19435dc620c88e6d60fc82d0f9d
HEAD_REF master
+ PATCHES
+ fix-POSIXname.patch
)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
@@ -17,4 +19,4 @@ vcpkg_configure_cmake(
vcpkg_install_cmake()
-file(INSTALL ${SOURCE_PATH}/readme DESTINATION ${CURRENT_PACKAGES_DIR}/share/rtmidi RENAME copyright)
+file(INSTALL ${SOURCE_PATH}/README.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/rtmidi RENAME copyright)
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/rxqt/CONTROL b/ports/rxqt/CONTROL
index dc87425aa..eeaab0986 100644
--- a/ports/rxqt/CONTROL
+++ b/ports/rxqt/CONTROL
@@ -1,4 +1,5 @@
Source: rxqt
Version: bb2138c
-Description: The Reactive Extensions for Qt. <https://github.com/tetsurom/rxqt>
+Description: The Reactive Extensions for Qt.
+Homepage: https://github.com/tetsurom/rxqt
Build-Depends: rxcpp \ No newline at end of file
diff --git a/ports/sdl2pp/CONTROL b/ports/sdl2pp/CONTROL
index 19fecb092..6a3f7c509 100644
--- a/ports/sdl2pp/CONTROL
+++ b/ports/sdl2pp/CONTROL
@@ -1,4 +1,5 @@
Source: sdl2pp
Version: 0.16.0-1
-Description: C++11 bindings/wrapper for SDL2 https://sdl2pp.amdmi3.ru
+Description: C++11 bindings/wrapper for SDL2
+Homepage: https://sdl2pp.amdmi3.ru
Build-Depends: sdl2, sdl2-mixer, sdl2-image, sdl2-ttf
diff --git a/ports/selene/disable_x86_intrinsics_on_arm.patch b/ports/selene/disable_x86_intrinsics_on_arm.patch
new file mode 100644
index 000000000..79e38c57c
--- /dev/null
+++ b/ports/selene/disable_x86_intrinsics_on_arm.patch
@@ -0,0 +1,13 @@
+diff --git a/selene/base/Bitcount.hpp b/selene/base/Bitcount.hpp
+index a4d69e4..709f650 100755
+--- a/selene/base/Bitcount.hpp
++++ b/selene/base/Bitcount.hpp
+@@ -69,7 +69,7 @@ inline std::size_t bit_count(unsigned long long x)
+ return static_cast<std::size_t>(__builtin_popcountll(x));
+ }
+
+-#elif defined(_MSC_VER)
++#elif defined(_MSC_VER) && !defined(_M_ARM) && !defined(_M_ARM64)
+
+ /** \brief Performs a bit count on the supplied value.
+ *
diff --git a/ports/selene/portfile.cmake b/ports/selene/portfile.cmake
index 97f05a38b..f45c84460 100644
--- a/ports/selene/portfile.cmake
+++ b/ports/selene/portfile.cmake
@@ -8,6 +8,8 @@ vcpkg_from_github(
REF v0.3.1
SHA512 7bc57ebe9e2442da2716eb5c1af11f8d610b0b09fe96e3122d1028575732b6045a987c499bbf7de53003edd627b8809d86c80ea4975fc2264a1c61d5891a46c3
HEAD_REF master
+ PATCHES
+ disable_x86_intrinsics_on_arm.patch
)
vcpkg_configure_cmake(
diff --git a/ports/shiva/CONTROL b/ports/shiva/CONTROL
index ef9154a29..0ce81203d 100644
--- a/ports/shiva/CONTROL
+++ b/ports/shiva/CONTROL
@@ -1,4 +1,4 @@
Source: shiva
-Version: 1.0
+Version: 1.0-2
Description: Modern C++ Game Engine
-Build-Depends: boost-stacktrace, boost-filesystem, boost-dll, entt, lua (windows), luafilesystem (windows), sol2, pybind11, spdlog, nlohmann-json
+Build-Depends: boost-stacktrace, boost-filesystem, boost-dll, entt, lua, luafilesystem (windows), sol2, pybind11, spdlog, nlohmann-json
diff --git a/ports/shiva/portfile.cmake b/ports/shiva/portfile.cmake
index 1f64fa220..372c318e0 100644
--- a/ports/shiva/portfile.cmake
+++ b/ports/shiva/portfile.cmake
@@ -1,5 +1,7 @@
include(vcpkg_common_functions)
+vcpkg_find_acquire_program(PYTHON2)
+
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Milerius/shiva
@@ -11,7 +13,9 @@ vcpkg_from_github(
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
- OPTIONS -DSHIVA_BUILD_TESTS=OFF
+ OPTIONS
+ -DSHIVA_BUILD_TESTS=OFF
+ -DPYTHON_EXECUTABLE=${PYTHON2}
)
vcpkg_install_cmake()
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/simde/CONTROL b/ports/simde/CONTROL
new file mode 100644
index 000000000..7f70f4911
--- /dev/null
+++ b/ports/simde/CONTROL
@@ -0,0 +1,3 @@
+Source: simde
+Version: 2019-06-05
+Description: Implementations of SIMD instruction sets for systems which don't natively support them
diff --git a/ports/simde/portfile.cmake b/ports/simde/portfile.cmake
new file mode 100644
index 000000000..e79594ace
--- /dev/null
+++ b/ports/simde/portfile.cmake
@@ -0,0 +1,16 @@
+# header-only library
+
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO nemequ/simde
+ REF 6e3ba90605361069cf3422c44242c79171b87275
+ SHA512 d62ff40882c2b3a17c900104b36ae77137cbb77917d409cba1c0693fdcf317a38ff3184deaaecca0ef31d88393bebf0102a8ab57a23ad5d0cee2d3e5fe799f6a
+ HEAD_REF master
+)
+
+file(COPY ${SOURCE_PATH}/simde DESTINATION ${CURRENT_PACKAGES_DIR}/include)
+
+# Handle copyright
+configure_file(${SOURCE_PATH}/COPYING ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY)
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/snowhouse/CONTROL b/ports/snowhouse/CONTROL
index b376f4639..ebd1a6192 100644
--- a/ports/snowhouse/CONTROL
+++ b/ports/snowhouse/CONTROL
@@ -1,3 +1,3 @@
Source: snowhouse
-Version: 3.0.1
+Version: 3.1.0
Description: An assertion library for C++
diff --git a/ports/snowhouse/portfile.cmake b/ports/snowhouse/portfile.cmake
index 229a6e5d5..de5fd57e5 100644
--- a/ports/snowhouse/portfile.cmake
+++ b/ports/snowhouse/portfile.cmake
@@ -3,12 +3,12 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO banditcpp/snowhouse
- REF v3.0.1
- SHA512 b20a703e79a2821bdc43b2a235ed7634499f877f9e96bd0d39eb563ce5c94d4577449cc15dc850176a1b44eb55cf3425885cb4d46a92444a7aa3001ce5d0a3eb
+ REF 5a612c248524a3b1bdd388bc0ef5a9ea0d2fa684
+ SHA512 fd737b0f433093246883975ec70a407a62547e768f538e0540ac0634db1578f0ea46979b7055ae428f146499a0df3b1d6292b8d38c22d346476211757a271d21
HEAD_REF master
)
-file(COPY ${SOURCE_PATH}/snowhouse DESTINATION ${CURRENT_PACKAGES_DIR}/include/ FILES_MATCHING PATTERN *.h)
+file(COPY ${SOURCE_PATH}/include/snowhouse DESTINATION ${CURRENT_PACKAGES_DIR}/include/ FILES_MATCHING PATTERN *.h)
file(COPY ${SOURCE_PATH}/LICENSE_1_0.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/snowhouse)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/snowhouse/LICENSE_1_0.txt ${CURRENT_PACKAGES_DIR}/share/snowhouse/copyright) \ No newline at end of file
diff --git a/ports/sol2/CONTROL b/ports/sol2/CONTROL
index eaf829c81..5d702333c 100644
--- a/ports/sol2/CONTROL
+++ b/ports/sol2/CONTROL
@@ -1,4 +1,4 @@
Source: sol2
-Version: 2.20.6
+Version: 3.0.2
Description: Sol v2.0 - a C++ <-> Lua API wrapper with advanced features and top notch performance - is here, and it's great
Build-Depends: lua (windows) \ No newline at end of file
diff --git a/ports/sol2/portfile.cmake b/ports/sol2/portfile.cmake
index 86e653ac6..ee89b9f54 100644
--- a/ports/sol2/portfile.cmake
+++ b/ports/sol2/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO ThePhD/sol2
- REF v2.20.6
- SHA512 293df11ca2e375e60dfa7fd890b3e06aa58c0fd2f45a5a032515a2251b21e9501a2578bada446dd49b35933b69e52db8dfe8498c011e0fde7ecc0655f63ed4ed
+ REF 5a4d7dca7f77e65aed15c0fb8f8acf1570677335
+ SHA512 5fc88a000d7a8379c3c8d8ee2dc3371514c4a58dcc3340b700565278ec69b7be0f108d599e3fe3b3ca347ef7c5b25ac01d83b1a988ac0189c8517b6ae66e96d6
HEAD_REF develop
)
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/spectra/CONTROL b/ports/spectra/CONTROL
index b6380bdd9..6aa712afd 100644
--- a/ports/spectra/CONTROL
+++ b/ports/spectra/CONTROL
@@ -1,4 +1,5 @@
Source: spectra
Version: 0.8.0
-Description: A header-only C++ library for large scale eigenvalue problems https://spectralib.org
+Description: A header-only C++ library for large scale eigenvalue problems
+Homepage: https://spectralib.org
Build-Depends: eigen3
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/sqlite-modern-cpp/CONTROL b/ports/sqlite-modern-cpp/CONTROL
index fde7c2eb1..c3e3b38be 100644
--- a/ports/sqlite-modern-cpp/CONTROL
+++ b/ports/sqlite-modern-cpp/CONTROL
@@ -1,4 +1,4 @@
Source: sqlite-modern-cpp
-Version: 3.2-e2248fa
+Version: 3.2-936cd0c8
Build-Depends: sqlite3
Description: The C++14 wrapper around sqlite library
diff --git a/ports/sqlite-modern-cpp/portfile.cmake b/ports/sqlite-modern-cpp/portfile.cmake
index d51dc0bd2..35b364dde 100644
--- a/ports/sqlite-modern-cpp/portfile.cmake
+++ b/ports/sqlite-modern-cpp/portfile.cmake
@@ -3,9 +3,9 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
- REPO aminroosta/sqlite_modern_cpp
- REF e2248fae15c9e1a240f54d29a148e501f4ea2347
- SHA512 89f0ff234e5600ff5f51cb75934fa71d86b51f4e06f1cf4b7cffc0498985120877f8d58bbdbe02fc3cae212acc071a74cd5a3e44fdaf95c3aeaf79338f43fe9d
+ REPO SqliteModernCpp/sqlite_modern_cpp
+ REF 936cd0c86aacac87a3dab32906397944ae5f6c3d
+ SHA512 8ce1b7593fe77dcab297ab4cae0158b43d55b33c1823b2dc5bf22e5545d9781d675ba5ac82b81782f502b34d2335eee2c26167726746a61a0ad566b657d2faf0
HEAD_REF master
)
diff --git a/ports/sqlitecpp/0001-Find-external-sqlite3.patch b/ports/sqlitecpp/0001-Find-external-sqlite3.patch
index f9473ff53..a59df97ae 100644
--- a/ports/sqlitecpp/0001-Find-external-sqlite3.patch
+++ b/ports/sqlitecpp/0001-Find-external-sqlite3.patch
@@ -1,26 +1,14 @@
-From 495f0f8bf2caf158ffed78e479d68359f51289a2 Mon Sep 17 00:00:00 2001
-From: Stanislav Ershov <digital.stream.of.mind@gmail.com>
-Date: Sat, 6 Jan 2018 11:26:55 +0300
-Subject: [PATCH] Find external sqlite3
-
----
- CMakeLists.txt | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 4a3e492..f7e22a5 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -193,7 +193,8 @@ install(EXPORT ${PROJECT_NAME}Config DESTINATION lib/cmake/${PROJECT_NAME})
- ## Build provided copy of SQLite3 C library ##
-
- # TODO NOCOMMIT
--#find_package(sqlite3)
-+find_package(sqlite3 CONFIG)
-+target_link_libraries(SQLiteCpp PRIVATE sqlite3)
- #if(sqlite3_VERSION VERSION_LESS "3.19")
- # set_target_properties(SQLiteCpp PROPERTIES COMPILE_FLAGS "-DSQLITECPP_HAS_MEM_STRUCT")
- #endif()
---
-2.15.0.windows.1
-
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 00e058c..489b884 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -199,7 +199,8 @@ install(EXPORT ${PROJECT_NAME}Config DESTINATION lib/cmake/${PROJECT_NAME})
+ ## Build provided copy of SQLite3 C library ##
+
+ # TODO
+-#find_package(sqlite3)
++find_package(sqlite3 CONFIG)
++target_link_libraries(SQLiteCpp PRIVATE sqlite3)
+ #if(sqlite3_VERSION VERSION_LESS "3.19")
+ # set_target_properties(SQLiteCpp PROPERTIES COMPILE_FLAGS "-DSQLITECPP_HAS_MEM_STRUCT")
+ #endif()
diff --git a/ports/sqlitecpp/CONTROL b/ports/sqlitecpp/CONTROL
index 3374074d1..ecb0f16e5 100644
--- a/ports/sqlitecpp/CONTROL
+++ b/ports/sqlitecpp/CONTROL
@@ -1,4 +1,4 @@
Source: sqlitecpp
-Version: 2.2-2
+Version: 2.3.0
Build-Depends: sqlite3
Description: SQLiteC++ (SQLiteCpp) is a smart and easy to use C++ SQLite3 wrapper.
diff --git a/ports/sqlitecpp/portfile.cmake b/ports/sqlitecpp/portfile.cmake
index 6876bdf8c..b57573d73 100644
--- a/ports/sqlitecpp/portfile.cmake
+++ b/ports/sqlitecpp/portfile.cmake
@@ -4,9 +4,10 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(OUT_SOURCE_PATH SOURCE_PATH
REPO "SRombauts/SQLiteCpp"
- REF "2.2.0"
+ REF 09dd10886c560ab5af41cfe694567f34c88cd101
HEAD_REF master
- SHA512 769857c50cc24596cbd7c6f057ca1e158a3bfecf00d7865d6ef0b90a2ff8ecb9ccb9e1d0e660bb9df8ecd50075a94a9bc9e3a71b96f2ef1c30780c6da9446cf0)
+ SHA512 d0a440e2e96fca9aac7fe73d46bb6508825a82547dca1e9c93d8c3ca46878fa137e7a2a7a865bcfa641d0236e26307a3342d55fc83578552a37eec7565642d91
+)
vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
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/strict-variant/CONTROL b/ports/strict-variant/CONTROL
index cc8af9ef0..598dd376c 100644
--- a/ports/strict-variant/CONTROL
+++ b/ports/strict-variant/CONTROL
@@ -1,3 +1,3 @@
Source: strict-variant
-Version: v0.5
+Version: 0.5
Description: Tagged union implementation that will never throw an exception or make a dynamic allocation in the effort of supporting types that have throwing moves.
diff --git a/ports/strict-variant/portfile.cmake b/ports/strict-variant/portfile.cmake
index ef0b34361..98108b9b1 100644
--- a/ports/strict-variant/portfile.cmake
+++ b/ports/strict-variant/portfile.cmake
@@ -4,8 +4,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO cbeck88/strict-variant
- REF 5ab330edcb5e3eea67fbedf8ac89648e5bc1e9a1
- SHA512 c80e5cd7cff389174447f5825af57ddea079956b2a4cb89337479e02289e89df19713ff031e914bdff2c823e8d2518311a1118701ae4e173f6557c770e553cd0
+ REF 6378755e3c612cd870c2720232db1e5423dbbe73
+ SHA512 45432caab51d42b86839f5ed194e79630ee5cbedd6e41eaadc10d28788ceb8c4629c0432ce888a5729266585e03cf4e6206c8ec66d1b1bc3d7d60220b3909f1d
HEAD_REF master
)
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/taglib/CONTROL b/ports/taglib/CONTROL
index cc5fdb0f7..fe0567998 100644
--- a/ports/taglib/CONTROL
+++ b/ports/taglib/CONTROL
@@ -1,4 +1,4 @@
Source: taglib
-Version: 1.11.1-4
+Version: 1.11.1-20190531
Description: TagLib Audio Meta-Data Library
Build-Depends: zlib
diff --git a/ports/taglib/portfile.cmake b/ports/taglib/portfile.cmake
index c90d16ca8..4ccb6a9fe 100644
--- a/ports/taglib/portfile.cmake
+++ b/ports/taglib/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO taglib/taglib
- REF 662f340f933077a926de443c9882f483973570e3
- SHA512 34087f77bb099f1f8ec82926a212a562bf589fc13f54eac50a56730c4411af2f4dbf1b7d09877087899048c3070325aea02297c6a94d0ad43fbf6742363dd2b6
+ REF ba7adc2bc261ed634c2a964185bcffb9365ad2f4
+ SHA512 faf516f40f12031a37414ce9246ec409e64e570faebe2d604afdefbb7d665e0a0c9c68bec0e6dcb1c5ceb8fa8e1c3477f5ac75029f17beedd679fa3ea735ce6d
HEAD_REF master
)
diff --git a/ports/tbb/CONTROL b/ports/tbb/CONTROL
index 50bc78830..70e21589a 100644
--- a/ports/tbb/CONTROL
+++ b/ports/tbb/CONTROL
@@ -1,3 +1,3 @@
Source: tbb
-Version: 2019_U6
+Version: 2019_U7
Description: Intel's Threading Building Blocks.
diff --git a/ports/tbb/portfile.cmake b/ports/tbb/portfile.cmake
index 024dc67a6..119916757 100644
--- a/ports/tbb/portfile.cmake
+++ b/ports/tbb/portfile.cmake
@@ -6,9 +6,9 @@ endif()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
- REPO 01org/tbb
- REF 2019_U6
- SHA512 6513d30a498f507cb3e9a06746e430a8bc829de0d204b15d7a79f79c5e7565e59bb0b459c8ca4946293ecb25e2ce11d25cfc7f311e91c7e67342eceb31000d07
+ REPO intel/tbb
+ REF 4233fef583b4f8cbf9f781311717600feaaa0694
+ SHA512 6eb239f16e0ecacb825264869aafad7fb39aa1b1f8a3c03c92344c4255d1c1a34ca0a47a366c471fd2da808f3be14262c7e2305294677f2f490c1a48f6f76ec3
HEAD_REF tbb_2019
)
diff --git a/ports/tesseract/CONTROL b/ports/tesseract/CONTROL
index 7bb758e6e..11ff55640 100644
--- a/ports/tesseract/CONTROL
+++ b/ports/tesseract/CONTROL
@@ -1,4 +1,4 @@
Source: tesseract
-Version: 4.0.0-1
+Version: 4.0.0-2
Description: An OCR Engine that was developed at HP Labs between 1985 and 1995... and now at Google.
Build-Depends: leptonica, icu
diff --git a/ports/tesseract/portfile.cmake b/ports/tesseract/portfile.cmake
index 0c783d78e..d21908b19 100644
--- a/ports/tesseract/portfile.cmake
+++ b/ports/tesseract/portfile.cmake
@@ -8,14 +8,10 @@ vcpkg_from_github(
REF 4.0.0
SHA512 69e57d4ba1fc43d212fd0fff69a2b5d48a3b37cfee7054fdc083cbb7e04d92317609a32e457229661d70ce8d9b16c9d25e81bfc3861db660dd2c8f292202d447
HEAD_REF master
-)
-
-vcpkg_apply_patches(
- SOURCE_PATH ${SOURCE_PATH}
PATCHES
- ${CMAKE_CURRENT_LIST_DIR}/use-vcpkg-icu.patch
- ${CMAKE_CURRENT_LIST_DIR}/ws2-32.patch
- ${CMAKE_CURRENT_LIST_DIR}/leptonica.patch
+ use-vcpkg-icu.patch
+ ws2-32.patch
+ leptonica.patch
)
# The built-in cmake FindICU is better
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/think-cell-range/CONTROL b/ports/think-cell-range/CONTROL
index 120f2c884..985f07175 100644
--- a/ports/think-cell-range/CONTROL
+++ b/ports/think-cell-range/CONTROL
@@ -1,5 +1,6 @@
Source: think-cell-range
Maintainer: jfrederich@gmail.com
Version: 498839d-1
-Description: think-cell's range library <https://think-cell.com>, <https://github.com/think-cell/range>, <https://www.think-cell.com/en/career/talks/ranges/#1>
+Description: think-cell's range library
+Homepage: https://github.com/think-cell/range
Build-Depends: boost
diff --git a/ports/tiff/CONTROL b/ports/tiff/CONTROL
index 97d25bcdb..d4ad07dc6 100644
--- a/ports/tiff/CONTROL
+++ b/ports/tiff/CONTROL
@@ -1,4 +1,4 @@
Source: tiff
-Version: 4.0.10-4
-Build-Depends: zlib, libjpeg-turbo, liblzma (!uwp)
+Version: 4.0.10-6
+Build-Depends: zlib, libjpeg-turbo, liblzma
Description: A library that supports the manipulation of TIFF image files
diff --git a/ports/tiff/add-component-options.patch b/ports/tiff/add-component-options.patch
deleted file mode 100644
index 513d37ad6..000000000
--- a/ports/tiff/add-component-options.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 1ee6fd4..439e26a 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -122,6 +122,11 @@ set(EXTRA_DIST
- nmake.opt
- libtiff-4.pc.in)
-
-+option(BUILD_TOOLS "Build tool executables" ON)
-+option(BUILD_DOCS "Build docs" ON)
-+option(BUILD_CONTRIB "Build contributed executables" ON)
-+option(BUILD_TESTS "Build tests" ON)
-+
- # These are annoyingly verbose, produce false positives or don't work
- # nicely with all supported compiler versions, so are disabled unless
- # explicitly enabled.
-@@ -719,12 +724,20 @@ endif()
- # Process subdirectories
- add_subdirectory(port)
- add_subdirectory(libtiff)
--add_subdirectory(tools)
--add_subdirectory(test)
--add_subdirectory(contrib)
--add_subdirectory(build)
--add_subdirectory(man)
--add_subdirectory(html)
-+if(BUILD_TOOLS)
-+ add_subdirectory(tools)
-+endif()
-+if(BUILD_TESTS)
-+ add_subdirectory(test)
-+endif()
-+if(BUILD_CONTRIB)
-+ add_subdirectory(contrib)
-+endif()
-+if(BUILD_DOCS)
-+ add_subdirectory(build)
-+ add_subdirectory(man)
-+ add_subdirectory(html)
-+endif()
-
- #message(STATUS "EXTRA_DIST: ${EXTRA_DIST}")
-
diff --git a/ports/tiff/cmakelists.patch b/ports/tiff/cmakelists.patch
new file mode 100644
index 000000000..597c980c5
--- /dev/null
+++ b/ports/tiff/cmakelists.patch
@@ -0,0 +1,99 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 845ddf0..9ccb9b3 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -181,9 +181,7 @@ foreach(flag ${test_flags})
+ endif (${test_c_flag})
+ endforeach(flag ${test_flags})
+
+-if(MSVC)
+- set(CMAKE_DEBUG_POSTFIX "d")
+-endif()
++set(CMAKE_DEBUG_POSTFIX "d")
+
+ option(ld-version-script "Enable linker version script" ON)
+ # Check if LD supports linker scripts.
+@@ -601,12 +599,15 @@ check_include_file(OpenGL/gl.h HAVE_OPENGL_GL_H)
+ check_include_file(OpenGL/glu.h HAVE_OPENGL_GLU_H)
+
+ # Win32 IO
+-set(win32_io FALSE)
+-if(WIN32)
+- set(win32_io TRUE)
++set(USE_WIN32_FILEIO FALSE CACHE BOOL "")
++if(MSVC)
++ if (NOT CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") #on UWP we use the unix I/O api
++ set(USE_WIN32_FILEIO TRUE CACHE BOOL "" FORCE)
++ add_definitions(-DUSE_WIN32_FILEIO)
++ endif()
++ add_definitions(-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS /wd4996)
+ endif()
+
+-set(USE_WIN32_FILEIO ${win32_io})
+
+ # Orthogonal features
+
+@@ -708,16 +709,28 @@ endif()
+
+ #report_values(TIFF_INCLUDES TIFF_LIBRARY_DEPS)
+
++option(BUILD_TOOLS "Build tool executables" ON)
++option(BUILD_DOCS "Build docs" ON)
++option(BUILD_CONTRIB "Build contributed executables" ON)
++option(BUILD_TESTS "Build tests" ON)
++
+ # Process subdirectories
+ add_subdirectory(port)
+ add_subdirectory(libtiff)
+-add_subdirectory(tools)
+-add_subdirectory(test)
+-add_subdirectory(contrib)
+-add_subdirectory(build)
+-add_subdirectory(man)
+-add_subdirectory(html)
+-
++if(BUILD_TOOLS)
++ add_subdirectory(tools)
++endif()
++if(BUILD_TESTS)
++ add_subdirectory(test)
++endif()
++if(BUILD_CONTRIB)
++ add_subdirectory(contrib)
++endif()
++if(BUILD_DOCS)
++ add_subdirectory(build)
++ add_subdirectory(man)
++ add_subdirectory(html)
++endif()
+ #message(STATUS "EXTRA_DIST: ${EXTRA_DIST}")
+
+ message(STATUS "")
+diff --git a/libtiff/CMakeLists.txt b/libtiff/CMakeLists.txt
+index 1cf1b75..4ee29f6 100644
+--- a/libtiff/CMakeLists.txt
++++ b/libtiff/CMakeLists.txt
+@@ -104,11 +104,11 @@ set(tiffxx_HEADERS
+ set(tiffxx_SOURCES
+ tif_stream.cxx)
+
+-if(WIN32_IO)
+- extra_dist(tif_unix.c)
++if(USE_WIN32_FILEIO)
++ extra_dist(tif_win32.c)
+ list(APPEND tiff_SOURCES tif_win32.c)
+ else()
+- extra_dist(tif_win32.c)
++ extra_dist(tif_unix.c)
+ list(APPEND tiff_SOURCES tif_unix.c)
+ endif()
+
+@@ -143,7 +143,7 @@ install(FILES ${tiff_HEADERS} ${nodist_tiff_HEADERS}
+ DESTINATION "${CMAKE_INSTALL_FULL_INCLUDEDIR}")
+
+ if(CXX_SUPPORT)
+- add_library(tiffxx ${tiffxx_SOURCES} ${tiffxx_HEADERS})
++ add_library(tiffxx STATIC ${tiffxx_SOURCES} ${tiffxx_HEADERS})
+ target_link_libraries(tiffxx tiff)
+ set_target_properties(tiffxx PROPERTIES SOVERSION ${SO_COMPATVERSION})
+ if(NOT CYGWIN)
diff --git a/ports/tiff/crt-secure-no-deprecate.patch b/ports/tiff/crt-secure-no-deprecate.patch
deleted file mode 100644
index 476a931a9..000000000
--- a/ports/tiff/crt-secure-no-deprecate.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 439e26a..05416d8 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -187,6 +187,7 @@ endforeach(flag ${test_flags})
-
- if(MSVC)
- set(CMAKE_DEBUG_POSTFIX "d")
-+ add_definitions(-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS /wd4996)
- endif()
-
- option(ld-version-script "Enable linker version script" ON)
diff --git a/ports/tiff/fix-cxx-shared-libs.patch b/ports/tiff/fix-cxx-shared-libs.patch
deleted file mode 100644
index 37389ca81..000000000
--- a/ports/tiff/fix-cxx-shared-libs.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From 4370dea04189fb9d9a94e1f4ee96ef2d24937fc9 Mon Sep 17 00:00:00 2001
-From: Mikhail Paulyshka <me@mixaill.tk>
-Date: Thu, 23 Mar 2017 17:55:14 +0300
-Subject: [PATCH] fix shared libs building
-
----
- libtiff/CMakeLists.txt | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/libtiff/CMakeLists.txt b/libtiff/CMakeLists.txt
-index 087dfa9..20fa8b4 100644
---- a/libtiff/CMakeLists.txt
-+++ b/libtiff/CMakeLists.txt
-@@ -142,6 +142,7 @@ if(cxx)
- add_library(tiffxx ${tiffxx_SOURCES} ${tiffxx_HEADERS})
- target_link_libraries(tiffxx tiff)
- set_target_properties(tiffxx PROPERTIES SOVERSION ${SO_COMPATVERSION})
-+ set_target_properties(tiffxx PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON)
- if(NOT CYGWIN)
- # This property causes shared libraries on Linux to have the full version
- # encoded into their final filename. We disable this on Cygwin because
---
-2.11.0.windows.1
diff --git a/ports/tiff/portfile.cmake b/ports/tiff/portfile.cmake
index 3a0ee0b8a..d36dce238 100644
--- a/ports/tiff/portfile.cmake
+++ b/ports/tiff/portfile.cmake
@@ -2,22 +2,19 @@ include(vcpkg_common_functions)
set(LIBTIFF_VERSION 4.0.10)
-vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
-
vcpkg_download_distfile(ARCHIVE
URLS "http://download.osgeo.org/libtiff/tiff-${LIBTIFF_VERSION}.tar.gz"
FILENAME "tiff-${LIBTIFF_VERSION}.tar.gz"
SHA512 d213e5db09fd56b8977b187c5a756f60d6e3e998be172550c2892dbdb4b2a8e8c750202bc863fe27d0d1c577ab9de1710d15e9f6ed665aadbfd857525a81eea8
)
+
vcpkg_extract_source_archive_ex(
OUT_SOURCE_PATH SOURCE_PATH
ARCHIVE ${ARCHIVE}
REF ${LIBTIFF_VERSION}
PATCHES
- add-component-options.patch
- fix-cxx-shared-libs.patch
- crt-secure-no-deprecate.patch
fix-stddef.patch
+ cmakelists.patch
)
if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm")
@@ -46,19 +43,9 @@ file(REMOVE_RECURSE
${CURRENT_PACKAGES_DIR}/debug/share
${CURRENT_PACKAGES_DIR}/share
)
-file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/tiff)
-configure_file(
- ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake
- ${CURRENT_PACKAGES_DIR}/share/tiff
- @ONLY
-)
-file(INSTALL
- ${SOURCE_PATH}/COPYRIGHT
- DESTINATION ${CURRENT_PACKAGES_DIR}/share/tiff
- RENAME copyright
-)
-file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/tiff)
-vcpkg_copy_pdbs()
-vcpkg_test_cmake(PACKAGE_NAME TIFF MODULE)
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/tiff)
+file(INSTALL ${SOURCE_PATH}/COPYRIGHT DESTINATION ${CURRENT_PACKAGES_DIR}/share/tiff RENAME copyright)
+
+vcpkg_copy_pdbs()
diff --git a/ports/tiff/usage b/ports/tiff/usage
deleted file mode 100644
index 6b2f0f89e..000000000
--- a/ports/tiff/usage
+++ /dev/null
@@ -1,4 +0,0 @@
-The package tiff is compatible with built-in CMake targets:
-
- find_package(TIFF REQUIRED)
- target_link_libraries(main PRIVATE TIFF::TIFF)
diff --git a/ports/tiff/vcpkg-cmake-wrapper.cmake b/ports/tiff/vcpkg-cmake-wrapper.cmake
index c950b512b..a35deceee 100644
--- a/ports/tiff/vcpkg-cmake-wrapper.cmake
+++ b/ports/tiff/vcpkg-cmake-wrapper.cmake
@@ -1,17 +1,23 @@
_find_package(${ARGS})
-find_package(LibLZMA)
+find_package(LibLZMA CONFIG)
find_package(JPEG)
find_package(ZLIB)
if(TARGET TIFF::TIFF)
- set_property(TARGET TIFF::TIFF APPEND PROPERTY INTERFACE_LINK_LIBRARIES ${LIBLZMA_LIBRARIES} JPEG::JPEG ZLIB::ZLIB)
+ set_property(TARGET TIFF::TIFF APPEND PROPERTY INTERFACE_LINK_LIBRARIES LibLZMA::LibLZMA JPEG::JPEG ZLIB::ZLIB)
if(UNIX)
set_property(TARGET TIFF::TIFF APPEND PROPERTY INTERFACE_LINK_LIBRARIES m)
endif()
endif()
if(TIFF_LIBRARIES)
- list(APPEND TIFF_LIBRARIES ${LIBLZMA_LIBRARIES} ${JPEG_LIBRARIES} ${ZLIB_LIBRARIES})
+ list(APPEND TIFF_LIBRARIES ${LZMA_LIBRARIES} ${JPEG_LIBRARIES} ${ZLIB_LIBRARIES})
if(UNIX)
list(APPEND TIFF_LIBRARIES m)
endif()
endif()
+if(TIFF_LIBRARY)
+ list(APPEND TIFF_LIBRARY ${LZMA_LIBRARIES} ${JPEG_LIBRARIES} ${ZLIB_LIBRARIES})
+ if(UNIX)
+ list(APPEND TIFF_LIBRARY m)
+ endif()
+endif()
diff --git a/ports/tinyobjloader/CONTROL b/ports/tinyobjloader/CONTROL
index 8ec7ef7a7..f80f52f96 100644
--- a/ports/tinyobjloader/CONTROL
+++ b/ports/tinyobjloader/CONTROL
@@ -1,3 +1,3 @@
Source: tinyobjloader
-Version: 1.4.1-1
+Version: 1.0.7
Description: Tiny but powerful single file wavefront obj loader
diff --git a/ports/tinyobjloader/portfile.cmake b/ports/tinyobjloader/portfile.cmake
index ee6d64dc7..b33a2dd74 100644
--- a/ports/tinyobjloader/portfile.cmake
+++ b/ports/tinyobjloader/portfile.cmake
@@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO syoyo/tinyobjloader
- REF v1.4.1
- SHA512 5b18fed89435a95fb3fc89829ea6904b4cc4508b0907642b39194e3e3c55678ddc1c07687e4b7ea171f270f7188ca593ed53b828c022667e54a889c36c60373e
+ REF v1.0.7
+ SHA512 e88554ead20354da443489e1b6576b328e92b2e6665071df9b6473b38c34c036dbffb6655330e970c01ccf7f99bbd4f9f5418ce48a14239576ec5e0513256637
HEAD_REF master
)
diff --git a/ports/treehopper/CONTROL b/ports/treehopper/CONTROL
index 4435c6cce..673e0cb7c 100644
--- a/ports/treehopper/CONTROL
+++ b/ports/treehopper/CONTROL
@@ -1,3 +1,4 @@
Source: treehopper
Version: 1.11.3-2
-Description: Treehopper connects the physical world to your computer, tablet, or smartphone. For more information, visit https://treehopper.io.
+Description: Treehopper connects the physical world to your computer, tablet, or smartphone.
+Homepage: https://treehopper.io
diff --git a/ports/trompeloeil/CONTROL b/ports/trompeloeil/CONTROL
index ee0305d51..b00d5f8aa 100644
--- a/ports/trompeloeil/CONTROL
+++ b/ports/trompeloeil/CONTROL
@@ -1,4 +1,4 @@
Source: trompeloeil
Version: 34
Description: A thread-safe header-only mocking framework for C++11/14 using the Boost Software License 1.0
- For issues/pull requests/questions visit https://github.com/rollbear/trompeloeil
+Homepage: https://github.com/rollbear/trompeloeil
diff --git a/ports/umock-c/CONTROL b/ports/umock-c/CONTROL
index a04bdc73b..108a1dfd1 100644
--- a/ports/umock-c/CONTROL
+++ b/ports/umock-c/CONTROL
@@ -1,5 +1,5 @@
Source: umock-c
-Version: 2019-05-16
+Version: 2019-05-16.1
Description: A pure C mocking library
Build-Depends: azure-macro-utils-c
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/urdfdom-headers/CONTROL b/ports/urdfdom-headers/CONTROL
index 1f16764c1..4eb0a976b 100644
--- a/ports/urdfdom-headers/CONTROL
+++ b/ports/urdfdom-headers/CONTROL
@@ -1,3 +1,3 @@
Source: urdfdom-headers
-Version: 1.0.3
+Version: 1.0.4
Description: The URDF (U-Robot Description Format) headers provides core data structure headers for URDF.
diff --git a/ports/urdfdom-headers/portfile.cmake b/ports/urdfdom-headers/portfile.cmake
index 404498b1c..8670716f3 100644
--- a/ports/urdfdom-headers/portfile.cmake
+++ b/ports/urdfdom-headers/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO ros/urdfdom_headers
- REF 1.0.3
- SHA512 44b1ca9724a9ccd5d2ad51f61d36de19b9a893955ad5c3ecfa2356f6468a0ac140b8cd6fa2aa18c163b0fa8ba87e834358369d2470cd3dee474408113a30b7a0
+ REF 00c1c9c231e46b2300d04073ad696521758fa45c
+ SHA512 8622cfad074454ae34be3e77c37b201adeb0e348df251e1c2fd57f35ae24817bbd2880a9c465056976eb8815fda041ba2fbd70ccb7cac6efc5ed3d7a082e80ef
HEAD_REF master
)
diff --git a/ports/uvatlas/CONTROL b/ports/uvatlas/CONTROL
index 605f15071..c028ad14e 100644
--- a/ports/uvatlas/CONTROL
+++ b/ports/uvatlas/CONTROL
@@ -1,3 +1,3 @@
Source: uvatlas
-Version: sept2016-1
+Version: apr2019
Description: UVAtlas isochart texture atlas \ No newline at end of file
diff --git a/ports/uvatlas/portfile.cmake b/ports/uvatlas/portfile.cmake
index e1a1a189f..df0d322b3 100644
--- a/ports/uvatlas/portfile.cmake
+++ b/ports/uvatlas/portfile.cmake
@@ -9,8 +9,8 @@ endif()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Microsoft/UVAtlas
- REF sept2016
- SHA512 326af26c151620cd5082daf3913cf3fbe7bca7d1aaf5cc44cacff54319ffe79b728c24519187c3f9393a846430d0fb9493ffe9473f87d220f5c9ae7dab73f69f
+ REF 8309d95904d3a8f3559d73e07f3a0472f161c28b
+ SHA512 e0031812824f179dffdec487b2e70fc80748a722c4bccf67a7e0bd865700b6e61e1f14160557a1a797a84a9e7cc559f5e66bd8cabd5da4728ee479e4247d9aa2
HEAD_REF master
)
@@ -48,5 +48,5 @@ file(INSTALL
DESTINATION ${CURRENT_PACKAGES_DIR}/tools/uvatlas/)
# Handle copyright
-file(COPY ${SOURCE_PATH}/MIT.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/uvatlas)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/uvatlas/MIT.txt ${CURRENT_PACKAGES_DIR}/share/uvatlas/copyright)
+file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/uvatlas)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/uvatlas/LICENSE ${CURRENT_PACKAGES_DIR}/share/uvatlas/copyright)
diff --git a/ports/uvw/CONTROL b/ports/uvw/CONTROL
index 7c705cb5e..0db70d086 100644
--- a/ports/uvw/CONTROL
+++ b/ports/uvw/CONTROL
@@ -1,4 +1,5 @@
Source: uvw
Version: 1.17.0_libuv-v1.29
-Description: Header-only, event based, tiny and easy to use libuv wrapper in modern C++. <https://github.com/skypjack/uvw>
+Description: Header-only, event based, tiny and easy to use libuv wrapper in modern C++.
+Homepage: https://github.com/skypjack/uvw
Build-Depends: libuv
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/vlpp/CMakeLists.txt b/ports/vlpp/CMakeLists.txt
index d5fec60c4..f8df1b338 100644
--- a/ports/vlpp/CMakeLists.txt
+++ b/ports/vlpp/CMakeLists.txt
@@ -1,12 +1,13 @@
cmake_minimum_required(VERSION 3.3.0)
-project(Vlpp VERSION 0.9.3.1 LANGUAGES CXX)
+project(Vlpp VERSION 0.10.0.0 LANGUAGES CXX)
# Sources
set(SRCS
Import/Vlpp.cpp
- Import/VlppWorkflow.cpp
- Import/VlppWorkflowCompiler.cpp)
+ Import/VlppWorkflowLibrary.cpp
+ Import/VlppWorkflowCompiler.cpp
+ Import/VlppWorkflowRuntime.cpp)
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /bigobj")
@@ -33,8 +34,9 @@ if (NOT DEFINED SKIP_HEADERS)
install(
FILES
Import/Vlpp.h
- Import/VlppWorkflow.h
+ Import/VlppWorkflowLibrary.h
Import/VlppWorkflowCompiler.h
+ Import/VlppWorkflowRuntime.h
DESTINATION "include"
)
endif()
diff --git a/ports/vlpp/CONTROL b/ports/vlpp/CONTROL
index 680cd2b28..13a64dfc8 100644
--- a/ports/vlpp/CONTROL
+++ b/ports/vlpp/CONTROL
@@ -1,3 +1,3 @@
Source: vlpp
-Version: 0.9.3.1-2
+Version: 0.10.0.0
Description: Common C++ construction, including string operation / generic container / linq / General-LR parser generator / multithreading / reflection for C++ / etc
diff --git a/ports/vlpp/portfile.cmake b/ports/vlpp/portfile.cmake
index a54bdfe04..4b44ea53e 100644
--- a/ports/vlpp/portfile.cmake
+++ b/ports/vlpp/portfile.cmake
@@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO vczh-libraries/Release
- REF 0.9.3.1
- SHA512 f284d3c78f8ae54102457b2cdc4fcee4b8da9a72d13bb325c7c7269261c5b0789eeb7340b0409b2b37294d68edb558503be131948aea3cb53582900339d26b54
+ REF 579f51f5b30197386ccadcf0f3e0a3159ef3602f
+ SHA512 89cd5c86d04bc393180846c10e1122d01cd4d3ad041ca7e9199341bdc758903edf7b892a424a3b90aa2753bfede230ff3434cefd7f2fefefafa7959f5b8660d4
HEAD_REF master
)
diff --git a/ports/vxl/CONTROL b/ports/vxl/CONTROL
index 84fcd2bd1..a24672f83 100644
--- a/ports/vxl/CONTROL
+++ b/ports/vxl/CONTROL
@@ -1,5 +1,8 @@
Source: vxl
-Version: v1.18.0-3
-Build-Depends: bzip2, libgeotiff, libjpeg-turbo, libpng, tiff, zlib, expat, shapelib
-# Build-Depends: bzip2, dcmtk, libgeotiff, libjpeg-turbo, openjpeg, libpng, tiff, zlib
+Version: v1.18.0-4
+Build-Depends: bzip2, expat, libgeotiff, libjpeg-turbo, libpng, shapelib, tiff, zlib
+# Build-Depends: bzip2, dcmtk, expat, libgeotiff, libjpeg-turbo, openjpeg, libpng, shapelib, tiff, zlib
Description: A multi-platform collection of C++ software libraries for Computer Vision and Image Understanding.
+
+Feature: core_imaging
+Description: core_imaging support for vxl
diff --git a/ports/vxl/fix_dependency.patch b/ports/vxl/fix_dependency.patch
new file mode 100644
index 000000000..1c8e2ad54
--- /dev/null
+++ b/ports/vxl/fix_dependency.patch
@@ -0,0 +1,13 @@
+diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt
+index b6af7c2..7ca75d3 100644
+--- a/core/CMakeLists.txt
++++ b/core/CMakeLists.txt
+@@ -100,7 +100,7 @@ endif()
+
+
+ # coordinate systems
+-if(BUILD_CORE_GEOMETRY AND BUILD_CORE_NUMERICS)
++if(BUILD_CORE_GEOMETRY AND BUILD_CORE_NUMERICS AND BUILD_CORE_IMAGING)
+ add_subdirectory(vcsl)
+ add_subdirectory(vpgl)
+ endif()
diff --git a/ports/vxl/portfile.cmake b/ports/vxl/portfile.cmake
index 9735f144b..ea61e081e 100644
--- a/ports/vxl/portfile.cmake
+++ b/ports/vxl/portfile.cmake
@@ -1,7 +1,12 @@
include(vcpkg_common_functions)
-if(EXISTS "${CURRENT_INSTALLED_DIR}/include/openjpeg.h")
- message(FATAL_ERROR "Can't build VXL with non built-in OpenJpeg in current version. Please remove OpenJpeg, and try install VXL again.")
+set(BUILD_CORE_IMAGING OFF)
+if("core_imaging" IN_LIST FEATURES)
+ set(BUILD_CORE_IMAGING ON)
+ if(EXISTS "${CURRENT_INSTALLED_DIR}/include/openjpeg.h")
+ set(BUILD_CORE_IMAGING OFF)
+ message(WARNING "Can't build VXL CORE_IMAGING features with non built-in OpenJpeg. Please remove OpenJpeg, and try install VXL again if you need them.")
+ endif()
endif()
vcpkg_from_github(
@@ -10,6 +15,8 @@ vcpkg_from_github(
REF v1.18.0
SHA512 6666d647b2e7010b91cb0b05016b5f49ae46d198f6bd160fe13fc09bc674eff5b937331fa11d81a8496473968b63452d950eee4fc2512152af57304a14bed63f
HEAD_REF master
+ PATCHES
+ fix_dependency.patch
)
set(USE_WIN_WCHAR_T OFF)
@@ -23,6 +30,7 @@ vcpkg_configure_cmake(
OPTIONS
-DBUILD_EXAMPLES=OFF
-DBUILD_TESTING=OFF
+ -DBUILD_CORE_IMAGING=${BUILD_CORE_IMAGING}
-DVXL_FORCE_V3P_BZLIB2=OFF
-DVXL_USING_NATIVE_BZLIB2=TRUE # for disable build built-in bzip2 (v3p/bzlib/CMakeLists.txt#L10-L26)
-DVXL_FORCE_V3P_CLIPPER=ON # TODO : need add clipper port to turn off
@@ -48,4 +56,4 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
file(INSTALL ${SOURCE_PATH}/core/vxl_copyright.h DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
-# \ No newline at end of file
+#
diff --git a/ports/wangle/CONTROL b/ports/wangle/CONTROL
index f4a10f007..6484356ba 100644
--- a/ports/wangle/CONTROL
+++ b/ports/wangle/CONTROL
@@ -1,4 +1,4 @@
Source: wangle
-Version: 2019.05.13.00
+Version: 2019.05.20.00
Build-Depends: fizz, folly, openssl, glog, libevent, double-conversion, boost-system, boost-thread, boost-filesystem, boost-regex, boost-context
Description: Wangle is a framework providing a set of common client/server abstractions for building services in a consistent, modular, and composable way.
diff --git a/ports/wangle/portfile.cmake b/ports/wangle/portfile.cmake
index 443cdbce9..44dc8f9f3 100644
--- a/ports/wangle/portfile.cmake
+++ b/ports/wangle/portfile.cmake
@@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO facebook/wangle
- REF v2019.05.13.00
- SHA512 17cc164634d3bec5059abed8f28a8d5e76b6bf3475ee848c0fc0e88c59ce82d1257555a86c638484d81795b2e8f582a8559e13a195c38bdd88ae73e3a5684ffc
+ REF 19300a75c27759339c44cf06ecedf7ab00703e8b
+ SHA512 cc9a5a956862e9d4321df7c0394fbb877c5f0b0f8eae1da6aad88239a2cc0b4cd694bd25e0f70f3da8a24c34f4f035bcfb53919fd99634219e0816c78477cee2
HEAD_REF master
PATCHES
build.patch
diff --git a/ports/wil/CONTROL b/ports/wil/CONTROL
index 3db06e5b9..8b589c8af 100644
--- a/ports/wil/CONTROL
+++ b/ports/wil/CONTROL
@@ -1,3 +1,3 @@
Source: wil
-Version: 2019-05-08
+Version: 2019-06-10
Description: The Windows Implementation Libraries (WIL) is a header-only C++ library created to make life easier for developers on Windows through readable type-safe C++ interfaces for common Windows coding patterns. \ No newline at end of file
diff --git a/ports/wil/portfile.cmake b/ports/wil/portfile.cmake
index 369280920..c54e097ca 100644
--- a/ports/wil/portfile.cmake
+++ b/ports/wil/portfile.cmake
@@ -4,8 +4,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Microsoft/wil
- REF 43613517258fbd94182e195b1a4887420ed74b31
- SHA512 cf15c8571d81b837b2ce4083d7e70d738698ff5ef99a7e99daa96618463281fc8e6642f1703d3b96de7208f7720ecf4108f6ed09b33d2980c2b609dc70fd4653
+ REF 607e3c44797e18ae050907114601a31883489254
+ SHA512 78d14f48a0d6629d72b6007e20ce4a14855667d0f9f8240b66a8cc135e079fca97926db6fc18852cd932f80b1b5a55c08cb48ca999fa9327f7e9c0586ea3ecc7
HEAD_REF master
)
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/xeus/CONTROL b/ports/xeus/CONTROL
index 3deb2ca48..c85f193c3 100644
--- a/ports/xeus/CONTROL
+++ b/ports/xeus/CONTROL
@@ -1,4 +1,4 @@
Source: xeus
-Version: 0.19.1-1
+Version: 0.19.2
Description: C++ implementation of the Jupyter kernel protocol
Build-Depends: cppzmq, libuuid (linux), nlohmann-json, openssl, xtl, zeromq
diff --git a/ports/xeus/portfile.cmake b/ports/xeus/portfile.cmake
index ac1dcff01..f040af0c7 100644
--- a/ports/xeus/portfile.cmake
+++ b/ports/xeus/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO QuantStack/xeus
- REF 0.19.1
- SHA512 1f42cf3b5007fef957c259eee58bdc5d6b812dd32ca316823e33837d3802df0675f778a9c8f2fb97e9ff982c584229d3733e5894684e75498cc244e9c29df209
+ REF 4bc3d2017fcf35ee6e69babf9be1e463483cd11c
+ SHA512 6f68f564a3dfaab5fdfbf9778602c75c883d761e8dd00a4b19f3f57c16e87b8252d40479abdd8eedb350799479e3213f16010176da286e5c3e6c9b9e76e6793d
HEAD_REF master
)
diff --git a/ports/xmsh/portfile.cmake b/ports/xmsh/portfile.cmake
index 51897e6bd..285205b61 100644
--- a/ports/xmsh/portfile.cmake
+++ b/ports/xmsh/portfile.cmake
@@ -4,7 +4,7 @@ vcpkg_find_acquire_program(PYTHON3)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
- REPO nagzira/xmsh
+ REPO libxmsh/xmsh
REF v0.4.1
SHA512 7bd9fe9e565b33722fec37a7e3d9bd8b7b132692add5d26e31954367fb284b49a26a21532ddcb0e425af7f8208e755f21f2d8de81b33ed2a1149724f4ccd2c38
HEAD_REF master
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/z3/CONTROL b/ports/z3/CONTROL
index 9a64766a9..861c3eab4 100644
--- a/ports/z3/CONTROL
+++ b/ports/z3/CONTROL
@@ -1,3 +1,3 @@
Source: z3
-Version: 4.8.4-1
+Version: 4.8.5
Description: An SMT solver
diff --git a/ports/z3/fix-install-path.patch b/ports/z3/fix-install-path.patch
index 76912da62..170ca085a 100644
--- a/ports/z3/fix-install-path.patch
+++ b/ports/z3/fix-install-path.patch
@@ -1,116 +1,85 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 9877af8..10ef458 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -675,7 +675,7 @@ install(EXPORT
- Z3_EXPORTED_TARGETS
- FILE "Z3Targets.cmake"
- NAMESPACE z3::
-- DESTINATION "${CMAKE_INSTALL_Z3_CMAKE_PACKAGE_DIR}"
-+ DESTINATION share/z3
- )
- set(Z3_INSTALL_TREE_CMAKE_CONFIG_FILE "${CMAKE_BINARY_DIR}/cmake/Z3Config.cmake")
- set(Z3_FIRST_PACKAGE_INCLUDE_DIR "${CMAKE_INSTALL_INCLUDEDIR}")
-@@ -700,7 +700,7 @@ unset(CONFIG_FILE_TYPE)
- # Add install rule to install ${Z3_INSTALL_TREE_CMAKE_CONFIG_FILE}
- install(
- FILES "${Z3_INSTALL_TREE_CMAKE_CONFIG_FILE}"
-- DESTINATION "${CMAKE_INSTALL_Z3_CMAKE_PACKAGE_DIR}"
-+ DESTINATION share/z3
- )
-
- # TODO: Provide a `Z3Version.cmake` file so that clients can specify the version
-diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
-index b097126..e127bef 100644
---- a/doc/CMakeLists.txt
-+++ b/doc/CMakeLists.txt
-@@ -88,6 +88,6 @@ set(CMAKE_INSTALL_API_BINDINGS_DOC
- if (INSTALL_API_BINDINGS_DOCUMENTATION)
- install(
- DIRECTORY "${DOC_DEST_DIR}"
-- DESTINATION "${CMAKE_INSTALL_API_BINDINGS_DOC}"
-+ DESTINATION share/z3
- )
- endif()
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index c497c19..0b0e081 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -173,7 +173,8 @@ install(TARGETS libz3
- EXPORT Z3_EXPORTED_TARGETS
- LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
- ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" # On Windows this installs ``libz3.lib`` which CMake calls the "corresponding import library". Do we want this installed?
-- RUNTIME DESTINATION "${CMAKE_INSTALL_LIBDIR}" # For Windows. DLLs are runtime targets for CMake
-+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" # For Windows. DLLs are runtime targets for CMake
-+ BUNDLE DESTINATION "${CMAKE_INSTALL_BINDIR}" # For MACOSX.
- PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
- )
-
-diff --git a/src/api/dotnet/CMakeLists.txt b/src/api/dotnet/CMakeLists.txt
-index 20621e4..57bb3f0 100644
---- a/src/api/dotnet/CMakeLists.txt
-+++ b/src/api/dotnet/CMakeLists.txt
-@@ -257,7 +257,7 @@ if (DOTNET_TOOLCHAIN_IS_MONO)
- message(STATUS "Emitting install rules for .NET bindings")
- # Install pkgconfig file for the assembly. This is needed by Monodevelop
- # to find the assembly
-- install(FILES "${Z3_DOTNET_PKGCONFIG_FILE}" DESTINATION "${CMAKE_INSTALL_PKGCONFIGDIR}")
-+ install(FILES "${Z3_DOTNET_PKGCONFIG_FILE}" DESTINATION share/z3/pkgconfig)
-
- # Configure the install and uninstall scripts.
- # Note: If multi-configuration generator support is ever fixed then these
-@@ -266,7 +266,7 @@ if (DOTNET_TOOLCHAIN_IS_MONO)
- configure_file(cmake_uninstall_gac.cmake.in cmake_uninstall_gac.cmake @ONLY)
-
- # Tell CMake to Invoke a script to install assembly to the GAC during install
-- install(SCRIPT "${CMAKE_CURRENT_BINARY_DIR}/cmake_install_gac.cmake")
-+ install(SCRIPT "${CMAKE_CURRENT_BINARY_DIR}/cmake_install_gac.cmake" DESTINATION share/z3)
-
- # Add custom target to uninstall the assembly from the GAC
- add_custom_target(remove_dotnet_dll_from_gac
-@@ -280,7 +280,7 @@ elseif(DOTNET_TOOLCHAIN_IS_WINDOWS)
- # Don't install Z3_DOTNET_ASSEMBLY_DLL into the gac. Instead just copy into
- # installation directory.
- install(FILES "${Z3_DOTNET_ASSEMBLY_DLL}" DESTINATION "${CMAKE_INSTALL_LIBDIR}")
-- install(FILES "${Z3_DOTNET_ASSEMBLY_DLL_DOC}" DESTINATION "${CMAKE_INSTALL_LIBDIR}")
-+ install(FILES "${Z3_DOTNET_ASSEMBLY_DLL_DOC}" DESTINATION share/z3)
- else()
- message(FATAL_ERROR "Unknown .NET toolchain")
- endif()
-diff --git a/src/api/java/CMakeLists.txt b/src/api/java/CMakeLists.txt
-index c2d73ff..506142c 100644
---- a/src/api/java/CMakeLists.txt
-+++ b/src/api/java/CMakeLists.txt
-@@ -228,7 +228,7 @@ if (INSTALL_JAVA_BINDINGS)
- PATH
- "Directory to install Z3 Java JNI bridge library relative to install prefix"
- )
-- install(TARGETS z3java DESTINATION "${Z3_JAVA_JNI_LIB_INSTALLDIR}")
-+ install(TARGETS z3java DESTINATION share/z3)
- # Note: Don't use ``DESTINATION`` here as the version of ``UseJava.cmake`` shipped
- # with CMake 2.8.12.2 handles that incorrectly.
- install_jar(z3JavaJar "${Z3_JAVA_JAR_INSTALLDIR}")
-diff --git a/src/api/python/CMakeLists.txt b/src/api/python/CMakeLists.txt
-index 6efdc15..e4d5be0 100644
---- a/src/api/python/CMakeLists.txt
-+++ b/src/api/python/CMakeLists.txt
-@@ -136,7 +136,7 @@ if (INSTALL_PYTHON_BINDINGS)
- # Using DESTDIR still seems to work even if we use an absolute path
- message(STATUS "Python bindings will be installed to \"${CMAKE_INSTALL_PYTHON_PKG_DIR}\"")
- install(FILES ${build_z3_python_bindings_target_depends}
-- DESTINATION "${CMAKE_INSTALL_PYTHON_PKG_DIR}/z3"
-+ DESTINATION share/z3
- )
- else()
- message(STATUS "Not emitting rules to install Z3 python bindings")
-diff --git a/src/shell/CMakeLists.txt b/src/shell/CMakeLists.txt
-index 2782463..b6cd2f1 100644
---- a/src/shell/CMakeLists.txt
-+++ b/src/shell/CMakeLists.txt
-@@ -44,5 +44,5 @@ target_link_libraries(shell PRIVATE ${Z3_DEPENDENT_LIBS})
- z3_add_component_dependencies_to_target(shell ${shell_expanded_deps})
- z3_append_linker_flag_list_to_target(shell ${Z3_DEPENDENT_EXTRA_CXX_LINK_FLAGS})
- install(TARGETS shell
-- RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
-+ RUNTIME DESTINATION tools/z3
- )
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 6e73daf63..c6bca7918 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -615,7 +615,7 @@ install(EXPORT
+ Z3_EXPORTED_TARGETS
+ FILE "Z3Targets.cmake"
+ NAMESPACE z3::
+- DESTINATION "${CMAKE_INSTALL_Z3_CMAKE_PACKAGE_DIR}"
++ DESTINATION share/z3
+ )
+ set(Z3_INSTALL_TREE_CMAKE_CONFIG_FILE "${PROJECT_BINARY_DIR}/cmake/Z3Config.cmake")
+ set(Z3_FIRST_PACKAGE_INCLUDE_DIR "${CMAKE_INSTALL_INCLUDEDIR}")
+@@ -640,7 +640,7 @@ unset(CONFIG_FILE_TYPE)
+ # Add install rule to install ${Z3_INSTALL_TREE_CMAKE_CONFIG_FILE}
+ install(
+ FILES "${Z3_INSTALL_TREE_CMAKE_CONFIG_FILE}"
+- DESTINATION "${CMAKE_INSTALL_Z3_CMAKE_PACKAGE_DIR}"
++ DESTINATION share/z3
+ )
+
+ # TODO: Provide a `Z3Version.cmake` file so that clients can specify the version
+diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
+index d5778add9..35b7e4c55 100644
+--- a/doc/CMakeLists.txt
++++ b/doc/CMakeLists.txt
+@@ -88,6 +88,6 @@ set(CMAKE_INSTALL_API_BINDINGS_DOC
+ if (INSTALL_API_BINDINGS_DOCUMENTATION)
+ install(
+ DIRECTORY "${DOC_DEST_DIR}"
+- DESTINATION "${CMAKE_INSTALL_API_BINDINGS_DOC}"
++ DESTINATION share/z3
+ )
+ endif()
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 9b6f00b62..8b47125d3 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -173,7 +173,8 @@ install(TARGETS libz3
+ EXPORT Z3_EXPORTED_TARGETS
+ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
+ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" # On Windows this installs ``libz3.lib`` which CMake calls the "corresponding import library". Do we want this installed?
+- RUNTIME DESTINATION "${CMAKE_INSTALL_LIBDIR}" # For Windows. DLLs are runtime targets for CMake
++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" # For Windows. DLLs are runtime targets for CMake
++ BUNDLE DESTINATION "${CMAKE_INSTALL_BINDIR}" # For MACOSX.
+ PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
+ )
+
+diff --git a/src/api/java/CMakeLists.txt b/src/api/java/CMakeLists.txt
+index f593d91a4..70682b721 100644
+--- a/src/api/java/CMakeLists.txt
++++ b/src/api/java/CMakeLists.txt
+@@ -228,7 +228,7 @@ if (INSTALL_JAVA_BINDINGS)
+ PATH
+ "Directory to install Z3 Java JNI bridge library relative to install prefix"
+ )
+- install(TARGETS z3java DESTINATION "${Z3_JAVA_JNI_LIB_INSTALLDIR}")
++ install(TARGETS z3java DESTINATION share/z3)
+ # Note: Don't use ``DESTINATION`` here as the version of ``UseJava.cmake`` shipped
+ # with CMake 2.8.12.2 handles that incorrectly.
+ install_jar(z3JavaJar "${Z3_JAVA_JAR_INSTALLDIR}")
+diff --git a/src/api/python/CMakeLists.txt b/src/api/python/CMakeLists.txt
+index 6cabb779a..0b79861bf 100644
+--- a/src/api/python/CMakeLists.txt
++++ b/src/api/python/CMakeLists.txt
+@@ -136,7 +136,7 @@ if (INSTALL_PYTHON_BINDINGS)
+ # Using DESTDIR still seems to work even if we use an absolute path
+ message(STATUS "Python bindings will be installed to \"${CMAKE_INSTALL_PYTHON_PKG_DIR}\"")
+ install(FILES ${build_z3_python_bindings_target_depends}
+- DESTINATION "${CMAKE_INSTALL_PYTHON_PKG_DIR}/z3"
++ DESTINATION share/z3
+ )
+ else()
+ message(STATUS "Not emitting rules to install Z3 python bindings")
+diff --git a/src/shell/CMakeLists.txt b/src/shell/CMakeLists.txt
+index 278246341..b6cd2f1c1 100644
+--- a/src/shell/CMakeLists.txt
++++ b/src/shell/CMakeLists.txt
+@@ -44,5 +44,5 @@ target_link_libraries(shell PRIVATE ${Z3_DEPENDENT_LIBS})
+ z3_add_component_dependencies_to_target(shell ${shell_expanded_deps})
+ z3_append_linker_flag_list_to_target(shell ${Z3_DEPENDENT_EXTRA_CXX_LINK_FLAGS})
+ install(TARGETS shell
+- RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
++ RUNTIME DESTINATION tools/z3
+ )
diff --git a/ports/z3/fix_cmake_long_dir.patch b/ports/z3/fix_cmake_long_dir.patch
deleted file mode 100644
index f7dc505d6..000000000
--- a/ports/z3/fix_cmake_long_dir.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-diff --git a/cmake/z3_add_component.cmake b/cmake/z3_add_component.cmake
-index 8ab6e045d..ac6d1ec06 100644
---- a/cmake/z3_add_component.cmake
-+++ b/cmake/z3_add_component.cmake
-@@ -262,18 +262,20 @@ macro(z3_add_install_tactic_rule)
- GLOBAL
- PROPERTY Z3_${dependency}_TACTIC_HEADERS
- )
-- list(APPEND _tactic_header_files ${_component_tactic_header_files})
-+ list(APPEND _tactic_header_files "${_component_tactic_header_files}")
- endforeach()
- unset(_component_tactic_header_files)
-
-+ string(REPLACE ";" "\n" _tactic_header_files "${_tactic_header_files}")
-+ file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/install_tactic.deps" ${_tactic_header_files})
- add_custom_command(OUTPUT "install_tactic.cpp"
- COMMAND "${PYTHON_EXECUTABLE}"
- "${CMAKE_SOURCE_DIR}/scripts/mk_install_tactic_cpp.py"
- "${CMAKE_CURRENT_BINARY_DIR}"
-- ${_tactic_header_files}
-+ "${CMAKE_CURRENT_BINARY_DIR}/install_tactic.deps"
- DEPENDS "${CMAKE_SOURCE_DIR}/scripts/mk_install_tactic_cpp.py"
- ${Z3_GENERATED_FILE_EXTRA_DEPENDENCIES}
-- ${_tactic_header_files}
-+ "${CMAKE_CURRENT_BINARY_DIR}/install_tactic.deps"
- COMMENT "Generating \"${CMAKE_CURRENT_BINARY_DIR}/install_tactic.cpp\""
- ${ADD_CUSTOM_COMMAND_USES_TERMINAL_ARG}
- VERBATIM
-diff --git a/scripts/mk_install_tactic_cpp.py b/scripts/mk_install_tactic_cpp.py
-index a152eff14..b82e71354 100755
---- a/scripts/mk_install_tactic_cpp.py
-+++ b/scripts/mk_install_tactic_cpp.py
-@@ -14,19 +14,22 @@ def main(args):
- logging.basicConfig(level=logging.INFO)
- parser = argparse.ArgumentParser(description=__doc__)
- parser.add_argument("destination_dir", help="destination directory")
-- parser.add_argument("header_files", nargs="+",
-- help="One or more header files to parse")
-+ parser.add_argument("deps", help="file with header file names to parse")
- pargs = parser.parse_args(args)
-
- if not mk_genfile_common.check_dir_exists(pargs.destination_dir):
- return 1
-
-- if not mk_genfile_common.check_files_exist(pargs.header_files):
-+ if not mk_genfile_common.check_files_exist([pargs.deps]):
- return 1
-
-- h_files_full_path = []
-- for header_file in pargs.header_files:
-- h_files_full_path.append(os.path.abspath(header_file))
-+ with open(pargs.deps, 'r') as f:
-+ lines = f.read().split('\n')
-+ h_files_full_path = [os.path.abspath(header_file)
-+ for header_file in lines if header_file]
-+
-+ if not mk_genfile_common.check_files_exist(h_files_full_path):
-+ return 1
-
- output = mk_genfile_common.mk_install_tactic_cpp_internal(
- h_files_full_path,
diff --git a/ports/z3/portfile.cmake b/ports/z3/portfile.cmake
index ea27a5bd9..72da20dd9 100644
--- a/ports/z3/portfile.cmake
+++ b/ports/z3/portfile.cmake
@@ -15,11 +15,10 @@ vcpkg_add_to_path("${PYTHON2_DIR}")
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Z3Prover/z3
- REF z3-4.8.4
- SHA512 4660ba6ab33a6345b2e8396c332d4afcfc73eda66ceb2595a39f152df4d62a9ea0f349b0f9212389ba84ecba6bdae6ad9b62b376ba44dc4d9c74f80d7a818bf4
+ REF Z3-4.8.5
+ SHA512 ca36e1a0332bd473a64f41dfdb31656fb3486178473e4fd4934dccce109a84c9686c08f94998df74bacb588eb12ea5db25dc17a564ee76f82fd2559349697309
HEAD_REF master
PATCHES
- fix_cmake_long_dir.patch
fix-install-path.patch
)
diff --git a/ports/zstd/CONTROL b/ports/zstd/CONTROL
index 4f0e0b7ab..507c23f3a 100644
--- a/ports/zstd/CONTROL
+++ b/ports/zstd/CONTROL
@@ -1,3 +1,4 @@
Source: zstd
Version: 1.4.0
-Description: Zstandard - Fast real-time compression algorithm http://www.zstd.net
+Description: Zstandard - Fast real-time compression algorithm
+Homepage: http://www.zstd.net
diff --git a/ports/zstr/CONTROL b/ports/zstr/CONTROL
new file mode 100644
index 000000000..fe7e50c84
--- /dev/null
+++ b/ports/zstr/CONTROL
@@ -0,0 +1,3 @@
+Source: zstr
+Version: 1.0.1
+Description: This C++ header-only library enables the use of C++ standard iostreams to access ZLib-compressed streams. \ No newline at end of file
diff --git a/ports/zstr/portfile.cmake b/ports/zstr/portfile.cmake
new file mode 100644
index 000000000..61244eb60
--- /dev/null
+++ b/ports/zstr/portfile.cmake
@@ -0,0 +1,17 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO mateidavid/zstr
+ REF v1.0.1
+ SHA512 616df2394c41038bc8512748a6a699cb45310ff518e75f591c7f957d6ab3da66a384755a6015c3eb588b576940cbff429ff9798985c452b6eda6e22f94dfb264
+ HEAD_REF master
+)
+
+# Install source files
+file(INSTALL ${SOURCE_PATH}/src/strict_fstream.hpp
+ ${SOURCE_PATH}/src/zstr.hpp
+ DESTINATION ${CURRENT_PACKAGES_DIR}/include/${PORT})
+
+# Install license
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
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/ports/zydis/CONTROL b/ports/zydis/CONTROL
new file mode 100644
index 000000000..bd4f59d95
--- /dev/null
+++ b/ports/zydis/CONTROL
@@ -0,0 +1,3 @@
+Source: zydis
+Version: 2.0.3
+Description: Fast and lightweight x86/x86-64 disassembler library. \ No newline at end of file
diff --git a/ports/zydis/portfile.cmake b/ports/zydis/portfile.cmake
new file mode 100644
index 000000000..412cbdf87
--- /dev/null
+++ b/ports/zydis/portfile.cmake
@@ -0,0 +1,31 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO zyantific/zydis
+ REF v2.0.3
+ SHA512 254aee734f93ee51a8b963404f79d6edfd0831867763243b8020c44ec2d7dd4cb7e445248df4a9af7cd2743c020674df482661d59d3278a44d2ad9a2e0611a39
+ HEAD_REF master
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+)
+
+vcpkg_install_cmake()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+file(GLOB EXES ${CURRENT_PACKAGES_DIR}/bin/*.exe ${CURRENT_PACKAGES_DIR}/debug/bin/*.exe)
+if(EXES)
+ file(REMOVE ${EXES})
+endif()
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
+endif()
+
+vcpkg_copy_pdbs()
+
+file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright)
diff --git a/scripts/buildsystems/msbuild/applocal.ps1 b/scripts/buildsystems/msbuild/applocal.ps1
index cf363f12e..2fdd9fdb4 100644
--- a/scripts/buildsystems/msbuild/applocal.ps1
+++ b/scripts/buildsystems/msbuild/applocal.ps1
@@ -9,7 +9,7 @@ $g_is_debug = $g_install_root -match '(.*\\)?debug(\\)?$'
# Ensure we create the copied files log, even if we don't end up copying any files
if ($copiedFilesLog)
{
- Set-Content -Path $copiedFilesLog -Value "" -Encoding Ascii
+ Set-Content -Path $copiedFilesLog -Value "" -Encoding UTF8
}
# Note: this function signature is depended upon by the qtdeploy.ps1 script introduced in 5.7.1-7
@@ -28,7 +28,7 @@ function deployBinary([string]$targetBinaryDir, [string]$SourceDir, [string]$tar
Write-Verbose " ${targetBinaryName}: Copying $SourceDir\$targetBinaryName"
Copy-Item "$SourceDir\$targetBinaryName" $targetBinaryDir
}
- if ($copiedFilesLog) { Add-Content $copiedFilesLog "$targetBinaryDir\$targetBinaryName" }
+ if ($copiedFilesLog) { Add-Content $copiedFilesLog "$targetBinaryDir\$targetBinaryName" -Encoding UTF8 }
if ($tlogFile) { Add-Content $tlogFile "$targetBinaryDir\$targetBinaryName" }
}
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_build_cmake.cmake b/scripts/cmake/vcpkg_build_cmake.cmake
index 3db6597b4..b110d2cc9 100644
--- a/scripts/cmake/vcpkg_build_cmake.cmake
+++ b/scripts/cmake/vcpkg_build_cmake.cmake
@@ -60,10 +60,6 @@ function(vcpkg_build_cmake)
set(TARGET_PARAM)
endif()
- if(_bc_DISABLE_PARALLEL)
- set(PARALLEL_ARG ${NO_PARALLEL_ARG})
- endif()
-
foreach(BUILDTYPE "debug" "release")
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL BUILDTYPE)
if(BUILDTYPE STREQUAL "debug")
@@ -75,8 +71,6 @@ function(vcpkg_build_cmake)
endif()
message(STATUS "Building ${TARGET_TRIPLET}-${SHORT_BUILDTYPE}")
- set(LOGPREFIX "${CURRENT_BUILDTREES_DIR}/${_bc_LOGFILE_ROOT}-${TARGET_TRIPLET}-${SHORT_BUILDTYPE}")
- set(LOGS)
if(_bc_ADD_BIN_TO_PATH)
set(_BACKUP_ENV_PATH "$ENV{PATH}")
@@ -91,121 +85,22 @@ function(vcpkg_build_cmake)
set(ENV{PATH} "${CURRENT_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/bin${_PATHSEP}$ENV{PATH}")
endif()
endif()
- execute_process(
- COMMAND ${CMAKE_COMMAND} --build . --config ${CONFIG} ${TARGET_PARAM} -- ${BUILD_ARGS} ${PARALLEL_ARG}
- OUTPUT_FILE "${LOGPREFIX}-out.log"
- ERROR_FILE "${LOGPREFIX}-err.log"
- RESULT_VARIABLE error_code
- WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${SHORT_BUILDTYPE})
- if(error_code)
- file(READ "${LOGPREFIX}-out.log" out_contents)
- file(READ "${LOGPREFIX}-err.log" err_contents)
-
- if(out_contents)
- list(APPEND LOGS "${LOGPREFIX}-out.log")
- endif()
- if(err_contents)
- list(APPEND LOGS "${LOGPREFIX}-err.log")
- endif()
-
- if(out_contents MATCHES "LINK : fatal error LNK1102:" OR out_contents MATCHES " fatal error C1060: ")
- # The linker ran out of memory during execution. We will try continuing once more, with parallelism disabled.
- message(STATUS "Restarting Build ${TARGET_TRIPLET}-${SHORT_BUILDTYPE} without parallelism because memory exceeded")
- execute_process(
- COMMAND ${CMAKE_COMMAND} --build . --config ${CONFIG} ${TARGET_PARAM} -- ${BUILD_ARGS} ${NO_PARALLEL_ARG}
- OUTPUT_FILE "${LOGPREFIX}-out-1.log"
- ERROR_FILE "${LOGPREFIX}-err-1.log"
- RESULT_VARIABLE error_code
- WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${SHORT_BUILDTYPE})
-
- if(error_code)
- file(READ "${LOGPREFIX}-out-1.log" out_contents)
- file(READ "${LOGPREFIX}-err-1.log" err_contents)
-
- if(out_contents)
- list(APPEND LOGS "${LOGPREFIX}-out-1.log")
- endif()
- if(err_contents)
- list(APPEND LOGS "${LOGPREFIX}-err-1.log")
- endif()
- endif()
- elseif(out_contents MATCHES ": No such file or directory")
- # WSL workaround - WSL occassionally fails with no such file or directory. Detect if we are running in WSL and restart.
- execute_process(COMMAND "uname" "-r"
- OUTPUT_VARIABLE UNAME_R ERROR_VARIABLE UNAME_R
- OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_STRIP_TRAILING_WHITESPACE)
-
- if (UNAME_R MATCHES "Microsoft")
- set(ITERATION 0)
- while (ITERATION LESS 10 AND out_contents MATCHES ": No such file or directory")
- MATH(EXPR ITERATION "${ITERATION}+1")
- message(STATUS "Restarting Build ${TARGET_TRIPLET}-${SHORT_BUILDTYPE} because of wsl subsystem issue. Iteration: ${ITERATION}")
- execute_process(
- COMMAND ${CMAKE_COMMAND} --build . --config ${CONFIG} ${TARGET_PARAM} -- ${BUILD_ARGS}
- OUTPUT_FILE "${LOGPREFIX}-out-${ITERATION}.log"
- ERROR_FILE "${LOGPREFIX}-err-${ITERATION}.log"
- RESULT_VARIABLE error_code
- WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${SHORT_BUILDTYPE})
- if(error_code)
- file(READ "${LOGPREFIX}-out-${ITERATION}.log" out_contents)
- file(READ "${LOGPREFIX}-err-${ITERATION}.log" err_contents)
-
- if(out_contents)
- list(APPEND LOGS "${LOGPREFIX}-out-${ITERATION}.log")
- endif()
- if(err_contents)
- list(APPEND LOGS "${LOGPREFIX}-err-${ITERATION}.log")
- endif()
- else()
- break()
- endif()
- endwhile()
- endif()
- elseif(out_contents MATCHES "mt : general error c101008d: " OR out_contents MATCHES "mt.exe : general error c101008d: ")
- # Antivirus workaround - occasionally files are locked and cause mt.exe to fail
- set(ITERATION 0)
- while (ITERATION LESS 3 AND (out_contents MATCHES "mt : general error c101008d: " OR out_contents MATCHES "mt.exe : general error c101008d: "))
- MATH(EXPR ITERATION "${ITERATION}+1")
- message(STATUS "Restarting Build ${TARGET_TRIPLET}-${SHORT_BUILDTYPE} because of mt.exe file locking issue. Iteration: ${ITERATION}")
- execute_process(
- COMMAND ${CMAKE_COMMAND} --build . --config ${CONFIG} ${TARGET_PARAM} -- ${BUILD_ARGS} ${PARALLEL_ARG}
- OUTPUT_FILE "${LOGPREFIX}-out-${ITERATION}.log"
- ERROR_FILE "${LOGPREFIX}-err-${ITERATION}.log"
- RESULT_VARIABLE error_code
- WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${SHORT_BUILDTYPE})
-
- if(error_code)
- file(READ "${LOGPREFIX}-out-${ITERATION}.log" out_contents)
- file(READ "${LOGPREFIX}-err-${ITERATION}.log" err_contents)
-
- if(out_contents)
- list(APPEND LOGS "${LOGPREFIX}-out-${ITERATION}.log")
- endif()
- if(err_contents)
- list(APPEND LOGS "${LOGPREFIX}-err-${ITERATION}.log")
- endif()
- else()
- break()
- endif()
- endwhile()
- endif()
-
- if(error_code)
- set(STRINGIFIED_LOGS)
- foreach(LOG ${LOGS})
- file(TO_NATIVE_PATH "${LOG}" NATIVE_LOG)
- list(APPEND STRINGIFIED_LOGS " ${NATIVE_LOG}\n")
- endforeach()
- set(_eb_COMMAND ${CMAKE_COMMAND} --build . --config ${CONFIG} ${TARGET_PARAM} -- ${BUILD_ARGS} ${PARALLEL_ARG})
- set(_eb_WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${SHORT_BUILDTYPE})
- message(FATAL_ERROR
- " Command failed: ${_eb_COMMAND}\n"
- " Working Directory: ${_eb_WORKING_DIRECTORY}\n"
- " See logs for more information:\n"
- ${STRINGIFIED_LOGS})
- endif()
+ if (_bc_DISABLE_PARALLEL)
+ vcpkg_execute_build_process(
+ COMMAND ${CMAKE_COMMAND} --build . --config ${CONFIG} ${TARGET_PARAM} -- ${BUILD_ARGS} ${NO_PARALLEL_ARG}
+ WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${SHORT_BUILDTYPE}
+ LOGNAME "${_bc_LOGFILE_ROOT}-${TARGET_TRIPLET}-${SHORT_BUILDTYPE}"
+ )
+ else()
+ vcpkg_execute_build_process(
+ COMMAND ${CMAKE_COMMAND} --build . --config ${CONFIG} ${TARGET_PARAM} -- ${BUILD_ARGS} ${PARALLEL_ARG}
+ NO_PARALLEL_COMMAND ${CMAKE_COMMAND} --build . --config ${CONFIG} ${TARGET_PARAM} -- ${BUILD_ARGS} ${NO_PARALLEL_ARG}
+ WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${SHORT_BUILDTYPE}
+ LOGNAME "${_bc_LOGFILE_ROOT}-${TARGET_TRIPLET}-${SHORT_BUILDTYPE}"
+ )
endif()
+
if(_bc_ADD_BIN_TO_PATH)
set(ENV{PATH} "${_BACKUP_ENV_PATH}")
endif()
diff --git a/scripts/cmake/vcpkg_common_functions.cmake b/scripts/cmake/vcpkg_common_functions.cmake
index d66fc5eff..b99f8bee8 100644
--- a/scripts/cmake/vcpkg_common_functions.cmake
+++ b/scripts/cmake/vcpkg_common_functions.cmake
@@ -7,6 +7,7 @@ include(vcpkg_extract_source_archive)
include(vcpkg_extract_source_archive_ex)
include(vcpkg_execute_required_process)
include(vcpkg_execute_required_process_repeat)
+include(vcpkg_execute_build_process)
include(vcpkg_find_acquire_program)
include(vcpkg_fixup_cmake_targets)
include(vcpkg_from_github)
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_execute_build_process.cmake b/scripts/cmake/vcpkg_execute_build_process.cmake
new file mode 100644
index 000000000..27e8c8163
--- /dev/null
+++ b/scripts/cmake/vcpkg_execute_build_process.cmake
@@ -0,0 +1,140 @@
+## # vcpkg_execute_build_process
+##
+## Execute a required build process
+##
+## ## Usage
+## ```cmake
+## vcpkg_execute_build_process(
+## COMMAND <cmd> [<args>...]
+## [NO_PARALLEL_COMMAND <cmd> [<args>...]]
+## WORKING_DIRECTORY </path/to/dir>
+## LOGNAME <log_name>)
+## )
+## ```
+## ## Parameters
+## ### COMMAND
+## The command to be executed, along with its arguments.
+##
+## ### NO_PARALLEL_COMMAND
+## Optional parameter which specifies a non-parallel command to attempt if a
+## failure potentially due to parallelism is detected.
+##
+## ### WORKING_DIRECTORY
+## The directory to execute the command in.
+##
+## ### LOGNAME
+## The prefix to use for the log files.
+##
+## This should be a unique name for different triplets so that the logs don't
+## conflict when building multiple at once.
+##
+## ## Examples
+##
+## * [icu](https://github.com/Microsoft/vcpkg/blob/master/ports/icu/portfile.cmake)
+function(vcpkg_execute_build_process)
+ cmake_parse_arguments(_ebp "" "WORKING_DIRECTORY;LOGNAME" "COMMAND;NO_PARALLEL_COMMAND" ${ARGN})
+
+ set(LOG_OUT "${CURRENT_BUILDTREES_DIR}/${_ebp_LOGNAME}-out.log")
+ set(LOG_ERR "${CURRENT_BUILDTREES_DIR}/${_ebp_LOGNAME}-err.log")
+
+ execute_process(
+ COMMAND ${_ebp_COMMAND}
+ WORKING_DIRECTORY ${_ebp_WORKING_DIRECTORY}
+ OUTPUT_FILE ${LOG_OUT}
+ ERROR_FILE ${LOG_ERR}
+ RESULT_VARIABLE error_code
+ )
+
+ if(error_code)
+ file(READ ${LOG_OUT} out_contents)
+ file(READ ${LOG_ERR} err_contents)
+
+ if(out_contents)
+ list(APPEND LOGS ${LOG_OUT})
+ endif()
+ if(err_contents)
+ list(APPEND LOGS ${LOG_ERR})
+ endif()
+
+ if(out_contents MATCHES "LINK : fatal error LNK1102:" OR out_contents MATCHES " fatal error C1060: "
+ OR err_contents MATCHES "LINK : fatal error LNK1102:" OR err_contents MATCHES " fatal error C1060: "
+ OR out_contents MATCHES "LINK : fatal error LNK1318: Unexpected PDB error; ACCESS_DENIED"
+ OR out_contents MATCHES "LINK : fatal error LNK1104:")
+ # The linker ran out of memory during execution. We will try continuing once more, with parallelism disabled.
+ message(STATUS "Restarting Build without parallelism because memory exceeded")
+ set(LOG_OUT "${CURRENT_BUILDTREES_DIR}/${_ebp_LOGNAME}-out-1.log")
+ set(LOG_ERR "${CURRENT_BUILDTREES_DIR}/${_ebp_LOGNAME}-err-1.log")
+
+ if(_ebp_NO_PARALLEL_COMMAND)
+ execute_process(
+ COMMAND ${_ebp_NO_PARALLEL_COMMAND}
+ WORKING_DIRECTORY ${_ebp_WORKING_DIRECTORY}
+ OUTPUT_FILE ${LOG_OUT}
+ ERROR_FILE ${LOG_ERR}
+ RESULT_VARIABLE error_code
+ )
+ else()
+ execute_process(
+ COMMAND ${_ebp_COMMAND}
+ WORKING_DIRECTORY ${_ebp_WORKING_DIRECTORY}
+ OUTPUT_FILE ${LOG_OUT}
+ ERROR_FILE ${LOG_ERR}
+ RESULT_VARIABLE error_code
+ )
+ endif()
+
+ if(error_code)
+ file(READ ${LOG_OUT} out_contents)
+ file(READ ${LOG_ERR} err_contents)
+
+ if(out_contents)
+ list(APPEND LOGS ${LOG_OUT})
+ endif()
+ if(err_contents)
+ list(APPEND LOGS ${LOG_ERR})
+ endif()
+ endif()
+ elseif(out_contents MATCHES "mt : general error c101008d: " OR out_contents MATCHES "mt.exe : general error c101008d: ")
+ # Antivirus workaround - occasionally files are locked and cause mt.exe to fail
+ message(STATUS "mt.exe has failed. This may be the result of anti-virus. Disabling anti-virus on the buildtree folder may improve build speed")
+ set(ITERATION 0)
+ while (ITERATION LESS 3 AND (out_contents MATCHES "mt : general error c101008d: " OR out_contents MATCHES "mt.exe : general error c101008d: "))
+ MATH(EXPR ITERATION "${ITERATION}+1")
+ message(STATUS "Restarting Build ${TARGET_TRIPLET}-${SHORT_BUILDTYPE} because of mt.exe file locking issue. Iteration: ${ITERATION}")
+ execute_process(
+ COMMAND ${_ebp_COMMAND}
+ OUTPUT_FILE "${LOGPREFIX}-out-${ITERATION}.log"
+ ERROR_FILE "${LOGPREFIX}-err-${ITERATION}.log"
+ RESULT_VARIABLE error_code
+ WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${SHORT_BUILDTYPE})
+
+ if(error_code)
+ file(READ "${LOGPREFIX}-out-${ITERATION}.log" out_contents)
+ file(READ "${LOGPREFIX}-err-${ITERATION}.log" err_contents)
+
+ if(out_contents)
+ list(APPEND LOGS "${LOGPREFIX}-out-${ITERATION}.log")
+ endif()
+ if(err_contents)
+ list(APPEND LOGS "${LOGPREFIX}-err-${ITERATION}.log")
+ endif()
+ else()
+ break()
+ endif()
+ endwhile()
+ endif()
+
+ if(error_code)
+ set(STRINGIFIED_LOGS)
+ foreach(LOG ${LOGS})
+ file(TO_NATIVE_PATH "${LOG}" NATIVE_LOG)
+ list(APPEND STRINGIFIED_LOGS " ${NATIVE_LOG}\n")
+ endforeach()
+ message(FATAL_ERROR
+ " Command failed: ${_ebp_COMMAND}\n"
+ " Working Directory: ${_ebp_WORKING_DIRECTORY}\n"
+ " See logs for more information:\n"
+ ${STRINGIFIED_LOGS})
+ endif(error_code)
+ endif(error_code)
+endfunction(vcpkg_execute_build_process)
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})
diff --git a/toolsrc/include/vcpkg/base/chrono.h b/toolsrc/include/vcpkg/base/chrono.h
index 26294fdf8..89cd15273 100644
--- a/toolsrc/include/vcpkg/base/chrono.h
+++ b/toolsrc/include/vcpkg/base/chrono.h
@@ -56,8 +56,8 @@ namespace vcpkg::Chrono
static Optional<CTime> get_current_date_time();
static Optional<CTime> parse(CStringView str);
- constexpr CTime() noexcept : m_tm {0} {}
- explicit constexpr CTime(tm t) noexcept : m_tm {t} {}
+ constexpr CTime() noexcept : m_tm{0} {}
+ explicit constexpr CTime(tm t) noexcept : m_tm{t} {}
CTime add_hours(const int hours) const;
diff --git a/toolsrc/include/vcpkg/base/strings.h b/toolsrc/include/vcpkg/base/strings.h
index 3165dc8ee..3a9de97df 100644
--- a/toolsrc/include/vcpkg/base/strings.h
+++ b/toolsrc/include/vcpkg/base/strings.h
@@ -43,7 +43,7 @@ namespace vcpkg::Strings::details
t.to_string(into);
}
- template<class T, class=void, class = decltype(to_string(std::declval<std::string&>(), std::declval<const T&>()))>
+ template<class T, class = void, class = decltype(to_string(std::declval<std::string&>(), std::declval<const T&>()))>
void append_internal(std::string& into, const T& t)
{
to_string(into, t);
@@ -66,7 +66,8 @@ namespace vcpkg::Strings
}
template<class... Args>
- [[nodiscard]] std::string concat(const Args&... args) {
+ [[nodiscard]] std::string concat(const Args&... args)
+ {
std::string ret;
append(ret, args...);
return ret;
@@ -113,8 +114,7 @@ namespace vcpkg::Strings
bool starts_with(StringView s, StringView pattern);
template<class InputIterator, class Transformer>
- std::string join(const char* delimiter, InputIterator begin, InputIterator end,
- Transformer transformer)
+ std::string join(const char* delimiter, InputIterator begin, InputIterator end, Transformer transformer)
{
if (begin == end)
{
@@ -145,8 +145,7 @@ namespace vcpkg::Strings
std::string join(const char* delimiter, InputIterator begin, InputIterator end)
{
using Element = decltype(*begin);
- return join(delimiter, begin, end,
- [](const Element& x) -> const Element& { return x; });
+ return join(delimiter, begin, end, [](const Element& x) -> const Element& { return x; });
}
template<class Container>
diff --git a/toolsrc/include/vcpkg/base/system.h b/toolsrc/include/vcpkg/base/system.h
index 0245b684a..907a692a2 100644
--- a/toolsrc/include/vcpkg/base/system.h
+++ b/toolsrc/include/vcpkg/base/system.h
@@ -28,4 +28,6 @@ namespace vcpkg::System
const Optional<fs::path>& get_program_files_32_bit();
const Optional<fs::path>& get_program_files_platform_bitness();
+
+ int get_num_logical_cores();
}
diff --git a/toolsrc/include/vcpkg/sourceparagraph.h b/toolsrc/include/vcpkg/sourceparagraph.h
index ae5812ea7..d70fd4337 100644
--- a/toolsrc/include/vcpkg/sourceparagraph.h
+++ b/toolsrc/include/vcpkg/sourceparagraph.h
@@ -48,6 +48,7 @@ namespace vcpkg
std::string version;
std::string description;
std::string maintainer;
+ std::string homepage;
std::vector<std::string> supports;
std::vector<Dependency> depends;
std::vector<std::string> default_features;
diff --git a/toolsrc/src/tests.arguments.cpp b/toolsrc/src/tests.arguments.cpp
index c87281fa8..51ababd3d 100644
--- a/toolsrc/src/tests.arguments.cpp
+++ b/toolsrc/src/tests.arguments.cpp
@@ -1,7 +1,9 @@
#include "tests.pch.h"
+#if defined(_WIN32)
#pragma comment(lib, "version")
#pragma comment(lib, "winhttp")
+#endif
using namespace Microsoft::VisualStudio::CppUnitTestFramework;
@@ -33,8 +35,8 @@ namespace UnitTest1
TEST_METHOD(create_from_arg_sequence_valued_options)
{
- std::array<CommandSetting, 1> settings = { {{"--a", ""}} };
- CommandStructure cmdstruct = { "", 0, SIZE_MAX, {{}, settings }, nullptr };
+ std::array<CommandSetting, 1> settings = {{{"--a", ""}}};
+ CommandStructure cmdstruct = {"", 0, SIZE_MAX, {{}, settings}, nullptr};
std::vector<std::string> t = {"--a=b", "command", "argument"};
auto v = VcpkgCmdArguments::create_from_arg_sequence(t.data(), t.data() + t.size());
@@ -47,8 +49,8 @@ namespace UnitTest1
TEST_METHOD(create_from_arg_sequence_valued_options2)
{
- std::array<CommandSwitch, 2> switches = { {{"--a", ""}, {"--c", ""}} };
- std::array<CommandSetting, 2> settings = { { {"--b", ""}, {"--d", ""}} };
+ std::array<CommandSwitch, 2> switches = {{{"--a", ""}, {"--c", ""}}};
+ std::array<CommandSetting, 2> settings = {{{"--b", ""}, {"--d", ""}}};
CommandStructure cmdstruct = {"", 0, SIZE_MAX, {switches, settings}, nullptr};
std::vector<std::string> t = {"--a", "--b=c"};
@@ -61,4 +63,4 @@ namespace UnitTest1
Assert::AreEqual(size_t{0}, v.command_arguments.size());
}
};
-} \ No newline at end of file
+}
diff --git a/toolsrc/src/tests.dependencies.cpp b/toolsrc/src/tests.dependencies.cpp
index f82fad4e4..7d8283ed6 100644
--- a/toolsrc/src/tests.dependencies.cpp
+++ b/toolsrc/src/tests.dependencies.cpp
@@ -1,7 +1,9 @@
#include "tests.pch.h"
+#if defined(_WIN32)
#pragma comment(lib, "version")
#pragma comment(lib, "winhttp")
+#endif
using namespace Microsoft::VisualStudio::CppUnitTestFramework;
diff --git a/toolsrc/src/tests.packagespec.cpp b/toolsrc/src/tests.packagespec.cpp
index 32ad81227..d3bc18c79 100644
--- a/toolsrc/src/tests.packagespec.cpp
+++ b/toolsrc/src/tests.packagespec.cpp
@@ -2,8 +2,10 @@
#include <tests.utils.h>
+#if defined(_WIN32)
#pragma comment(lib, "version")
#pragma comment(lib, "winhttp")
+#endif
using namespace Microsoft::VisualStudio::CppUnitTestFramework;
diff --git a/toolsrc/src/tests.paragraph.cpp b/toolsrc/src/tests.paragraph.cpp
index 9a56ad9ee..e99d07694 100644
--- a/toolsrc/src/tests.paragraph.cpp
+++ b/toolsrc/src/tests.paragraph.cpp
@@ -1,7 +1,9 @@
#include "tests.pch.h"
+#if defined(_WIN32)
#pragma comment(lib, "version")
#pragma comment(lib, "winhttp")
+#endif
using namespace Microsoft::VisualStudio::CppUnitTestFramework;
diff --git a/toolsrc/src/vcpkg.cpp b/toolsrc/src/vcpkg.cpp
index 9102205d8..e02bdc71f 100644
--- a/toolsrc/src/vcpkg.cpp
+++ b/toolsrc/src/vcpkg.cpp
@@ -40,8 +40,10 @@
#include <memory>
#include <random>
+#if defined(_WIN32)
#pragma comment(lib, "ole32")
#pragma comment(lib, "shell32")
+#endif
using namespace vcpkg;
@@ -388,6 +390,6 @@ int main(const int argc, const char* const* const argv)
}
fflush(stdout);
- //It is expected that one of the sub-commands will exit cleanly before we get here.
+ // It is expected that one of the sub-commands will exit cleanly before we get here.
Checks::exit_fail(VCPKG_LINE_INFO);
}
diff --git a/toolsrc/src/vcpkg/archives.cpp b/toolsrc/src/vcpkg/archives.cpp
index 037cbdc14..69a916828 100644
--- a/toolsrc/src/vcpkg/archives.cpp
+++ b/toolsrc/src/vcpkg/archives.cpp
@@ -1,8 +1,8 @@
#include "pch.h"
#include <vcpkg/archives.h>
-#include <vcpkg/commands.h>
#include <vcpkg/base/system.process.h>
+#include <vcpkg/commands.h>
namespace vcpkg::Archives
{
diff --git a/toolsrc/src/vcpkg/base/chrono.cpp b/toolsrc/src/vcpkg/base/chrono.cpp
index 959ff90c8..86dc590f8 100644
--- a/toolsrc/src/vcpkg/base/chrono.cpp
+++ b/toolsrc/src/vcpkg/base/chrono.cpp
@@ -22,7 +22,7 @@ namespace vcpkg::Chrono
static tm to_local_time(const std::time_t& t)
{
- tm parts {};
+ tm parts{};
#if defined(_WIN32)
localtime_s(&parts, &t);
#else
@@ -33,7 +33,7 @@ namespace vcpkg::Chrono
static Optional<tm> to_utc_time(const std::time_t& t)
{
- tm parts {};
+ tm parts{};
#if defined(_WIN32)
const errno_t err = gmtime_s(&parts, &t);
if (err)
@@ -127,7 +127,7 @@ namespace vcpkg::Chrono
const Optional<tm> opt = to_utc_time(ct);
if (auto p_tm = opt.get())
{
- return CTime {*p_tm};
+ return CTime{*p_tm};
}
return nullopt;
@@ -160,11 +160,11 @@ namespace vcpkg::Chrono
return ret;
}
- CTime CTime::add_hours(const int hours) const { return CTime {date_plus_hours(&this->m_tm, hours)}; }
+ CTime CTime::add_hours(const int hours) const { return CTime{date_plus_hours(&this->m_tm, hours)}; }
std::string CTime::to_string() const
{
- std::array<char, 80> date {};
+ std::array<char, 80> date{};
strftime(&date[0], date.size(), "%Y-%m-%dT%H:%M:%S.0Z", &m_tm);
return &date[0];
}
diff --git a/toolsrc/src/vcpkg/base/downloads.cpp b/toolsrc/src/vcpkg/base/downloads.cpp
index 590c48ff5..218ff86b3 100644
--- a/toolsrc/src/vcpkg/base/downloads.cpp
+++ b/toolsrc/src/vcpkg/base/downloads.cpp
@@ -44,18 +44,20 @@ namespace vcpkg::Downloads
Checks::check_exit(VCPKG_LINE_INFO, hSession, "WinHttpOpen() failed: %d", GetLastError());
// Win7 IE Proxy fallback
- if (IsWindows7OrGreater() && !IsWindows8Point1OrGreater()) {
+ if (IsWindows7OrGreater() && !IsWindows8Point1OrGreater())
+ {
// First check if any proxy has been found automatically
- WINHTTP_PROXY_INFO proxyInfo;
- DWORD proxyInfoSize = sizeof(WINHTTP_PROXY_INFO);
- auto noProxyFound =
- !WinHttpQueryOption(hSession, WINHTTP_OPTION_PROXY, &proxyInfo, &proxyInfoSize)
- || proxyInfo.dwAccessType == WINHTTP_ACCESS_TYPE_NO_PROXY;
-
- // If no proxy was found automatically, use IE's proxy settings, if any
- if (noProxyFound) {
+ WINHTTP_PROXY_INFO proxyInfo;
+ DWORD proxyInfoSize = sizeof(WINHTTP_PROXY_INFO);
+ auto noProxyFound = !WinHttpQueryOption(hSession, WINHTTP_OPTION_PROXY, &proxyInfo, &proxyInfoSize) ||
+ proxyInfo.dwAccessType == WINHTTP_ACCESS_TYPE_NO_PROXY;
+
+ // If no proxy was found automatically, use IE's proxy settings, if any
+ if (noProxyFound)
+ {
WINHTTP_CURRENT_USER_IE_PROXY_CONFIG ieProxy;
- if (WinHttpGetIEProxyConfigForCurrentUser(&ieProxy) && ieProxy.lpszProxy != nullptr) {
+ if (WinHttpGetIEProxyConfigForCurrentUser(&ieProxy) && ieProxy.lpszProxy != nullptr)
+ {
WINHTTP_PROXY_INFO proxy;
proxy.dwAccessType = WINHTTP_ACCESS_TYPE_NAMED_PROXY;
proxy.lpszProxy = ieProxy.lpszProxy;
diff --git a/toolsrc/src/vcpkg/base/files.cpp b/toolsrc/src/vcpkg/base/files.cpp
index 431491314..0396a2415 100644
--- a/toolsrc/src/vcpkg/base/files.cpp
+++ b/toolsrc/src/vcpkg/base/files.cpp
@@ -9,10 +9,10 @@
#if defined(__linux__) || defined(__APPLE__)
#include <fcntl.h>
+#include <string.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>
-#include <string.h>
#endif
#if defined(__linux__)
#include <sys/sendfile.h>
diff --git a/toolsrc/src/vcpkg/base/system.cpp b/toolsrc/src/vcpkg/base/system.cpp
index 132c1f074..3d89d2fd4 100644
--- a/toolsrc/src/vcpkg/base/system.cpp
+++ b/toolsrc/src/vcpkg/base/system.cpp
@@ -16,7 +16,9 @@
#include <sys/sysctl.h>
#endif
+#if defined(_WIN32)
#pragma comment(lib, "Advapi32")
+#endif
using namespace vcpkg::System;
@@ -177,8 +179,8 @@ namespace vcpkg
}
std::string System::make_cmake_cmd(const fs::path& cmake_exe,
- const fs::path& cmake_script,
- const std::vector<CMakeVariable>& pass_variables)
+ const fs::path& cmake_script,
+ const std::vector<CMakeVariable>& pass_variables)
{
const std::string cmd_cmake_pass_variables = Strings::join(" ", pass_variables, [](auto&& v) { return v.s; });
return Strings::format(
@@ -345,7 +347,8 @@ namespace vcpkg
}
#endif
- int System::cmd_execute_clean(const ZStringView cmd_line, const std::unordered_map<std::string, std::string>& extra_env)
+ int System::cmd_execute_clean(const ZStringView cmd_line,
+ const std::unordered_map<std::string, std::string>& extra_env)
{
auto timer = Chrono::ElapsedTimer::create_started();
#if defined(_WIN32)
@@ -595,6 +598,11 @@ namespace vcpkg
#else
void System::register_console_ctrl_handler() {}
#endif
+
+ int System::get_num_logical_cores()
+ {
+ return std::thread::hardware_concurrency();
+ }
}
namespace vcpkg::Debug
diff --git a/toolsrc/src/vcpkg/build.cpp b/toolsrc/src/vcpkg/build.cpp
index 1f28e9f30..0a7c854b5 100644
--- a/toolsrc/src/vcpkg/build.cpp
+++ b/toolsrc/src/vcpkg/build.cpp
@@ -6,9 +6,9 @@
#include <vcpkg/base/hash.h>
#include <vcpkg/base/optional.h>
#include <vcpkg/base/stringliteral.h>
+#include <vcpkg/base/system.debug.h>
#include <vcpkg/base/system.print.h>
#include <vcpkg/base/system.process.h>
-#include <vcpkg/base/system.debug.h>
#include <vcpkg/build.h>
#include <vcpkg/commands.h>
@@ -334,6 +334,23 @@ namespace vcpkg::Build
return ret;
}
+ static int get_concurrency()
+ {
+ static int concurrency = []{
+ auto user_defined_concurrency = System::get_environment_variable("VCPKG_MAX_CONCURRENCY");
+ if (user_defined_concurrency)
+ {
+ return std::stoi(user_defined_concurrency.value_or_exit(VCPKG_LINE_INFO));
+ }
+ else
+ {
+ return System::get_num_logical_cores() + 1;
+ }
+ }();
+
+ return concurrency;
+ }
+
static ExtendedBuildResult do_build_package(const VcpkgPaths& paths,
const PreBuildInfo& pre_build_info,
const PackageSpec& spec,
@@ -360,19 +377,19 @@ namespace vcpkg::Build
const Toolset& toolset = paths.get_toolset(pre_build_info);
- std::vector<System::CMakeVariable> variables {
+ std::vector<System::CMakeVariable> variables{
{"CMD", "BUILD"},
{"PORT", config.scf.core_paragraph->name},
{"CURRENT_PORT_DIR", config.port_dir},
{"TARGET_TRIPLET", spec.triplet().canonical_name()},
{"VCPKG_PLATFORM_TOOLSET", toolset.version.c_str()},
- {"VCPKG_USE_HEAD_VERSION",
- Util::Enum::to_bool(config.build_package_options.use_head_version) ? "1" : "0"},
+ {"VCPKG_USE_HEAD_VERSION", Util::Enum::to_bool(config.build_package_options.use_head_version) ? "1" : "0"},
{"DOWNLOADS", paths.downloads},
{"_VCPKG_NO_DOWNLOADS", !Util::Enum::to_bool(config.build_package_options.allow_downloads) ? "1" : "0"},
{"_VCPKG_DOWNLOAD_TOOL", to_string(config.build_package_options.download_tool)},
{"FEATURES", Strings::join(";", config.feature_list)},
{"ALL_FEATURES", all_features},
+ {"VCPKG_CONCURRENCY", std::to_string(get_concurrency())},
};
if (!System::get_environment_variable("VCPKG_FORCE_SYSTEM_BINARIES").has_value())
@@ -380,10 +397,7 @@ namespace vcpkg::Build
variables.push_back({"GIT", git_exe_path});
}
- const std::string cmd_launch_cmake = System::make_cmake_cmd(
- cmake_exe_path,
- paths.ports_cmake,
- variables);
+ const std::string cmd_launch_cmake = System::make_cmake_cmd(cmake_exe_path, paths.ports_cmake, variables);
auto command = make_build_env_cmd(pre_build_info, toolset);
if (!command.empty())
@@ -484,14 +498,14 @@ namespace vcpkg::Build
// the order of recursive_directory_iterator is undefined so save the names to sort
std::vector<fs::path> port_files;
- for (auto &port_file : fs::stdfs::recursive_directory_iterator(config.port_dir))
+ for (auto& port_file : fs::stdfs::recursive_directory_iterator(config.port_dir))
{
if (fs::is_regular_file(status(port_file)))
{
port_files.push_back(port_file);
if (port_files.size() > max_port_file_count)
{
- abi_tag_entries.emplace_back(AbiEntry{ "no_hash_max_portfile", "" });
+ abi_tag_entries.emplace_back(AbiEntry{"no_hash_max_portfile", ""});
break;
}
}
@@ -502,7 +516,7 @@ namespace vcpkg::Build
std::sort(port_files.begin(), port_files.end());
int counter = 0;
- for (auto & port_file : port_files)
+ for (auto& port_file : port_files)
{
// When vcpkg takes a dependency on C++17 it can use fs::relative,
// which will give a stable ordering and better names in the key entry.
@@ -512,7 +526,7 @@ namespace vcpkg::Build
{
System::print2("[DEBUG] mapping ", key, " from ", port_file.u8string(), "\n");
}
- abi_tag_entries.emplace_back(AbiEntry{ key, vcpkg::Hash::get_file_hash(fs, port_file, "SHA1") });
+ abi_tag_entries.emplace_back(AbiEntry{key, vcpkg::Hash::get_file_hash(fs, port_file, "SHA1")});
}
}
@@ -602,8 +616,8 @@ namespace vcpkg::Build
System::cmd_execute_clean(Strings::format(
R"("%s" a "%s" "%s\*" >nul)", seven_zip_exe.u8string(), destination.u8string(), source.u8string()));
#else
- System::cmd_execute_clean(Strings::format(
- R"(cd '%s' && zip --quiet -r '%s' *)", source.u8string(), destination.u8string()));
+ System::cmd_execute_clean(
+ Strings::format(R"(cd '%s' && zip --quiet -r '%s' *)", source.u8string(), destination.u8string()));
#endif
}
@@ -730,7 +744,7 @@ namespace vcpkg::Build
const auto tmp_failure_zip = paths.buildtrees / spec.name() / "failure_logs.zip";
fs.create_directories(tmp_log_path_destination, ec);
- for (auto &log_file : fs::stdfs::directory_iterator(paths.buildtrees / spec.name()))
+ for (auto& log_file : fs::stdfs::directory_iterator(paths.buildtrees / spec.name()))
{
if (log_file.path().extension() == ".log")
{
diff --git a/toolsrc/src/vcpkg/commands.ci.cpp b/toolsrc/src/vcpkg/commands.ci.cpp
index 4d31c4fbe..ff7e7a134 100644
--- a/toolsrc/src/vcpkg/commands.ci.cpp
+++ b/toolsrc/src/vcpkg/commands.ci.cpp
@@ -55,27 +55,20 @@ namespace vcpkg::Commands::CI
struct XunitTestResults
{
public:
+ XunitTestResults() { m_assembly_run_datetime = Chrono::CTime::get_current_date_time(); }
- XunitTestResults()
+ void add_test_results(const std::string& spec,
+ const Build::BuildResult& build_result,
+ const Chrono::ElapsedTime& elapsed_time,
+ const std::string& abi_tag)
{
- m_assembly_run_datetime = Chrono::CTime::get_current_date_time();
- }
-
- void add_test_results(const std::string& spec, const Build::BuildResult& build_result, const Chrono::ElapsedTime& elapsed_time, const std::string& abi_tag)
- {
- m_collections.back().tests.push_back({ spec, build_result, elapsed_time, abi_tag });
+ m_collections.back().tests.push_back({spec, build_result, elapsed_time, abi_tag});
}
// Starting a new test collection
- void push_collection( const std::string& name)
- {
- m_collections.push_back({name});
- }
+ void push_collection(const std::string& name) { m_collections.push_back({name}); }
- void collection_time(const vcpkg::Chrono::ElapsedTime& time)
- {
- m_collections.back().time = time;
- }
+ void collection_time(const vcpkg::Chrono::ElapsedTime& time) { m_collections.back().time = time; }
const std::string& build_xml()
{
@@ -96,13 +89,9 @@ namespace vcpkg::Commands::CI
return m_xml;
}
- void assembly_time(const vcpkg::Chrono::ElapsedTime& assembly_time)
- {
- m_assembly_time = assembly_time;
- }
+ void assembly_time(const vcpkg::Chrono::ElapsedTime& assembly_time) { m_assembly_time = assembly_time; }
private:
-
struct XunitTest
{
std::string name;
@@ -126,34 +115,33 @@ namespace vcpkg::Commands::CI
auto rawDateTime = m_assembly_run_datetime.get()->to_string();
// The expected format is "yyyy-mm-ddThh:mm:ss.0Z"
// 0123456789012345678901
- datetime = Strings::format(R"(run-date="%s" run-time="%s")",
- rawDateTime.substr(0, 10), rawDateTime.substr(11, 8));
+ datetime = Strings::format(
+ R"(run-date="%s" run-time="%s")", rawDateTime.substr(0, 10), rawDateTime.substr(11, 8));
}
std::string time = Strings::format(R"(time="%lld")", m_assembly_time.as<std::chrono::seconds>().count());
- m_xml += Strings::format(
- R"(<assemblies>)" "\n"
- R"( <assembly name="vcpkg" %s %s>)" "\n"
- , datetime, time);
+ m_xml += Strings::format(R"(<assemblies>)"
+ "\n"
+ R"( <assembly name="vcpkg" %s %s>)"
+ "\n",
+ datetime,
+ time);
}
void xml_finish_assembly()
{
m_xml += " </assembly>\n"
- "</assemblies>\n";
+ "</assemblies>\n";
}
void xml_start_collection(const XunitCollection& collection)
{
m_xml += Strings::format(R"( <collection name="%s" time="%lld">)"
- "\n",
- collection.name,
- collection.time.as<std::chrono::seconds>().count());
- }
- void xml_finish_collection()
- {
- m_xml += " </collection>\n";
+ "\n",
+ collection.name,
+ collection.time.as<std::chrono::seconds>().count());
}
+ void xml_finish_collection() { m_xml += " </collection>\n"; }
void xml_test(const XunitTest& test)
{
@@ -161,23 +149,20 @@ namespace vcpkg::Commands::CI
const char* result_string = "";
switch (test.result)
{
- case BuildResult::POST_BUILD_CHECKS_FAILED:
- case BuildResult::FILE_CONFLICTS:
- case BuildResult::BUILD_FAILED:
- result_string = "Fail";
- message_block = Strings::format("<failure><message><![CDATA[%s]]></message></failure>", to_string(test.result));
- break;
- case BuildResult::EXCLUDED:
- case BuildResult::CASCADED_DUE_TO_MISSING_DEPENDENCIES:
- result_string = "Skip";
- message_block = Strings::format("<reason><![CDATA[%s]]></reason>", to_string(test.result));
- break;
- case BuildResult::SUCCEEDED:
- result_string = "Pass";
- break;
- default:
- Checks::exit_fail(VCPKG_LINE_INFO);
- break;
+ case BuildResult::POST_BUILD_CHECKS_FAILED:
+ case BuildResult::FILE_CONFLICTS:
+ case BuildResult::BUILD_FAILED:
+ result_string = "Fail";
+ message_block =
+ Strings::format("<failure><message><![CDATA[%s]]></message></failure>", to_string(test.result));
+ break;
+ case BuildResult::EXCLUDED:
+ case BuildResult::CASCADED_DUE_TO_MISSING_DEPENDENCIES:
+ result_string = "Skip";
+ message_block = Strings::format("<reason><![CDATA[%s]]></reason>", to_string(test.result));
+ break;
+ case BuildResult::SUCCEEDED: result_string = "Pass"; break;
+ default: Checks::exit_fail(VCPKG_LINE_INFO); break;
}
std::string traits_block;
@@ -187,13 +172,13 @@ namespace vcpkg::Commands::CI
}
m_xml += Strings::format(R"( <test name="%s" method="%s" time="%lld" result="%s">%s%s</test>)"
- "\n",
- test.name,
- test.name,
- test.time.as<std::chrono::seconds>().count(),
- result_string,
- traits_block,
- message_block);
+ "\n",
+ test.name,
+ test.name,
+ test.time.as<std::chrono::seconds>().count(),
+ result_string,
+ traits_block,
+ message_block);
}
Optional<vcpkg::Chrono::CTime> m_assembly_run_datetime;
@@ -203,7 +188,6 @@ namespace vcpkg::Commands::CI
std::string m_xml;
};
-
struct UnknownCIPortsResults
{
std::vector<FullPackageSpec> unknown;
@@ -212,11 +196,12 @@ namespace vcpkg::Commands::CI
std::map<PackageSpec, std::string> abi_tag_map;
};
- static std::unique_ptr<UnknownCIPortsResults> find_unknown_ports_for_ci(const VcpkgPaths& paths,
- const std::set<std::string>& exclusions,
- const Dependencies::PortFileProvider& provider,
- const std::vector<FeatureSpec>& fspecs,
- const bool purge_tombstones)
+ static std::unique_ptr<UnknownCIPortsResults> find_unknown_ports_for_ci(
+ const VcpkgPaths& paths,
+ const std::set<std::string>& exclusions,
+ const Dependencies::PortFileProvider& provider,
+ const std::vector<FeatureSpec>& fspecs,
+ const bool purge_tombstones)
{
auto ret = std::make_unique<UnknownCIPortsResults>();
@@ -251,7 +236,7 @@ namespace vcpkg::Commands::CI
{
auto triplet = p->spec.triplet();
- const Build::BuildPackageConfig build_config {
+ const Build::BuildPackageConfig build_config{
*scf, triplet, paths.port_dir(p->spec), build_options, p->feature_list};
auto dependency_abis =
@@ -297,7 +282,7 @@ namespace vcpkg::Commands::CI
bool b_will_build = false;
ret->features.emplace(p->spec,
- std::vector<std::string> {p->feature_list.begin(), p->feature_list.end()});
+ std::vector<std::string>{p->feature_list.begin(), p->feature_list.end()});
if (Util::Sets::contains(exclusions, p->spec.name()))
{
@@ -469,21 +454,27 @@ namespace vcpkg::Commands::CI
for (auto&& result : summary.results)
{
split_specs->known.erase(result.spec);
- xunitTestResults.add_test_results(result.spec.to_string(), result.build_result.code, result.timing, split_specs->abi_tag_map.at(result.spec));
+ xunitTestResults.add_test_results(result.spec.to_string(),
+ result.build_result.code,
+ result.timing,
+ split_specs->abi_tag_map.at(result.spec));
}
// Adding results for ports that were not built because they have known states
for (auto&& port : split_specs->known)
{
- xunitTestResults.add_test_results(port.first.to_string(), port.second, Chrono::ElapsedTime{}, split_specs->abi_tag_map.at(port.first));
+ xunitTestResults.add_test_results(port.first.to_string(),
+ port.second,
+ Chrono::ElapsedTime{},
+ split_specs->abi_tag_map.at(port.first));
}
all_known_results.emplace_back(std::move(split_specs->known));
abi_tag_map.insert(split_specs->abi_tag_map.begin(), split_specs->abi_tag_map.end());
- results.push_back({ triplet, std::move(summary)});
+ results.push_back({triplet, std::move(summary)});
- xunitTestResults.collection_time( collection_time_elapsed );
+ xunitTestResults.collection_time(collection_time_elapsed);
}
}
xunitTestResults.assembly_time(timer.elapsed());
diff --git a/toolsrc/src/vcpkg/commands.create.cpp b/toolsrc/src/vcpkg/commands.create.cpp
index a6f2c8838..31bf97f30 100644
--- a/toolsrc/src/vcpkg/commands.create.cpp
+++ b/toolsrc/src/vcpkg/commands.create.cpp
@@ -9,8 +9,7 @@
namespace vcpkg::Commands::Create
{
const CommandStructure COMMAND_STRUCTURE = {
- Help::create_example_string(
- R"###(create zlib2 http://zlib.net/zlib1211.zip "zlib1211-2.zip")###"),
+ Help::create_example_string(R"###(create zlib2 http://zlib.net/zlib1211.zip "zlib1211-2.zip")###"),
2,
3,
{},
diff --git a/toolsrc/src/vcpkg/commands.dependinfo.cpp b/toolsrc/src/vcpkg/commands.dependinfo.cpp
index 92ba15c1f..48a289fa5 100644
--- a/toolsrc/src/vcpkg/commands.dependinfo.cpp
+++ b/toolsrc/src/vcpkg/commands.dependinfo.cpp
@@ -16,7 +16,8 @@ namespace vcpkg::Commands::DependInfo
constexpr std::array<CommandSwitch, 3> DEPEND_SWITCHES = {{
{OPTION_DOT, "Creates graph on basis of dot"},
{OPTION_DGML, "Creates graph on basis of dgml"},
- {OPTION_NO_RECURSE, "Computes only immediate dependencies of packages explicitly specified on the command-line"},
+ {OPTION_NO_RECURSE,
+ "Computes only immediate dependencies of packages explicitly specified on the command-line"},
}};
const CommandStructure COMMAND_STRUCTURE = {
diff --git a/toolsrc/src/vcpkg/commands.edit.cpp b/toolsrc/src/vcpkg/commands.edit.cpp
index b2309aa41..98176b2b0 100644
--- a/toolsrc/src/vcpkg/commands.edit.cpp
+++ b/toolsrc/src/vcpkg/commands.edit.cpp
@@ -19,26 +19,16 @@ namespace vcpkg::Commands::Edit
HKEY root;
StringLiteral subkey;
} REGKEYS[] = {
- {
- HKEY_LOCAL_MACHINE,
- R"(SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{C26E74D1-022E-4238-8B9D-1E7564A36CC9}_is1)"
- },
- {
- HKEY_LOCAL_MACHINE,
- R"(SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{1287CAD5-7C8D-410D-88B9-0D1EE4A83FF2}_is1)"
- },
- {
- HKEY_LOCAL_MACHINE,
- R"(SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{F8A2A208-72B3-4D61-95FC-8A65D340689B}_is1)"
- },
- {
- HKEY_CURRENT_USER,
- R"(Software\Microsoft\Windows\CurrentVersion\Uninstall\{771FD6B0-FA20-440A-A002-3B3BAC16DC50}_is1)"
- },
- {
- HKEY_LOCAL_MACHINE,
- R"(SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{EA457B21-F73E-494C-ACAB-524FDE069978}_is1)"
- },
+ {HKEY_LOCAL_MACHINE,
+ R"(SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{C26E74D1-022E-4238-8B9D-1E7564A36CC9}_is1)"},
+ {HKEY_LOCAL_MACHINE,
+ R"(SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{1287CAD5-7C8D-410D-88B9-0D1EE4A83FF2}_is1)"},
+ {HKEY_LOCAL_MACHINE,
+ R"(SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{F8A2A208-72B3-4D61-95FC-8A65D340689B}_is1)"},
+ {HKEY_CURRENT_USER,
+ R"(Software\Microsoft\Windows\CurrentVersion\Uninstall\{771FD6B0-FA20-440A-A002-3B3BAC16DC50}_is1)"},
+ {HKEY_LOCAL_MACHINE,
+ R"(SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{EA457B21-F73E-494C-ACAB-524FDE069978}_is1)"},
};
for (auto&& keypath : REGKEYS)
@@ -177,7 +167,8 @@ namespace vcpkg::Commands::Edit
const std::vector<fs::path> from_registry = find_from_registry();
candidate_paths.insert(candidate_paths.end(), from_registry.cbegin(), from_registry.cend());
#elif defined(__APPLE__)
- candidate_paths.push_back(fs::path{"/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/bin/code"});
+ candidate_paths.push_back(
+ fs::path{"/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/bin/code"});
candidate_paths.push_back(fs::path{"/Applications/Visual Studio Code.app/Contents/Resources/app/bin/code"});
#elif defined(__linux__)
candidate_paths.push_back(fs::path{"/usr/share/code/bin/code"});
diff --git a/toolsrc/src/vcpkg/commands.import.cpp b/toolsrc/src/vcpkg/commands.import.cpp
index a2fd5d15d..f03140fbd 100644
--- a/toolsrc/src/vcpkg/commands.import.cpp
+++ b/toolsrc/src/vcpkg/commands.import.cpp
@@ -93,8 +93,7 @@ namespace vcpkg::Commands::Import
}
const CommandStructure COMMAND_STRUCTURE = {
- Help::create_example_string(
- R"(import C:\path\to\CONTROLfile C:\path\to\includedir C:\path\to\projectdir)"),
+ Help::create_example_string(R"(import C:\path\to\CONTROLfile C:\path\to\includedir C:\path\to\projectdir)"),
3,
3,
{},
diff --git a/toolsrc/src/vcpkg/commands.integrate.cpp b/toolsrc/src/vcpkg/commands.integrate.cpp
index 026ab3b77..ef555a844 100644
--- a/toolsrc/src/vcpkg/commands.integrate.cpp
+++ b/toolsrc/src/vcpkg/commands.integrate.cpp
@@ -124,7 +124,7 @@ namespace vcpkg::Commands::Integrate
static ElevationPromptChoice elevated_cmd_execute(const std::string& param)
{
- SHELLEXECUTEINFOW sh_ex_info {};
+ SHELLEXECUTEINFOW sh_ex_info{};
sh_ex_info.cbSize = sizeof(sh_ex_info);
sh_ex_info.fMask = SEE_MASK_NOCLOSEPROCESS;
sh_ex_info.hwnd = nullptr;
@@ -415,7 +415,7 @@ With a project open, go to Tools->NuGet Package Manager->Package Manager Console
static void integrate_bash(const VcpkgPaths& paths)
{
const auto home_path = System::get_environment_variable("HOME").value_or_exit(VCPKG_LINE_INFO);
- const fs::path bashrc_path = fs::path {home_path} / ".bashrc";
+ const fs::path bashrc_path = fs::path{home_path} / ".bashrc";
auto& fs = paths.get_filesystem();
const fs::path completion_script_path = paths.scripts / "vcpkg_completion.bash";
@@ -430,7 +430,7 @@ With a project open, go to Tools->NuGet Package Manager->Package Manager Console
for (auto&& line : bashrc_content)
{
std::smatch match;
- if (std::regex_match(line, match, std::regex {R"###(^source.*scripts/vcpkg_completion.bash$)###"}))
+ if (std::regex_match(line, match, std::regex{R"###(^source.*scripts/vcpkg_completion.bash$)###"}))
{
matches.push_back(line);
}
@@ -439,11 +439,11 @@ With a project open, go to Tools->NuGet Package Manager->Package Manager Console
if (!matches.empty())
{
System::printf("vcpkg bash completion is already imported to your %s file.\n"
- "The following entries were found:\n"
- " %s\n"
- "Please make sure you have started a new bash shell for the changes to take effect.\n",
- bashrc_path.u8string(),
- Strings::join("\n ", matches));
+ "The following entries were found:\n"
+ " %s\n"
+ "Please make sure you have started a new bash shell for the changes to take effect.\n",
+ bashrc_path.u8string(),
+ Strings::join("\n ", matches));
Checks::exit_success(VCPKG_LINE_INFO);
}
diff --git a/toolsrc/src/vcpkg/export.cpp b/toolsrc/src/vcpkg/export.cpp
index f6a95b61f..433d7a1af 100644
--- a/toolsrc/src/vcpkg/export.cpp
+++ b/toolsrc/src/vcpkg/export.cpp
@@ -229,10 +229,10 @@ namespace vcpkg::Export
{
const std::vector<fs::path> integration_files_relative_to_root = {
{".vcpkg-root"},
- {fs::path {"scripts"} / "buildsystems" / "msbuild" / "applocal.ps1"},
- {fs::path {"scripts"} / "buildsystems" / "msbuild" / "vcpkg.targets"},
- {fs::path {"scripts"} / "buildsystems" / "vcpkg.cmake"},
- {fs::path {"scripts"} / "cmake" / "vcpkg_get_windows_sdk.cmake"},
+ {fs::path{"scripts"} / "buildsystems" / "msbuild" / "applocal.ps1"},
+ {fs::path{"scripts"} / "buildsystems" / "msbuild" / "vcpkg.targets"},
+ {fs::path{"scripts"} / "buildsystems" / "vcpkg.cmake"},
+ {fs::path{"scripts"} / "cmake" / "vcpkg_get_windows_sdk.cmake"},
};
for (const fs::path& file : integration_files_relative_to_root)
diff --git a/toolsrc/src/vcpkg/install.cpp b/toolsrc/src/vcpkg/install.cpp
index 7fb304c17..adab4249f 100644
--- a/toolsrc/src/vcpkg/install.cpp
+++ b/toolsrc/src/vcpkg/install.cpp
@@ -156,14 +156,15 @@ namespace vcpkg::Install
const std::string name = t.pgh.package.displayname();
- for (const std::string &file : t.files)
+ for (const std::string& file : t.files)
{
output.emplace_back(file_pack{std::string(file, remove_chars), name});
}
}
- std::sort(output.begin(), output.end(),
- [](const file_pack &lhs, const file_pack &rhs) { return lhs.first < rhs.first; });
+ std::sort(output.begin(), output.end(), [](const file_pack& lhs, const file_pack& rhs) {
+ return lhs.first < rhs.first;
+ });
return output;
}
@@ -180,8 +181,7 @@ namespace vcpkg::Install
}
static SortedVector<file_pack> build_list_of_installed_files(
- const std::vector<StatusParagraphAndAssociatedFiles>& pgh_and_files,
- const Triplet& triplet)
+ const std::vector<StatusParagraphAndAssociatedFiles>& pgh_and_files, const Triplet& triplet)
{
const size_t installed_remove_char_count = triplet.canonical_name().size() + 1; // +1 for the slash
std::vector<file_pack> installed_files =
@@ -198,13 +198,12 @@ namespace vcpkg::Install
const SortedVector<std::string> package_files =
build_list_of_package_files(paths.get_filesystem(), package_dir);
- const SortedVector<file_pack> installed_files =
- build_list_of_installed_files(pgh_and_files, triplet);
+ const SortedVector<file_pack> installed_files = build_list_of_installed_files(pgh_and_files, triplet);
struct intersection_compare
{
- bool operator()(const std::string &lhs, const file_pack &rhs) { return lhs < rhs.first; }
- bool operator()(const file_pack &lhs, const std::string &rhs) { return lhs.first < rhs; }
+ bool operator()(const std::string& lhs, const file_pack& rhs) { return lhs < rhs.first; }
+ bool operator()(const file_pack& lhs, const std::string& rhs) { return lhs.first < rhs; }
};
std::vector<file_pack> intersection;
@@ -216,11 +215,9 @@ namespace vcpkg::Install
std::back_inserter(intersection),
intersection_compare());
- std::sort(intersection.begin(), intersection.end(),
- [](const file_pack &lhs, const file_pack &rhs)
- {
- return lhs.second < rhs.second;
- });
+ std::sort(intersection.begin(), intersection.end(), [](const file_pack& lhs, const file_pack& rhs) {
+ return lhs.second < rhs.second;
+ });
if (!intersection.empty())
{
@@ -231,19 +228,13 @@ namespace vcpkg::Install
bcf.core_paragraph.spec);
auto i = intersection.begin();
- while (i != intersection.end()) {
+ while (i != intersection.end())
+ {
System::print2("Installed by ", i->second, "\n ");
- auto next = std::find_if(i, intersection.end(),
- [i](const auto &val)
- {
- return i->second != val.second;
- });
-
- System::print2(Strings::join("\n ", i, next,
- [](const file_pack &file)
- {
- return file.first;
- }));
+ auto next =
+ std::find_if(i, intersection.end(), [i](const auto& val) { return i->second != val.second; });
+
+ System::print2(Strings::join("\n ", i, next, [](const file_pack& file) { return file.first; }));
System::print2("\n\n");
i = next;
@@ -372,9 +363,8 @@ namespace vcpkg::Install
auto& fs = paths.get_filesystem();
const fs::path download_dir = paths.downloads;
std::error_code ec;
- for(auto& p: fs.get_files_non_recursive(download_dir))
- if (!fs.is_directory(p))
- fs.remove(p);
+ for (auto& p : fs.get_files_non_recursive(download_dir))
+ if (!fs.is_directory(p)) fs.remove(p);
}
return {code, std::move(bcf)};
diff --git a/toolsrc/src/vcpkg/metrics.cpp b/toolsrc/src/vcpkg/metrics.cpp
index 5ca2b056a..9dd520ed6 100644
--- a/toolsrc/src/vcpkg/metrics.cpp
+++ b/toolsrc/src/vcpkg/metrics.cpp
@@ -9,8 +9,10 @@
#include <vcpkg/base/strings.h>
#include <vcpkg/base/system.process.h>
+#if defined(_WIN32)
#pragma comment(lib, "version")
#pragma comment(lib, "winhttp")
+#endif
namespace vcpkg::Metrics
{
diff --git a/toolsrc/src/vcpkg/packagespecparseresult.cpp b/toolsrc/src/vcpkg/packagespecparseresult.cpp
index c5254f7be..ef078ea28 100644
--- a/toolsrc/src/vcpkg/packagespecparseresult.cpp
+++ b/toolsrc/src/vcpkg/packagespecparseresult.cpp
@@ -19,8 +19,5 @@ namespace vcpkg
}
}
- void to_string(std::string& out, PackageSpecParseResult p)
- {
- out.append(vcpkg::to_string(p).c_str());
- }
+ void to_string(std::string& out, PackageSpecParseResult p) { out.append(vcpkg::to_string(p).c_str()); }
}
diff --git a/toolsrc/src/vcpkg/paragraphs.cpp b/toolsrc/src/vcpkg/paragraphs.cpp
index 431fad5ca..21ef2c4d9 100644
--- a/toolsrc/src/vcpkg/paragraphs.cpp
+++ b/toolsrc/src/vcpkg/paragraphs.cpp
@@ -1,9 +1,9 @@
#include "pch.h"
#include <vcpkg/base/files.h>
+#include <vcpkg/base/system.debug.h>
#include <vcpkg/base/system.print.h>
#include <vcpkg/base/util.h>
-#include <vcpkg/base/system.debug.h>
#include <vcpkg/paragraphparseresult.h>
#include <vcpkg/paragraphs.h>
diff --git a/toolsrc/src/vcpkg/sourceparagraph.cpp b/toolsrc/src/vcpkg/sourceparagraph.cpp
index b495c5f1d..9bc59cbe7 100644
--- a/toolsrc/src/vcpkg/sourceparagraph.cpp
+++ b/toolsrc/src/vcpkg/sourceparagraph.cpp
@@ -24,6 +24,7 @@ namespace vcpkg
static const std::string SOURCE = "Source";
static const std::string SUPPORTS = "Supports";
static const std::string VERSION = "Version";
+ static const std::string HOMEPAGE = "Homepage";
}
static Span<const std::string> get_list_of_valid_fields()
@@ -34,6 +35,7 @@ namespace vcpkg
SourceParagraphFields::DESCRIPTION,
SourceParagraphFields::MAINTAINER,
SourceParagraphFields::BUILD_DEPENDS,
+ SourceParagraphFields::HOMEPAGE,
};
return valid_fields;
@@ -107,6 +109,7 @@ namespace vcpkg
spgh->description = parser.optional_field(SourceParagraphFields::DESCRIPTION);
spgh->maintainer = parser.optional_field(SourceParagraphFields::MAINTAINER);
+ spgh->homepage = parser.optional_field(SourceParagraphFields::HOMEPAGE);
spgh->depends = expand_qualified_dependencies(
parse_comma_list(parser.optional_field(SourceParagraphFields::BUILD_DEPENDS)));
spgh->supports = parse_comma_list(parser.optional_field(SourceParagraphFields::SUPPORTS));
diff --git a/toolsrc/src/vcpkg/tools.cpp b/toolsrc/src/vcpkg/tools.cpp
index 7232971c7..2fdfbe0f2 100644
--- a/toolsrc/src/vcpkg/tools.cpp
+++ b/toolsrc/src/vcpkg/tools.cpp
@@ -62,7 +62,7 @@ namespace vcpkg
#if defined(_WIN32) || defined(__APPLE__) || defined(__linux__) || defined(__FreeBSD__)
static const std::string XML_VERSION = "2";
static const fs::path XML_PATH = paths.scripts / "vcpkgTools.xml";
- static const std::regex XML_VERSION_REGEX {R"###(<tools[\s]+version="([^"]+)">)###"};
+ static const std::regex XML_VERSION_REGEX{R"###(<tools[\s]+version="([^"]+)">)###"};
static const std::string XML = paths.get_filesystem().read_contents(XML_PATH).value_or_exit(VCPKG_LINE_INFO);
std::smatch match_xml_version;
const bool has_xml_version = std::regex_search(XML.cbegin(), XML.cend(), match_xml_version, XML_VERSION_REGEX);
@@ -78,7 +78,7 @@ namespace vcpkg
XML_VERSION,
match_xml_version[1]);
- const std::regex tool_regex {Strings::format(R"###(<tool[\s]+name="%s"[\s]+os="%s">)###", tool, OS_STRING)};
+ const std::regex tool_regex{Strings::format(R"###(<tool[\s]+name="%s"[\s]+os="%s">)###", tool, OS_STRING)};
std::smatch match_tool_entry;
const bool has_tool_entry = std::regex_search(XML.cbegin(), XML.cend(), match_tool_entry, tool_regex);
if (!has_tool_entry)
@@ -109,13 +109,13 @@ namespace vcpkg
const fs::path tool_dir_path = paths.tools / tool_dir_name;
const fs::path exe_path = tool_dir_path / exe_relative_path;
- return ToolData {*version.get(),
- exe_path,
- url,
- paths.downloads / archive_name.value_or(exe_relative_path).to_string(),
- archive_name.has_value(),
- tool_dir_path,
- sha512};
+ return ToolData{*version.get(),
+ exe_path,
+ url,
+ paths.downloads / archive_name.value_or(exe_relative_path).to_string(),
+ archive_name.has_value(),
+ tool_dir_path,
+ sha512};
#endif
}
@@ -156,7 +156,7 @@ namespace vcpkg
actual_version[2] >= expected_version[2]);
if (!version_acceptable) continue;
- return PathAndVersion {candidate, *version};
+ return PathAndVersion{candidate, *version};
}
return nullopt;
diff --git a/toolsrc/src/vcpkg/userconfig.cpp b/toolsrc/src/vcpkg/userconfig.cpp
index 4945fdaaa..a7c4e2765 100644
--- a/toolsrc/src/vcpkg/userconfig.cpp
+++ b/toolsrc/src/vcpkg/userconfig.cpp
@@ -39,10 +39,7 @@ namespace vcpkg
#endif
}
- static fs::path get_config_path()
- {
- return get_user_dir() / "config";
- }
+ static fs::path get_config_path() { return get_user_dir() / "config"; }
UserConfig UserConfig::try_read_data(const Files::Filesystem& fs)
{