aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoryurybura <yurybura@gmail.com>2018-05-11 13:34:43 +0300
committeryurybura <yurybura@gmail.com>2018-05-11 13:34:43 +0300
commit7d261fbbc39a1d36027299190920e0a7e222ebd7 (patch)
treed9b6745f2e6c670836cbbf61dbd2c4eb9ef857fe
parent50e5ee1e40380cf543ae804775462181984a86dc (diff)
parent9535a5631ac212b1c657a02be3ed9398df30c96c (diff)
downloadvcpkg-7d261fbbc39a1d36027299190920e0a7e222ebd7.tar.gz
vcpkg-7d261fbbc39a1d36027299190920e0a7e222ebd7.zip
Merge branch 'master' of https://github.com/yurybura/vcpkg
-rw-r--r--.gitignore8
-rw-r--r--CHANGELOG.md378
-rw-r--r--README.md35
-rwxr-xr-xbootstrap-vcpkg.sh4
-rw-r--r--docs/about/faq.md4
-rw-r--r--docs/index.md2
-rw-r--r--docs/maintainers/vcpkg_build_cmake.md3
-rw-r--r--docs/maintainers/vcpkg_build_msbuild.md5
-rw-r--r--docs/maintainers/vcpkg_find_acquire_program.md1
-rw-r--r--docs/users/triplets.md3
-rw-r--r--ports/abseil/CMakeLists.txt5
-rw-r--r--ports/abseil/CONTROL2
-rw-r--r--ports/abseil/portfile.cmake7
-rw-r--r--ports/ace/CONTROL2
-rw-r--r--ports/ace/portfile.cmake6
-rw-r--r--ports/alembic/CONTROL2
-rw-r--r--ports/alembic/portfile.cmake4
-rw-r--r--ports/asio/CONTROL2
-rw-r--r--ports/asio/portfile.cmake9
-rw-r--r--ports/atkmm/portfile.cmake3
-rw-r--r--ports/aubio/CONTROL4
-rw-r--r--ports/aws-sdk-cpp/CONTROL422
-rw-r--r--ports/aws-sdk-cpp/CONTROL.in5
-rw-r--r--ports/aws-sdk-cpp/compute_build_only.cmake418
-rw-r--r--ports/aws-sdk-cpp/disable_warning_as_error.patch13
-rw-r--r--ports/aws-sdk-cpp/drop_git.patch13
-rw-r--r--ports/aws-sdk-cpp/generateFeatures.ps151
-rw-r--r--ports/aws-sdk-cpp/portfile.cmake99
-rw-r--r--ports/azmq/CONTROL6
-rw-r--r--ports/azmq/portfile.cmake15
-rw-r--r--ports/azure-c-shared-utility/CONTROL3
-rw-r--r--ports/azure-c-shared-utility/portfile.cmake40
-rw-r--r--ports/azure-iot-sdk-c/CONTROL4
-rw-r--r--ports/azure-iot-sdk-c/improve-external-deps-2.patch20
-rw-r--r--ports/azure-iot-sdk-c/improve-external-deps.patch94
-rw-r--r--ports/azure-iot-sdk-c/portfile.cmake47
-rw-r--r--ports/azure-storage-cpp/CONTROL4
-rw-r--r--ports/azure-storage-cpp/glibmm-cmake.patch13
-rw-r--r--ports/azure-storage-cpp/portfile.cmake13
-rw-r--r--ports/azure-storage-cpp/pplx-do-while.patch52
-rw-r--r--ports/azure-uamqp-c/CONTROL4
-rw-r--r--ports/azure-uamqp-c/glob-headers.patch14
-rw-r--r--ports/azure-uamqp-c/portfile.cmake41
-rw-r--r--ports/azure-uhttp-c/CONTROL4
-rw-r--r--ports/azure-uhttp-c/portfile.cmake40
-rw-r--r--ports/azure-umqtt-c/CONTROL4
-rw-r--r--ports/azure-umqtt-c/portfile.cmake39
-rw-r--r--ports/benchmark/CONTROL2
-rw-r--r--ports/benchmark/portfile.cmake4
-rw-r--r--ports/bigint/CMakeLists.txt3
-rw-r--r--ports/bigint/CONTROL2
-rw-r--r--ports/bitserializer/CONTROL4
-rw-r--r--ports/bitserializer/portfile.cmake13
-rw-r--r--ports/boost-accumulators/CONTROL2
-rw-r--r--ports/boost-accumulators/portfile.cmake4
-rw-r--r--ports/boost-algorithm/CONTROL2
-rw-r--r--ports/boost-algorithm/portfile.cmake4
-rw-r--r--ports/boost-align/CONTROL2
-rw-r--r--ports/boost-align/portfile.cmake4
-rw-r--r--ports/boost-any/CONTROL2
-rw-r--r--ports/boost-any/portfile.cmake4
-rw-r--r--ports/boost-array/CONTROL2
-rw-r--r--ports/boost-array/portfile.cmake4
-rw-r--r--ports/boost-asio/CONTROL4
-rw-r--r--ports/boost-asio/portfile.cmake4
-rw-r--r--ports/boost-assert/CONTROL2
-rw-r--r--ports/boost-assert/portfile.cmake4
-rw-r--r--ports/boost-assign/CONTROL4
-rw-r--r--ports/boost-assign/portfile.cmake4
-rw-r--r--ports/boost-atomic/CONTROL4
-rw-r--r--ports/boost-atomic/portfile.cmake4
-rw-r--r--ports/boost-beast/CONTROL4
-rw-r--r--ports/boost-beast/portfile.cmake4
-rw-r--r--ports/boost-bimap/CONTROL2
-rw-r--r--ports/boost-bimap/portfile.cmake4
-rw-r--r--ports/boost-bind/CONTROL2
-rw-r--r--ports/boost-bind/portfile.cmake4
-rw-r--r--ports/boost-build/CONTROL2
-rw-r--r--ports/boost-build/portfile.cmake12
-rw-r--r--ports/boost-callable-traits/CONTROL2
-rw-r--r--ports/boost-callable-traits/portfile.cmake4
-rw-r--r--ports/boost-chrono/CONTROL4
-rw-r--r--ports/boost-chrono/portfile.cmake4
-rw-r--r--ports/boost-circular-buffer/CONTROL2
-rw-r--r--ports/boost-circular-buffer/portfile.cmake4
-rw-r--r--ports/boost-compatibility/CONTROL2
-rw-r--r--ports/boost-compatibility/portfile.cmake4
-rw-r--r--ports/boost-compute/CONTROL4
-rw-r--r--ports/boost-compute/portfile.cmake4
-rw-r--r--ports/boost-concept-check/CONTROL2
-rw-r--r--ports/boost-concept-check/portfile.cmake4
-rw-r--r--ports/boost-config/CONTROL2
-rw-r--r--ports/boost-config/portfile.cmake5
-rw-r--r--ports/boost-container-hash/CONTROL5
-rw-r--r--ports/boost-container-hash/portfile.cmake14
-rw-r--r--ports/boost-container/CONTROL4
-rw-r--r--ports/boost-container/portfile.cmake4
-rw-r--r--ports/boost-context/CONTROL4
-rw-r--r--ports/boost-context/portfile.cmake9
-rw-r--r--ports/boost-contract/CONTROL5
-rw-r--r--ports/boost-contract/portfile.cmake16
-rw-r--r--ports/boost-conversion/CONTROL2
-rw-r--r--ports/boost-conversion/portfile.cmake4
-rw-r--r--ports/boost-convert/CONTROL2
-rw-r--r--ports/boost-convert/portfile.cmake4
-rw-r--r--ports/boost-core/CONTROL2
-rw-r--r--ports/boost-core/portfile.cmake4
-rw-r--r--ports/boost-coroutine/CONTROL4
-rw-r--r--ports/boost-coroutine/portfile.cmake4
-rw-r--r--ports/boost-coroutine2/CONTROL4
-rw-r--r--ports/boost-coroutine2/portfile.cmake4
-rw-r--r--ports/boost-crc/CONTROL2
-rw-r--r--ports/boost-crc/portfile.cmake4
-rw-r--r--ports/boost-date-time/CONTROL4
-rw-r--r--ports/boost-date-time/portfile.cmake4
-rw-r--r--ports/boost-detail/CONTROL2
-rw-r--r--ports/boost-detail/portfile.cmake4
-rw-r--r--ports/boost-disjoint-sets/CONTROL2
-rw-r--r--ports/boost-disjoint-sets/portfile.cmake4
-rw-r--r--ports/boost-dll/CONTROL4
-rw-r--r--ports/boost-dll/portfile.cmake4
-rw-r--r--ports/boost-dynamic-bitset/CONTROL2
-rw-r--r--ports/boost-dynamic-bitset/portfile.cmake4
-rw-r--r--ports/boost-endian/CONTROL2
-rw-r--r--ports/boost-endian/portfile.cmake4
-rw-r--r--ports/boost-exception/CONTROL4
-rw-r--r--ports/boost-exception/portfile.cmake4
-rw-r--r--ports/boost-fiber/CONTROL4
-rw-r--r--ports/boost-fiber/portfile.cmake9
-rw-r--r--ports/boost-filesystem/CONTROL4
-rw-r--r--ports/boost-filesystem/portfile.cmake4
-rw-r--r--ports/boost-flyweight/CONTROL2
-rw-r--r--ports/boost-flyweight/portfile.cmake4
-rw-r--r--ports/boost-foreach/CONTROL2
-rw-r--r--ports/boost-foreach/portfile.cmake4
-rw-r--r--ports/boost-format/CONTROL2
-rw-r--r--ports/boost-format/portfile.cmake4
-rw-r--r--ports/boost-function-types/CONTROL2
-rw-r--r--ports/boost-function-types/portfile.cmake4
-rw-r--r--ports/boost-function/CONTROL2
-rw-r--r--ports/boost-function/portfile.cmake4
-rw-r--r--ports/boost-functional/CONTROL4
-rw-r--r--ports/boost-functional/portfile.cmake4
-rw-r--r--ports/boost-fusion/CONTROL2
-rw-r--r--ports/boost-fusion/portfile.cmake4
-rw-r--r--ports/boost-geometry/CONTROL2
-rw-r--r--ports/boost-geometry/portfile.cmake4
-rw-r--r--ports/boost-gil/CONTROL2
-rw-r--r--ports/boost-gil/portfile.cmake4
-rw-r--r--ports/boost-graph-parallel/CONTROL4
-rw-r--r--ports/boost-graph-parallel/portfile.cmake6
-rw-r--r--ports/boost-graph/CONTROL4
-rw-r--r--ports/boost-graph/portfile.cmake4
-rw-r--r--ports/boost-hana/CONTROL2
-rw-r--r--ports/boost-hana/portfile.cmake4
-rw-r--r--ports/boost-heap/CONTROL2
-rw-r--r--ports/boost-heap/portfile.cmake4
-rw-r--r--ports/boost-hof/CONTROL5
-rw-r--r--ports/boost-hof/portfile.cmake14
-rw-r--r--ports/boost-icl/CONTROL2
-rw-r--r--ports/boost-icl/portfile.cmake4
-rw-r--r--ports/boost-integer/CONTROL2
-rw-r--r--ports/boost-integer/portfile.cmake4
-rw-r--r--ports/boost-interprocess/CONTROL2
-rw-r--r--ports/boost-interprocess/portfile.cmake4
-rw-r--r--ports/boost-interval/CONTROL4
-rw-r--r--ports/boost-interval/portfile.cmake4
-rw-r--r--ports/boost-intrusive/CONTROL2
-rw-r--r--ports/boost-intrusive/portfile.cmake4
-rw-r--r--ports/boost-io/CONTROL2
-rw-r--r--ports/boost-io/portfile.cmake4
-rw-r--r--ports/boost-iostreams/CMakeLists.txt37
-rw-r--r--ports/boost-iostreams/CONTROL4
-rw-r--r--ports/boost-iostreams/portfile.cmake26
-rw-r--r--ports/boost-iterator/CONTROL2
-rw-r--r--ports/boost-iterator/portfile.cmake4
-rw-r--r--ports/boost-lambda/CONTROL2
-rw-r--r--ports/boost-lambda/portfile.cmake4
-rw-r--r--ports/boost-lexical-cast/CONTROL2
-rw-r--r--ports/boost-lexical-cast/portfile.cmake4
-rw-r--r--ports/boost-local-function/CONTROL2
-rw-r--r--ports/boost-local-function/portfile.cmake4
-rw-r--r--ports/boost-locale/CONTROL4
-rw-r--r--ports/boost-locale/cmake-fragment.cmake10
-rw-r--r--ports/boost-locale/portfile.cmake5
-rw-r--r--ports/boost-lockfree/CONTROL2
-rw-r--r--ports/boost-lockfree/portfile.cmake4
-rw-r--r--ports/boost-log/CONTROL4
-rw-r--r--ports/boost-log/portfile.cmake17
-rw-r--r--ports/boost-logic/CONTROL2
-rw-r--r--ports/boost-logic/portfile.cmake4
-rw-r--r--ports/boost-math/CONTROL4
-rw-r--r--ports/boost-math/portfile.cmake4
-rw-r--r--ports/boost-metaparse/CONTROL2
-rw-r--r--ports/boost-metaparse/portfile.cmake4
-rw-r--r--ports/boost-modular-build-helper/CMakeLists.txt16
-rw-r--r--ports/boost-modular-build-helper/CONTROL2
-rw-r--r--ports/boost-modular-build-helper/Jamroot.jam11
-rw-r--r--ports/boost-modular-build-helper/boost-modular-build.cmake49
-rw-r--r--ports/boost-modular-build-helper/portfile.cmake3
-rw-r--r--ports/boost-modular-build-helper/user-config.jam7
-rw-r--r--ports/boost-move/CONTROL2
-rw-r--r--ports/boost-move/portfile.cmake4
-rw-r--r--ports/boost-mp11/CONTROL4
-rw-r--r--ports/boost-mp11/portfile.cmake4
-rw-r--r--ports/boost-mpi/CONTROL4
-rw-r--r--ports/boost-mpi/portfile.cmake4
-rw-r--r--ports/boost-mpl/CONTROL2
-rw-r--r--ports/boost-mpl/portfile.cmake4
-rw-r--r--ports/boost-msm/CONTROL2
-rw-r--r--ports/boost-msm/portfile.cmake4
-rw-r--r--ports/boost-multi-array/CONTROL2
-rw-r--r--ports/boost-multi-array/portfile.cmake4
-rw-r--r--ports/boost-multi-index/CONTROL2
-rw-r--r--ports/boost-multi-index/portfile.cmake4
-rw-r--r--ports/boost-multiprecision/CONTROL2
-rw-r--r--ports/boost-multiprecision/portfile.cmake4
-rw-r--r--ports/boost-numeric-conversion/CONTROL2
-rw-r--r--ports/boost-numeric-conversion/portfile.cmake4
-rw-r--r--ports/boost-odeint/CONTROL2
-rw-r--r--ports/boost-odeint/portfile.cmake4
-rw-r--r--ports/boost-optional/CONTROL2
-rw-r--r--ports/boost-optional/portfile.cmake4
-rw-r--r--ports/boost-parameter/CONTROL2
-rw-r--r--ports/boost-parameter/portfile.cmake4
-rw-r--r--ports/boost-phoenix/CONTROL2
-rw-r--r--ports/boost-phoenix/portfile.cmake4
-rw-r--r--ports/boost-poly-collection/CONTROL4
-rw-r--r--ports/boost-poly-collection/portfile.cmake4
-rw-r--r--ports/boost-polygon/CONTROL2
-rw-r--r--ports/boost-polygon/portfile.cmake4
-rw-r--r--ports/boost-pool/CONTROL4
-rw-r--r--ports/boost-pool/portfile.cmake4
-rw-r--r--ports/boost-predef/CONTROL2
-rw-r--r--ports/boost-predef/portfile.cmake6
-rw-r--r--ports/boost-preprocessor/CONTROL2
-rw-r--r--ports/boost-preprocessor/portfile.cmake4
-rw-r--r--ports/boost-process/CONTROL4
-rw-r--r--ports/boost-process/portfile.cmake4
-rw-r--r--ports/boost-program-options/CONTROL4
-rw-r--r--ports/boost-program-options/portfile.cmake4
-rw-r--r--ports/boost-property-map/CONTROL2
-rw-r--r--ports/boost-property-map/portfile.cmake4
-rw-r--r--ports/boost-property-tree/CONTROL2
-rw-r--r--ports/boost-property-tree/portfile.cmake4
-rw-r--r--ports/boost-proto/CONTROL2
-rw-r--r--ports/boost-proto/portfile.cmake4
-rw-r--r--ports/boost-ptr-container/CONTROL2
-rw-r--r--ports/boost-ptr-container/portfile.cmake4
-rw-r--r--ports/boost-python/CONTROL2
-rw-r--r--ports/boost-python/portfile.cmake4
-rw-r--r--ports/boost-qvm/CONTROL2
-rw-r--r--ports/boost-qvm/portfile.cmake4
-rw-r--r--ports/boost-random/CONTROL4
-rw-r--r--ports/boost-random/portfile.cmake4
-rw-r--r--ports/boost-range/CONTROL2
-rw-r--r--ports/boost-range/portfile.cmake4
-rw-r--r--ports/boost-ratio/CONTROL2
-rw-r--r--ports/boost-ratio/portfile.cmake4
-rw-r--r--ports/boost-rational/CONTROL2
-rw-r--r--ports/boost-rational/portfile.cmake4
-rw-r--r--ports/boost-regex/CONTROL4
-rw-r--r--ports/boost-regex/portfile.cmake4
-rw-r--r--ports/boost-scope-exit/CONTROL2
-rw-r--r--ports/boost-scope-exit/portfile.cmake4
-rw-r--r--ports/boost-serialization/CONTROL4
-rw-r--r--ports/boost-serialization/portfile.cmake4
-rw-r--r--ports/boost-signals/CONTROL4
-rw-r--r--ports/boost-signals/portfile.cmake4
-rw-r--r--ports/boost-signals2/CONTROL2
-rw-r--r--ports/boost-signals2/portfile.cmake4
-rw-r--r--ports/boost-smart-ptr/CONTROL2
-rw-r--r--ports/boost-smart-ptr/portfile.cmake4
-rw-r--r--ports/boost-sort/CONTROL4
-rw-r--r--ports/boost-sort/portfile.cmake4
-rw-r--r--ports/boost-spirit/CONTROL4
-rw-r--r--ports/boost-spirit/portfile.cmake4
-rw-r--r--ports/boost-stacktrace/CONTROL4
-rw-r--r--ports/boost-stacktrace/portfile.cmake4
-rw-r--r--ports/boost-statechart/CONTROL2
-rw-r--r--ports/boost-statechart/portfile.cmake4
-rw-r--r--ports/boost-static-assert/CONTROL2
-rw-r--r--ports/boost-static-assert/portfile.cmake4
-rw-r--r--ports/boost-system/CONTROL4
-rw-r--r--ports/boost-system/portfile.cmake4
-rw-r--r--ports/boost-test/CONTROL4
-rw-r--r--ports/boost-test/portfile.cmake11
-rw-r--r--ports/boost-thread/CONTROL4
-rw-r--r--ports/boost-thread/b2-options.cmake1
-rw-r--r--ports/boost-thread/portfile.cmake11
-rw-r--r--ports/boost-throw-exception/CONTROL2
-rw-r--r--ports/boost-throw-exception/portfile.cmake4
-rw-r--r--ports/boost-timer/CONTROL4
-rw-r--r--ports/boost-timer/portfile.cmake4
-rw-r--r--ports/boost-tokenizer/CONTROL2
-rw-r--r--ports/boost-tokenizer/portfile.cmake4
-rw-r--r--ports/boost-tti/CONTROL2
-rw-r--r--ports/boost-tti/portfile.cmake4
-rw-r--r--ports/boost-tuple/CONTROL2
-rw-r--r--ports/boost-tuple/portfile.cmake4
-rw-r--r--ports/boost-type-erasure/CONTROL4
-rw-r--r--ports/boost-type-erasure/portfile.cmake4
-rw-r--r--ports/boost-type-index/CONTROL4
-rw-r--r--ports/boost-type-index/portfile.cmake4
-rw-r--r--ports/boost-type-traits/CONTROL2
-rw-r--r--ports/boost-type-traits/portfile.cmake4
-rw-r--r--ports/boost-typeof/CONTROL2
-rw-r--r--ports/boost-typeof/portfile.cmake4
-rw-r--r--ports/boost-ublas/CONTROL2
-rw-r--r--ports/boost-ublas/portfile.cmake4
-rw-r--r--ports/boost-units/CONTROL2
-rw-r--r--ports/boost-units/portfile.cmake4
-rw-r--r--ports/boost-unordered/CONTROL4
-rw-r--r--ports/boost-unordered/portfile.cmake4
-rw-r--r--ports/boost-utility/CONTROL4
-rw-r--r--ports/boost-utility/portfile.cmake4
-rw-r--r--ports/boost-uuid/CONTROL4
-rw-r--r--ports/boost-uuid/portfile.cmake4
-rw-r--r--ports/boost-variant/CONTROL4
-rw-r--r--ports/boost-variant/portfile.cmake4
-rw-r--r--ports/boost-vcpkg-helpers/generate-ports.ps164
-rw-r--r--ports/boost-vcpkg-helpers/post-source-stubs/context.cmake5
-rw-r--r--ports/boost-vcpkg-helpers/post-source-stubs/fiber.cmake5
-rw-r--r--ports/boost-vcpkg-helpers/post-source-stubs/log.cmake13
-rw-r--r--ports/boost-vcpkg-helpers/post-source-stubs/python.cmake5
-rw-r--r--ports/boost-vcpkg-helpers/post-source-stubs/test.cmake5
-rw-r--r--ports/boost-vmd/CONTROL2
-rw-r--r--ports/boost-vmd/portfile.cmake4
-rw-r--r--ports/boost-wave/CONTROL4
-rw-r--r--ports/boost-wave/portfile.cmake4
-rw-r--r--ports/boost-winapi/CONTROL2
-rw-r--r--ports/boost-winapi/portfile.cmake4
-rw-r--r--ports/boost-xpressive/CONTROL2
-rw-r--r--ports/boost-xpressive/portfile.cmake4
-rw-r--r--ports/boost/CONTROL4
-rw-r--r--ports/box2d/CMakeLists.txt21
-rw-r--r--ports/box2d/CONTROL2
-rw-r--r--ports/box2d/portfile.cmake62
-rw-r--r--ports/box2d/use-static-linkage.patch40
-rw-r--r--ports/breakpad/CONTROL2
-rw-r--r--ports/breakpad/portfile.cmake4
-rw-r--r--ports/brotli/CONTROL2
-rw-r--r--ports/brotli/portfile.cmake4
-rw-r--r--ports/caf/CONTROL4
-rw-r--r--ports/caf/openssl-version-override.patch14
-rw-r--r--ports/caf/portfile.cmake48
-rw-r--r--ports/cartographer/CONTROL2
-rw-r--r--ports/cartographer/portfile.cmake5
-rw-r--r--ports/catch2/CONTROL2
-rw-r--r--ports/catch2/portfile.cmake36
-rw-r--r--ports/ccfits/CONTROL2
-rw-r--r--ports/ccfits/portfile.cmake33
-rw-r--r--ports/cctz/CMakeLists.txt2
-rw-r--r--ports/cctz/portfile.cmake3
-rw-r--r--ports/celero/CONTROL2
-rw-r--r--ports/celero/portfile.cmake11
-rw-r--r--ports/ceres/CONTROL2
-rw-r--r--ports/ceres/portfile.cmake7
-rw-r--r--ports/cfitsio/CONTROL2
-rw-r--r--ports/cfitsio/portfile.cmake17
-rw-r--r--ports/cgal/CONTROL2
-rw-r--r--ports/cgal/portfile.cmake4
-rw-r--r--ports/chakracore/CONTROL2
-rw-r--r--ports/chakracore/portfile.cmake54
-rw-r--r--ports/cimg/CONTROL2
-rw-r--r--ports/cimg/portfile.cmake4
-rw-r--r--ports/clara/CONTROL2
-rw-r--r--ports/clara/portfile.cmake4
-rw-r--r--ports/clblas/portfile.cmake7
-rw-r--r--ports/cmark/CONTROL3
-rw-r--r--ports/cmark/portfile.cmake40
-rw-r--r--ports/corrade/CONTROL2
-rw-r--r--ports/corrade/portfile.cmake4
-rw-r--r--ports/cpprestsdk/CONTROL4
-rw-r--r--ports/cppzmq/CONTROL2
-rw-r--r--ports/cppzmq/portfile.cmake13
-rw-r--r--ports/cryptopp/CONTROL2
-rw-r--r--ports/cryptopp/cmake.patch15
-rw-r--r--ports/cryptopp/patch.patch12
-rw-r--r--ports/cryptopp/portfile.cmake42
-rw-r--r--ports/curl/0002_fix_uwp.patch4
-rw-r--r--ports/curl/CONTROL4
-rw-r--r--ports/curl/portfile.cmake4
-rw-r--r--ports/date/CMakeLists.txt22
-rw-r--r--ports/date/CONTROL6
-rw-r--r--ports/date/portfile.cmake23
-rw-r--r--ports/directxmesh/CONTROL4
-rw-r--r--ports/directxmesh/portfile.cmake4
-rw-r--r--ports/directxtex/CONTROL2
-rw-r--r--ports/directxtex/portfile.cmake4
-rw-r--r--ports/directxtk/CONTROL2
-rw-r--r--ports/directxtk/portfile.cmake4
-rw-r--r--ports/discord-rpc/CONTROL2
-rw-r--r--ports/discord-rpc/portfile.cmake4
-rw-r--r--ports/dlib/CONTROL2
-rw-r--r--ports/dlib/portfile.cmake9
-rw-r--r--ports/double-conversion/portfile.cmake19
-rw-r--r--ports/eastl/CONTROL2
-rw-r--r--ports/eastl/portfile.cmake4
-rw-r--r--ports/exiv2/CONTROL2
-rw-r--r--ports/exiv2/portfile.cmake4
-rw-r--r--ports/exprtk/CONTROL2
-rw-r--r--ports/exprtk/portfile.cmake4
-rw-r--r--ports/fastrtps/CONTROL4
-rw-r--r--ports/fastrtps/fix-install.patch14
-rw-r--r--ports/fastrtps/portfile.cmake32
-rw-r--r--ports/ffmpeg/CONTROL31
-rw-r--r--ports/ffmpeg/FindFFMPEG.cmake2
-rw-r--r--ports/ffmpeg/configure_opencv.patch11
-rw-r--r--ports/ffmpeg/portfile.cmake64
-rw-r--r--ports/fluidsynth/CONTROL4
-rw-r--r--ports/fluidsynth/portfile.cmake34
-rw-r--r--ports/fmem/CONTROL3
-rw-r--r--ports/fmem/portfile.cmake25
-rw-r--r--ports/folly/CONTROL29
-rw-r--r--ports/folly/FindLZ4.cmake13
-rw-r--r--ports/folly/FindSnappy.cmake13
-rw-r--r--ports/folly/cmake-link-boost-fix.patch35
-rw-r--r--ports/folly/find-gflags.patch13
-rw-r--r--ports/folly/msvc-15.6-workaround.patch25
-rw-r--r--ports/folly/portfile.cmake52
-rw-r--r--ports/forest/CONTROL4
-rw-r--r--ports/forest/portfile.cmake15
-rw-r--r--ports/freeglut/CONTROL2
-rw-r--r--ports/freeglut/portfile.cmake12
-rw-r--r--ports/freetype/portfile.cmake24
-rw-r--r--ports/freexl/portfile.cmake50
-rw-r--r--ports/gainput/CONTROL2
-rw-r--r--ports/gdal/CONTROL2
-rw-r--r--ports/gdal/no-my-bool.patch13
-rw-r--r--ports/gdal/no-mysql-global-h.patch13
-rw-r--r--ports/gdal/no-mysql-sys-h.patch13
-rw-r--r--ports/gdal/portfile.cmake10
-rw-r--r--ports/gdcm2/CONTROL2
-rw-r--r--ports/gdcm2/portfile.cmake4
-rw-r--r--ports/geos/CONTROL2
-rw-r--r--ports/geos/portfile.cmake11
-rw-r--r--ports/gettext/CMakeLists.txt95
-rw-r--r--ports/gettext/CONTROL2
-rw-r--r--ports/gettext/config.win32.h (renamed from ports/gettext/config.h)2
-rw-r--r--ports/gettext/libgnuintl.win32.h (renamed from ports/gettext/libgnuintl.h)0
-rw-r--r--ports/gettext/portfile.cmake19
-rw-r--r--ports/gherkin-c/CONTROL3
-rw-r--r--ports/gherkin-c/portfile.cmake23
-rw-r--r--ports/glew/portfile.cmake12
-rw-r--r--ports/glib/CMakeLists.txt220
-rw-r--r--ports/glib/CONTROL2
-rw-r--r--ports/glib/cmake/install_headers.cmake5
-rw-r--r--ports/glib/portfile.cmake16
-rw-r--r--ports/glibmm/CMakeLists.txt121
-rw-r--r--ports/glibmm/CONTROL2
-rw-r--r--ports/glibmm/COPYING514
-rw-r--r--ports/glibmm/README4
-rw-r--r--ports/glibmm/fix_charset.patch2702
-rw-r--r--ports/glibmm/fix_properties.patch1721
-rw-r--r--ports/glibmm/glibmm-api-variant.patch84
-rw-r--r--ports/glibmm/portfile.cmake90
-rw-r--r--ports/google-cloud-cpp/CONTROL4
-rw-r--r--ports/google-cloud-cpp/portfile.cmake44
-rw-r--r--ports/graphicsmagick/CMakeLists.txt2
-rw-r--r--ports/graphicsmagick/CONTROL2
-rw-r--r--ports/graphicsmagick/portfile.cmake4
-rw-r--r--ports/graphite2/disable-tests-docs.patch19
-rw-r--r--ports/graphite2/portfile.cmake12
-rw-r--r--ports/grpc/CONTROL2
-rw-r--r--ports/grpc/disable-csharp-ext-2.patch20
-rw-r--r--ports/grpc/portfile.cmake13
-rw-r--r--ports/gtest/0002-Fix-z7-override.patch13
-rw-r--r--ports/gtest/CONTROL2
-rw-r--r--ports/gtest/portfile.cmake1
-rw-r--r--ports/gtkmm/portfile.cmake3
-rw-r--r--ports/harfbuzz/CONTROL2
-rw-r--r--ports/harfbuzz/find-package-freetype-2.patch (renamed from ports/harfbuzz/find-package-freetype.patch)26
-rw-r--r--ports/harfbuzz/portfile.cmake4
-rw-r--r--ports/hpx/CONTROL10
-rw-r--r--ports/hpx/boost-1-66.patch38
-rw-r--r--ports/hpx/portfile.cmake213
-rw-r--r--ports/http-parser/CMakeLists.txt30
-rw-r--r--ports/http-parser/CONTROL2
-rw-r--r--ports/http-parser/portfile.cmake28
-rw-r--r--ports/icu/CONTROL2
-rw-r--r--ports/icu/portfile.cmake35
-rw-r--r--ports/imgui/CONTROL2
-rw-r--r--ports/imgui/portfile.cmake4
-rw-r--r--ports/inja/CONTROL4
-rw-r--r--ports/inja/portfile.cmake11
-rw-r--r--ports/ismrmrd/CONTROL2
-rw-r--r--ports/ismrmrd/portfile.cmake2
-rw-r--r--ports/jemalloc/fix-cmakelists.patch2
-rw-r--r--ports/jemalloc/portfile.cmake1
-rw-r--r--ports/jsonnet/CONTROL2
-rw-r--r--ports/jsonnet/portfile.cmake4
-rw-r--r--ports/lcm/CONTROL2
-rw-r--r--ports/lcm/only-install-one-flavor.patch19
-rw-r--r--ports/lcm/portfile.cmake30
-rw-r--r--ports/leveldb/CONTROL2
-rw-r--r--ports/leveldb/portfile.cmake19
-rw-r--r--ports/libffi/CMakeLists.txt112
-rw-r--r--ports/libffi/fficonfig.h163
-rw-r--r--ports/libffi/portfile.cmake9
-rw-r--r--ports/libflac/CMakeLists.txt30
-rw-r--r--ports/libflac/CONTROL2
-rw-r--r--ports/libgo/CONTROL3
-rw-r--r--ports/libgo/cmake.patch38
-rw-r--r--ports/libgo/libgo-config.cmake25
-rw-r--r--ports/libgo/portfile.cmake62
-rw-r--r--ports/libgo/usage5
-rw-r--r--ports/libiconv/CONTROL2
-rw-r--r--ports/libiconv/portfile.cmake4
-rw-r--r--ports/libiconv/unofficial-iconv-config.cmake6
-rw-r--r--ports/libiconv/vcpkg-iconv-config.cmake2
-rw-r--r--ports/libjpeg-turbo/CONTROL2
-rw-r--r--ports/libjpeg-turbo/portfile.cmake13
-rw-r--r--ports/liblinear/CMakeLists.txt47
-rw-r--r--ports/liblinear/CONTROL3
-rw-r--r--ports/liblinear/portfile.cmake26
-rw-r--r--ports/libmariadb/portfile.cmake84
-rw-r--r--ports/libmysql/CONTROL3
-rw-r--r--ports/libmysql/boost_and_build.patch44
-rw-r--r--ports/libmysql/ignore-boost-version.patch13
-rw-r--r--ports/libmysql/portfile.cmake35
-rw-r--r--ports/libmysql/system-libs.patch150
-rw-r--r--ports/libpng/portfile.cmake10
-rw-r--r--ports/libpq/CMakeLists.txt106
-rw-r--r--ports/libpq/CONTROL4
-rw-r--r--ports/libpq/pg_config.darwin.h191
-rw-r--r--ports/libpq/pg_config.linux.h173
-rw-r--r--ports/libpq/portfile.cmake8
-rw-r--r--ports/libqrencode/CONTROL2
-rw-r--r--ports/libqrencode/portfile.cmake2
-rw-r--r--ports/librsync/CONTROL3
-rw-r--r--ports/librsync/portfile.cmake39
-rw-r--r--ports/librtmp/CMakeLists.txt4
-rw-r--r--ports/librtmp/CONTROL2
-rw-r--r--ports/libsigcpp/CMakeLists.txt2
-rw-r--r--ports/libsigcpp/CONTROL2
-rw-r--r--ports/libspatialite/portfile.cmake54
-rw-r--r--ports/libssh/CONTROL4
-rw-r--r--ports/libssh/build-one-flavor.patch20
-rw-r--r--ports/libssh/only-one-flavor-threads.patch21
-rw-r--r--ports/libssh/portfile.cmake40
-rw-r--r--ports/libtorrent/CONTROL4
-rw-r--r--ports/libtorrent/boost-167.patch48
-rw-r--r--ports/libtorrent/portfile.cmake4
-rw-r--r--ports/libuuid/CMakeLists.txt35
-rw-r--r--ports/libuuid/CONTROL3
-rw-r--r--ports/libuuid/config.linux.h13
-rw-r--r--ports/libuuid/portfile.cmake29
-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.cmake11
-rw-r--r--ports/libxml2/CMakeLists.txt84
-rw-r--r--ports/libxml2/CONTROL2
-rw-r--r--ports/libxml2/config.linux.h56
-rw-r--r--ports/libxml2/config.osx.h54
-rw-r--r--ports/libxml2/portfile.cmake3
-rw-r--r--ports/libxml2/usage5
-rw-r--r--ports/libxml2/vcpkg-cmake-wrapper.cmake18
-rw-r--r--ports/libxmlpp/CMakeLists.txt97
-rw-r--r--ports/libxmlpp/CONTROL4
-rw-r--r--ports/libxmlpp/fixAutoPtrExpired.patch114
-rw-r--r--ports/libxmlpp/portfile.cmake31
-rw-r--r--ports/libzip/CONTROL2
-rw-r--r--ports/libzip/portfile.cmake4
-rw-r--r--ports/llvm/CONTROL8
-rw-r--r--ports/llvm/portfile.cmake165
-rw-r--r--ports/lz4/portfile.cmake4
-rw-r--r--ports/magnum-extras/CONTROL18
-rw-r--r--ports/magnum-extras/portfile.cmake16
-rw-r--r--ports/magnum-integration/CONTROL2
-rw-r--r--ports/magnum-integration/portfile.cmake18
-rw-r--r--ports/magnum-plugins/CONTROL39
-rw-r--r--ports/magnum-plugins/portfile.cmake47
-rw-r--r--ports/magnum/CONTROL104
-rw-r--r--ports/magnum/magnumdeploy.ps138
-rw-r--r--ports/magnum/portfile.cmake10
-rw-r--r--ports/matio/CMakeLists.txt5
-rw-r--r--ports/matio/CONTROL2
-rw-r--r--ports/matio/portfile.cmake7
-rw-r--r--ports/mhook/CONTROL3
-rw-r--r--ports/mhook/portfile.cmake21
-rw-r--r--ports/mosquitto/0001-win64-cmake.patch40
-rw-r--r--ports/mosquitto/CONTROL8
-rw-r--r--ports/mosquitto/cmake-2.patch68
-rw-r--r--ports/mosquitto/cmake.patch13
-rw-r--r--ports/mosquitto/portfile.cmake56
-rw-r--r--ports/mpark-variant/CONTROL3
-rw-r--r--ports/mpark-variant/portfile.cmake24
-rw-r--r--ports/mpg123/CONTROL2
-rw-r--r--ports/ms-gsl/CONTROL2
-rw-r--r--ports/ms-gsl/portfile.cmake4
-rw-r--r--ports/msmpi/CONTROL2
-rw-r--r--ports/msmpi/portfile.cmake15
-rw-r--r--ports/nanomsg/CONTROL4
-rw-r--r--ports/nanomsg/portfile.cmake38
-rw-r--r--ports/nlohmann-json/CONTROL2
-rw-r--r--ports/nlohmann-json/portfile.cmake4
-rw-r--r--ports/nuklear/CONTROL2
-rw-r--r--ports/nuklear/portfile.cmake4
-rw-r--r--ports/nvtt/CONTROL3
-rw-r--r--ports/nvtt/portfile.cmake44
-rw-r--r--ports/openal-soft/CONTROL2
-rw-r--r--ports/openal-soft/cmake-3-11.patch14
-rw-r--r--ports/openal-soft/portfile.cmake24
-rw-r--r--ports/opencv/0001-winrt-fixes.patch97
-rw-r--r--ports/opencv/0002-install-options.patch71
-rw-r--r--ports/opencv/0003-disable-downloading.patch14
-rw-r--r--ports/opencv/0004-use-find-package-required.patch46
-rw-r--r--ports/opencv/0005-remove-protobuf-target.patch31
-rw-r--r--ports/opencv/CONTROL22
-rw-r--r--ports/opencv/portfile.cmake110
-rw-r--r--ports/opengl/portfile.cmake78
-rw-r--r--ports/openimageio/CONTROL4
-rw-r--r--ports/openimageio/portfile.cmake5
-rw-r--r--ports/openmesh/CONTROL3
-rw-r--r--ports/openmesh/portfile.cmake38
-rw-r--r--ports/openssl/CMakeLists.txt4
-rw-r--r--ports/openssl/CONTROL2
-rw-r--r--ports/openssl/RemoveNonASCIIChar.patch13
-rw-r--r--ports/openssl/portfile-nonwindows.cmake7
-rw-r--r--ports/openssl/portfile.cmake32
-rw-r--r--ports/openssl/vcpkg-cmake-wrapper.cmake10
-rw-r--r--ports/openvpn3/CMakeLists.txt26
-rw-r--r--ports/openvpn3/CONTROL4
-rw-r--r--ports/openvpn3/portfile.cmake37
-rw-r--r--ports/openvr/CONTROL2
-rw-r--r--ports/openvr/portfile.cmake4
-rw-r--r--ports/paho-mqtt/CONTROL4
-rw-r--r--ports/paho-mqtt/portfile.cmake11
-rw-r--r--ports/pangomm/portfile.cmake3
-rw-r--r--ports/parson/CMakeLists.txt19
-rw-r--r--ports/parson/CONTROL3
-rw-r--r--ports/parson/portfile.cmake33
-rw-r--r--ports/pcl/boost_uuid_random_generator_compat.patch13
-rw-r--r--ports/pcl/portfile.cmake2
-rw-r--r--ports/pdcurses/portfile.cmake23
-rw-r--r--ports/physfs/CONTROL2
-rw-r--r--ports/physfs/export-symbols-in-shared-build-only.patch13
-rw-r--r--ports/physfs/portfile.cmake11
-rw-r--r--ports/piex/CONTROL2
-rw-r--r--ports/piex/portfile.cmake4
-rw-r--r--ports/plog/CONTROL6
-rw-r--r--ports/plog/portfile.cmake34
-rw-r--r--ports/plplot/CONTROL8
-rw-r--r--ports/plplot/install-interface-include-directories.patch13
-rw-r--r--ports/plplot/portfile.cmake79
-rw-r--r--ports/pmdk/CONTROL3
-rw-r--r--ports/pmdk/portfile.cmake77
-rw-r--r--ports/poco/CONTROL2
-rw-r--r--ports/poco/portfile.cmake6
-rw-r--r--ports/proj4/portfile.cmake24
-rw-r--r--ports/protobuf/CONTROL2
-rw-r--r--ports/protobuf/portfile.cmake39
-rw-r--r--ports/pugixml/CONTROL2
-rw-r--r--ports/pugixml/portfile.cmake45
-rw-r--r--ports/pugixml/pugixmlapi.patch13
-rw-r--r--ports/python3/0004-Fix-iomodule-for-RS4-SDK.patch12
-rw-r--r--ports/python3/CONTROL2
-rw-r--r--ports/python3/portfile.cmake36
-rw-r--r--ports/qt5-base/CONTROL2
-rw-r--r--ports/qt5-base/configure_qt.cmake33
-rw-r--r--ports/qt5-base/fix-system-pcre2-linux.patch17
-rw-r--r--ports/qt5-base/install_qt.cmake29
-rw-r--r--ports/qt5-base/portfile.cmake169
-rw-r--r--ports/qt5-declarative/portfile.cmake2
-rw-r--r--ports/qt5-modularscripts/CONTROL2
-rw-r--r--ports/qt5-modularscripts/qt_modular_library.cmake10
-rw-r--r--ports/qt5-quickcontrols/CONTROL4
-rw-r--r--ports/qt5-quickcontrols2/CONTROL4
-rw-r--r--ports/qt5-tools/portfile.cmake2
-rw-r--r--ports/quirc/CONTROL2
-rw-r--r--ports/quirc/portfile.cmake2
-rw-r--r--ports/qwt/CONTROL4
-rw-r--r--ports/range-v3-vs2015/CONTROL3
-rw-r--r--ports/range-v3-vs2015/portfile.cmake14
-rw-r--r--ports/range-v3/CONTROL3
-rw-r--r--ports/range-v3/portfile.cmake56
-rw-r--r--ports/rapidjson/CONTROL2
-rw-r--r--ports/rapidjson/portfile.cmake23
-rw-r--r--ports/rapidjson/usage4
-rw-r--r--ports/re2/CONTROL2
-rw-r--r--ports/re2/portfile.cmake4
-rw-r--r--ports/readosm/portfile.cmake54
-rw-r--r--ports/realsense2/CONTROL7
-rw-r--r--ports/realsense2/build_with_static_crt.patch67
-rw-r--r--ports/realsense2/fix_rgb_using_avx2.patch12
-rw-r--r--ports/realsense2/portfile.cmake55
-rw-r--r--ports/recast/CONTROL2
-rw-r--r--ports/recast/portfile.cmake5
-rw-r--r--ports/restinio/CONTROL4
-rw-r--r--ports/restinio/portfile.cmake27
-rw-r--r--ports/rhash/CONTROL2
-rw-r--r--ports/rhash/portfile.cmake4
-rw-r--r--ports/rocksdb/0001-third-party.patch76
-rw-r--r--ports/rocksdb/CONTROL16
-rw-r--r--ports/rocksdb/Findlz4.cmake13
-rw-r--r--ports/rocksdb/Findsnappy.cmake13
-rw-r--r--ports/rocksdb/pass-major-version.patch20
-rw-r--r--ports/rocksdb/portfile.cmake49
-rw-r--r--ports/rocksdb/use-find-package.patch13
-rw-r--r--ports/rs-core-lib/CONTROL2
-rw-r--r--ports/rs-core-lib/portfile.cmake4
-rw-r--r--ports/sciter/CONTROL2
-rw-r--r--ports/sciter/portfile.cmake4
-rw-r--r--ports/sdl2/portfile.cmake11
-rw-r--r--ports/sfml/CMakeLists.txt115
-rw-r--r--ports/sfml/CONTROL4
-rw-r--r--ports/sfml/portfile.cmake29
-rw-r--r--ports/shapelib/CONTROL2
-rw-r--r--ports/shapelib/option-build-test.patch13
-rw-r--r--ports/shapelib/portfile.cmake25
-rw-r--r--ports/shogun/CONTROL2
-rw-r--r--ports/shogun/portfile.cmake11
-rw-r--r--ports/signalrclient/CONTROL2
-rw-r--r--ports/signalrclient/portfile.cmake10
-rw-r--r--ports/sobjectizer/CONTROL2
-rw-r--r--ports/sobjectizer/portfile.cmake4
-rw-r--r--ports/sol/CONTROL2
-rw-r--r--ports/sol/portfile.cmake4
-rw-r--r--ports/soundtouch/CMakeLists.txt32
-rw-r--r--ports/soundtouch/CONTROL2
-rw-r--r--ports/soundtouch/portfile.cmake56
-rw-r--r--ports/spatialite-tools/portfile.cmake2
-rw-r--r--ports/sqlite-orm/CONTROL4
-rw-r--r--ports/sqlite-orm/portfile.cmake15
-rw-r--r--ports/sqlite3/CMakeLists.txt8
-rw-r--r--ports/sqlite3/CONTROL2
-rw-r--r--ports/sqlite3/portfile.cmake14
-rw-r--r--ports/strtk/CONTROL2
-rw-r--r--ports/strtk/portfile.cmake4
-rw-r--r--ports/tap-windows6/CONTROL3
-rw-r--r--ports/tap-windows6/portfile.cmake15
-rw-r--r--ports/tbb/CONTROL2
-rw-r--r--ports/tbb/portfile.cmake4
-rw-r--r--ports/tesseract/CONTROL2
-rw-r--r--ports/tesseract/portfile.cmake1
-rw-r--r--ports/tesseract/ws2-32.patch12
-rw-r--r--ports/theia/CONTROL8
-rw-r--r--ports/theia/fix-oiio.patch391
-rw-r--r--ports/theia/portfile.cmake5
-rw-r--r--ports/thrift/CONTROL2
-rw-r--r--ports/thrift/portfile.cmake4
-rw-r--r--ports/tiny-dnn/CONTROL2
-rw-r--r--ports/tiny-dnn/portfile.cmake4
-rw-r--r--ports/tinyxml2/CONTROL2
-rw-r--r--ports/tinyxml2/portfile.cmake4
-rw-r--r--ports/treehopper/CONTROL3
-rw-r--r--ports/treehopper/portfile.cmake32
-rw-r--r--ports/unicorn-lib/CONTROL2
-rw-r--r--ports/unicorn-lib/portfile.cmake4
-rw-r--r--ports/unicorn/CONTROL2
-rw-r--r--ports/unicorn/portfile.cmake4
-rw-r--r--ports/unrar/CONTROL2
-rw-r--r--ports/unrar/portfile.cmake3
-rw-r--r--ports/utf8h/CONTROL3
-rw-r--r--ports/utf8h/portfile.cmake15
-rw-r--r--ports/uwebsockets/CONTROL2
-rw-r--r--ports/uwebsockets/portfile.cmake4
-rw-r--r--ports/vlpp/CMakeLists.txt5
-rw-r--r--ports/vlpp/CONTROL2
-rw-r--r--ports/vlpp/portfile.cmake2
-rw-r--r--ports/vxl/CONTROL4
-rw-r--r--ports/vxl/portfile.cmake37
-rw-r--r--ports/wt/CONTROL2
-rw-r--r--ports/wt/portfile.cmake4
-rw-r--r--ports/wtl/CONTROL2
-rw-r--r--ports/wtl/portfile.cmake7
-rw-r--r--ports/x264/CONTROL2
-rw-r--r--ports/x264/portfile.cmake20
-rw-r--r--ports/x264/uwp-cflags.patch12
-rw-r--r--ports/xalan-c/portfile.cmake8
-rw-r--r--ports/yajl/CONTROL3
-rw-r--r--ports/yajl/cmake.patch36
-rw-r--r--ports/yajl/portfile.cmake34
-rw-r--r--ports/yaml-cpp/portfile.cmake16
-rw-r--r--ports/yato/CONTROL3
-rw-r--r--ports/yato/portfile.cmake41
-rw-r--r--ports/yoga/CONTROL2
-rw-r--r--ports/yoga/portfile.cmake15
-rw-r--r--ports/zeromq/CONTROL2
-rw-r--r--ports/zeromq/portfile.cmake14
-rw-r--r--ports/zlib/portfile.cmake2
-rw-r--r--ports/zstd/portfile.cmake2
-rw-r--r--ports/zziplib/CONTROL2
-rw-r--r--ports/zziplib/portfile.cmake4
-rw-r--r--scripts/SHA256Hash.ps19
-rw-r--r--scripts/VcpkgPowershellUtils.ps1117
-rw-r--r--scripts/bootstrap.sh195
-rw-r--r--scripts/buildsystems/msbuild/applocal.ps117
-rw-r--r--scripts/buildsystems/vcpkg.cmake73
-rw-r--r--scripts/cmake/vcpkg_build_cmake.cmake56
-rw-r--r--scripts/cmake/vcpkg_build_msbuild.cmake23
-rw-r--r--scripts/cmake/vcpkg_configure_cmake.cmake4
-rw-r--r--scripts/cmake/vcpkg_download_distfile.cmake52
-rw-r--r--scripts/cmake/vcpkg_find_acquire_program.cmake46
-rw-r--r--scripts/cmake/vcpkg_fixup_cmake_targets.cmake31
-rw-r--r--scripts/cmake/vcpkg_from_github.cmake73
-rw-r--r--scripts/fetchTool.ps166
-rw-r--r--scripts/toolchains/freebsd.cmake4
-rw-r--r--scripts/toolchains/linux.cmake2
-rw-r--r--scripts/toolchains/osx.cmake3
-rw-r--r--scripts/toolchains/windows.cmake13
-rw-r--r--scripts/vcpkgTools.xml126
-rw-r--r--toolsrc/CMakeLists.txt25
-rw-r--r--toolsrc/VERSION.txt2
-rw-r--r--toolsrc/include/pch.h4
-rw-r--r--toolsrc/include/tests.utils.h40
-rw-r--r--toolsrc/include/vcpkg/base/cache.h21
-rw-r--r--toolsrc/include/vcpkg/base/checks.h4
-rw-r--r--toolsrc/include/vcpkg/base/chrono.h11
-rw-r--r--toolsrc/include/vcpkg/base/cstringview.h15
-rw-r--r--toolsrc/include/vcpkg/base/files.h3
-rw-r--r--toolsrc/include/vcpkg/base/lineinfo.h2
-rw-r--r--toolsrc/include/vcpkg/base/optional.h12
-rw-r--r--toolsrc/include/vcpkg/base/span.h7
-rw-r--r--toolsrc/include/vcpkg/base/strings.h8
-rw-r--r--toolsrc/include/vcpkg/base/system.h9
-rw-r--r--toolsrc/include/vcpkg/base/util.h30
-rw-r--r--toolsrc/include/vcpkg/build.h34
-rw-r--r--toolsrc/include/vcpkg/commands.h23
-rw-r--r--toolsrc/include/vcpkg/dependencies.h16
-rw-r--r--toolsrc/include/vcpkg/export.ifw.h2
-rw-r--r--toolsrc/include/vcpkg/install.h1
-rw-r--r--toolsrc/include/vcpkg/packagespecparseresult.h2
-rw-r--r--toolsrc/include/vcpkg/paragraphs.h5
-rw-r--r--toolsrc/include/vcpkg/sourceparagraph.h2
-rw-r--r--toolsrc/include/vcpkg/statusparagraph.h5
-rw-r--r--toolsrc/include/vcpkg/triplet.h4
-rw-r--r--toolsrc/include/vcpkg/userconfig.h2
-rw-r--r--toolsrc/include/vcpkg/vcpkgcmdarguments.h1
-rw-r--r--toolsrc/include/vcpkg/vcpkglib.h2
-rw-r--r--toolsrc/include/vcpkg/vcpkgpaths.h29
-rw-r--r--toolsrc/include/vcpkg/versiont.h4
-rw-r--r--toolsrc/src/tests.paragraph.cpp9
-rw-r--r--toolsrc/src/tests.plan.cpp230
-rw-r--r--toolsrc/src/tests.utils.cpp30
-rw-r--r--toolsrc/src/vcpkg.cpp14
-rw-r--r--toolsrc/src/vcpkg/base/chrono.cpp10
-rw-r--r--toolsrc/src/vcpkg/base/cofffilereader.cpp102
-rw-r--r--toolsrc/src/vcpkg/base/files.cpp28
-rw-r--r--toolsrc/src/vcpkg/base/strings.cpp46
-rw-r--r--toolsrc/src/vcpkg/base/system.cpp117
-rw-r--r--toolsrc/src/vcpkg/binaryparagraph.cpp2
-rw-r--r--toolsrc/src/vcpkg/build.cpp513
-rw-r--r--toolsrc/src/vcpkg/commands.cache.cpp2
-rw-r--r--toolsrc/src/vcpkg/commands.ci.cpp158
-rw-r--r--toolsrc/src/vcpkg/commands.contact.cpp14
-rw-r--r--toolsrc/src/vcpkg/commands.cpp5
-rw-r--r--toolsrc/src/vcpkg/commands.create.cpp4
-rw-r--r--toolsrc/src/vcpkg/commands.dependinfo.cpp3
-rw-r--r--toolsrc/src/vcpkg/commands.edit.cpp96
-rw-r--r--toolsrc/src/vcpkg/commands.env.cpp54
-rw-r--r--toolsrc/src/vcpkg/commands.exportifw.cpp6
-rw-r--r--toolsrc/src/vcpkg/commands.fetch.cpp716
-rw-r--r--toolsrc/src/vcpkg/commands.hash.cpp240
-rw-r--r--toolsrc/src/vcpkg/commands.import.cpp2
-rw-r--r--toolsrc/src/vcpkg/commands.integrate.cpp114
-rw-r--r--toolsrc/src/vcpkg/commands.list.cpp11
-rw-r--r--toolsrc/src/vcpkg/commands.owns.cpp2
-rw-r--r--toolsrc/src/vcpkg/commands.portsdiff.cpp7
-rw-r--r--toolsrc/src/vcpkg/commands.upgrade.cpp3
-rw-r--r--toolsrc/src/vcpkg/commands.version.cpp2
-rw-r--r--toolsrc/src/vcpkg/dependencies.cpp463
-rw-r--r--toolsrc/src/vcpkg/export.cpp27
-rw-r--r--toolsrc/src/vcpkg/help.cpp6
-rw-r--r--toolsrc/src/vcpkg/install.cpp83
-rw-r--r--toolsrc/src/vcpkg/metrics.cpp19
-rw-r--r--toolsrc/src/vcpkg/paragraphs.cpp10
-rw-r--r--toolsrc/src/vcpkg/parse.cpp1
-rw-r--r--toolsrc/src/vcpkg/postbuildlint.cpp8
-rw-r--r--toolsrc/src/vcpkg/remove.cpp4
-rw-r--r--toolsrc/src/vcpkg/sourceparagraph.cpp10
-rw-r--r--toolsrc/src/vcpkg/statusparagraph.cpp11
-rw-r--r--toolsrc/src/vcpkg/triplet.cpp3
-rw-r--r--toolsrc/src/vcpkg/update.cpp11
-rw-r--r--toolsrc/src/vcpkg/userconfig.cpp11
-rw-r--r--toolsrc/src/vcpkg/vcpkglib.cpp25
-rw-r--r--toolsrc/src/vcpkg/vcpkgpaths.cpp542
-rw-r--r--toolsrc/src/vcpkg/versiont.cpp4
-rw-r--r--toolsrc/vcpkg/vcpkg.vcxproj8
-rw-r--r--toolsrc/vcpkglib/vcpkglib.vcxproj1
-rw-r--r--toolsrc/vcpkglib/vcpkglib.vcxproj.filters3
-rw-r--r--toolsrc/vcpkgmetricsuploader/vcpkgmetricsuploader.vcxproj8
-rw-r--r--toolsrc/vcpkgtest/vcpkgtest.vcxproj4
-rw-r--r--triplets/x64-linux.cmake5
-rw-r--r--triplets/x64-osx.cmake5
887 files changed, 12283 insertions, 9876 deletions
diff --git a/.gitignore b/.gitignore
index 18384e3da..796739b31 100644
--- a/.gitignore
+++ b/.gitignore
@@ -25,6 +25,7 @@ bld/
[Bb]in/
[Oo]bj/
[Ll]og/
+vcpkg
# Visual Studio 2015 cache/options directory
.vs/
@@ -273,13 +274,14 @@ __pycache__/
############################################################
.vscode/
+*.code-workspace
buildtrees/
build*/
downloads/
installed*/
packages/
scripts/buildsystems/tmp/
-#ignore custom triplets
+#ignore custom triplets
triplets/*
#add vcpkg-designed triplets back in
!triplets/arm-uwp.cmake
@@ -292,9 +294,11 @@ triplets/*
!triplets/x86-windows-static.cmake
!triplets/arm64-uwp.cmake
!triplets/arm64-windows.cmake
+!triplets/x64-linux.cmake
+!triplets/x64-osx.cmake
*.exe
*.zip
############################################################
# vcpkg - End
-############################################################ \ No newline at end of file
+############################################################
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 134fcd63a..8f275866d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,381 @@
+vcpkg (0.0.110)
+--------------
+ * `vcpkg` is now available for Linux and MacOS. More information [here](https://blogs.msdn.microsoft.com/vcblog/2018/04/24/announcing-a-single-c-library-manager-for-linux-macos-and-windows-vcpkg/).
+
+-- vcpkg team <vcpkg@microsoft.com> TUE, 24 Apr 2018 10:30:00 -0800
+
+
+vcpkg (0.0.109)
+--------------
+ * Add ports:
+ - boost-container-hash 1.67.0
+ - boost-contract 1.67.0
+ - boost-hof 1.67.0
+ - fastrtps 1.5.0
+ - fluidsynth 1.1.10
+ - liblinear 2.20
+ - libxmlpp 2.40.1-1
+ - utf8h 841cb2deb8eb806e73fff0e1f43a11fca4f5da45
+ - vxl 20180414-7a130cf-1
+ * Update ports:
+ - abseil 2018-04-05 -> 2018-04-12
+ - aws-sdk-cpp 1.4.30-1 -> 1.4.33
+ - azure-c-shared-utility 1.1.2 -> 1.1.3
+ - azure-iot-sdk-c 1.2.2 -> 1.2.3
+ - azure-uamqp-c 1.2.2 -> 1.2.3
+ - azure-umqtt-c 1.1.2 -> 1.1.3
+ - benchmark 1.3.0-1 -> 1.4.0
+ - boost 1.66.0 -> 1.67.0
+ - boost-* 1.66.0 -> 1.67.0
+ - breakpad 2018-04-05 -> 2018-04-17
+ - cartographer 0.3.0-3 -> 0.3.0-4
+ - catch2 2.2.1-1 -> 2.2.2
+ - celero 2.1.0-1 -> 2.1.0-2
+ - chakracore 1.8.2 -> 1.8.3
+ - cimg 221 -> 2.2.2
+ - cppzmq 4.2.2 -> 4.2.2-1
+ - date 2.4 -> 2.4.1
+ - directxmesh feb2018 -> feb2018-eb751e0b631b05aa25c36c08e7d6bbf09f5e94a9
+ - exiv2 2018-04-05 -> 2018-04-12
+ - folly 2018.03.19.00-2 -> 2018.04.16.00
+ - forest 7.0.1 -> 7.0.6
+ - gettext 0.19-2 -> 0.19-4
+ - glib 2.52.3-2 -> 2.52.3-9
+ - glibmm 2.52.1 -> 2.52.1-7
+ - graphicsmagick 1.3.26-2 -> 1.3.28
+ - grpc 1.10.1 -> 1.10.1-1
+ - icu 59.1-1 -> 61.1-1
+ - jsonnet 2018-03-17 -> 2018-04-17
+ - libiconv 1.15-3 -> 1.15-4
+ - libsigcpp 2.10 -> 2.10-1
+ - libtorrent 1.1.6 -> 1.1.6-1
+ - libuuid 1.0.3 -> 1.0.3-1
+ - libzip rel-1-5-0 -> rel-1-5-1
+ - llvm 5.0.1 -> 6.0.0
+ - magnum 2018.02-1 -> 2018.02-2
+ - magnum-plugins 2018.02-1 -> 2018.02-2
+ - nuklear 2018-04-05 -> 2018-04-17
+ - openssl 1.0.2o-1 -> 1.0.2o-2
+ - openvr 1.0.13 -> 1.0.14
+ - parson 2018-03-23 -> 2018-04-17
+ - protobuf 3.5.1-1 -> 3.5.1-3
+ - pugixml 1.8.1-3 -> 1.9-1
+ - realsense2 2.10.1 -> 2.10.1-1
+ - rs-core-lib 2018-04-05 -> 2018-04-12
+ - sol 2.18.7 -> 2.19.5
+ - sqlite3 3.21.0-1 -> 3.23.0
+ - thrift 2018-04-05 -> 2018-04-17
+ - tinyxml2 6.0.0-2 -> 6.2.0
+ - unicorn-lib 2018-03-13 -> 2018-04-09
+ - uwebsockets 0.14.6-1 -> 0.14.7-1
+ - wt 4.0.2 -> 4.0.3
+ - x264 152-e9a5903edf8ca59 -> 152-e9a5903edf8ca59-1
+ - yoga 1.7.0-1 -> 1.8.0-1
+ - zeromq 2018-04-05 -> 2018-04-17
+ * Bump required version & auto-downloaded version of `nuget` to 4.6.2
+ * Bump required version & auto-downloaded version of `vswhere` to 2.4.1
+ * `vcpkg edit` improvements
+ - '--all' now will open both the buildtrees dir and the package dir
+ - Allow multiple ports to be specified as arguments
+
+-- vcpkg team <vcpkg@microsoft.com> MON, 23 Apr 2018 19:00:00 -0800
+
+
+vcpkg (0.0.108)
+--------------
+ * Add ports:
+ - google-cloud-cpp 0.1.0
+ - mhook 2.5.1-1
+ - mosquitto 1.4.15
+ - pmdk 1.4-1 (renamed from nvml)
+ * Remove Ports:
+ - nvml 1.3-0 (renamed to pmdk)
+ * Update ports:
+ - abseil 2018-03-23 -> 2018-04-05
+ - asio 1.12.0-1 -> 1.12.0-2
+ - aws-sdk-cpp 1.4.21 -> 1.4.30-1
+ - azure-c-shared-utility 1.0.0-pre-release-1.0.9 -> 1.1.2
+ - azure-iot-sdk-c 1.0.0-pre-release-1.0.9 -> 1.2.2
+ - azure-uamqp-c 1.0.0-pre-release-1.0.9 -> 1.2.2
+ - azure-umqtt-c 1.0.0-pre-release-1.0.9 -> 1.1.2
+ - breakpad 2018-03-13 -> 2018-04-05
+ - clara 2018-03-23 -> 2018-04-02
+ - cryptopp 5.6.5-1 -> 6.1.0-2
+ - discord-rpc 3.1.0 -> 3.2.0
+ - dlib 19.10 -> 19.10-1
+ - eastl 3.08.00 -> 3.09.00
+ - exiv2 2018-03-23 -> 2018-04-05
+ - folly 2017.11.27.00-3 -> 2018.03.19.00-2
+ - forest 4.5.0 -> 7.0.1
+ - gdcm2 2.8.5 -> 2.8.6
+ - grpc 1.10.0 -> 1.10.1
+ - gtest 1.8.0-7 -> 1.8.0-8
+ - libiconv 1.15-2 -> 1.15-3
+ - libuv 1.19.2 -> 1.20.0
+ - libvpx 1.6.1-2 -> 1.7.0
+ - libxml2 2.9.4-4 -> 2.9.4-5
+ - nuklear 2018-03-23 -> 2018-04-05
+ - openimageio 1.8.9 -> 1.8.10
+ - openssl 1.0.2n-3 -> 1.0.2o-1
+ - qt5-base 5.9.2-5 -> 5.9.2-6
+ - qt5-modularscripts 2 -> 3
+ - qwt 6.1.3-4 -> 6.1.3-5
+ - recast 1.5.1 -> 1.5.1-1
+ - rocksdb 5.11.3 -> 5.12.2
+ - rs-core-lib 2018-03-17 -> 2018-04-05
+ - sciter 4.1.4 -> 4.1.5
+ - tbb 2018_U2 -> 2018_U3
+ - tesseract 3.05.01-2 -> 3.05.01-3
+ - theia 0.7-d15154a-1 -> 0.7-d15154a-3
+ - thrift 2018-03-23 -> 2018-04-05
+ - unrar 5.5.8 -> 5.5.8-1
+ - yoga 1.7.0 -> 1.7.0-1
+ - zeromq 2018-03-23 -> 2018-04-05
+ * `vcpkg.cmake`: Remove detection for Windows SDK. Let `cmake` detect it instead.
+ * Rework `vcpkgTools.xml`.
+ - `<requiredVersion>` renamed to `<version>`
+ - `<archiveRelativePath>` renamed `<archiveName>`
+ - `<sha256>` changed to `<sha512>`
+ - `<tool>` tags now specify an `os="x"` property
+ - The version of the tools list (i.e. `<tools version="1">`) is now verified by `vcpkg.exe`.
+ * Use [7zip](https://www.7-zip.org/) to extract vcpkg tools defined in `vcpkgTools.xml`.
+ * Use [aria2](https://aria2.github.io/) to download vcpkg tools defined in `vcpkgTools.xml`.
+ - The experimental flag `vcpkg install <port> --x-use-aria2` allows you to use `aria2` for other downloads as well.
+ * `vckg hash` improvements
+
+-- vcpkg team <vcpkg@microsoft.com> FRI, 06 Apr 2018 19:30:00 -0800
+
+
+vcpkg (0.0.107)
+--------------
+ * Add ports:
+ - azmq 1.0.2
+ - azure-c-shared-utility 1.0.0-pre-release-1.0.9
+ - azure-iot-sdk-c 1.0.0-pre-release-1.0.9
+ - azure-uamqp-c 1.0.0-pre-release-1.0.9
+ - azure-uhttp-c 2018-02-09
+ - azure-umqtt-c 1.0.0-pre-release-1.0.9
+ - bitserializer 0.7
+ - caf 0.15.7
+ - fmem c-libs-2ccee3d2fb
+ - gherkin-c c-libs-e63e83104b
+ - librsync 2.0.2
+ - libuuid 1.0.3
+ - mpark-variant 1.3.0
+ - nanomsg 1.1.2
+ - nvml 1.3-0
+ - nvtt 2.1.0
+ - openvpn3 2018-03-21
+ - parson 2018-03-23
+ - plplot 5.13.0-1
+ - sqlite-orm 1.1
+ - tap-windows6 9.21.2-0e30f5c
+ * Update ports:
+ - abseil 2018-03-17 -> 2018-03-23
+ - alembic 1.7.6 -> 1.7.7
+ - asio 1.12.0 -> 1.12.0-1
+ - aubio 0.4.6-1 -> 0.4.6-2
+ - aws-sdk-cpp 1.3.58 -> 1.4.21
+ - catch2 2.2.1 -> 2.2.1-1
+ - ccfits 2.5-1 -> 2.5-2
+ - ceres 1.13.0-4 -> 1.14.0-1
+ - cfitsio 3.410-1 -> 3.410-2
+ - clara 2018-03-11 -> 2018-03-23
+ - cpprestsdk 2.10.2 -> 2.10.2-1
+ - discord-rpc 3.0.0 -> 3.1.0
+ - dlib 19.9-1 -> 19.10
+ - eastl 3.07.02 -> 3.08.00
+ - exiv2 2018-03-17 -> 2018-03-23
+ - ffmpeg 3.3.3-4 -> 3.3.3-5
+ - gdcm2 2.8.4 -> 2.8.5
+ - harfbuzz 1.7.6 -> 1.7.6-1
+ - hpx 1.0.0-8 -> 1.1.0-1
+ - lcm 1.3.95 -> 1.3.95-1
+ - libpq 9.6.1-1 -> 9.6.1-4
+ - libvpx 1.6.1-1 -> 1.6.1-2
+ - mpg123 1.25.8-2 -> 1.25.8-4
+ - nuklear 2018-03-17 -> 2018-03-23
+ - openssl 1.0.2n-2 -> 1.0.2n-3
+ - paho-mqtt 1.2.0-2 -> 1.2.0-3
+ - plog 1.1.3 -> 1.1.4
+ - qt5-quickcontrols 5.9.2-0 -> 5.9.2-1
+ - qt5-quickcontrols2 5.9.2-0 -> 5.9.2-1
+ - sciter 4.1.3 -> 4.1.4
+ - shapelib 1.4.1 -> 1.4.1-1
+ - signalrclient 1.0.0-beta1-2 -> 1.0.0-beta1-3
+ - soundtouch 2.0.0 -> 2.0.0-1
+ - thrift 2018-03-17 -> 2018-03-23
+ - unicorn 2018-03-13 -> 2018-03-20
+ - zeromq 2018-03-17 -> 2018-03-23
+
+-- vcpkg team <vcpkg@microsoft.com> TUE, 27 Mar 2018 22:00:00 -0800
+
+
+vcpkg (0.0.106)
+--------------
+ * Add ports:
+ - armadillo 8.400.0-1
+ - boost-modular-build-helper 2
+ - clblas 2.12-1
+ - clfft 2.12.2
+ - entt 2.4.2-1
+ - fastcdr 1.0.6-1
+ - gamma gamma-2018-01-27
+ - gl3w 8f7f459d
+ - graphite2 1.3.10
+ - ismrmrd 1.3.2-1
+ - kealib 1.4.7-1
+ - lcm 1.3.95
+ - libcds 2.3.2
+ - monkeys-audio 4.3.3
+ - msix 1.0
+ - nmslib 1.7.2
+ - opencl 2.2 (2017.07.18)
+ - openmesh 6.3
+ - quirc 1.0-1
+ - shogun 6.1.3
+ - x264 152-e9a5903edf8ca59
+ - x265 2.7-1
+ * Update ports:
+ - abseil 2018-2-5 -> 2018-03-17
+ - ace 6.4.6 -> 6.4.7
+ - alembic 1.7.5 -> 1.7.6
+ - args d8905de -> 2018-02-23
+ - asio 1.10.8-1 -> 1.12.0
+ - atk 2.24.0-1 -> 2.24.0-2
+ - avro-c 1.8.2 -> 1.8.2-1
+ - azure-storage-cpp 3.0.0-4 -> 3.2.1
+ - benchmark 1.3.0 -> 1.3.0-1
+ - boost-build 1.66.0-5 -> 1.66.0-8
+ - breakpad 2018-2-19 -> 2018-03-13
+ - butteraugli 2017-09-02-8c60a2aefa19adb-1 -> 2018-02-25
+ - c-ares 1.13.0-1 -> cares-1_14_0
+ - catch-classic 1.12.0 -> 1.12.1
+ - catch2 2.1.2 -> 2.2.1
+ - cctz 2.1 -> 2.2
+ - cgal 4.11-3 -> 4.11.1
+ - chakracore 1.7.4 -> 1.8.2
+ - chmlib 0.40-1 -> 0.40-2
+ - cimg 2.1.8 -> 221
+ - clara 2017-07-20-9661f2b4a50895d52ebb4c59382785a2b416c310 -> 2018-03-11
+ - console-bridge 0.3.2-2 -> 0.3.2-3
+ - coolprop 6.1.0-2 -> 6.1.0-3
+ - cpp-redis 4.3.0 -> 4.3.1
+ - cpr 1.3.0-1 -> 1.3.0-3
+ - curl 7.58.0-1 -> 7_59_0-2
+ - devil 1.8.0-1 -> 1.8.0-2
+ - directxmesh dec2017 -> feb2018
+ - directxtex dec2017 -> feb2018b
+ - directxtk dec2017 -> feb2018
+ - dirent 2017-06-23-5c7194c2fe2c68c1a8212712c0b4b6195382d27d -> 1.23.1
+ - discord-rpc 2.1.0 -> 3.0.0
+ - doctest 1.2.6 -> 1.2.8
+ - eastl 3.05.08 -> 3.07.02
+ - evpp 0.6.1-1 -> 0.7.0
+ - exiv2 8f5b795eaa4bc414d2d6041c1dbd1a7f7bf1fc99 -> 2018-03-17
+ - fdk-aac 2017-11-02-1e351 -> 2018-03-07
+ - ffmpeg 3.3.3-2 -> 3.3.3-4
+ - freetype 2.8.1-1 -> 2.8.1-3
+ - freetype-gl 2017-10-9-82fb152a74f01b1483ac80d15935fbdfaf3ed836 -> 2018-02-25
+ - freexl 1.0.4 -> 1.0.4-1
+ - g2o 20170730_git-2 -> 20170730_git-3
+ - gdal 2.2.2 -> 2.2.2-1
+ - gdcm2 2.8.3 -> 2.8.4
+ - geogram 1.4.9-1 -> 1.6.0-1
+ - gflags 2.2.1-1 -> 2.2.1-3
+ - glib 2.52.3-1 -> 2.52.3-2
+ - glslang 3a21c880500eac21cdf79bef5b80f970a55ac6af-1 -> 2018-03-02
+ - grpc 1.8.3 -> 1.10.0
+ - gsl 2.4-2 -> 2.4-3
+ - gsl-lite 0.26.0 -> 0.28.0
+ - gtest 1.8.0-6 -> 1.8.0-7
+ - halide release_2017_10_30 -> release_2018_02_15
+ - harfbuzz 1.7.4 -> 1.7.6
+ - ilmbase 2.2.0-1 -> 2.2.1-1
+ - jansson 2.11 -> 2.11-2
+ - jsoncpp 1.8.1-1 -> 1.8.4
+ - jsonnet 2017-09-02-11cf9fa9f2fe8acbb14b096316006082564ca580 -> 2018-03-17
+ - leptonica 1.74.4-2 -> 1.74.4-3
+ - libgeotiff 1.4.2-2 -> 1.4.2-3
+ - libiconv 1.15-1 -> 1.15-2
+ - libjpeg-turbo 1.5.3 -> 1.5.3-1
+ - libmysql 5.7.17-3 -> 8.0.4-2
+ - libpng 1.6.34-2 -> 1.6.34-3
+ - librtmp 2.4 -> 2.4-1
+ - libsndfile 1.0.29-6830c42-2 -> 1.0.29-6830c42-3
+ - libsodium 1.0.15-1 -> 1.0.16-1
+ - libspatialite 4.3.0a-1 -> 4.3.0a-2
+ - libssh 0.7.5-1 -> 0.7.5-4
+ - libuv 1.18.0 -> 1.19.2
+ - libwebp 0.6.1-1 -> 0.6.1-2
+ - libwebsockets 2.4.1 -> 2.4.2
+ - libxml2 2.9.4-2 -> 2.9.4-4
+ - libzip 1.4.0 -> rel-1-5-0
+ - live555 2018.01.29 -> 2018.02.28
+ - lodepng 2017-09-01-8a0f16afe74a6a-1 -> 2018-02-25
+ - luasocket 2017.05.25.5a17f79b0301f0a1b4c7f1c73388757a7e2ed309 -> 2018-02-25
+ - lz4 1.8.1.2 -> 1.8.1.2-1
+ - magnum-extras 2018.02-1 -> 2018.02-2
+ - matio 1.5.10-2 -> 1.5.12
+ - mman git-f5ff813 -> git-f5ff813-2
+ - ms-gsl 20171204-9d65e74400976b3509833f49b16d401600c7317d -> 2018-03-17
+ - msinttypes 2017-06-26-f9e7c5758ed9e3b9f4b2394de1881c704dd79de0 -> 2018-02-25
+ - msmpi 8.1 -> 9.0
+ - nlohmann-json 3.1.0 -> 3.1.2
+ - nuklear 2017-06-15-5c7194c2fe2c68c1a8212712c0b4b6195382d27d -> 2018-03-17
+ - ogre 1.10.9-2 -> 1.10.11
+ - opencv 3.4.0-3 -> 3.4.1
+ - openexr 2.2.0-1 -> 2.2.1-1
+ - openimageio 1.7.15-2 -> 1.8.9
+ - openjpeg 2.2.0-1 -> 2.3.0
+ - pcl 1.8.1-9 -> 1.8.1-10
+ - picosha2 2017-09-01-c5ff159b6 -> 2018-02-25
+ - piex 2017-09-01-473434f2dd974978b-1 -> 2018-03-13
+ - protobuf 3.5.1 -> 3.5.1-1
+ - qt5-modularscripts 1 -> 2
+ - re2 2017-12-01-1 -> 2018-03-17
+ - readosm 1.1.0 -> 1.1.0-1
+ - realsense2 2.10.0 -> 2.10.1
+ - rocksdb 2017-06-28-18c63af6ef2b9f014c404b88488ae52e6fead03c-1 -> 5.11.3
+ - rs-core-lib commit-1ed2dadbda3977b13e5e83cc1f3eeca76b36ebe5 -> 2018-03-17
+ - rttr 0.9.5-1 -> 0.9.5-2
+ - scintilla 3.7.6 -> 4.0.3
+ - sdl2 2.0.7-4 -> 2.0.8-1
+ - snappy 1.1.7-1 -> 1.1.7-2
+ - spatialite-tools 4.3.0 -> 4.3.0-1
+ - spdlog 0.14.0-1 -> 0.16.3
+ - spirv-tools 2017.1-dev-7e2d26c77b606b21af839b37fd21381c4a669f23-1 -> 2018.1-1
+ - sqlite3 3.21.0 -> 3.21.0-1
+ - stb 20170724-9d9f75e -> 2018-03-02
+ - thrift 20172805-72ca60debae1d9fb35d9f0085118873669006d7f-2 -> 2018-03-17
+ - tiny-dnn 2017-10-09-dd906fed8c8aff8dc837657c42f9d55f8b793b0e -> 2018-03-13
+ - tinyxml2 6.0.0 -> 6.0.0-2
+ - torch-th 20180131-89ede3ba90c906a8ec6b9a0f4bef188ba5bb2fd8-1 -> 20180131-89ede3ba90c906a8ec6b9a0f4bef188ba5bb2fd8-2
+ - unicorn 2017-12-06-bc34c36eaeca0f4fc672015d24ce3efbcc81d6e4-1 -> 2018-03-13
+ - unicorn-lib commit-3ffa7fe69a1d0c37fb52a4af61380c5fd84fa5aa -> 2018-03-13
+ - uwebsockets 0.14.4-1 -> 0.14.6-1
+ - wt 3.3.7-4 -> 4.0.2
+ - wtl 9.1 -> 10.0
+ - wxwidgets 3.1.0-1 -> 3.1.1
+ - yaml-cpp 0.5.4-rc-2 -> 0.6.2
+ - zeromq 20170908-18498f620f0f6d4076981ea16eb5760fe4d28dc2-2 -> 2018-03-17
+ - zziplib 0.13.62-1 -> 0.13.69
+ * Use TLS 1.2 for downloads.
+ * Tools used by `vcpkg` (`git`, `cmake` etc) are now specified in `scripts\vcpkgTools.xml`.
+ - Add `7zip`
+ * Fix various bugs regarding feature packages. Affects `install`, `upgrade` and `export`.
+ * `vcpkg hash`: Fix bug with whitespace in path.
+ * Visual Studio detection now properly identifies legacy versions (VS2015).
+ * Windows SDK detection no longer fails if certain registry keys are not in their expected places.
+ * Dependency qualifiers now support `!` for inversion.
+ * Add `VCPKG_DEFAULT_VS_PATH` environment variable.
+ - `vcpkg` automatically chooses the latest stable version of Visual Studio to use.
+ - You can now select the desired VS with the `VCPKG_DEFAULT_VS_PATH` environment variable
+ - You can also select the behavior by specifiying `VCPKG_VISUAL_STUDIO_PATH` in the triplet file (and this takes precedence over the new environment variable)
+
+-- vcpkg team <vcpkg@microsoft.com> MON, 19 Mar 2018 19:00:00 -0800
+
+
vcpkg (0.0.105)
--------------
* Add ports:
diff --git a/README.md b/README.md
index 85f8fc922..c35c597d9 100644
--- a/README.md
+++ b/README.md
@@ -1,35 +1,48 @@
-# Vcpkg <a href="#">![](https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/5261/badge)</a>
+# Vcpkg <a href="#">![](https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/8476/badge)</a>
## Overview
-Vcpkg helps you get C and C++ libraries on Windows. This tool and ecosystem are currently in a preview state; your involvement is vital to its success.
+Vcpkg helps you manage C and C++ libraries on Windows, Linux and MacOS. This tool and ecosystem are currently in a preview state; your involvement is vital to its success!
For short description of available commands, run `vcpkg help`.
## Quick Start
Prerequisites:
-- Windows 10, 8.1, or 7
-- Visual Studio 2017 or Visual Studio 2015 Update 3
+- Windows 10, 8.1, 7, Linux, or MacOS
+- Visual Studio 2017 or Visual Studio 2015 Update 3 (on Windows)
- Git
- *Optional: CMake 3.10.2*
-Clone this repository, then run
+To get started:
```
-C:\src\vcpkg> .\bootstrap-vcpkg.bat
+> git clone https://github.com/Microsoft/vcpkg
+> cd vcpkg
+
+PS> .\bootstrap-vcpkg.bat
+Ubuntu:~/$ ./bootstrap-vcpkg.sh
```
+
Then, to hook up user-wide integration, run (note: requires admin on first use)
```
-C:\src\vcpkg> .\vcpkg integrate install
+PS> .\vcpkg integrate install
+Ubuntu:~/$ ./vcpkg integrate install
```
+
Install any packages with
```
-C:\src\vcpkg> .\vcpkg install sdl2 curl
+PS> .\vcpkg install sdl2 curl
+Ubuntu:~/$ ./vcpkg install sdl2 curl
```
-Finally, create a New Project (or open an existing one) in Visual Studio 2017 or 2015. All installed libraries are immediately ready to be `#include`'d and used in your project.
-For CMake projects, simply include our toolchain file. See our [using a package](docs/examples/using-sqlite.md) example for the specifics.
+The best way to use installed libraries with CMake is via the toolchain file `scripts\buildsystems\vcpkg.cmake`. To use this file, you simply need to add it onto your CMake command line as `-DCMAKE_TOOLCHAIN_FILE=[vcpkg root]\scripts\buildsystems\vcpkg.cmake`.
+
+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/using-sqlite.md) example for the specifics.
+
+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/).
## Tab-Completion / Auto-Completion
-`Vcpkg` supports auto-completion of commands, package names, options etc. To enable tab-completion in Powershell, use
+`vcpkg` supports auto-completion of commands, package names, options etc. To enable tab-completion in Powershell, use
```
.\vcpkg integrate powershell
```
diff --git a/bootstrap-vcpkg.sh b/bootstrap-vcpkg.sh
new file mode 100755
index 000000000..b77b74890
--- /dev/null
+++ b/bootstrap-vcpkg.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+vcpkgRootDir=$(X= cd -- "$(dirname -- "$0")" && pwd -P)
+. $vcpkgRootDir/scripts/bootstrap.sh
diff --git a/docs/about/faq.md b/docs/about/faq.md
index cb711e384..b345b4fd0 100644
--- a/docs/about/faq.md
+++ b/docs/about/faq.md
@@ -72,6 +72,10 @@ A lower level mechanism to achieve the same as the `vcpkg integrate project` NuG
<Import Project="<vcpkg_root>\scripts\buildsystems\msbuild\vcpkg.targets" />
```
+## How can I remove temporary files?
+
+You can save some disk space by completely removing the `packages\`, `buildtrees\`, and `downloads\` folders.
+
## How is CMake used internally by Vcpkg?
Vcpkg uses CMake internally as a build scripting language. This is because CMake is already an extremely common build system for cross-platform open source libraries and is becoming very popular for C++ projects in general. It is easy to acquire on Windows, does not require system-wide installation, and legible for unfamiliar users.
diff --git a/docs/index.md b/docs/index.md
index 3fa5784e9..1d12b282e 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -25,7 +25,7 @@ Vcpkg helps you get C and C++ libraries on Windows. This tool and ecosystem are
- [Export](specifications/export-command.md)
### Blog posts
-
+- [Announcing a single C++ library manager for Linux, macOS and Windows: Vcpkg](https://blogs.msdn.microsoft.com/vcblog/2018/04/24/announcing-a-single-c-library-manager-for-linux-macos-and-windows-vcpkg/)
- [Vcpkg: introducing the export command](https://blogs.msdn.microsoft.com/vcblog/2017/05/03/vcpkg-introducing-export-command/)
- [Binary Compatibility and Pain-free Upgrade Why Moving to Visual Studio 2017 is almost "too easy"](https://blogs.msdn.microsoft.com/vcblog/2017/03/07/binary-compatibility-and-pain-free-upgrade-why-moving-to-visual-studio-2017-is-almost-too-easy/)
- [Vcpkg recent enhancements](https://blogs.msdn.microsoft.com/vcblog/2017/02/14/vcpkg-recent-enhancements/)
diff --git a/docs/maintainers/vcpkg_build_cmake.md b/docs/maintainers/vcpkg_build_cmake.md
index ddfa46f6b..1e17eb975 100644
--- a/docs/maintainers/vcpkg_build_cmake.md
+++ b/docs/maintainers/vcpkg_build_cmake.md
@@ -15,6 +15,9 @@ The underlying buildsystem will be instructed to not parallelize
The target passed to the cmake build command (`cmake --build . --target <target>`). If not specified, no target will
be passed.
+### ADD_BIN_TO_PATH
+Adds the appropriate Release and Debug `bin\` directories to the path during the build such that executables can run against the in-tree DLLs.
+
## Notes:
This command should be preceeded by a call to [`vcpkg_configure_cmake()`](vcpkg_configure_cmake.md).
You can use the alias [`vcpkg_install_cmake()`](vcpkg_configure_cmake.md) function if your CMake script supports the
diff --git a/docs/maintainers/vcpkg_build_msbuild.md b/docs/maintainers/vcpkg_build_msbuild.md
index 889b07bdc..37f8d8df2 100644
--- a/docs/maintainers/vcpkg_build_msbuild.md
+++ b/docs/maintainers/vcpkg_build_msbuild.md
@@ -19,6 +19,11 @@ vcpkg_build_msbuild(
```
## Parameters
+### USE_VCPKG_INTEGRATION
+Apply the normal `integrate install` integration for building the project.
+
+By default, projects built with this command will not automatically link libraries or have header paths set.
+
### PROJECT_PATH
The path to the solution (`.sln`) or project (`.vcxproj`) file.
diff --git a/docs/maintainers/vcpkg_find_acquire_program.md b/docs/maintainers/vcpkg_find_acquire_program.md
index 8107c8dd2..57a2bf75a 100644
--- a/docs/maintainers/vcpkg_find_acquire_program.md
+++ b/docs/maintainers/vcpkg_find_acquire_program.md
@@ -25,6 +25,7 @@ The current list of programs includes:
- NASM
- NINJA
- YASM
+- ARIA2 (Downloader)
Note that msys2 has a dedicated helper function: [`vcpkg_acquire_msys`](vcpkg_acquire_msys.md).
diff --git a/docs/users/triplets.md b/docs/users/triplets.md
index eb83aeb10..911ab5469 100644
--- a/docs/users/triplets.md
+++ b/docs/users/triplets.md
@@ -35,6 +35,9 @@ Specifies the C/C++ compiler toolchain to use.
This can be set to `v141`, `v140`, or left blank. If left blank, we select the latest compiler toolset available on your machine.
+Visual Studio 2015 platform toolset is `v140`
+Visual Studio 2017 platform toolset is `v141`
+
## Per-port customization
The CMake Macro `PORT` will be set when interpreting the triplet file and can be used to change settings (such as `VCPKG_LIBRARY_LINKAGE`) on a per-port basis.
diff --git a/ports/abseil/CMakeLists.txt b/ports/abseil/CMakeLists.txt
index c30f75e32..bed720843 100644
--- a/ports/abseil/CMakeLists.txt
+++ b/ports/abseil/CMakeLists.txt
@@ -3,6 +3,8 @@ project(abseil CXX)
add_definitions(-DNOMINMAX -DWIN32_LEAN_AND_MEAN)
+set(CMAKE_CXX_STANDARD 14)
+
set(CMAKE_DEBUG_POSTFIX d)
set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
@@ -73,6 +75,7 @@ add_sublibrary(utility)
target_link_public_libraries(algorithm base meta)
target_link_public_libraries(container algorithm base memory)
+target_link_public_libraries(debugging base)
target_link_public_libraries(memory meta)
target_link_public_libraries(meta base)
target_link_public_libraries(numeric base)
@@ -90,4 +93,4 @@ install(
FILE unofficial-abseil-config.cmake
NAMESPACE unofficial::abseil::
DESTINATION share/unofficial-abseil
-) \ No newline at end of file
+)
diff --git a/ports/abseil/CONTROL b/ports/abseil/CONTROL
index cd4a6723f..48e1dc27a 100644
--- a/ports/abseil/CONTROL
+++ b/ports/abseil/CONTROL
@@ -1,5 +1,5 @@
Source: abseil
-Version: 2018-03-07
+Version: 2018-04-25-1
Description: an open-source collection designed to augment the C++ standard library.
Abseil is an open-source collection of C++ library code designed to augment the C++ standard library. The Abseil library code is collected from Google's own C++ code base, has been extensively tested and used in production, and is the same code we depend on in our daily coding lives.
In some cases, Abseil provides pieces missing from the C++ standard; in others, Abseil provides alternatives to the standard for special needs we've found through usage in the Google code base. We denote those cases clearly within the library code we provide you.
diff --git a/ports/abseil/portfile.cmake b/ports/abseil/portfile.cmake
index 598f76c2f..d9568b79d 100644
--- a/ports/abseil/portfile.cmake
+++ b/ports/abseil/portfile.cmake
@@ -7,8 +7,8 @@ endif()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO abseil/abseil-cpp
- REF 94f0f79ecd2d9e5271a21bc4ededea9b58c60674
- SHA512 b1309a371b886e4d5d8e963407ddfcd005c041b35880e0af45f07c778875fb69c76f0a1ef7802af3f1eab3497fb40020d8d503c5eb2788fff50dd74b557bf182
+ REF ea0e750e52ee223db34a242f9a7229ac04a0f473
+ SHA512 1115fdf784eaa18c8287c6d40e773f0a4e8241db6fe8f71a17bb7018c715db0459803e6ebaeac31673c80fbc24505795e7b0783ef04d1e5e8d5359725f3698bf
HEAD_REF master
)
@@ -21,8 +21,7 @@ vcpkg_configure_cmake(
vcpkg_install_cmake()
-vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-abseil)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/abseil ${CURRENT_PACKAGES_DIR}/share/unofficial-abseil)
+vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-abseil TARGET_PATH share/unofficial-abseil)
file(GLOB_RECURSE HEADERS ${CURRENT_PACKAGES_DIR}/include/*)
foreach(FILE ${HEADERS})
diff --git a/ports/ace/CONTROL b/ports/ace/CONTROL
index 596d5a7a7..9baa763dc 100644
--- a/ports/ace/CONTROL
+++ b/ports/ace/CONTROL
@@ -1,3 +1,3 @@
Source: ace
-Version: 6.4.6
+Version: 6.4.7
Description: The ADAPTIVE Communication Environment
diff --git a/ports/ace/portfile.cmake b/ports/ace/portfile.cmake
index 63239138b..25eeabb0b 100644
--- a/ports/ace/portfile.cmake
+++ b/ports/ace/portfile.cmake
@@ -9,9 +9,9 @@ endif()
include(vcpkg_common_functions)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/ACE_wrappers/ace)
vcpkg_download_distfile(ARCHIVE
- URLS "http://download.dre.vanderbilt.edu/previous_versions/ACE-6.4.6.zip"
- FILENAME "ACE-6.4.6.zip"
- SHA512 3b1ced19bb42bd753e0a43990f1d8f84dc57f5650c7c972f2e849d4ce3aa1db08673cf14fbc0607d7dbc9b9f95f33f72a5d7f0f11cd993beba528f80eb525e69
+ URLS "http://download.dre.vanderbilt.edu/previous_versions/ACE-6.4.7.zip"
+ FILENAME "ACE-6.4.7.zip"
+ SHA512 931c7e5902f3999ed05c13f9d2c53a605e9b59b4ce78f33b42238ac25286aa13fb510e2f780b6aea9505d03edf834109ab4481870327fec1b5bb11d29cfbafdc
)
vcpkg_extract_source_archive(${ARCHIVE})
diff --git a/ports/alembic/CONTROL b/ports/alembic/CONTROL
index a1c8f7b4b..9a43a7b00 100644
--- a/ports/alembic/CONTROL
+++ b/ports/alembic/CONTROL
@@ -1,4 +1,4 @@
Source: alembic
-Version: 1.7.6
+Version: 1.7.8
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/
diff --git a/ports/alembic/portfile.cmake b/ports/alembic/portfile.cmake
index 8bc4d98ec..d9720a178 100644
--- a/ports/alembic/portfile.cmake
+++ b/ports/alembic/portfile.cmake
@@ -8,8 +8,8 @@ endif()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO alembic/alembic
- REF 1.7.6
- SHA512 d77aab41cec66b0565b20ec54604754ed6ef83c97d6d27e161b1cdc28af96d624db438cf70d449166c07b8f9f281f14aeb29f9de91ccc06fb6d2934e4c46ef3a
+ REF 1.7.8
+ SHA512 bc36e30d1aecd67da16247365a973c462e9716309d090fefe36f625c8d2ab2d517fe8ac694a9188cd6eeb623a3217f59f461c82fcfec43d0a60a07381526983a
HEAD_REF master
)
diff --git a/ports/asio/CONTROL b/ports/asio/CONTROL
index 021e20592..ec8ab41a8 100644
--- a/ports/asio/CONTROL
+++ b/ports/asio/CONTROL
@@ -1,3 +1,3 @@
Source: asio
-Version: 1.10.8-1
+Version: 1.12.0-2
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/portfile.cmake b/ports/asio/portfile.cmake
index 88cddfbbc..284e25300 100644
--- a/ports/asio/portfile.cmake
+++ b/ports/asio/portfile.cmake
@@ -4,8 +4,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO chriskohlhoff/asio
- REF asio-1-10-8
- SHA512 55c26a6daf893f6e91ec7e8b5d70f1e27f2c1886552b2c9cb5c47b7c3bb08f78c9d6cec0a3bc6edbfb657a5094a001f742db0f18f81f51d79661b01fafea293e
+ REF asio-1-12-0
+ SHA512 a0e341fd6a848784e1533df84d1e6b361c8468f59d4fbde68c1500c1f8a2124ad78db0169098dbbc594ce26717eb9760f37af13cb288a549e2bda563eecf2be3
HEAD_REF master
)
@@ -15,3 +15,8 @@ file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/COPYING ${CURRENT_PACKAGES_DIR
# 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/atkmm/portfile.cmake b/ports/atkmm/portfile.cmake
index 4cbaee7ad..74cf021c8 100644
--- a/ports/atkmm/portfile.cmake
+++ b/ports/atkmm/portfile.cmake
@@ -28,8 +28,7 @@ vcpkg_build_msbuild(
PROJECT_PATH ${SOURCE_PATH}/MSVC_Net2013/atkmm.sln
TARGET atkmm
PLATFORM ${VS_PLATFORM}
- # Need this for it to pick up xerces-c port: https://github.com/Microsoft/vcpkg/issues/891
- OPTIONS /p:ForceImportBeforeCppTargets=${VCPKG_ROOT_DIR}/scripts/buildsystems/msbuild/vcpkg.targets
+ USE_VCPKG_INTEGRATION
)
# Handle headers
diff --git a/ports/aubio/CONTROL b/ports/aubio/CONTROL
index 945157c7e..6f5daa30a 100644
--- a/ports/aubio/CONTROL
+++ b/ports/aubio/CONTROL
@@ -1,4 +1,4 @@
Source: aubio
-Version: 0.4.6-1
+Version: 0.4.6-2
Description: Aubio is a tool designed for the extraction of annotations from audio signals. Its features include segmenting a sound file before each of its attacks, performing pitch detection, tapping the beat and producing midi streams from live audio.
-Build-Depends: ffmpeg, libsndfile, libogg, libflac, libvorbis
+Build-Depends: ffmpeg, libsndfile, libogg, libflac, libvorbis, bzip2, liblzma
diff --git a/ports/aws-sdk-cpp/CONTROL b/ports/aws-sdk-cpp/CONTROL
index 3c784db00..1a4226b9a 100644
--- a/ports/aws-sdk-cpp/CONTROL
+++ b/ports/aws-sdk-cpp/CONTROL
@@ -1,3 +1,423 @@
Source: aws-sdk-cpp
-Version: 1.3.58
+Version: 1.4.38
Description: AWS SDK for C++
+Build-Depends: openssl (!uwp&!windows), curl (!uwp&!windows)
+Default-Features: dynamodb, ec2, kms, rds, s3, sns, sqs
+# Automatically generated by generateFeatures.ps1
+
+Feature: access-management
+Description: C++ SDK for the AWS access-management service
+
+Feature: acm
+Description: C++ SDK for the AWS acm service
+
+Feature: alexaforbusiness
+Description: C++ SDK for the AWS alexaforbusiness service
+
+Feature: apigateway
+Description: C++ SDK for the AWS apigateway service
+
+Feature: application-autoscaling
+Description: C++ SDK for the AWS application-autoscaling service
+
+Feature: appstream
+Description: C++ SDK for the AWS appstream service
+
+Feature: appsync
+Description: C++ SDK for the AWS appsync service
+
+Feature: athena
+Description: C++ SDK for the AWS athena service
+
+Feature: autoscaling
+Description: C++ SDK for the AWS autoscaling service
+
+Feature: autoscaling-plans
+Description: C++ SDK for the AWS autoscaling-plans service
+
+Feature: AWSMigrationHub
+Description: C++ SDK for the AWS AWSMigrationHub service
+
+Feature: batch
+Description: C++ SDK for the AWS batch service
+
+Feature: budgets
+Description: C++ SDK for the AWS budgets service
+
+Feature: ce
+Description: C++ SDK for the AWS ce service
+
+Feature: cloud9
+Description: C++ SDK for the AWS cloud9 service
+
+Feature: clouddirectory
+Description: C++ SDK for the AWS clouddirectory service
+
+Feature: cloudformation
+Description: C++ SDK for the AWS cloudformation service
+
+Feature: cloudfront
+Description: C++ SDK for the AWS cloudfront service
+
+Feature: cloudhsm
+Description: C++ SDK for the AWS cloudhsm service
+
+Feature: cloudhsmv2
+Description: C++ SDK for the AWS cloudhsmv2 service
+
+Feature: cloudsearch
+Description: C++ SDK for the AWS cloudsearch service
+
+Feature: cloudsearchdomain
+Description: C++ SDK for the AWS cloudsearchdomain service
+
+Feature: cloudtrail
+Description: C++ SDK for the AWS cloudtrail service
+
+Feature: codebuild
+Description: C++ SDK for the AWS codebuild service
+
+Feature: codecommit
+Description: C++ SDK for the AWS codecommit service
+
+Feature: codedeploy
+Description: C++ SDK for the AWS codedeploy service
+
+Feature: codepipeline
+Description: C++ SDK for the AWS codepipeline service
+
+Feature: codestar
+Description: C++ SDK for the AWS codestar service
+
+Feature: cognito-identity
+Description: C++ SDK for the AWS cognito-identity service
+
+Feature: cognito-idp
+Description: C++ SDK for the AWS cognito-idp service
+
+Feature: cognito-sync
+Description: C++ SDK for the AWS cognito-sync service
+
+Feature: comprehend
+Description: C++ SDK for the AWS comprehend service
+
+Feature: config
+Description: C++ SDK for the AWS config service
+
+Feature: connect
+Description: C++ SDK for the AWS connect service
+
+Feature: cur
+Description: C++ SDK for the AWS cur service
+
+Feature: datapipeline
+Description: C++ SDK for the AWS datapipeline service
+
+Feature: dax
+Description: C++ SDK for the AWS dax service
+
+Feature: devicefarm
+Description: C++ SDK for the AWS devicefarm service
+
+Feature: directconnect
+Description: C++ SDK for the AWS directconnect service
+
+Feature: discovery
+Description: C++ SDK for the AWS discovery service
+
+Feature: dms
+Description: C++ SDK for the AWS dms service
+
+Feature: ds
+Description: C++ SDK for the AWS ds service
+
+Feature: dynamodb
+Description: C++ SDK for the AWS dynamodb service
+
+Feature: dynamodbstreams
+Description: C++ SDK for the AWS dynamodbstreams service
+
+Feature: ec2
+Description: C++ SDK for the AWS ec2 service
+
+Feature: ecr
+Description: C++ SDK for the AWS ecr service
+
+Feature: ecs
+Description: C++ SDK for the AWS ecs service
+
+Feature: elasticache
+Description: C++ SDK for the AWS elasticache service
+
+Feature: elasticbeanstalk
+Description: C++ SDK for the AWS elasticbeanstalk service
+
+Feature: elasticfilesystem
+Description: C++ SDK for the AWS elasticfilesystem service
+
+Feature: elasticloadbalancing
+Description: C++ SDK for the AWS elasticloadbalancing service
+
+Feature: elasticloadbalancingv2
+Description: C++ SDK for the AWS elasticloadbalancingv2 service
+
+Feature: elasticmapreduce
+Description: C++ SDK for the AWS elasticmapreduce service
+
+Feature: elastictranscoder
+Description: C++ SDK for the AWS elastictranscoder service
+
+Feature: email
+Description: C++ SDK for the AWS email service
+
+Feature: es
+Description: C++ SDK for the AWS es service
+
+Feature: events
+Description: C++ SDK for the AWS events service
+
+Feature: firehose
+Description: C++ SDK for the AWS firehose service
+
+Feature: gamelift
+Description: C++ SDK for the AWS gamelift service
+
+Feature: glacier
+Description: C++ SDK for the AWS glacier service
+
+Feature: glue
+Description: C++ SDK for the AWS glue service
+
+Feature: greengrass
+Description: C++ SDK for the AWS greengrass service
+
+Feature: guardduty
+Description: C++ SDK for the AWS guardduty service
+
+Feature: health
+Description: C++ SDK for the AWS health service
+
+Feature: iam
+Description: C++ SDK for the AWS iam service
+
+Feature: identity-management
+Description: C++ SDK for the AWS identity-management service
+
+Feature: importexport
+Description: C++ SDK for the AWS importexport service
+
+Feature: inspector
+Description: C++ SDK for the AWS inspector service
+
+Feature: iot
+Description: C++ SDK for the AWS iot service
+
+Feature: iot-data
+Description: C++ SDK for the AWS iot-data service
+
+Feature: iot-jobs-data
+Description: C++ SDK for the AWS iot-jobs-data service
+
+Feature: kinesis
+Description: C++ SDK for the AWS kinesis service
+
+Feature: kinesis-video-archived-media
+Description: C++ SDK for the AWS kinesis-video-archived-media service
+
+Feature: kinesis-video-media
+Description: C++ SDK for the AWS kinesis-video-media service
+
+Feature: kinesisanalytics
+Description: C++ SDK for the AWS kinesisanalytics service
+
+Feature: kinesisvideo
+Description: C++ SDK for the AWS kinesisvideo service
+
+Feature: kms
+Description: C++ SDK for the AWS kms service
+
+Feature: lambda
+Description: C++ SDK for the AWS lambda service
+
+Feature: lex
+Description: C++ SDK for the AWS lex service
+
+Feature: lex-models
+Description: C++ SDK for the AWS lex-models service
+
+Feature: lightsail
+Description: C++ SDK for the AWS lightsail service
+
+Feature: logs
+Description: C++ SDK for the AWS logs service
+
+Feature: machinelearning
+Description: C++ SDK for the AWS machinelearning service
+
+Feature: marketplace-entitlement
+Description: C++ SDK for the AWS marketplace-entitlement service
+
+Feature: marketplacecommerceanalytics
+Description: C++ SDK for the AWS marketplacecommerceanalytics service
+
+Feature: mediaconvert
+Description: C++ SDK for the AWS mediaconvert service
+
+Feature: medialive
+Description: C++ SDK for the AWS medialive service
+
+Feature: mediapackage
+Description: C++ SDK for the AWS mediapackage service
+
+Feature: mediastore
+Description: C++ SDK for the AWS mediastore service
+
+Feature: mediastore-data
+Description: C++ SDK for the AWS mediastore-data service
+
+Feature: meteringmarketplace
+Description: C++ SDK for the AWS meteringmarketplace service
+
+Feature: mobile
+Description: C++ SDK for the AWS mobile service
+
+Feature: mobileanalytics
+Description: C++ SDK for the AWS mobileanalytics service
+
+Feature: monitoring
+Description: C++ SDK for the AWS monitoring service
+
+Feature: mq
+Description: C++ SDK for the AWS mq service
+
+Feature: mturk-requester
+Description: C++ SDK for the AWS mturk-requester service
+
+Feature: opsworks
+Description: C++ SDK for the AWS opsworks service
+
+Feature: opsworkscm
+Description: C++ SDK for the AWS opsworkscm service
+
+Feature: organizations
+Description: C++ SDK for the AWS organizations service
+
+Feature: pinpoint
+Description: C++ SDK for the AWS pinpoint service
+
+Feature: polly
+Description: C++ SDK for the AWS polly service
+
+Feature: pricing
+Description: C++ SDK for the AWS pricing service
+
+Feature: queues
+Description: C++ SDK for the AWS queues service
+
+Feature: rds
+Description: C++ SDK for the AWS rds service
+
+Feature: redshift
+Description: C++ SDK for the AWS redshift service
+
+Feature: rekognition
+Description: C++ SDK for the AWS rekognition service
+
+Feature: resource-groups
+Description: C++ SDK for the AWS resource-groups service
+
+Feature: resourcegroupstaggingapi
+Description: C++ SDK for the AWS resourcegroupstaggingapi service
+
+Feature: route53
+Description: C++ SDK for the AWS route53 service
+
+Feature: route53domains
+Description: C++ SDK for the AWS route53domains service
+
+Feature: s3
+Description: C++ SDK for the AWS s3 service
+
+Feature: s3-encryption
+Description: C++ SDK for the AWS s3-encryption service
+
+Feature: sagemaker
+Description: C++ SDK for the AWS sagemaker service
+
+Feature: sagemaker-runtime
+Description: C++ SDK for the AWS sagemaker-runtime service
+
+Feature: sdb
+Description: C++ SDK for the AWS sdb service
+
+Feature: serverlessrepo
+Description: C++ SDK for the AWS serverlessrepo service
+
+Feature: servicecatalog
+Description: C++ SDK for the AWS servicecatalog service
+
+Feature: servicediscovery
+Description: C++ SDK for the AWS servicediscovery service
+
+Feature: shield
+Description: C++ SDK for the AWS shield service
+
+Feature: sms
+Description: C++ SDK for the AWS sms service
+
+Feature: snowball
+Description: C++ SDK for the AWS snowball service
+
+Feature: sns
+Description: C++ SDK for the AWS sns service
+
+Feature: sqs
+Description: C++ SDK for the AWS sqs service
+
+Feature: ssm
+Description: C++ SDK for the AWS ssm service
+
+Feature: states
+Description: C++ SDK for the AWS states service
+
+Feature: storagegateway
+Description: C++ SDK for the AWS storagegateway service
+
+Feature: sts
+Description: C++ SDK for the AWS sts service
+
+Feature: support
+Description: C++ SDK for the AWS support service
+
+Feature: swf
+Description: C++ SDK for the AWS swf service
+
+Feature: text-to-speech
+Description: C++ SDK for the AWS text-to-speech service
+
+Feature: transcribe
+Description: C++ SDK for the AWS transcribe service
+
+Feature: transfer
+Description: C++ SDK for the AWS transfer service
+
+Feature: translate
+Description: C++ SDK for the AWS translate service
+
+Feature: waf
+Description: C++ SDK for the AWS waf service
+
+Feature: waf-regional
+Description: C++ SDK for the AWS waf-regional service
+
+Feature: workdocs
+Description: C++ SDK for the AWS workdocs service
+
+Feature: workmail
+Description: C++ SDK for the AWS workmail service
+
+Feature: workspaces
+Description: C++ SDK for the AWS workspaces service
+
+Feature: xray
+Description: C++ SDK for the AWS xray service
diff --git a/ports/aws-sdk-cpp/CONTROL.in b/ports/aws-sdk-cpp/CONTROL.in
new file mode 100644
index 000000000..184374de6
--- /dev/null
+++ b/ports/aws-sdk-cpp/CONTROL.in
@@ -0,0 +1,5 @@
+Source: aws-sdk-cpp
+Version: 1.4.30-1
+Description: AWS SDK for C++
+Build-Depends: openssl (!uwp&!windows), curl (!uwp&!windows)
+Default-Features: dynamodb, ec2, kms, rds, s3, sns, sqs
diff --git a/ports/aws-sdk-cpp/compute_build_only.cmake b/ports/aws-sdk-cpp/compute_build_only.cmake
new file mode 100644
index 000000000..f4a139153
--- /dev/null
+++ b/ports/aws-sdk-cpp/compute_build_only.cmake
@@ -0,0 +1,418 @@
+# Automatically generated by generateFeatures.ps1
+if("access-management" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY access-management)
+endif()
+if("acm" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY acm)
+endif()
+if("alexaforbusiness" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY alexaforbusiness)
+endif()
+if("apigateway" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY apigateway)
+endif()
+if("application-autoscaling" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY application-autoscaling)
+endif()
+if("appstream" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY appstream)
+endif()
+if("appsync" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY appsync)
+endif()
+if("athena" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY athena)
+endif()
+if("autoscaling" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY autoscaling)
+endif()
+if("autoscaling-plans" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY autoscaling-plans)
+endif()
+if("AWSMigrationHub" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY AWSMigrationHub)
+endif()
+if("batch" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY batch)
+endif()
+if("budgets" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY budgets)
+endif()
+if("ce" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY ce)
+endif()
+if("cloud9" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY cloud9)
+endif()
+if("clouddirectory" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY clouddirectory)
+endif()
+if("cloudformation" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY cloudformation)
+endif()
+if("cloudfront" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY cloudfront)
+endif()
+if("cloudhsm" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY cloudhsm)
+endif()
+if("cloudhsmv2" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY cloudhsmv2)
+endif()
+if("cloudsearch" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY cloudsearch)
+endif()
+if("cloudsearchdomain" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY cloudsearchdomain)
+endif()
+if("cloudtrail" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY cloudtrail)
+endif()
+if("codebuild" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY codebuild)
+endif()
+if("codecommit" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY codecommit)
+endif()
+if("codedeploy" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY codedeploy)
+endif()
+if("codepipeline" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY codepipeline)
+endif()
+if("codestar" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY codestar)
+endif()
+if("cognito-identity" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY cognito-identity)
+endif()
+if("cognito-idp" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY cognito-idp)
+endif()
+if("cognito-sync" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY cognito-sync)
+endif()
+if("comprehend" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY comprehend)
+endif()
+if("config" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY config)
+endif()
+if("connect" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY connect)
+endif()
+if("cur" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY cur)
+endif()
+if("datapipeline" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY datapipeline)
+endif()
+if("dax" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY dax)
+endif()
+if("devicefarm" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY devicefarm)
+endif()
+if("directconnect" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY directconnect)
+endif()
+if("discovery" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY discovery)
+endif()
+if("dms" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY dms)
+endif()
+if("ds" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY ds)
+endif()
+if("dynamodb" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY dynamodb)
+endif()
+if("dynamodbstreams" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY dynamodbstreams)
+endif()
+if("ec2" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY ec2)
+endif()
+if("ecr" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY ecr)
+endif()
+if("ecs" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY ecs)
+endif()
+if("elasticache" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY elasticache)
+endif()
+if("elasticbeanstalk" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY elasticbeanstalk)
+endif()
+if("elasticfilesystem" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY elasticfilesystem)
+endif()
+if("elasticloadbalancing" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY elasticloadbalancing)
+endif()
+if("elasticloadbalancingv2" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY elasticloadbalancingv2)
+endif()
+if("elasticmapreduce" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY elasticmapreduce)
+endif()
+if("elastictranscoder" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY elastictranscoder)
+endif()
+if("email" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY email)
+endif()
+if("es" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY es)
+endif()
+if("events" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY events)
+endif()
+if("firehose" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY firehose)
+endif()
+if("gamelift" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY gamelift)
+endif()
+if("glacier" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY glacier)
+endif()
+if("glue" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY glue)
+endif()
+if("greengrass" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY greengrass)
+endif()
+if("guardduty" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY guardduty)
+endif()
+if("health" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY health)
+endif()
+if("iam" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY iam)
+endif()
+if("identity-management" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY identity-management)
+endif()
+if("importexport" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY importexport)
+endif()
+if("inspector" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY inspector)
+endif()
+if("iot" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY iot)
+endif()
+if("iot-data" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY iot-data)
+endif()
+if("iot-jobs-data" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY iot-jobs-data)
+endif()
+if("kinesis" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY kinesis)
+endif()
+if("kinesis-video-archived-media" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY kinesis-video-archived-media)
+endif()
+if("kinesis-video-media" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY kinesis-video-media)
+endif()
+if("kinesisanalytics" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY kinesisanalytics)
+endif()
+if("kinesisvideo" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY kinesisvideo)
+endif()
+if("kms" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY kms)
+endif()
+if("lambda" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY lambda)
+endif()
+if("lex" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY lex)
+endif()
+if("lex-models" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY lex-models)
+endif()
+if("lightsail" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY lightsail)
+endif()
+if("logs" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY logs)
+endif()
+if("machinelearning" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY machinelearning)
+endif()
+if("marketplace-entitlement" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY marketplace-entitlement)
+endif()
+if("marketplacecommerceanalytics" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY marketplacecommerceanalytics)
+endif()
+if("mediaconvert" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY mediaconvert)
+endif()
+if("medialive" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY medialive)
+endif()
+if("mediapackage" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY mediapackage)
+endif()
+if("mediastore" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY mediastore)
+endif()
+if("mediastore-data" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY mediastore-data)
+endif()
+if("meteringmarketplace" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY meteringmarketplace)
+endif()
+if("mobile" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY mobile)
+endif()
+if("mobileanalytics" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY mobileanalytics)
+endif()
+if("monitoring" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY monitoring)
+endif()
+if("mq" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY mq)
+endif()
+if("mturk-requester" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY mturk-requester)
+endif()
+if("opsworks" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY opsworks)
+endif()
+if("opsworkscm" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY opsworkscm)
+endif()
+if("organizations" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY organizations)
+endif()
+if("pinpoint" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY pinpoint)
+endif()
+if("polly" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY polly)
+endif()
+if("pricing" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY pricing)
+endif()
+if("queues" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY queues)
+endif()
+if("rds" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY rds)
+endif()
+if("redshift" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY redshift)
+endif()
+if("rekognition" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY rekognition)
+endif()
+if("resource-groups" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY resource-groups)
+endif()
+if("resourcegroupstaggingapi" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY resourcegroupstaggingapi)
+endif()
+if("route53" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY route53)
+endif()
+if("route53domains" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY route53domains)
+endif()
+if("s3" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY s3)
+endif()
+if("s3-encryption" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY s3-encryption)
+endif()
+if("sagemaker" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY sagemaker)
+endif()
+if("sagemaker-runtime" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY sagemaker-runtime)
+endif()
+if("sdb" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY sdb)
+endif()
+if("serverlessrepo" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY serverlessrepo)
+endif()
+if("servicecatalog" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY servicecatalog)
+endif()
+if("servicediscovery" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY servicediscovery)
+endif()
+if("shield" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY shield)
+endif()
+if("sms" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY sms)
+endif()
+if("snowball" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY snowball)
+endif()
+if("sns" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY sns)
+endif()
+if("sqs" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY sqs)
+endif()
+if("ssm" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY ssm)
+endif()
+if("states" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY states)
+endif()
+if("storagegateway" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY storagegateway)
+endif()
+if("sts" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY sts)
+endif()
+if("support" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY support)
+endif()
+if("swf" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY swf)
+endif()
+if("text-to-speech" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY text-to-speech)
+endif()
+if("transcribe" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY transcribe)
+endif()
+if("transfer" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY transfer)
+endif()
+if("translate" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY translate)
+endif()
+if("waf" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY waf)
+endif()
+if("waf-regional" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY waf-regional)
+endif()
+if("workdocs" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY workdocs)
+endif()
+if("workmail" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY workmail)
+endif()
+if("workspaces" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY workspaces)
+endif()
+if("xray" IN_LIST FEATURES)
+ list(APPEND BUILD_ONLY xray)
+endif()
diff --git a/ports/aws-sdk-cpp/disable_warning_as_error.patch b/ports/aws-sdk-cpp/disable_warning_as_error.patch
deleted file mode 100644
index ec5587eb8..000000000
--- a/ports/aws-sdk-cpp/disable_warning_as_error.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/cmake/compiler_settings.cmake b/cmake/compiler_settings.cmake
-index 36795a2..77334ee 100644
---- a/cmake/compiler_settings.cmake
-+++ b/cmake/compiler_settings.cmake
-@@ -57,7 +57,7 @@ endif()
- if(MSVC)
- # warnings as errors, max warning level (4)
- if(NOT CMAKE_CXX_FLAGS MATCHES "/WX")
-- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /WX")
-+ #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /WX")
- endif()
-
- # taken from http://stackoverflow.com/questions/2368811/how-to-set-warning-level-in-cmake
diff --git a/ports/aws-sdk-cpp/drop_git.patch b/ports/aws-sdk-cpp/drop_git.patch
deleted file mode 100644
index 491831bd7..000000000
--- a/ports/aws-sdk-cpp/drop_git.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 9d2a98a..ce58b68 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -22,7 +22,7 @@ if(CMAKE_MAJOR_VERSION LESS 3)
- endif()
-
- # git is required for Android builds and optional for all other platforms
--find_package(Git)
-+#find_package(Git)
-
- # Cmake invocation variables:
- # CUSTOM_MEMORY_MANAGEMENT - if set to 1, generates the sdk project files with custom memory management enabled, otherwise disables it
diff --git a/ports/aws-sdk-cpp/generateFeatures.ps1 b/ports/aws-sdk-cpp/generateFeatures.ps1
new file mode 100644
index 000000000..8c8b1a342
--- /dev/null
+++ b/ports/aws-sdk-cpp/generateFeatures.ps1
@@ -0,0 +1,51 @@
+[CmdletBinding()]
+param(
+ [Parameter(Mandatory=$true)][string]$ExtractedSources,
+ [Parameter(Mandatory=$true)][string]$ControlFileIn,
+ [Parameter(Mandatory=$true)][string]$ControlFile,
+ [Parameter(Mandatory=$true)][string]$CMakeFragmentFile
+)
+
+$subfolders = Get-Item $ExtractedSources\aws-cpp-sdk-*
+
+$controltext = gc $ControlFileIn
+$controltext += @("# Automatically generated by generateFeatures.ps1")
+
+$cmakefragmenttext = @("# Automatically generated by generateFeatures.ps1")
+
+function GetDescription($dir, $modulename)
+{
+ if (Test-Path "$dir\CMakeLists.txt")
+ {
+ $descs = @(Select-String -Path "$dir\CMakeLists.txt" -Pattern "`"C\+\+ SDK for the AWS [^`"]*`"")
+ if ($descs.count -eq 1) {
+ $desc = $descs[0].Matches.Value -replace "`"",""
+ "Description: $desc"
+ }
+ else { "Description: C++ SDK for the AWS $modulename service" }
+ }
+ else { "Description: C++ SDK for the AWS $modulename service" }
+}
+
+$subfolders | % {
+ $modulename = $_.name -replace "^aws-cpp-sdk-",""
+ if ($modulename -match "-tests`$") { return }
+ if ($modulename -match "-sample`$") { return }
+ if ($modulename -eq "core") { return }
+
+ $controltext += @("")
+ $controltext += @("Feature: $modulename")
+ $controltext += @(GetDescription $_ $modulename)
+
+ $cmakefragmenttext += @(
+ "if(`"$modulename`" IN_LIST FEATURES)",
+ " list(APPEND BUILD_ONLY $modulename)",
+ "endif()"
+ )
+}
+
+Write-Verbose ($controltext -join "`n")
+[IO.File]::WriteAllText($ControlFile, ($controltext -join "`n")+"`n")
+
+Write-Verbose ($cmakefragmenttext -join "`n")
+[IO.File]::WriteAllText($CMakeFragmentFile, ($cmakefragmenttext -join "`n") +"`n")
diff --git a/ports/aws-sdk-cpp/portfile.cmake b/ports/aws-sdk-cpp/portfile.cmake
index d21932496..11e7a5056 100644
--- a/ports/aws-sdk-cpp/portfile.cmake
+++ b/ports/aws-sdk-cpp/portfile.cmake
@@ -3,79 +3,80 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO aws/aws-sdk-cpp
- REF 1.3.58
- SHA512 755fe3fd9d507a43fb03c1530a979f5a5a2848588ccab39509987043b3d274f27a7b163bf078a006123450ee881fd4a092cd703246f6f669810f47c186c2b0b8
+ REF 1.4.38
+ SHA512 ad0ea1fa8ca63da5d936d28b1df1e9d0a609547956b5a25c0fac4043c5ba912ef33e6ee4da7898d804eee4ccb9289540ebdf3a91a101c9d439daef78903cd087
HEAD_REF master
)
-vcpkg_apply_patches(
- SOURCE_PATH ${SOURCE_PATH}
- PATCHES
- ${CMAKE_CURRENT_LIST_DIR}/drop_git.patch
- ${CMAKE_CURRENT_LIST_DIR}/disable_warning_as_error.patch
-)
+string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "dynamic" FORCE_SHARED_CRT)
+
+set(BUILD_ONLY core)
-if(VCPKG_CRT_LINKAGE STREQUAL static)
- set(FORCE_SHARED_CRT OFF)
+include(${CMAKE_CURRENT_LIST_DIR}/compute_build_only.cmake)
+
+if(CMAKE_HOST_WIN32)
+ string(REPLACE ";" "\\\\\\;" BUILD_ONLY "${BUILD_ONLY}")
else()
- set(FORCE_SHARED_CRT ON)
+ string(REPLACE ";" "\\\\\\\\\\\;" BUILD_ONLY "${BUILD_ONLY}")
endif()
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
- PREFER_NINJA
- OPTIONS
- -DENABLE_TESTING=OFF
- -DFORCE_SHARED_CRT=${FORCE_SHARED_CRT}
+ PREFER_NINJA
+ OPTIONS
+ -DENABLE_UNITY_BUILD=ON
+ -DENABLE_TESTING=OFF
+ -DFORCE_SHARED_CRT=${FORCE_SHARED_CRT}
+ -DCMAKE_DISABLE_FIND_PACKAGE_Git=TRUE
+ "-DBUILD_ONLY=${BUILD_ONLY}"
)
vcpkg_install_cmake()
-file(GLOB CMAKE_FILES ${CURRENT_PACKAGES_DIR}/lib/cmake/*)
-
-file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share)
-
-file(COPY ${CMAKE_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/share)
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake TARGET_PATH share)
vcpkg_copy_pdbs()
-file(GLOB AWS_TARGETS "${CURRENT_PACKAGES_DIR}/share/aws-cpp-sdk-*/aws-cpp-sdk-*targets.cmake")
-foreach(AWS_TARGETS ${AWS_TARGETS})
- file(READ ${AWS_TARGETS} _contents)
+file(GLOB_RECURSE AWS_TARGETS "${CURRENT_PACKAGES_DIR}/share/*/*-targets-*.cmake")
+foreach(AWS_TARGET IN LISTS AWS_TARGETS)
+ file(READ ${AWS_TARGET} _contents)
string(REGEX REPLACE
- "get_filename_component\\(_IMPORT_PREFIX \"\\\${CMAKE_CURRENT_LIST_FILE}\" PATH\\)(\nget_filename_component\\(_IMPORT_PREFIX \"\\\${_IMPORT_PREFIX}\" PATH\\))*"
- "get_filename_component(_IMPORT_PREFIX \"\${CMAKE_CURRENT_LIST_FILE}\" PATH)\nget_filename_component(_IMPORT_PREFIX \"\${_IMPORT_PREFIX}\" PATH)\nget_filename_component(_IMPORT_PREFIX \"\${_IMPORT_PREFIX}\" PATH)"
+ "bin\\/([A-Za-z0-9_.-]+\\.lib)"
+ "lib/\\1"
_contents "${_contents}")
- file(WRITE ${AWS_TARGETS} "${_contents}")
+ file(WRITE ${AWS_TARGET} "${_contents}")
endforeach()
-file(GLOB AWS_TARGETS_RELEASE "${CURRENT_PACKAGES_DIR}/share/aws-cpp-sdk-*/aws-cpp-sdk-*targets-release.cmake")
-foreach(AWS_TARGETS_RELEASE ${AWS_TARGETS_RELEASE})
- file(READ ${AWS_TARGETS_RELEASE} _contents)
- string(REGEX REPLACE
- "bin\\/([A-Za-z0-9_.-]+lib)"
- "lib/\\1"
- _contents "${_contents}")
- file(WRITE ${AWS_TARGETS_RELEASE} "${_contents}")
+file(GLOB AWS_CONFIGS "${CURRENT_PACKAGES_DIR}/share/*/aws-cpp-sdk-*-config.cmake")
+list(FILTER AWS_CONFIGS EXCLUDE REGEX "aws-cpp-sdk-core-config\\.cmake\$")
+foreach(AWS_CONFIG IN LISTS AWS_CONFIGS)
+ file(READ "${AWS_CONFIG}" _contents)
+ file(WRITE "${AWS_CONFIG}" "include(CMakeFindDependencyMacro)\nfind_dependency(aws-cpp-sdk-core)\n${_contents}")
endforeach()
-file(REMOVE_RECURSE
- ${CURRENT_PACKAGES_DIR}/debug/include
- ${CURRENT_PACKAGES_DIR}/lib/cmake
- ${CURRENT_PACKAGES_DIR}/lib/pkgconfig
- ${CURRENT_PACKAGES_DIR}/debug/lib/cmake
- ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig
- ${CURRENT_PACKAGES_DIR}/nuget
- ${CURRENT_PACKAGES_DIR}/debug/nuget)
+file(REMOVE_RECURSE
+ ${CURRENT_PACKAGES_DIR}/debug/include
+ ${CURRENT_PACKAGES_DIR}/debug/share
+ ${CURRENT_PACKAGES_DIR}/share/AWSSDK
+ ${CURRENT_PACKAGES_DIR}/lib/pkgconfig
+ ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig
+ ${CURRENT_PACKAGES_DIR}/nuget
+ ${CURRENT_PACKAGES_DIR}/debug/nuget
+)
if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
- file(GLOB LIB_FILES ${CURRENT_PACKAGES_DIR}/bin/*.lib)
- file(GLOB DEBUG_LIB_FILES ${CURRENT_PACKAGES_DIR}/debug/bin/*.lib)
- file(COPY ${LIB_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
- file(COPY ${DEBUG_LIB_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
- file(REMOVE ${LIB_FILES} ${DEBUG_LIB_FILES})
-
- file(APPEND ${CURRENT_PACKAGES_DIR}/include/aws/core/SDKConfig.h "#define USE_IMPORT_EXPORT")
+ file(GLOB LIB_FILES ${CURRENT_PACKAGES_DIR}/bin/*.lib)
+ if(LIB_FILES)
+ file(COPY ${LIB_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
+ file(REMOVE ${LIB_FILES})
+ endif()
+ file(GLOB DEBUG_LIB_FILES ${CURRENT_PACKAGES_DIR}/debug/bin/*.lib)
+ if(DEBUG_LIB_FILES)
+ file(COPY ${DEBUG_LIB_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
+ file(REMOVE ${DEBUG_LIB_FILES})
+ endif()
+
+ file(APPEND ${CURRENT_PACKAGES_DIR}/include/aws/core/SDKConfig.h "#ifndef USE_IMPORT_EXPORT\n#define USE_IMPORT_EXPORT\n#endif")
endif()
# Handle copyright
diff --git a/ports/azmq/CONTROL b/ports/azmq/CONTROL
new file mode 100644
index 000000000..350bee266
--- /dev/null
+++ b/ports/azmq/CONTROL
@@ -0,0 +1,6 @@
+Source: azmq
+Version: 1.0.2
+Build-Depends: boost-asio, boost-assert, boost-config, boost-container, boost-format, boost-intrusive, boost-iterator, boost-lexical-cast, boost-logic, boost-optional, boost-random, boost-range, boost-regex, boost-system, boost-thread, boost-utility, zeromq
+Description: Boost Asio style bindings for ZeroMQ
+ This library is built on top of ZeroMQ's standard C interface and is intended to work well with C++ applications which use the Boost libraries in general, and Asio in particular.
+ The main abstraction exposed by the library is azmq::socket which provides an Asio style socket interface to the underlying zeromq socket and interfaces with Asio's io_service(). The socket implementation participates in the io_service's reactor for asynchronous IO and may be freely mixed with other Asio socket types (raw TCP/UDP/Serial/etc.).
diff --git a/ports/azmq/portfile.cmake b/ports/azmq/portfile.cmake
new file mode 100644
index 000000000..867b688ee
--- /dev/null
+++ b/ports/azmq/portfile.cmake
@@ -0,0 +1,15 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO zeromq/azmq
+ REF v1.0.2
+ SHA512 6e60a670d070ddf84dbd406e88225ff12f84ce39e0e64e9aff4314e174506c286d72cfebb5e2e51eab221f6e163a17cce539d052cea3c18954ec495b096f087b
+ HEAD_REF master
+)
+
+file(COPY ${SOURCE_PATH}/azmq DESTINATION ${CURRENT_PACKAGES_DIR}/include/)
+
+file(INSTALL
+ ${SOURCE_PATH}/LICENSE-BOOST_1_0
+ DESTINATION ${CURRENT_PACKAGES_DIR}/share/azmq RENAME copyright)
diff --git a/ports/azure-c-shared-utility/CONTROL b/ports/azure-c-shared-utility/CONTROL
new file mode 100644
index 000000000..08fecee67
--- /dev/null
+++ b/ports/azure-c-shared-utility/CONTROL
@@ -0,0 +1,3 @@
+Source: azure-c-shared-utility
+Version: 1.1.3
+Description: Azure C SDKs common code
diff --git a/ports/azure-c-shared-utility/portfile.cmake b/ports/azure-c-shared-utility/portfile.cmake
new file mode 100644
index 000000000..6b706aae3
--- /dev/null
+++ b/ports/azure-c-shared-utility/portfile.cmake
@@ -0,0 +1,40 @@
+include(vcpkg_common_functions)
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
+ message("azure-c-shared-utility only supports static linkage")
+ set(VCPKG_LIBRARY_LINKAGE "static")
+endif()
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO Azure/azure-c-shared-utility
+ REF 1.1.3
+ SHA512 8c69f39ccca30d11a7e665a46e3ec33826af062657a87d32f68e80c6182b15d5e02839f9e541f5dc840219e3256ac090452f4873b6a1a62b3fe6682780314056
+ HEAD_REF master
+)
+
+string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_AS_DYNAMIC)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -Dskip_samples=ON
+ -Duse_installed_dependencies=ON
+ -Duse_default_uuid=ON
+ -Dbuild_as_dynamic=${BUILD_AS_DYNAMIC}
+)
+
+vcpkg_install_cmake()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH cmake TARGET_PATH share/azure_c_shared_utility)
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share)
+
+file(COPY ${SOURCE_PATH}/configs/azure_iot_build_rules.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/azure-c-shared-utility)
+
+file(INSTALL
+ ${SOURCE_PATH}/LICENSE
+ DESTINATION ${CURRENT_PACKAGES_DIR}/share/azure-c-shared-utility RENAME copyright)
+
+vcpkg_copy_pdbs()
diff --git a/ports/azure-iot-sdk-c/CONTROL b/ports/azure-iot-sdk-c/CONTROL
new file mode 100644
index 000000000..a706b195c
--- /dev/null
+++ b/ports/azure-iot-sdk-c/CONTROL
@@ -0,0 +1,4 @@
+Source: azure-iot-sdk-c
+Version: 1.2.3
+Build-Depends: azure-uamqp-c, azure-umqtt-c, azure-c-shared-utility, parson
+Description: A C99 SDK for connecting devices to Microsoft Azure IoT services
diff --git a/ports/azure-iot-sdk-c/improve-external-deps-2.patch b/ports/azure-iot-sdk-c/improve-external-deps-2.patch
new file mode 100644
index 000000000..04795fa1f
--- /dev/null
+++ b/ports/azure-iot-sdk-c/improve-external-deps-2.patch
@@ -0,0 +1,20 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index aa2dfad..f1656ea 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -129,15 +129,6 @@ endif()
+ #Use solution folders.
+ set_property(GLOBAL PROPERTY USE_FOLDERS ON)
+
+-# build the parson library for json parsing
+-add_library(parson
+- ./deps/parson/parson.c
+- ./deps/parson/parson.h
+-)
+-if(MSVC)
+- set_source_files_properties(../deps/parson/parson.c PROPERTIES COMPILE_FLAGS "/wd4244 /wd4232")
+-endif()
+-
+ if(IN_OPENWRT)
+ ADD_DEFINITIONS("$ENV{TARGET_LDFLAGS}" "$ENV{TARGET_CPPFLAGS}" "$ENV{TARGET_CFLAGS}")
+ INCLUDE_DIRECTORIES("$ENV{TOOLCHAIN_DIR}/usr/include" "$ENV{TARGET_LDFLAGS}" "$ENV{TARGET_CPPFLAGS}" "$ENV{TARGET_CFLAGS}")
diff --git a/ports/azure-iot-sdk-c/improve-external-deps.patch b/ports/azure-iot-sdk-c/improve-external-deps.patch
new file mode 100644
index 000000000..d96e0fe38
--- /dev/null
+++ b/ports/azure-iot-sdk-c/improve-external-deps.patch
@@ -0,0 +1,94 @@
+diff --git a/configs/azure_iot_sdksConfig.cmake b/configs/azure_iot_sdksConfig.cmake
+index b9c62e8..edf5847 100644
+--- a/configs/azure_iot_sdksConfig.cmake
++++ b/configs/azure_iot_sdksConfig.cmake
+@@ -1,5 +1,10 @@
+ #Copyright (c) Microsoft. All rights reserved.
+ #Licensed under the MIT license. See LICENSE file in the project root for full license information.
++include(CMakeFindDependencyMacro)
++find_dependency(unofficial-parson)
++find_dependency(uamqp)
++find_dependency(umqtt)
++find_dependency(azure_c_shared_utility)
+
+ include("${CMAKE_CURRENT_LIST_DIR}/azure_iot_sdksTargets.cmake")
+
+diff --git a/dependencies.cmake b/dependencies.cmake
+index 063733a..71bfc7d 100644
+--- a/dependencies.cmake
++++ b/dependencies.cmake
+@@ -18,6 +18,8 @@ if(${use_installed_dependencies})
+ endif()
+ endif()
+
++ find_package(unofficial-parson REQUIRED)
++ link_libraries(unofficial::parson::parson)
+ else()
+ add_subdirectory(c-utility)
+
+diff --git a/iothub_client/tests/iothubclient_amqp_dt_e2e/CMakeLists.txt b/iothub_client/tests/iothubclient_amqp_dt_e2e/CMakeLists.txt
+index 161872a..d53e111 100644
+--- a/iothub_client/tests/iothubclient_amqp_dt_e2e/CMakeLists.txt
++++ b/iothub_client/tests/iothubclient_amqp_dt_e2e/CMakeLists.txt
+@@ -31,12 +31,10 @@ set(${theseTestsName}_nuget_c_files
+
+ set(${theseTestsName}_c_files
+ ../../../certs/certs.c
+- ../../../deps/parson/parson.c
+ )
+
+ set(${theseTestsName}_h_files
+ ../../../certs/certs.h
+- ../../../deps/parson/parson.h
+ ../common_dt_e2e/iothubclient_common_dt_e2e.h
+ )
+
+diff --git a/iothub_client/tests/iothubclient_mqtt_dt_e2e/CMakeLists.txt b/iothub_client/tests/iothubclient_mqtt_dt_e2e/CMakeLists.txt
+index d472161..b0291e8 100644
+--- a/iothub_client/tests/iothubclient_mqtt_dt_e2e/CMakeLists.txt
++++ b/iothub_client/tests/iothubclient_mqtt_dt_e2e/CMakeLists.txt
+@@ -31,12 +31,10 @@ set(${theseTestsName}_nuget_c_files
+
+ set(${theseTestsName}_c_files
+ ../../../certs/certs.c
+- ../../../deps/parson/parson.c
+ )
+
+ set(${theseTestsName}_h_files
+ ../../../certs/certs.h
+- ../../../deps/parson/parson.h
+ ../common_dt_e2e/iothubclient_common_dt_e2e.h
+ )
+
+diff --git a/iothub_client/tests/iothubclient_mqtt_dt_e2e_sfc/CMakeLists.txt b/iothub_client/tests/iothubclient_mqtt_dt_e2e_sfc/CMakeLists.txt
+index d05d654..5872c8d 100644
+--- a/iothub_client/tests/iothubclient_mqtt_dt_e2e_sfc/CMakeLists.txt
++++ b/iothub_client/tests/iothubclient_mqtt_dt_e2e_sfc/CMakeLists.txt
+@@ -31,12 +31,10 @@ set(${theseTestsName}_nuget_c_files
+
+ set(${theseTestsName}_c_files
+ ../../../certs/certs.c
+- ../../../deps/parson/parson.c
+ )
+
+ set(${theseTestsName}_h_files
+ ../../../certs/certs.h
+- ../../../deps/parson/parson.h
+ ../common_dt_e2e/iothubclient_common_dt_e2e.h
+ )
+
+diff --git a/iothub_service_client/CMakeLists.txt b/iothub_service_client/CMakeLists.txt
+index 11a9a9a..4097293 100644
+--- a/iothub_service_client/CMakeLists.txt
++++ b/iothub_service_client/CMakeLists.txt
+@@ -72,9 +72,7 @@ endif()
+ setSdkTargetBuildProperties(iothub_service_client)
+
+ if(NOT ${nuget_e2e_tests})
+- target_link_libraries(iothub_service_client uamqp parson)
+-else()
+- target_link_libraries(iothub_service_client parson)
++ target_link_libraries(iothub_service_client uamqp)
+ endif()
+
+ if (NOT ${ARCHITECTURE} STREQUAL "ARM")
diff --git a/ports/azure-iot-sdk-c/portfile.cmake b/ports/azure-iot-sdk-c/portfile.cmake
new file mode 100644
index 000000000..0abffcb0f
--- /dev/null
+++ b/ports/azure-iot-sdk-c/portfile.cmake
@@ -0,0 +1,47 @@
+include(vcpkg_common_functions)
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
+ message("azure-iot-sdk-c only supports static linkage")
+ set(VCPKG_LIBRARY_LINKAGE "static")
+endif()
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO Azure/azure-iot-sdk-c
+ REF 1.2.3
+ SHA512 6192d454bb2ecb01989f7636751acd6919021b55b772f4ea25a6d0ddd263e7f988275f7fb0b1c304d4ebd30418c9f870eb1c504a4a504f2faeb712ef8e669d5a
+ HEAD_REF master
+)
+
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES
+ ${CMAKE_CURRENT_LIST_DIR}/improve-external-deps.patch
+ ${CMAKE_CURRENT_LIST_DIR}/improve-external-deps-2.patch
+)
+
+file(COPY ${CURRENT_INSTALLED_DIR}/share/azure-c-shared-utility/azure_iot_build_rules.cmake DESTINATION ${SOURCE_PATH}/deps/azure-c-shared-utility/configs/)
+
+string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_AS_DYNAMIC)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -Dskip_samples=ON
+ -Duse_installed_dependencies=ON
+ -Duse_default_uuid=ON
+ -Dbuild_as_dynamic=${BUILD_AS_DYNAMIC}
+)
+
+vcpkg_install_cmake()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH cmake TARGET_PATH share/azure_iot_sdks)
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share)
+
+file(INSTALL
+ ${SOURCE_PATH}/LICENSE
+ DESTINATION ${CURRENT_PACKAGES_DIR}/share/azure-iot-sdk-c RENAME copyright)
+
+vcpkg_copy_pdbs()
diff --git a/ports/azure-storage-cpp/CONTROL b/ports/azure-storage-cpp/CONTROL
index 837aa8ae0..c68552bba 100644
--- a/ports/azure-storage-cpp/CONTROL
+++ b/ports/azure-storage-cpp/CONTROL
@@ -1,5 +1,5 @@
Source: azure-storage-cpp
-Version: 3.2.0
-Build-Depends: cpprestsdk, atlmfc
+Version: 3.2.1
+Build-Depends: cpprestsdk, atlmfc (windows), boost-log (!windows&!uwp), boost-locale (!windows&!uwp), glibmm (!windows&!uwp), libxmlpp (!windows&!uwp), libuuid (!windows&!uwp)
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/
diff --git a/ports/azure-storage-cpp/glibmm-cmake.patch b/ports/azure-storage-cpp/glibmm-cmake.patch
new file mode 100644
index 000000000..4d3e4a8cd
--- /dev/null
+++ b/ports/azure-storage-cpp/glibmm-cmake.patch
@@ -0,0 +1,13 @@
+diff --git a/Microsoft.WindowsAzure.Storage/cmake/Modules/FindGlibmm.cmake b/Microsoft.WindowsAzure.Storage/cmake/Modules/FindGlibmm.cmake
+index 79a4bcb..fe130bd 100644
+--- a/Microsoft.WindowsAzure.Storage/cmake/Modules/FindGlibmm.cmake
++++ b/Microsoft.WindowsAzure.Storage/cmake/Modules/FindGlibmm.cmake
+@@ -36,7 +36,7 @@ find_path(GlibmmConfig_INCLUDE_DIR
+ )
+
+ find_library(Glibmm_LIBRARY
+- NAMES glibmm-2.4
++ NAMES glibmm glibmm-2.4
+ PATHS
+ ${Glibmm_PKGCONF_LIBRARY_DIRS}
+ /usr
diff --git a/ports/azure-storage-cpp/portfile.cmake b/ports/azure-storage-cpp/portfile.cmake
index b5a4791c3..56dbc2ca3 100644
--- a/ports/azure-storage-cpp/portfile.cmake
+++ b/ports/azure-storage-cpp/portfile.cmake
@@ -7,22 +7,21 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Azure/azure-storage-cpp
- REF v3.2.0
- SHA512 841c548986de743b508edd149441727e76f66ba09a99454006d2742547267046833062501e79ff2138d6bcad37740f7009cce4590bbdf40b48b935b989959267
+ REF v3.2.1
+ SHA512 8d1e8de439e52f53eb28b77e8adf394468f4861c2c4c1f79ec1437c72e3fc0bc871e4e2662ee58090748915b0f12ce6736a7cc6ede619d332686b9fb6a026c9f
HEAD_REF master
-)
-
-vcpkg_apply_patches(
- SOURCE_PATH ${SOURCE_PATH}
PATCHES
${CMAKE_CURRENT_LIST_DIR}/cmake.patch
${CMAKE_CURRENT_LIST_DIR}/static-builds.patch
${CMAKE_CURRENT_LIST_DIR}/support-cpprest-findpackage.patch
+ ${CMAKE_CURRENT_LIST_DIR}/glibmm-cmake.patch
+ ${CMAKE_CURRENT_LIST_DIR}/pplx-do-while.patch
)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}/Microsoft.WindowsAzure.Storage
OPTIONS
+ -DCMAKE_FIND_FRAMEWORK=LAST
-DBUILD_TESTS=OFF
-DBUILD_SAMPLES=OFF
)
@@ -32,7 +31,7 @@ vcpkg_install_cmake()
file(INSTALL
${SOURCE_PATH}/LICENSE.txt
DESTINATION ${CURRENT_PACKAGES_DIR}/share/azure-storage-cpp RENAME copyright)
-file(REMOVE_RECURSE
+file(REMOVE_RECURSE
${CURRENT_PACKAGES_DIR}/debug/include)
vcpkg_copy_pdbs()
diff --git a/ports/azure-storage-cpp/pplx-do-while.patch b/ports/azure-storage-cpp/pplx-do-while.patch
new file mode 100644
index 000000000..0c2163442
--- /dev/null
+++ b/ports/azure-storage-cpp/pplx-do-while.patch
@@ -0,0 +1,52 @@
+diff --git a/Microsoft.WindowsAzure.Storage/includes/wascore/executor.h b/Microsoft.WindowsAzure.Storage/includes/wascore/executor.h
+index 756163d..6fbfd44 100644
+--- a/Microsoft.WindowsAzure.Storage/includes/wascore/executor.h
++++ b/Microsoft.WindowsAzure.Storage/includes/wascore/executor.h
+@@ -366,7 +366,7 @@ namespace azure { namespace storage { namespace core {
+ // TODO: Reduce usage of auto variable types
+
+ auto instance = std::make_shared<executor_impl>(command, options, context);
+- return pplx::details::do_while([instance]() -> pplx::task<bool>
++ return details::_do_while([instance]() -> pplx::task<bool>
+ {
+ // 0. Begin request
+ instance->validate_location_mode();
+diff --git a/Microsoft.WindowsAzure.Storage/includes/wascore/util.h b/Microsoft.WindowsAzure.Storage/includes/wascore/util.h
+index f3401f2..6a6aa48 100644
+--- a/Microsoft.WindowsAzure.Storage/includes/wascore/util.h
++++ b/Microsoft.WindowsAzure.Storage/includes/wascore/util.h
+@@ -127,6 +127,21 @@ namespace azure { namespace storage { namespace core {
+ };
+ #endif
+
++ namespace details
++ {
++ template<class F, class T = bool>
++ pplx::task<T> _do_while(F func)
++ {
++ pplx::task<T> first = func();
++ return first.then([=](bool guard) -> pplx::task<T> {
++ if (guard)
++ return azure::storage::core::details::_do_while<F,T>(func);
++ else
++ return first;
++ });
++ }
++ }
++
+ }}} // namespace azure::storage::core
+
+ #pragma pop_macro("max")
+diff --git a/Microsoft.WindowsAzure.Storage/src/util.cpp b/Microsoft.WindowsAzure.Storage/src/util.cpp
+index dd2250a..b8d1341 100644
+--- a/Microsoft.WindowsAzure.Storage/src/util.cpp
++++ b/Microsoft.WindowsAzure.Storage/src/util.cpp
+@@ -98,7 +98,7 @@ namespace azure { namespace storage { namespace core {
+ auto obuffer = ostream.streambuf();
+ auto length_ptr = (length != std::numeric_limits<utility::size64_t>::max()) ? std::make_shared<utility::size64_t>(length) : nullptr;
+ auto total_ptr = std::make_shared<utility::size64_t>(0);
+- return pplx::details::do_while([istream, obuffer, buffer_size, length_ptr, total_ptr, max_length] () -> pplx::task<bool>
++ return azure::storage::core::details::_do_while([istream, obuffer, buffer_size, length_ptr, total_ptr, max_length] () -> pplx::task<bool>
+ {
+ size_t read_length = buffer_size;
+ if ((length_ptr != nullptr) && (*length_ptr < read_length))
diff --git a/ports/azure-uamqp-c/CONTROL b/ports/azure-uamqp-c/CONTROL
new file mode 100644
index 000000000..098209ac9
--- /dev/null
+++ b/ports/azure-uamqp-c/CONTROL
@@ -0,0 +1,4 @@
+Source: azure-uamqp-c
+Version: 1.2.3
+Build-Depends: azure-c-shared-utility
+Description: AMQP library for C
diff --git a/ports/azure-uamqp-c/glob-headers.patch b/ports/azure-uamqp-c/glob-headers.patch
new file mode 100644
index 000000000..245744f2b
--- /dev/null
+++ b/ports/azure-uamqp-c/glob-headers.patch
@@ -0,0 +1,14 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index dbf79e5..aec44e5 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -74,7 +74,8 @@ if(WIN32)
+ include_directories($ENV{OpenSSLDir}/include)
+ endif()
+
+-set(uamqp_h_files
++file(GLOB uamqp_h_files
++ ./inc/azure_uamqp_c/*
+ ./inc/azure_uamqp_c/amqp_definitions.h
+ ./inc/azure_uamqp_c/amqp_frame_codec.h
+ ./inc/azure_uamqp_c/amqp_management.h
diff --git a/ports/azure-uamqp-c/portfile.cmake b/ports/azure-uamqp-c/portfile.cmake
new file mode 100644
index 000000000..c037010f1
--- /dev/null
+++ b/ports/azure-uamqp-c/portfile.cmake
@@ -0,0 +1,41 @@
+include(vcpkg_common_functions)
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
+ message("azure-uamqp-c only supports static linkage")
+ set(VCPKG_LIBRARY_LINKAGE "static")
+endif()
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO Azure/azure-uamqp-c
+ REF 1.2.3
+ SHA512 18fc978517371fcb19e1c078f07d06b3bf8ec046c5cba955dd3cfe0a364d8775542acc970d81fa42384942ea4db7fb60d8939e80e90baf582c9d9e6ff0b577b5
+ HEAD_REF master
+)
+
+vcpkg_apply_patches(SOURCE_PATH ${SOURCE_PATH} PATCHES ${CMAKE_CURRENT_LIST_DIR}/glob-headers.patch)
+
+file(COPY ${CURRENT_INSTALLED_DIR}/share/azure-c-shared-utility/azure_iot_build_rules.cmake DESTINATION ${SOURCE_PATH}/deps/azure-c-shared-utility/configs/)
+
+string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_AS_DYNAMIC)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -Dskip_samples=ON
+ -Duse_installed_dependencies=ON
+ -Dbuild_as_dynamic=${BUILD_AS_DYNAMIC}
+)
+
+vcpkg_install_cmake()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH cmake TARGET_PATH share/uamqp)
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share)
+
+file(INSTALL
+ ${SOURCE_PATH}/LICENSE
+ DESTINATION ${CURRENT_PACKAGES_DIR}/share/azure-uamqp-c RENAME copyright)
+
+vcpkg_copy_pdbs()
diff --git a/ports/azure-uhttp-c/CONTROL b/ports/azure-uhttp-c/CONTROL
new file mode 100644
index 000000000..3711a7dfe
--- /dev/null
+++ b/ports/azure-uhttp-c/CONTROL
@@ -0,0 +1,4 @@
+Source: azure-uhttp-c
+Version: 2018-02-09
+Build-Depends: azure-c-shared-utility
+Description: Azure HTTP Library written in C
diff --git a/ports/azure-uhttp-c/portfile.cmake b/ports/azure-uhttp-c/portfile.cmake
new file mode 100644
index 000000000..a04290ec1
--- /dev/null
+++ b/ports/azure-uhttp-c/portfile.cmake
@@ -0,0 +1,40 @@
+include(vcpkg_common_functions)
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
+ message("azure-uhttp-c only supports static linkage")
+ set(VCPKG_LIBRARY_LINKAGE "static")
+endif()
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO Azure/azure-uhttp-c
+ REF 2018-02-09
+ SHA512 0668be0f7624d021b6d24e81c21c606ab4a59990eb3d83fea6d2c6cf9ea3f2c6904ad021afcf9645c3c5f2238e9b83146f36522c662b0a2626d928cb4a0218ba
+ HEAD_REF master
+)
+
+file(COPY ${CURRENT_INSTALLED_DIR}/share/azure-c-shared-utility/azure_iot_build_rules.cmake DESTINATION ${SOURCE_PATH}/deps/c-utility/configs/)
+
+string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_AS_DYNAMIC)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -Dskip_samples=ON
+ -Duse_installed_dependencies=ON
+ -Dbuild_as_dynamic=${BUILD_AS_DYNAMIC}
+ -DCMAKE_INSTALL_INCLUDEDIR=include
+)
+
+vcpkg_install_cmake()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH cmake TARGET_PATH share/uhttp)
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share)
+
+file(INSTALL
+ ${SOURCE_PATH}/LICENSE
+ DESTINATION ${CURRENT_PACKAGES_DIR}/share/azure-uhttp-c RENAME copyright)
+
+vcpkg_copy_pdbs()
diff --git a/ports/azure-umqtt-c/CONTROL b/ports/azure-umqtt-c/CONTROL
new file mode 100644
index 000000000..68cfaaa05
--- /dev/null
+++ b/ports/azure-umqtt-c/CONTROL
@@ -0,0 +1,4 @@
+Source: azure-umqtt-c
+Version: 1.1.3
+Build-Depends: azure-c-shared-utility
+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
new file mode 100644
index 000000000..f24e087bf
--- /dev/null
+++ b/ports/azure-umqtt-c/portfile.cmake
@@ -0,0 +1,39 @@
+include(vcpkg_common_functions)
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
+ message("azure-umqtt-c only supports static linkage")
+ set(VCPKG_LIBRARY_LINKAGE "static")
+endif()
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO Azure/azure-umqtt-c
+ REF 1.1.3
+ SHA512 5c57fe40dce8166e1e138db45b642152a337dbbbc4d85998ac99b016627c0135b99bd7b189d249c6278837ef4af5ba4e4f964a9b65788acef37d7b37ae125b16
+ HEAD_REF master
+)
+
+file(COPY ${CURRENT_INSTALLED_DIR}/share/azure-c-shared-utility/azure_iot_build_rules.cmake DESTINATION ${SOURCE_PATH}/deps/c-utility/configs/)
+
+string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_AS_DYNAMIC)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -Dskip_samples=ON
+ -Duse_installed_dependencies=ON
+ -Dbuild_as_dynamic=${BUILD_AS_DYNAMIC}
+)
+
+vcpkg_install_cmake()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH cmake TARGET_PATH share/umqtt)
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share)
+
+file(INSTALL
+ ${SOURCE_PATH}/LICENSE
+ DESTINATION ${CURRENT_PACKAGES_DIR}/share/azure-umqtt-c RENAME copyright)
+
+vcpkg_copy_pdbs()
diff --git a/ports/benchmark/CONTROL b/ports/benchmark/CONTROL
index 5b56de372..9853a1509 100644
--- a/ports/benchmark/CONTROL
+++ b/ports/benchmark/CONTROL
@@ -1,3 +1,3 @@
Source: benchmark
-Version: 1.3.0-1
+Version: 1.4.0
Description: A library to support the benchmarking of functions, similar to unit-tests.
diff --git a/ports/benchmark/portfile.cmake b/ports/benchmark/portfile.cmake
index e76bce6ff..d724bf5ee 100644
--- a/ports/benchmark/portfile.cmake
+++ b/ports/benchmark/portfile.cmake
@@ -16,8 +16,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO google/benchmark
- REF v1.3.0
- SHA512 272775e4dbd0ecc65a2a3a64f24e79682b630929dea3af47349329ac8b796341f1197458a67c9aac0e514857ebe7cbc191d18f6fd2c0aea3242562e69d8a6849
+ REF v1.4.0
+ SHA512 4bb5119fe6c0558e5a8b39486169ffcbf24e877ec7f28636dfab1692936b77334f76d28bda2cdada18e5070579da7a5bf0617bfbb6a09848f0b071df8e694d76
HEAD_REF master
)
diff --git a/ports/bigint/CMakeLists.txt b/ports/bigint/CMakeLists.txt
index cb62597ef..e4cccbe12 100644
--- a/ports/bigint/CMakeLists.txt
+++ b/ports/bigint/CMakeLists.txt
@@ -13,7 +13,7 @@ set(
BigInteger.cc
BigIntegerAlgorithms.cc
BigUnsignedInABase.cc
- BigIntegerUtils.cc
+ BigIntegerUtils.cc
)
set(
@@ -24,6 +24,7 @@ set(
BigIntegerAlgorithms.hh
BigUnsignedInABase.hh
BigIntegerLibrary.hh
+ BigIntegerUtils.hh
)
add_library(bigint ${bigint_srcs})
diff --git a/ports/bigint/CONTROL b/ports/bigint/CONTROL
index 4079363f1..5247cbf81 100644
--- a/ports/bigint/CONTROL
+++ b/ports/bigint/CONTROL
@@ -1,3 +1,3 @@
Source: bigint
-Version: 2010.04.30-1
+Version: 2010.04.30-2
Description: C++ Big Integer Library
diff --git a/ports/bitserializer/CONTROL b/ports/bitserializer/CONTROL
new file mode 100644
index 000000000..95e36f5b9
--- /dev/null
+++ b/ports/bitserializer/CONTROL
@@ -0,0 +1,4 @@
+Source: bitserializer
+Version: 0.7
+Build-Depends: cpprestsdk
+Description: The library for simple serialization of arbitrary C++ types to various output formats (currently just supported JSON based on CppRestSDK).
diff --git a/ports/bitserializer/portfile.cmake b/ports/bitserializer/portfile.cmake
new file mode 100644
index 000000000..5e59f0c71
--- /dev/null
+++ b/ports/bitserializer/portfile.cmake
@@ -0,0 +1,13 @@
+include(vcpkg_common_functions)
+vcpkg_from_bitbucket(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO Pavel_Kisliak/BitSerializer
+ REF 0.7
+ SHA512 3a50b1b3077115f60d298f4257ae6a5a350c1d8b3d575af83b4f0746757ab3393da7c81ac9c7db4e30540fe94f1742b1d39de724b2dec080faf727b885bb19a4
+ HEAD_REF master
+)
+
+file(INSTALL ${SOURCE_PATH}/include DESTINATION ${CURRENT_PACKAGES_DIR})
+
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/bitserializer RENAME copyright)
diff --git a/ports/boost-accumulators/CONTROL b/ports/boost-accumulators/CONTROL
index dda6adfc0..7c3b8aedc 100644
--- a/ports/boost-accumulators/CONTROL
+++ b/ports/boost-accumulators/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-accumulators
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-array, boost-assert, boost-circular-buffer, boost-concept-check, boost-config, boost-core, boost-detail, boost-fusion, boost-interval, boost-iterator, boost-mpl, boost-numeric-conversion, boost-odeint, boost-parameter, boost-preprocessor, boost-range, boost-static-assert, boost-throw-exception, boost-tuple, boost-typeof, boost-type-traits, boost-ublas, boost-utility, boost-vcpkg-helpers
Description: Boost accumulators module
diff --git a/ports/boost-accumulators/portfile.cmake b/ports/boost-accumulators/portfile.cmake
index 9c13dcc52..f4e5abf16 100644
--- a/ports/boost-accumulators/portfile.cmake
+++ b/ports/boost-accumulators/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/accumulators
- REF boost-1.66.0
- SHA512 8413fb2c8f52ae8ec0253847ae01bd1a99d3746bd24bafb9707c243119055e3fbb7da848048db8493c80b8f1bb149d18cd03d8be22ffd2465165fb644cdfd12e
+ REF boost-1.67.0
+ SHA512 f68e35b502f22af605d8d5c1648b856cbdeaa2f592ad1a7732ea2be6d9207271f4842320875bde693651479c39a394055fb2315e5422a6ebb623412fb44b2a04
HEAD_REF master
)
diff --git a/ports/boost-algorithm/CONTROL b/ports/boost-algorithm/CONTROL
index 50534ac12..bf9846b26 100644
--- a/ports/boost-algorithm/CONTROL
+++ b/ports/boost-algorithm/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-algorithm
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-array, boost-assert, boost-bind, boost-concept-check, boost-config, boost-core, boost-detail, boost-exception, boost-function, boost-iterator, boost-mpl, boost-range, boost-regex, boost-static-assert, boost-throw-exception, boost-tuple, boost-type-traits, boost-unordered, boost-utility, boost-vcpkg-helpers
Description: Boost algorithm module
diff --git a/ports/boost-algorithm/portfile.cmake b/ports/boost-algorithm/portfile.cmake
index 2f6803405..55f8ddad1 100644
--- a/ports/boost-algorithm/portfile.cmake
+++ b/ports/boost-algorithm/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/algorithm
- REF boost-1.66.0
- SHA512 46779a82175b89da21789e332befb89972320652bafcdacf76f456d3d9ff3635a2db0693dd035bd6651262f762f591d026387682f3c0764315e40d5f007e72ee
+ REF boost-1.67.0
+ SHA512 74509b979d71c1aa21734555022c056b4ab508e01e715d469b0021704654cc27db91ce41266bb567b62d5cfafe0f92d1c0fda67f917b5198b0326713240c2e77
HEAD_REF master
)
diff --git a/ports/boost-align/CONTROL b/ports/boost-align/CONTROL
index e3009e539..11f7f2090 100644
--- a/ports/boost-align/CONTROL
+++ b/ports/boost-align/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-align
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-assert, boost-config, boost-core, boost-static-assert, boost-throw-exception, boost-vcpkg-helpers
Description: Boost align module
diff --git a/ports/boost-align/portfile.cmake b/ports/boost-align/portfile.cmake
index 80a2a7ab7..28c878dc4 100644
--- a/ports/boost-align/portfile.cmake
+++ b/ports/boost-align/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/align
- REF boost-1.66.0
- SHA512 3f358344470f797e093fd5db80a6d332e960b7301188e346771e06acc620d97d0e02562eb417eb4627a2200967af4eda74931fc61c8746df16d754f4b578b958
+ REF boost-1.67.0
+ SHA512 4dfbe372e977787067b7d270bd54f66919e48620300552f76ec3075e02e4514214d3bd8b5ff83599b7f277a8cafa95e550620231bfe366f38aa26ee51c6ef942
HEAD_REF master
)
diff --git a/ports/boost-any/CONTROL b/ports/boost-any/CONTROL
index c0f854590..c420de0d9 100644
--- a/ports/boost-any/CONTROL
+++ b/ports/boost-any/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-any
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-config, boost-core, boost-mpl, boost-static-assert, boost-throw-exception, boost-type-index, boost-type-traits, boost-utility, boost-vcpkg-helpers
Description: Boost any module
diff --git a/ports/boost-any/portfile.cmake b/ports/boost-any/portfile.cmake
index 47de0a492..a5fbf5279 100644
--- a/ports/boost-any/portfile.cmake
+++ b/ports/boost-any/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/any
- REF boost-1.66.0
- SHA512 57f24a2532e31e664415642c2e125263964eae6798dfc31eae586a3e4fe516edc1adea882883d34613744ae79acfbc0bed9c8fd823153bafc25d9c3c1ec1e5ef
+ REF boost-1.67.0
+ SHA512 1fd58fdd94cb08078f77d9131568255f35afb63e52a66379d14b35d5d9572f97468fc8a70b966d2c13b28149ccc8659ec0ba70c3cbda62ae08b8f8f1961c15e4
HEAD_REF master
)
diff --git a/ports/boost-array/CONTROL b/ports/boost-array/CONTROL
index 549e3b979..429743ad5 100644
--- a/ports/boost-array/CONTROL
+++ b/ports/boost-array/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-array
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-assert, boost-config, boost-core, boost-detail, boost-static-assert, boost-throw-exception, boost-vcpkg-helpers
Description: Boost array module
diff --git a/ports/boost-array/portfile.cmake b/ports/boost-array/portfile.cmake
index 299bf6ff3..e0245f551 100644
--- a/ports/boost-array/portfile.cmake
+++ b/ports/boost-array/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/array
- REF boost-1.66.0
- SHA512 67ca3644cdea6c2ac1791707e93c517cb1cc5aa593ead675bcfa844a27bcbb61ae4c1c35dc1cbb099e45041275e0ca70c99726a9f70319358057bc448f538425
+ REF boost-1.67.0
+ SHA512 db8ae6ffa7b29405d3e140acc22dd5bba9c7eade435fa2235b4c54e1c45c1bb28b927e4168ce4811a0206b83fe99580feffc6ae36a8c6cf99f6b13a2eb0682cd
HEAD_REF master
)
diff --git a/ports/boost-asio/CONTROL b/ports/boost-asio/CONTROL
index 8335a6dd8..2fdc3dc0a 100644
--- a/ports/boost-asio/CONTROL
+++ b/ports/boost-asio/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-asio
-Version: 1.66.0-1
-Build-Depends: boost-coroutine (windows), boost-date-time, boost-regex, boost-system, boost-vcpkg-helpers, openssl
+Version: 1.67.0-1
+Build-Depends: boost-coroutine (!uwp), boost-date-time, boost-regex, boost-system, boost-vcpkg-helpers, openssl
Description: Boost asio module
diff --git a/ports/boost-asio/portfile.cmake b/ports/boost-asio/portfile.cmake
index f513ae43c..de750d6d3 100644
--- a/ports/boost-asio/portfile.cmake
+++ b/ports/boost-asio/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/asio
- REF boost-1.66.0
- SHA512 7d9989bd96b2940183a1aa75e7f7a6cec0ecf630922009d440ba876802411eba80ddc9b22bd4af65d6f12e3414eb130dc27a884c53bceabdfe8bafb9772db01f
+ REF boost-1.67.0
+ SHA512 b7497608afa49580eeb9a74feefc624eb66a3e6db21f2a65291ccb287fe60dc8d923a9143bc10e73b8508ec2ef094e6caf2ef96528790c5324b6aceced55f29f
HEAD_REF master
)
diff --git a/ports/boost-assert/CONTROL b/ports/boost-assert/CONTROL
index 70f7769c3..701ae791f 100644
--- a/ports/boost-assert/CONTROL
+++ b/ports/boost-assert/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-assert
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-config, boost-vcpkg-helpers
Description: Boost assert module
diff --git a/ports/boost-assert/portfile.cmake b/ports/boost-assert/portfile.cmake
index cd0e8267f..d37ed3bee 100644
--- a/ports/boost-assert/portfile.cmake
+++ b/ports/boost-assert/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/assert
- REF boost-1.66.0
- SHA512 a00e17793c94d8d9e616bc5e80433fd68e4e4e51abf23956b6a7c977b01300d6a2200e9f6a8d249d7813b57d20fb2e6a844f5d2eb7504add99d748f89c2f39d5
+ REF boost-1.67.0
+ SHA512 e0559f543bffc1acd6a95bf54978a29eff42c6e8c5f825a7b93cb652a5260bcfd5eb1a09b2859e9a3621c3438e7670e4e4132735acdce4d43608cfdf426e5444
HEAD_REF master
)
diff --git a/ports/boost-assign/CONTROL b/ports/boost-assign/CONTROL
index 88deae645..1f3046320 100644
--- a/ports/boost-assign/CONTROL
+++ b/ports/boost-assign/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-assign
-Version: 1.66.0
-Build-Depends: boost-array, boost-config, boost-detail, boost-mpl, boost-preprocessor, boost-ptr-container, boost-range, boost-static-assert, boost-tuple, boost-type-traits, boost-vcpkg-helpers
+Version: 1.67.0
+Build-Depends: boost-array, boost-config, boost-detail, boost-mpl, boost-preprocessor, boost-ptr-container, boost-range, boost-static-assert, boost-throw-exception, boost-tuple, boost-type-traits, boost-vcpkg-helpers
Description: Boost assign module
diff --git a/ports/boost-assign/portfile.cmake b/ports/boost-assign/portfile.cmake
index e2d0a7e20..a8b01985b 100644
--- a/ports/boost-assign/portfile.cmake
+++ b/ports/boost-assign/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/assign
- REF boost-1.66.0
- SHA512 501e11279f672a24585a6189438f2310358cc67a8838995abb0f1454f230242fdd8f206ec294cdbb39ebe7e606a8a4ef2a96e0fe236d5e044ab4708eae030264
+ REF boost-1.67.0
+ SHA512 e7fd39fc4bcf7cc97c3f987a2cc7434c51d23fe47dbd480ac9203209c61db0883b479582adcfdef22b9f007df3467b43da72bef8b186ea8c5883a85013394dd2
HEAD_REF master
)
diff --git a/ports/boost-atomic/CONTROL b/ports/boost-atomic/CONTROL
index 4a625b6df..488cbe7de 100644
--- a/ports/boost-atomic/CONTROL
+++ b/ports/boost-atomic/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-atomic
-Version: 1.66.0
-Build-Depends: boost-assert, boost-build, boost-modular-build-helper, boost-config, boost-integer, boost-type-traits, boost-vcpkg-helpers
+Version: 1.67.0
+Build-Depends: boost-assert, boost-build, boost-config, boost-integer, boost-modular-build-helper, boost-type-traits, boost-vcpkg-helpers
Description: Boost atomic module
diff --git a/ports/boost-atomic/portfile.cmake b/ports/boost-atomic/portfile.cmake
index feb671183..12f253805 100644
--- a/ports/boost-atomic/portfile.cmake
+++ b/ports/boost-atomic/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/atomic
- REF boost-1.66.0
- SHA512 2f13902827ea0639ec37e514d87cfc9081bca6f4f6d98e0ad84f19b2042900e03bb3f5c2fb4891864174ae5abb743315af27062d7b10de861e91a7e92df91f98
+ REF boost-1.67.0
+ SHA512 4a4ab037e17c6c2a5a1ae5acb880392f863daa4cc87ca22349d9da565b229d68ce1befe96d7457778dddd40afb95266d6cb45552a46d9679f7bc935e8fb16b85
HEAD_REF master
)
diff --git a/ports/boost-beast/CONTROL b/ports/boost-beast/CONTROL
index 13f1d67f6..867f09008 100644
--- a/ports/boost-beast/CONTROL
+++ b/ports/boost-beast/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-beast
-Version: 1.66.0
-Build-Depends: boost-asio, boost-assert, boost-config, boost-container, boost-core, boost-endian, boost-intrusive, boost-optional, boost-smart-ptr, boost-static-assert, boost-system, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers, boost-winapi
+Version: 1.67.0
+Build-Depends: boost-asio, boost-assert, boost-bind, boost-config, boost-container, boost-core, boost-endian, boost-intrusive, boost-optional, boost-smart-ptr, boost-static-assert, boost-system, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers, boost-winapi
Description: Boost beast module
diff --git a/ports/boost-beast/portfile.cmake b/ports/boost-beast/portfile.cmake
index 16d782d94..355d5bc3e 100644
--- a/ports/boost-beast/portfile.cmake
+++ b/ports/boost-beast/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/beast
- REF boost-1.66.0
- SHA512 0559721217469b3862c6653488de245841f351098766d2cbf4d0fd3a2ecdd96460ecaf5591166dc59f7c5a9806edab9101c9939c98b294c3cbd2d738dd07f6c6
+ REF boost-1.67.0
+ SHA512 7530553985c8beee0b24b1ba77b8c6e2279315c74c20f8d6d2f2028fb6fed6c80f81eacb8a2de6fce651fcb6bf0c9d67f65234cb2e1fd433e0f6ceda1566e5b6
HEAD_REF master
)
diff --git a/ports/boost-bimap/CONTROL b/ports/boost-bimap/CONTROL
index 7c84d3103..9bffc6bbc 100644
--- a/ports/boost-bimap/CONTROL
+++ b/ports/boost-bimap/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-bimap
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-concept-check, boost-config, boost-functional, boost-iterator, boost-lambda, boost-mpl, boost-multi-index, boost-preprocessor, boost-property-map, boost-serialization, boost-static-assert, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers
Description: Boost bimap module
diff --git a/ports/boost-bimap/portfile.cmake b/ports/boost-bimap/portfile.cmake
index eda19317a..a9b8e0e12 100644
--- a/ports/boost-bimap/portfile.cmake
+++ b/ports/boost-bimap/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/bimap
- REF boost-1.66.0
- SHA512 f0784a2fd2be60b404d8a3bb43fa4685ab75a17a18e9e9fb0a8e8d1df18323ad02ad12720f5cfb310c93a33fd3bdec09d8ac92cbc4ff875f9ff4c3a6263d4f8b
+ REF boost-1.67.0
+ SHA512 c142c149fcfd0a33e130779a0a9f9be41d077703137b6537bfc8c8ed7ff9031fd8e196f076791e00450a286c1ace56979ee7a0c59348f304f2d41daf12aba355
HEAD_REF master
)
diff --git a/ports/boost-bind/CONTROL b/ports/boost-bind/CONTROL
index 1c9875b2f..bdc97f096 100644
--- a/ports/boost-bind/CONTROL
+++ b/ports/boost-bind/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-bind
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-config, boost-core, boost-detail, boost-vcpkg-helpers
Description: Boost bind module
diff --git a/ports/boost-bind/portfile.cmake b/ports/boost-bind/portfile.cmake
index 8f6ee1cfb..e55b91055 100644
--- a/ports/boost-bind/portfile.cmake
+++ b/ports/boost-bind/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/bind
- REF boost-1.66.0
- SHA512 a3366e1d30b6d69fe1ce9a7daeabb5e32a64dea3c043be44327941e93a19a3bfa78a1a552c189edf7490f743d1e5686555d3caaf6826aeb6c7be4900e9c2368c
+ REF boost-1.67.0
+ SHA512 4172a426fad408f06f7e36f90396158b8fb345ff7b4147ec3471771d465335c9b01f7e7dda040c842684a5c6eef596ea4c8f7b803489fbddfb016e48e3fcf8fd
HEAD_REF master
)
diff --git a/ports/boost-build/CONTROL b/ports/boost-build/CONTROL
index ef59d386c..678914811 100644
--- a/ports/boost-build/CONTROL
+++ b/ports/boost-build/CONTROL
@@ -1,3 +1,3 @@
Source: boost-build
-Version: 1.66.0-8
+Version: 1.67.0
Description: Boost.Build
diff --git a/ports/boost-build/portfile.cmake b/ports/boost-build/portfile.cmake
index fdd559ebe..dfd507997 100644
--- a/ports/boost-build/portfile.cmake
+++ b/ports/boost-build/portfile.cmake
@@ -11,21 +11,21 @@ endif()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/build
- REF boost-1.66.0
- SHA512 db94eefa0c2fe410cfdf7599102670377a069d52a7c8d4181f6209e3e65860e9d92f86ec5994e402b8a773a47a4ad5c074acf9763eabbe293266af19380e7ca9
+ REF boost-1.67.0
+ SHA512 93aa3f0c76245fefe2ceabde9c287e7738f79cdab71eeb42ba426f06e7846b5da5c00fc7581d7f31135687e10660521d34c7ffb1ce7299b70d7330a81b0e5acc
HEAD_REF master
)
vcpkg_download_distfile(ARCHIVE
- URLS "https://raw.githubusercontent.com/boostorg/boost/boost-1.66.0/LICENSE_1_0.txt"
+ URLS "https://raw.githubusercontent.com/boostorg/boost/boost-1.67.0/LICENSE_1_0.txt"
FILENAME "boost_LICENSE_1_0.txt"
SHA512 d6078467835dba8932314c1c1e945569a64b065474d7aced27c9a7acc391d52e9f234138ed9f1aa9cd576f25f12f557e0b733c14891d42c16ecdc4a7bd4d60b8
)
vcpkg_download_distfile(BOOSTCPP_ARCHIVE
- URLS "https://raw.githubusercontent.com/boostorg/boost/boost-1.66.0/boostcpp.jam"
- FILENAME "boost-1.66.0-boostcpp.jam"
- SHA512 ef2ae1d6a53a7f93654950e2e8e679da6b0359f02baafc03db970801634c1f5d4229633b5b6d74ad96a306e6efe3429d436669dc165b1fa655917e0ec74714e4
+ URLS "https://raw.githubusercontent.com/boostorg/boost/boost-1.67.0/boostcpp.jam"
+ FILENAME "boost-1.67.0-boostcpp.jam"
+ SHA512 4d887b05b4873e651fd9bc20f04fc072c7d801fd50445c989517cd39c3a8aa132ed46c407fb0efb35825fc0fc1035393d5ac0da5922be2c120cf2bfff952b3bc
)
file(INSTALL ${ARCHIVE} DESTINATION ${CURRENT_PACKAGES_DIR}/share/boost-build RENAME copyright)
diff --git a/ports/boost-callable-traits/CONTROL b/ports/boost-callable-traits/CONTROL
index dbe301198..4951e77c5 100644
--- a/ports/boost-callable-traits/CONTROL
+++ b/ports/boost-callable-traits/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-callable-traits
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-vcpkg-helpers
Description: Boost callable_traits module
diff --git a/ports/boost-callable-traits/portfile.cmake b/ports/boost-callable-traits/portfile.cmake
index 0a0a670b3..7d262945f 100644
--- a/ports/boost-callable-traits/portfile.cmake
+++ b/ports/boost-callable-traits/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/callable_traits
- REF boost-1.66.0
- SHA512 87a0f4de9a8cf2652addca6b3b685cea242bf55e1609409f41360813761ad3078b414761cf34856223fe60f460616e13e7b2e6017afc3d053879c7ec8292b9b0
+ REF boost-1.67.0
+ SHA512 5a6dedd5b8c4f57d4e896dbd963927459a42cc2488dd09628b5cc484327d21b32d7f5f2d976a55b4a62783faa4688b6f020983030bfc1f4307acf7f66b179fbc
HEAD_REF master
)
diff --git a/ports/boost-chrono/CONTROL b/ports/boost-chrono/CONTROL
index b5fb892cd..529526653 100644
--- a/ports/boost-chrono/CONTROL
+++ b/ports/boost-chrono/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-chrono
-Version: 1.66.0
-Build-Depends: boost-assert, boost-build, boost-modular-build-helper, boost-config, boost-detail, boost-integer, boost-move, boost-mpl, boost-predef, boost-ratio, boost-static-assert, boost-system, boost-throw-exception, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers, boost-winapi
+Version: 1.67.0
+Build-Depends: boost-assert, boost-build, boost-config, boost-detail, boost-integer, boost-modular-build-helper, boost-move, boost-mpl, boost-predef, boost-ratio, boost-static-assert, boost-system, boost-throw-exception, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers, boost-winapi
Description: Boost chrono module
diff --git a/ports/boost-chrono/portfile.cmake b/ports/boost-chrono/portfile.cmake
index d1cb98af1..2918d3e9d 100644
--- a/ports/boost-chrono/portfile.cmake
+++ b/ports/boost-chrono/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/chrono
- REF boost-1.66.0
- SHA512 edbc8c16bcdc4b79c47885e720c96781e6737d31c54e2c051596e693390c5a8efca4e16e253db0db5a996c72c1d0fb6482dda7dc58f78fd67edb09ad12f3a25b
+ REF boost-1.67.0
+ SHA512 ce86585c30b7500dd9f75074325428b57278e5bd88e6accbee235477ff73a0056fffae40ec0d88bcd28bfa59c4b37f290a618dc5af684dc6fc89302358d5d049
HEAD_REF master
)
diff --git a/ports/boost-circular-buffer/CONTROL b/ports/boost-circular-buffer/CONTROL
index 56be43c12..53c0acf58 100644
--- a/ports/boost-circular-buffer/CONTROL
+++ b/ports/boost-circular-buffer/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-circular-buffer
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-assert, boost-compatibility, boost-concept-check, boost-config, boost-container, boost-core, boost-detail, boost-iterator, boost-move, boost-static-assert, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers
Description: Boost circular_buffer module
diff --git a/ports/boost-circular-buffer/portfile.cmake b/ports/boost-circular-buffer/portfile.cmake
index 85b46c0d4..ad1753f8e 100644
--- a/ports/boost-circular-buffer/portfile.cmake
+++ b/ports/boost-circular-buffer/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/circular_buffer
- REF boost-1.66.0
- SHA512 78d74fa417da8d19b8344feccff009ed90eb07e36251f2a18dcd58716c230c7faade68faf2b7b98c2fc43fea8186c38e5a81c1d2c981841b59e35b0dc6026943
+ REF boost-1.67.0
+ SHA512 1c1f085f81def77135b95fd3255ef0280c84c7f899b632b91c28bdc33dcfff8eaef3f9f233a356499756305a11c4a33022b72a46b990ec56db73ac4036711c45
HEAD_REF master
)
diff --git a/ports/boost-compatibility/CONTROL b/ports/boost-compatibility/CONTROL
index acb31e6f1..3379e76da 100644
--- a/ports/boost-compatibility/CONTROL
+++ b/ports/boost-compatibility/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-compatibility
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-vcpkg-helpers
Description: Boost compatibility module
diff --git a/ports/boost-compatibility/portfile.cmake b/ports/boost-compatibility/portfile.cmake
index e59db2e84..41f9b81fb 100644
--- a/ports/boost-compatibility/portfile.cmake
+++ b/ports/boost-compatibility/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/compatibility
- REF boost-1.66.0
- SHA512 3f78455431974ca24fe48a6fce22eb9f374455560f2e9442c921e082e23ceb82b9ac2a443e6c4dbba2d24531dd0752ef854d3548340e3dba42b31aa795885fe3
+ REF boost-1.67.0
+ SHA512 d8733176ab4d208d5d44fe2a14c73d0309f62be5c2b9b9f50558c44c034c4f727260787185696bbaf5051b359bb14435cdc467644251e5d67b0b945d8f3b84a1
HEAD_REF master
)
diff --git a/ports/boost-compute/CONTROL b/ports/boost-compute/CONTROL
index 3c7b1c17e..094eae8b6 100644
--- a/ports/boost-compute/CONTROL
+++ b/ports/boost-compute/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-compute
-Version: 1.66.0
-Build-Depends: boost-algorithm, boost-array, boost-assert, boost-chrono, boost-config, boost-core, boost-filesystem (windows), boost-function, boost-function-types, boost-fusion, boost-iterator, boost-lexical-cast, boost-math, boost-mpl, boost-optional, boost-preprocessor, boost-property-tree, boost-proto, boost-range, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-tuple, boost-typeof, boost-type-traits, boost-utility, boost-uuid, boost-vcpkg-helpers
+Version: 1.67.0
+Build-Depends: boost-algorithm, boost-array, boost-assert, boost-chrono, boost-config, boost-core, boost-filesystem (!uwp), boost-function, boost-function-types, boost-fusion, boost-iterator, boost-lexical-cast, boost-math, boost-mpl, boost-optional, boost-preprocessor, boost-property-tree, boost-proto, boost-range, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-tuple, boost-typeof, boost-type-traits, boost-utility, boost-uuid, boost-vcpkg-helpers
Description: Boost compute module
diff --git a/ports/boost-compute/portfile.cmake b/ports/boost-compute/portfile.cmake
index 2c70ac5ef..a31f9d897 100644
--- a/ports/boost-compute/portfile.cmake
+++ b/ports/boost-compute/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/compute
- REF boost-1.66.0
- SHA512 c540200a62faf4e4b5895177d9b33f9316d0d5e4052f3bfea7eb33d9faa9446bd5015c55f59c923134c59d635f1078e1e7e50e013636efc65820056bb6bdb704
+ REF boost-1.67.0
+ SHA512 d7f470eb2dcf96198d68d61edf8d53491819f8e29452f80e4140e34a11e044ecd45cfdbcd28cc29da2e905c6f324872704d4a834c62242050a0d5fc46deda029
HEAD_REF master
)
diff --git a/ports/boost-concept-check/CONTROL b/ports/boost-concept-check/CONTROL
index c56fc9fae..c5f814b20 100644
--- a/ports/boost-concept-check/CONTROL
+++ b/ports/boost-concept-check/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-concept-check
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-config, boost-mpl, boost-vcpkg-helpers
Description: Boost concept_check module
diff --git a/ports/boost-concept-check/portfile.cmake b/ports/boost-concept-check/portfile.cmake
index 36d7bac9c..fae7c074c 100644
--- a/ports/boost-concept-check/portfile.cmake
+++ b/ports/boost-concept-check/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/concept_check
- REF boost-1.66.0
- SHA512 bec39bf040752414e08f7f6222b8557ea27df0e48c57fc2a1ad680ee15256a37a4e6a8cad1b39bb5f8800bfc7a32c39f89321669d04be9698775e77cd26e2fee
+ REF boost-1.67.0
+ SHA512 82b67cf07b455b4775bc10a872d3b181af6bf689c7b3cd14160da9434965607840dd200a33f9286cde6c8aabad13a0af863c584d93eb1510bfb8a099d0169076
HEAD_REF master
)
diff --git a/ports/boost-config/CONTROL b/ports/boost-config/CONTROL
index ed053950a..ba249ccb3 100644
--- a/ports/boost-config/CONTROL
+++ b/ports/boost-config/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-config
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-vcpkg-helpers
Description: Boost config module
diff --git a/ports/boost-config/portfile.cmake b/ports/boost-config/portfile.cmake
index 21d1c4083..0e705c2b7 100644
--- a/ports/boost-config/portfile.cmake
+++ b/ports/boost-config/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/config
- REF boost-1.66.0
- SHA512 7754f48170ceb06fce2961bf7ecf85d7601eccdaf1949fc5730a2bfb4524ff32b703be053059defcfb1c08d21573e8184a38283c59b6091f69e565eade06d9c1
+ REF boost-1.67.0
+ SHA512 517dc632e009c052f7d594c715342a2d94a95e0bcf466c3e3fbab1de38b7314846733f98e7010c386a5bab81d365fb6a08be04d21bee8c93450df97c53a12791
HEAD_REF master
)
@@ -18,3 +18,4 @@ file(APPEND ${CURRENT_PACKAGES_DIR}/include/boost/config/user.hpp "\n#undef BOOS
if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
file(APPEND ${CURRENT_PACKAGES_DIR}/include/boost/config/user.hpp "\n#define BOOST_ALL_DYN_LINK\n")
endif()
+file(COPY ${SOURCE_PATH}/checks DESTINATION ${CURRENT_PACKAGES_DIR}/share/boost-config)
diff --git a/ports/boost-container-hash/CONTROL b/ports/boost-container-hash/CONTROL
new file mode 100644
index 000000000..1e50b4400
--- /dev/null
+++ b/ports/boost-container-hash/CONTROL
@@ -0,0 +1,5 @@
+# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-container-hash
+Version: 1.67.0
+Build-Depends: boost-assert, boost-compatibility, boost-config, boost-core, boost-detail, boost-integer, boost-static-assert, boost-type-traits, boost-vcpkg-helpers
+Description: Boost container_hash module
diff --git a/ports/boost-container-hash/portfile.cmake b/ports/boost-container-hash/portfile.cmake
new file mode 100644
index 000000000..c9692bd76
--- /dev/null
+++ b/ports/boost-container-hash/portfile.cmake
@@ -0,0 +1,14 @@
+# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/container_hash
+ REF boost-1.67.0
+ SHA512 6d9916c1ad2483c6877ecf5141c724319a9d65b672ad1c0d7cf5ee396755788cee78955b8cd4a1bf5f5351c68d78b0cc8a4993c70379639eb1a85cae940c06f3
+ HEAD_REF master
+)
+
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake)
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-container/CONTROL b/ports/boost-container/CONTROL
index 69e641d36..bd2afdfc1 100644
--- a/ports/boost-container/CONTROL
+++ b/ports/boost-container/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-container
-Version: 1.66.0
-Build-Depends: boost-assert, boost-build, boost-modular-build-helper, boost-config, boost-core, boost-functional, boost-integer, boost-intrusive, boost-move, boost-static-assert, boost-type-traits, boost-vcpkg-helpers
+Version: 1.67.0
+Build-Depends: boost-assert, boost-build, boost-config, boost-core, boost-functional, boost-integer, boost-intrusive, boost-modular-build-helper, boost-move, boost-static-assert, boost-type-traits, boost-vcpkg-helpers
Description: Boost container module
diff --git a/ports/boost-container/portfile.cmake b/ports/boost-container/portfile.cmake
index d2cc5c209..58ab998b4 100644
--- a/ports/boost-container/portfile.cmake
+++ b/ports/boost-container/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/container
- REF boost-1.66.0
- SHA512 805421c56ace8786803a572e6047f0ab2de74973d7b04d603080b007c6ee7f288364dfe91f6d11be6128e8d5b0d9b2554237a6f77ee3855f3b598c3d5e20f3d1
+ REF boost-1.67.0
+ SHA512 559479466cf75ee7ce8f88d1c465f9c375722c954f2a833e842c732ba3dfc70bd30ae10e42e11afc043edc52767cddcf1f925b3c88f9d2c026f3e422ababd397
HEAD_REF master
)
diff --git a/ports/boost-context/CONTROL b/ports/boost-context/CONTROL
index 22295dddc..5797590fe 100644
--- a/ports/boost-context/CONTROL
+++ b/ports/boost-context/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-context
-Version: 1.66.0
-Build-Depends: boost-assert, boost-build, boost-modular-build-helper, boost-config, boost-detail, boost-integer, boost-pool, boost-predef, boost-smart-ptr, boost-vcpkg-helpers
+Version: 1.67.0
+Build-Depends: boost-assert, boost-build, boost-config, boost-detail, boost-integer, boost-modular-build-helper, boost-pool, boost-predef, boost-smart-ptr, boost-vcpkg-helpers
Description: Boost context module
diff --git a/ports/boost-context/portfile.cmake b/ports/boost-context/portfile.cmake
index b749a9d80..ecdfe4d69 100644
--- a/ports/boost-context/portfile.cmake
+++ b/ports/boost-context/portfile.cmake
@@ -5,11 +5,16 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/context
- REF boost-1.66.0
- SHA512 73efe1ab2c3b589e0ec7a095ab4a62090d8a980efbc81ac915823d1015fec215647a558bf0102fb42dbcdb05e9a4f70bd145bba095f09f1f4aec24eceddef3d4
+ REF boost-1.67.0
+ SHA512 4d6f7c0211c6941c8089d844b4ceae45322c2089ce41c029a21ef9b4fabdc0030a0c99fcc6c6be43d10372a171726b03a62aecae0241b8f2427439a2a283c306
HEAD_REF master
)
+file(READ "${SOURCE_PATH}/build/Jamfile.v2" _contents)
+string(REPLACE "import ../../config/checks/config" "import config/checks/config" _contents "${_contents}")
+file(WRITE "${SOURCE_PATH}/build/Jamfile.v2" "${_contents}")
+file(COPY "${CURRENT_INSTALLED_DIR}/share/boost-config/checks" DESTINATION "${SOURCE_PATH}/build/config")
+
include(${CURRENT_INSTALLED_DIR}/share/boost-build/boost-modular-build.cmake)
boost_modular_build(SOURCE_PATH ${SOURCE_PATH})
include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake)
diff --git a/ports/boost-contract/CONTROL b/ports/boost-contract/CONTROL
new file mode 100644
index 000000000..b881538b1
--- /dev/null
+++ b/ports/boost-contract/CONTROL
@@ -0,0 +1,5 @@
+# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-contract
+Version: 1.67.0
+Build-Depends: boost-any, boost-assert, boost-build, boost-config, boost-core, boost-detail, boost-exception, boost-function, boost-function-types, boost-modular-build-helper, boost-mpl, boost-optional, boost-preprocessor, boost-smart-ptr, boost-static-assert, boost-thread (!uwp), boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers
+Description: Boost contract module
diff --git a/ports/boost-contract/portfile.cmake b/ports/boost-contract/portfile.cmake
new file mode 100644
index 000000000..a83fe112d
--- /dev/null
+++ b/ports/boost-contract/portfile.cmake
@@ -0,0 +1,16 @@
+# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/contract
+ REF boost-1.67.0
+ SHA512 f0d069773d9c152be01ef803f05f134ee85190f44eec3147b8d9c025b7bf21f8b674141add0e249b0d8bb66b8d5d24f4f0e2d5b6e838ea72e38d3c64aa76c436
+ HEAD_REF master
+)
+
+include(${CURRENT_INSTALLED_DIR}/share/boost-build/boost-modular-build.cmake)
+boost_modular_build(SOURCE_PATH ${SOURCE_PATH})
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake)
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-conversion/CONTROL b/ports/boost-conversion/CONTROL
index 916585c42..516434726 100644
--- a/ports/boost-conversion/CONTROL
+++ b/ports/boost-conversion/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-conversion
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-vcpkg-helpers
Description: Boost conversion module
diff --git a/ports/boost-conversion/portfile.cmake b/ports/boost-conversion/portfile.cmake
index 00ce64df7..067f58c66 100644
--- a/ports/boost-conversion/portfile.cmake
+++ b/ports/boost-conversion/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/conversion
- REF boost-1.66.0
- SHA512 685308e332cbcf94fa9788d36bbfcbbfe384010761b581df913f259c87add3041fba122fb0bd38ad6b706d64918f88e5b13730a4ab0e8e6f450aed82df4edd6d
+ REF boost-1.67.0
+ SHA512 6a8bdcec46a08b6b29a9288c24e6dd868c694ebd33ae8062c8ee9784be91d12031cda27841ea9f6212cdb8f0e9b9b21d68ccb96c3d38011cad5c93bfc62a568d
HEAD_REF master
)
diff --git a/ports/boost-convert/CONTROL b/ports/boost-convert/CONTROL
index e4219cb68..807fe0380 100644
--- a/ports/boost-convert/CONTROL
+++ b/ports/boost-convert/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-convert
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-config, boost-core, boost-function-types, boost-lexical-cast, boost-math, boost-mpl, boost-optional, boost-parameter, boost-range, boost-spirit, boost-type-traits, boost-utility, boost-vcpkg-helpers
Description: Boost convert module
diff --git a/ports/boost-convert/portfile.cmake b/ports/boost-convert/portfile.cmake
index a3c10172a..693a9178d 100644
--- a/ports/boost-convert/portfile.cmake
+++ b/ports/boost-convert/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/convert
- REF boost-1.66.0
- SHA512 5edd73c5f78471a567f03e7772834656295acd6897f4674950a5064053d1c8de019050141d5109cc2bba13a94d2a06e2c7020d09af9eb78174f5bf8dc2ba2220
+ REF boost-1.67.0
+ SHA512 c51909030b2263a7f837e3732824d75b2fdf8b585c560f58e90ca8d2e6e3c48584cdc52e70f1058ef1e7fbe66085abd6053484025d14fb26201beddcf89c91ff
HEAD_REF master
)
diff --git a/ports/boost-core/CONTROL b/ports/boost-core/CONTROL
index 785f2e2fd..2a765e76f 100644
--- a/ports/boost-core/CONTROL
+++ b/ports/boost-core/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-core
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-assert, boost-config, boost-vcpkg-helpers
Description: Boost core module
diff --git a/ports/boost-core/portfile.cmake b/ports/boost-core/portfile.cmake
index 70c989e16..29a2b6a1f 100644
--- a/ports/boost-core/portfile.cmake
+++ b/ports/boost-core/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/core
- REF boost-1.66.0
- SHA512 a8705d00b2f6803f924d73dc47ec9084824e9b80d19e281da632aed60abd2c60cf8b32bca92ea3ef1b8039100a7ac61d761a0eff521e3a182a6cd7a9de8b5710
+ REF boost-1.67.0
+ SHA512 3b00c5893012e420c0faf6de3b43c0c4ae4645ced19b7f10403c6a7cd194954df7a4462999ca78226b29858848690223657e4eef9b6cf36d92828d5642057381
HEAD_REF master
)
diff --git a/ports/boost-coroutine/CONTROL b/ports/boost-coroutine/CONTROL
index 77683890a..6a0a4a69e 100644
--- a/ports/boost-coroutine/CONTROL
+++ b/ports/boost-coroutine/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-coroutine
-Version: 1.66.0
-Build-Depends: boost-assert, boost-build, boost-modular-build-helper, boost-config, boost-context (windows), boost-detail, boost-exception, boost-integer, boost-move, boost-range, boost-system, boost-thread (windows), boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers
+Version: 1.67.0
+Build-Depends: boost-assert, boost-build, boost-config, boost-context (!uwp), boost-detail, boost-exception, boost-integer, boost-modular-build-helper, boost-move, boost-range, boost-system, boost-thread (!uwp), boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers
Description: Boost coroutine module
diff --git a/ports/boost-coroutine/portfile.cmake b/ports/boost-coroutine/portfile.cmake
index 14c8dbe3b..4b0e88cd1 100644
--- a/ports/boost-coroutine/portfile.cmake
+++ b/ports/boost-coroutine/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/coroutine
- REF boost-1.66.0
- SHA512 f42318076c1547797dd9427c47eb6a6dc5e2407f788d6e8c7e8b6092632238a6e33f1c4d02c25af00bb85f89c82a6f8f2d10911620b5d53cbc0bf931c7fdd160
+ REF boost-1.67.0
+ SHA512 c636fc88a981d983f29cf5721c056d4c2cedbd48fe54d0aa4f2069ccb2c7438ee661167ff87298c22d7d84f6c61b1dd677d1ea91733e5e8fb04f7033d1559f63
HEAD_REF master
)
diff --git a/ports/boost-coroutine2/CONTROL b/ports/boost-coroutine2/CONTROL
index fd52e362a..b9701bcb1 100644
--- a/ports/boost-coroutine2/CONTROL
+++ b/ports/boost-coroutine2/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-coroutine2
-Version: 1.66.0
-Build-Depends: boost-assert, boost-config, boost-context (windows), boost-detail, boost-vcpkg-helpers
+Version: 1.67.0
+Build-Depends: boost-assert, boost-config, boost-context (!uwp), boost-detail, boost-vcpkg-helpers
Description: Boost coroutine2 module
diff --git a/ports/boost-coroutine2/portfile.cmake b/ports/boost-coroutine2/portfile.cmake
index 19ad0fecc..55d637732 100644
--- a/ports/boost-coroutine2/portfile.cmake
+++ b/ports/boost-coroutine2/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/coroutine2
- REF boost-1.66.0
- SHA512 2ecc05325b7870e1d315e488b9f463f56f9959e6ae98277363176f32d80ba8dbd5d6b706e7cc60c896f53708fb25841ed5ef9f0520dba22c5f1a32ac120559f2
+ REF boost-1.67.0
+ SHA512 9ff6607abb4006a503da52915d2f8f653d68a64fd0501962eee49393229be7d9fa35f0f4564306413271f08d33317e55475c0789e36639a178044f1424215097
HEAD_REF master
)
diff --git a/ports/boost-crc/CONTROL b/ports/boost-crc/CONTROL
index fdc424db6..2c51d0629 100644
--- a/ports/boost-crc/CONTROL
+++ b/ports/boost-crc/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-crc
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-compatibility, boost-config, boost-integer, boost-vcpkg-helpers
Description: Boost crc module
diff --git a/ports/boost-crc/portfile.cmake b/ports/boost-crc/portfile.cmake
index 435ec9ad5..a045eedee 100644
--- a/ports/boost-crc/portfile.cmake
+++ b/ports/boost-crc/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/crc
- REF boost-1.66.0
- SHA512 887a1ee59535f150a6166432e8b9fdd124d604363c3609f9958d25ce3f265c42f1d749b52075d4e617acf552f68a56d92d249f562ad6475b53b15ca364e4e5b4
+ REF boost-1.67.0
+ SHA512 9168aed67125e955abd8e689bbbcb780adc16345447e1b781344b13d66827ab24ad2af038e10153c64bc458b66cf2cfe2961ddb22a3c494a86429dab60349a18
HEAD_REF master
)
diff --git a/ports/boost-date-time/CONTROL b/ports/boost-date-time/CONTROL
index 8e8738e8d..89af5c17e 100644
--- a/ports/boost-date-time/CONTROL
+++ b/ports/boost-date-time/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-date-time
-Version: 1.66.0
-Build-Depends: boost-algorithm, boost-assert, boost-build, boost-modular-build-helper, boost-compatibility, boost-config, boost-detail, boost-integer, boost-io, boost-lexical-cast, boost-math, boost-mpl, boost-range, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-tokenizer, boost-type-traits, boost-utility, boost-vcpkg-helpers, boost-winapi
+Version: 1.67.0
+Build-Depends: boost-algorithm, boost-assert, boost-build, boost-compatibility, boost-config, boost-core, boost-detail, boost-integer, boost-io, boost-lexical-cast, boost-math, boost-modular-build-helper, boost-mpl, boost-numeric-conversion, boost-range, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-tokenizer, boost-type-traits, boost-utility, boost-vcpkg-helpers, boost-winapi
Description: Boost date_time module
diff --git a/ports/boost-date-time/portfile.cmake b/ports/boost-date-time/portfile.cmake
index a171018c4..fd5ce947d 100644
--- a/ports/boost-date-time/portfile.cmake
+++ b/ports/boost-date-time/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/date_time
- REF boost-1.66.0
- SHA512 5c8ddf94d1c5a0bc5c216c9cbb4560a2e0aa7b116966a9a9250a517fb4c83f2fb9ad0c37c65f65e8cad2c7f21f621d696e1efd6d2bd557c1bfaa8b9d8c566f7d
+ REF boost-1.67.0
+ SHA512 e164bc45bb7e4836521b31cb75a0fa3e960d0bdd0c7dabc4f8f457056c54b54bbd06f44a934aa5c7f2ee680f2f994b9fba47a0e460287c8e2d22b49450fc0872
HEAD_REF master
)
diff --git a/ports/boost-detail/CONTROL b/ports/boost-detail/CONTROL
index 21ae5d726..ab5e1efd3 100644
--- a/ports/boost-detail/CONTROL
+++ b/ports/boost-detail/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-detail
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-compatibility, boost-config, boost-vcpkg-helpers
Description: Boost detail module
diff --git a/ports/boost-detail/portfile.cmake b/ports/boost-detail/portfile.cmake
index eec646472..93fe10eb1 100644
--- a/ports/boost-detail/portfile.cmake
+++ b/ports/boost-detail/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/detail
- REF boost-1.66.0
- SHA512 9ad69f2d032535207748680e635b5c5cfeb2921f67f6d711d5083fd67686f63476fa04c03e0abf63bc58405b4a38b542686192398930154df716ea9381c7a43f
+ REF boost-1.67.0
+ SHA512 3746e61719cee4e7307677633edf170f8824b8fbd9aa7f159c9ff1feac662fc73f9a4bbe06fad9d9c5fbe356d6ec398d53223ddb7d85c01f906fe698f217f8b4
HEAD_REF master
)
diff --git a/ports/boost-disjoint-sets/CONTROL b/ports/boost-disjoint-sets/CONTROL
index 7ab636e2d..a3ea6717d 100644
--- a/ports/boost-disjoint-sets/CONTROL
+++ b/ports/boost-disjoint-sets/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-disjoint-sets
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-graph, boost-vcpkg-helpers
Description: Boost disjoint_sets module
diff --git a/ports/boost-disjoint-sets/portfile.cmake b/ports/boost-disjoint-sets/portfile.cmake
index 223339e95..8115c4d8b 100644
--- a/ports/boost-disjoint-sets/portfile.cmake
+++ b/ports/boost-disjoint-sets/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/disjoint_sets
- REF boost-1.66.0
- SHA512 608239f39a11995ebd930d250a39c92971b6547b853eabe49938f6bbdadfbdb4f2220ccaf98e3516fe817284dc310dfb579f6fd7ae082dda9e7a5f80ce53abe6
+ REF boost-1.67.0
+ SHA512 cc792b79935983656b40785520e3eef9b578a69fcc3c54b3ba24d60a8a36fccc86722dfc4ea621aec727d6c73b22586dbd38f253293dc46730cc418f6832bc33
HEAD_REF master
)
diff --git a/ports/boost-dll/CONTROL b/ports/boost-dll/CONTROL
index 96c9f59dc..f5b9f1b63 100644
--- a/ports/boost-dll/CONTROL
+++ b/ports/boost-dll/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-dll
-Version: 1.66.0
-Build-Depends: boost-config, boost-core, boost-filesystem (windows), boost-integer, boost-move, boost-mpl, boost-predef, boost-smart-ptr, boost-spirit, boost-static-assert, boost-system, boost-throw-exception, boost-type-index, boost-type-traits, boost-utility, boost-vcpkg-helpers, boost-winapi
+Version: 1.67.0
+Build-Depends: boost-config, boost-core, boost-filesystem (!uwp), boost-integer, boost-move, boost-mpl, boost-predef, boost-smart-ptr, boost-spirit, boost-static-assert, boost-system, boost-throw-exception, boost-type-index, boost-type-traits, boost-vcpkg-helpers, boost-winapi
Description: Boost dll module
diff --git a/ports/boost-dll/portfile.cmake b/ports/boost-dll/portfile.cmake
index 063b979f5..51ce40f96 100644
--- a/ports/boost-dll/portfile.cmake
+++ b/ports/boost-dll/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/dll
- REF boost-1.66.0
- SHA512 42e4442fbf50f33528e389ca463042c9155df970a7725a6d10213e3a8c311b638006271d1b5691e0ccdeb71652034568b2b5fa299a5b1580ad4433db0371138a
+ REF boost-1.67.0
+ SHA512 bf8bb5e422abd2cded6aa1181570db487f2db786ce8261ed1816eae7e6a8386795f91d8c5ded981a691c19d82a5bffb2aabfe6f5c95ceccc6e22de35c854b21c
HEAD_REF master
)
diff --git a/ports/boost-dynamic-bitset/CONTROL b/ports/boost-dynamic-bitset/CONTROL
index 1170b0099..7910a4010 100644
--- a/ports/boost-dynamic-bitset/CONTROL
+++ b/ports/boost-dynamic-bitset/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-dynamic-bitset
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-serialization, boost-vcpkg-helpers
Description: Boost dynamic_bitset module
diff --git a/ports/boost-dynamic-bitset/portfile.cmake b/ports/boost-dynamic-bitset/portfile.cmake
index 414f7b304..a612a4a7e 100644
--- a/ports/boost-dynamic-bitset/portfile.cmake
+++ b/ports/boost-dynamic-bitset/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/dynamic_bitset
- REF boost-1.66.0
- SHA512 fa9bc10bbcd7ea907acf11abfd245fa70e4d82e5f7fe5b295b65e404ed19b276c06cd68ccec36a2276e76985a20c2a788c99e8cee095f24c04d0c8c5f5952135
+ REF boost-1.67.0
+ SHA512 242c7f79a50c98357017bfd09a3d2b27b2a9f1f8e12518eb497bd684ac9cf2dd6afdffb417a135a3648e40f4efb10c0f45703cff302212b8bdcf35ab1428955f
HEAD_REF master
)
diff --git a/ports/boost-endian/CONTROL b/ports/boost-endian/CONTROL
index cfcb7cb52..80aff90ad 100644
--- a/ports/boost-endian/CONTROL
+++ b/ports/boost-endian/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-endian
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-assert, boost-config, boost-core, boost-integer, boost-predef, boost-static-assert, boost-system, boost-type-traits, boost-utility, boost-vcpkg-helpers
Description: Boost endian module
diff --git a/ports/boost-endian/portfile.cmake b/ports/boost-endian/portfile.cmake
index 911d90971..18ff7dfaa 100644
--- a/ports/boost-endian/portfile.cmake
+++ b/ports/boost-endian/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/endian
- REF boost-1.66.0
- SHA512 5b23ff8f2fd2f59dc56637bef628328e8b99e261ce421809363cdfeb203646667f10b624b114e8e70d1fdfce0d53055dd03376d21ef4b5cba0f51b600091f2f3
+ REF boost-1.67.0
+ SHA512 198cb5eb9b9f9a4ca6bd069c79f9222e748248d7f7f8231ab9b288334f3f77c37b398abc5d097463a4ce69b4f0de209f247d5f15b1ccdd0fcbf036009ddd73ad
HEAD_REF master
)
diff --git a/ports/boost-exception/CONTROL b/ports/boost-exception/CONTROL
index 476c53cf4..0a64b7cb9 100644
--- a/ports/boost-exception/CONTROL
+++ b/ports/boost-exception/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-exception
-Version: 1.66.0
-Build-Depends: boost-assert, boost-build, boost-modular-build-helper, boost-config, boost-core, boost-smart-ptr, boost-tuple, boost-type-traits, boost-utility, boost-vcpkg-helpers
+Version: 1.67.0
+Build-Depends: boost-assert, boost-build, boost-config, boost-core, boost-modular-build-helper, boost-smart-ptr, boost-tuple, boost-type-traits, boost-utility, boost-vcpkg-helpers
Description: Boost exception module
diff --git a/ports/boost-exception/portfile.cmake b/ports/boost-exception/portfile.cmake
index eda3644a7..19c6c2058 100644
--- a/ports/boost-exception/portfile.cmake
+++ b/ports/boost-exception/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/exception
- REF boost-1.66.0
- SHA512 ab4bd5df7250847c866e5b6db99930d190c04b2c2a46e49eb62e9ed9467b6f5aa60aa2db87e9fe27145321bf429a23e94a83bb28ea9f574d01b02ea06dd89571
+ REF boost-1.67.0
+ SHA512 b5b27177ea5e434b7d8898b281a43ad1e74b02ce80b9cc184b34bebc3d43e39fe72b84003096f320b2fade1d0cfaa0a56d0a228fd96782cdd32c2fb143b78ae2
HEAD_REF master
)
diff --git a/ports/boost-fiber/CONTROL b/ports/boost-fiber/CONTROL
index b02c94a3b..1e200489f 100644
--- a/ports/boost-fiber/CONTROL
+++ b/ports/boost-fiber/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-fiber
-Version: 1.66.0
-Build-Depends: boost-algorithm, boost-assert, boost-build, boost-modular-build-helper, boost-config, boost-context (windows), boost-core, boost-detail, boost-filesystem (windows), boost-format, boost-intrusive, boost-predef, boost-smart-ptr, boost-vcpkg-helpers
+Version: 1.67.0
+Build-Depends: boost-algorithm, boost-assert, boost-build, boost-config, boost-context (!uwp), boost-core, boost-detail, boost-filesystem (!uwp), boost-format, boost-intrusive, boost-modular-build-helper, boost-predef, boost-smart-ptr, boost-vcpkg-helpers
Description: Boost fiber module
diff --git a/ports/boost-fiber/portfile.cmake b/ports/boost-fiber/portfile.cmake
index ef8751a53..244192dca 100644
--- a/ports/boost-fiber/portfile.cmake
+++ b/ports/boost-fiber/portfile.cmake
@@ -5,11 +5,16 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/fiber
- REF boost-1.66.0
- SHA512 ba3980846e6602999a2187fb40c9c17d0bd0a8b7681bcdb2c9695ec5e218b6306c52680b565e176f170a7219aedf86596e356e92612bee87bf1ad8123261ccaf
+ REF boost-1.67.0
+ SHA512 2f29021b781a853fb0b00cb7a6e0a541f17d71af4f33e9a47fd875e06d3073e703dfba5cdc7a349b735a1083eff5039ebb227204f7e56f4ad949cafc485095b0
HEAD_REF master
)
+file(READ "${SOURCE_PATH}/build/Jamfile.v2" _contents)
+string(REPLACE "import ../../config/checks/config" "import config/checks/config" _contents "${_contents}")
+file(WRITE "${SOURCE_PATH}/build/Jamfile.v2" "${_contents}")
+file(COPY "${CURRENT_INSTALLED_DIR}/share/boost-config/checks" DESTINATION "${SOURCE_PATH}/build/config")
+
include(${CURRENT_INSTALLED_DIR}/share/boost-build/boost-modular-build.cmake)
boost_modular_build(SOURCE_PATH ${SOURCE_PATH})
include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake)
diff --git a/ports/boost-filesystem/CONTROL b/ports/boost-filesystem/CONTROL
index 4717d608b..503a4af37 100644
--- a/ports/boost-filesystem/CONTROL
+++ b/ports/boost-filesystem/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-filesystem
-Version: 1.66.0
-Build-Depends: boost-assert, boost-build, boost-modular-build-helper, boost-config, boost-detail, boost-functional, boost-integer, boost-io, boost-iterator, boost-range, boost-smart-ptr, boost-static-assert, boost-system, boost-type-traits, boost-utility, boost-vcpkg-helpers
+Version: 1.67.0
+Build-Depends: boost-assert, boost-build, boost-config, boost-detail, boost-functional, boost-integer, boost-io, boost-iterator, boost-modular-build-helper, boost-range, boost-smart-ptr, boost-static-assert, boost-system, boost-type-traits, boost-utility, boost-vcpkg-helpers
Description: Boost filesystem module
diff --git a/ports/boost-filesystem/portfile.cmake b/ports/boost-filesystem/portfile.cmake
index 5a964b7a1..c80609e37 100644
--- a/ports/boost-filesystem/portfile.cmake
+++ b/ports/boost-filesystem/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/filesystem
- REF boost-1.66.0
- SHA512 16c6c692485e02515fc09da5672cad4eb3c313e3a9ed9854d52ad1ba97a38d7346e4d0cf70baacba8468628bc1348350404151c3ff8984397a819d2cde3e4974
+ REF boost-1.67.0
+ SHA512 a81dbf5dcf1b7bde572b02276ee25f78c5673d64aee8b5f864e6b2e04f29cdbf8ecd469b1f039bcda3b490372d3387121a896bf7faf30f767f63c107a1cf581d
HEAD_REF master
)
diff --git a/ports/boost-flyweight/CONTROL b/ports/boost-flyweight/CONTROL
index fb4378501..49feb377c 100644
--- a/ports/boost-flyweight/CONTROL
+++ b/ports/boost-flyweight/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-flyweight
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-assert, boost-config, boost-core, boost-detail, boost-functional, boost-interprocess, boost-mpl, boost-multi-index, boost-parameter, boost-preprocessor, boost-serialization, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers
Description: Boost flyweight module
diff --git a/ports/boost-flyweight/portfile.cmake b/ports/boost-flyweight/portfile.cmake
index 25c0f65f5..ab0e36ed3 100644
--- a/ports/boost-flyweight/portfile.cmake
+++ b/ports/boost-flyweight/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/flyweight
- REF boost-1.66.0
- SHA512 4c0faaafe0143404d6eabc57ee5089840290c865ab00b7b3c81d4ab37c1603aaec77bc7f592e4566ed20786a14bc6bb9a6623384fdf6886168cac2696224c6df
+ REF boost-1.67.0
+ SHA512 eec64c8c0d473e6bb07968c8cb2dd9c12788a72008d59c8b53b14ea15ada18e740c518df6bcece1cecd13f9511898c69e00693a769404d4e51e2f7efb6c00754
HEAD_REF master
)
diff --git a/ports/boost-foreach/CONTROL b/ports/boost-foreach/CONTROL
index e2ecd2aae..72cc98a56 100644
--- a/ports/boost-foreach/CONTROL
+++ b/ports/boost-foreach/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-foreach
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-config, boost-core, boost-detail, boost-iterator, boost-mpl, boost-range, boost-type-traits, boost-utility, boost-vcpkg-helpers
Description: Boost foreach module
diff --git a/ports/boost-foreach/portfile.cmake b/ports/boost-foreach/portfile.cmake
index 21c688318..59977a213 100644
--- a/ports/boost-foreach/portfile.cmake
+++ b/ports/boost-foreach/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/foreach
- REF boost-1.66.0
- SHA512 17ae42db9b9b13841133cb35ccd1b0a2bf6121e72ef53b7f06d8715d0ef2d9c6daee631df1c8eb87013b1415ec4ed7481b3d67aa86122c84bfc560b0815f81c6
+ REF boost-1.67.0
+ SHA512 67cce17f58564a1ab09f85f9da3c73135dab2171be9487723e69d1bf10cb1abef2aae3747d39ca605510505510943a114d7637d49dd5f3b097c191b4993052b5
HEAD_REF master
)
diff --git a/ports/boost-format/CONTROL b/ports/boost-format/CONTROL
index 264544399..0b8cf858d 100644
--- a/ports/boost-format/CONTROL
+++ b/ports/boost-format/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-format
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-assert, boost-compatibility, boost-config, boost-core, boost-detail, boost-optional, boost-smart-ptr, boost-throw-exception, boost-utility, boost-vcpkg-helpers
Description: Boost format module
diff --git a/ports/boost-format/portfile.cmake b/ports/boost-format/portfile.cmake
index a80e1c7e6..d88559d64 100644
--- a/ports/boost-format/portfile.cmake
+++ b/ports/boost-format/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/format
- REF boost-1.66.0
- SHA512 f730b56c3c56e85d5f467b7c9b60b29b112990ac29ecfbd6cdcd41ac6c931b71067a88d35ba688c8b80b9f4636a5f6010448f470cd3c0c7cad7c8c1d933c1a67
+ REF boost-1.67.0
+ SHA512 31d355d0986f18f32373a45ee6a5d4d8f688dcc3bd13fdf388dd77166459871deb33bc7ecc9dbbc46fcf546ba3ed8a475c5f4fdcf6377af320ec18d15a9a35d4
HEAD_REF master
)
diff --git a/ports/boost-function-types/CONTROL b/ports/boost-function-types/CONTROL
index a091f72c4..bad8d7e56 100644
--- a/ports/boost-function-types/CONTROL
+++ b/ports/boost-function-types/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-function-types
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-config, boost-core, boost-detail, boost-mpl, boost-preprocessor, boost-type-traits, boost-vcpkg-helpers
Description: Boost function_types module
diff --git a/ports/boost-function-types/portfile.cmake b/ports/boost-function-types/portfile.cmake
index 2a679a25a..ee327ef33 100644
--- a/ports/boost-function-types/portfile.cmake
+++ b/ports/boost-function-types/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/function_types
- REF boost-1.66.0
- SHA512 ecac32195728a38bb83ee553d25567bca3a4075948fbffdf2f5d6cd7c4df7ca1b90ed32ec2811e6aa7eea264d6a1e63c8fc2fc9a091d081e231aadb513ed1646
+ REF boost-1.67.0
+ SHA512 843c87d527615c70524cd537252619187aa8088aa5e7f46bffa7d1bd75ba8852901ee89a15490ea90b0be331712d0e8b4db369f9aede83c150b7201b430f0adc
HEAD_REF master
)
diff --git a/ports/boost-function/CONTROL b/ports/boost-function/CONTROL
index 78e68d4a9..c9b474fd9 100644
--- a/ports/boost-function/CONTROL
+++ b/ports/boost-function/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-function
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-assert, boost-config, boost-core, boost-detail, boost-integer, boost-mpl, boost-preprocessor, boost-type-index, boost-typeof, boost-type-traits, boost-vcpkg-helpers
Description: Boost function module
diff --git a/ports/boost-function/portfile.cmake b/ports/boost-function/portfile.cmake
index decf00686..b8c0a6841 100644
--- a/ports/boost-function/portfile.cmake
+++ b/ports/boost-function/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/function
- REF boost-1.66.0
- SHA512 7efe61484e99bf4b68bd70415411fe4b22da6c76c7bb2e4b86fc766a98f5bca02d3911c81763893edfabfe6dc3fd4e0b125656a518e4b46449ef2620c1278454
+ REF boost-1.67.0
+ SHA512 8484b7bcab099a0c96dc021a0a33551ecb0b56fee4bbc6c5a43becc0a82f307f3836204857bfc45aa2db255c7faf61831e8a46f537ebf9bd5730a408c7103c7c
HEAD_REF master
)
diff --git a/ports/boost-functional/CONTROL b/ports/boost-functional/CONTROL
index 1c5b17ccd..7b5b90be4 100644
--- a/ports/boost-functional/CONTROL
+++ b/ports/boost-functional/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-functional
-Version: 1.66.0
-Build-Depends: boost-assert, boost-compatibility, boost-config, boost-detail, boost-integer, boost-mpl, boost-preprocessor, boost-static-assert, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers
+Version: 1.67.0
+Build-Depends: boost-config, boost-mpl, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers
Description: Boost functional module
diff --git a/ports/boost-functional/portfile.cmake b/ports/boost-functional/portfile.cmake
index 5de067de4..89ac3b17a 100644
--- a/ports/boost-functional/portfile.cmake
+++ b/ports/boost-functional/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/functional
- REF boost-1.66.0
- SHA512 d909a4d4696ece5ebaff97a743c5f9fec2ce27b72de46a96252a07a021ad689ce73aab1f1828ca2925bac0ef48ccbe99bdd5f6a56186061fdecdb416f72cc98f
+ REF boost-1.67.0
+ SHA512 05f8149975166b68a32e0e98b08b91e41b19d2304416afd62dfceaabf76323ee4b711aedc0e5379520d9e4decaeead1e6b8121737732f524d31664a3777670ba
HEAD_REF master
)
diff --git a/ports/boost-fusion/CONTROL b/ports/boost-fusion/CONTROL
index 29864c681..62c087b14 100644
--- a/ports/boost-fusion/CONTROL
+++ b/ports/boost-fusion/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-fusion
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-config, boost-core, boost-detail, boost-functional, boost-function-types, boost-mpl, boost-preprocessor, boost-static-assert, boost-tuple, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers
Description: Boost fusion module
diff --git a/ports/boost-fusion/portfile.cmake b/ports/boost-fusion/portfile.cmake
index 3923f82bc..164c4f70d 100644
--- a/ports/boost-fusion/portfile.cmake
+++ b/ports/boost-fusion/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/fusion
- REF boost-1.66.0
- SHA512 2c965b3ad18f4b2551af4595de415c3c1354296c1244675a354b74de12106bf10ddea07c7e55e93469f3af0de64cb00e1d353e569af40de506d68b88adeba7d0
+ REF boost-1.67.0
+ SHA512 2ac1af4f1a9aa9b90fb7057a8133e668207225a46e23c5ec1e65020b8a63c6daeabbf799f0b7aa9946fc5f9dded1003e00c68645363fa9e15014f2af7ea1498b
HEAD_REF master
)
diff --git a/ports/boost-geometry/CONTROL b/ports/boost-geometry/CONTROL
index 009e7e1c1..52879d024 100644
--- a/ports/boost-geometry/CONTROL
+++ b/ports/boost-geometry/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-geometry
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-algorithm, boost-array, boost-assert, boost-concept-check, boost-config, boost-container, boost-core, boost-detail, boost-function-types, boost-fusion, boost-integer, boost-iterator, boost-lexical-cast, boost-math, boost-move, boost-mpl, boost-multiprecision, boost-numeric-conversion, boost-polygon, boost-qvm, boost-range, boost-rational, boost-serialization, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-tokenizer, boost-tuple, boost-type-traits, boost-utility, boost-variant, boost-vcpkg-helpers
Description: Boost geometry module
diff --git a/ports/boost-geometry/portfile.cmake b/ports/boost-geometry/portfile.cmake
index c2f1d20ab..9b63741e9 100644
--- a/ports/boost-geometry/portfile.cmake
+++ b/ports/boost-geometry/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/geometry
- REF boost-1.66.0
- SHA512 05f983d9258ddc663139a46ecb2f8a14988ad74fcc623af713bc486de2c9241896ca5f6a85d47cd02911f5f1f2f5acc439bb6f45ae9ef13667a30d27d9b5c123
+ REF boost-1.67.0
+ SHA512 25a2a758804597054442747f9a3288989aee92e42212b1837562d3c629aa1ed0c210e86cb83f4501f7e4280550b194a727ef26ed222ef627a8d260549781bcd3
HEAD_REF master
)
diff --git a/ports/boost-gil/CONTROL b/ports/boost-gil/CONTROL
index 71bf438b8..94770b5ee 100644
--- a/ports/boost-gil/CONTROL
+++ b/ports/boost-gil/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-gil
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-bind, boost-concept-check, boost-config, boost-integer, boost-iterator, boost-mpl, boost-preprocessor, boost-smart-ptr, boost-static-assert, boost-type-traits, boost-utility, boost-vcpkg-helpers
Description: Boost gil module
diff --git a/ports/boost-gil/portfile.cmake b/ports/boost-gil/portfile.cmake
index deb977a20..94e470ac9 100644
--- a/ports/boost-gil/portfile.cmake
+++ b/ports/boost-gil/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/gil
- REF boost-1.66.0
- SHA512 f60c452740e56810ee967aab68b61277af0b467085bb7594dfbdea07e02354f2533983f88867c788862bc30c027720f8aeff2ab8f5a251c1a2b7c686b43064bc
+ REF boost-1.67.0
+ SHA512 a40b89a97444d62ed1c6ba2c4ccf6442df9d8afddd7a9af8eacb0a587eb2952faabbd608ebd17030c10a3ce77f32dc6d4bed846fa78a0f57f4b992c0333a2d33
HEAD_REF master
)
diff --git a/ports/boost-graph-parallel/CONTROL b/ports/boost-graph-parallel/CONTROL
index 3f1e8e1ed..e7435bd2a 100644
--- a/ports/boost-graph-parallel/CONTROL
+++ b/ports/boost-graph-parallel/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-graph-parallel
-Version: 1.66.0
-Build-Depends: boost-assert, boost-build, boost-modular-build-helper, boost-compatibility, boost-config, boost-detail, boost-dynamic-bitset, boost-function, boost-functional, boost-graph, boost-iterator, boost-lexical-cast, boost-math, boost-mpl, boost-optional, boost-property-map, boost-random, boost-serialization, boost-smart-ptr, boost-static-assert, boost-tuple, boost-type-traits, boost-utility, boost-variant, boost-vcpkg-helpers
+Version: 1.67.0
+Build-Depends: boost-assert, boost-compatibility, boost-config, boost-detail, boost-dynamic-bitset, boost-function, boost-functional, boost-graph, boost-iterator, boost-lexical-cast, boost-math, boost-mpl, boost-optional, boost-property-map, boost-random, boost-serialization, boost-smart-ptr, boost-static-assert, boost-tuple, boost-type-traits, boost-utility, boost-variant, boost-vcpkg-helpers
Description: Boost graph_parallel module
diff --git a/ports/boost-graph-parallel/portfile.cmake b/ports/boost-graph-parallel/portfile.cmake
index 8d2fdb2eb..71b44bef2 100644
--- a/ports/boost-graph-parallel/portfile.cmake
+++ b/ports/boost-graph-parallel/portfile.cmake
@@ -5,12 +5,10 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/graph_parallel
- REF boost-1.66.0
- SHA512 0f897d52610827b352c509d9d3400a9424f2e927fe5bce7ba1a39884938ca9ae1c9d362277828d3e77fa727676bfeb993f3d9bc7f11815cc119c0dabbd5a2ed4
+ REF boost-1.67.0
+ SHA512 f83c9bfb65c519e545657bd2e2752b37ce45d5e21877dd8a8fc36c895c5612cf0284508188be6b46719a5a5b771d5ad1e0fcb00a3082f7f9c5fb0788f2b9d560
HEAD_REF master
)
-include(${CURRENT_INSTALLED_DIR}/share/boost-build/boost-modular-build.cmake)
-boost_modular_build(SOURCE_PATH ${SOURCE_PATH})
include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake)
boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-graph/CONTROL b/ports/boost-graph/CONTROL
index 12d74bc1e..a3345ffa0 100644
--- a/ports/boost-graph/CONTROL
+++ b/ports/boost-graph/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-graph
-Version: 1.66.0
-Build-Depends: boost-algorithm, boost-any, boost-array, boost-assert, boost-bimap, boost-bind, boost-build, boost-modular-build-helper, boost-compatibility, boost-concept-check, boost-config, boost-conversion, boost-core, boost-detail, boost-foreach, boost-function, boost-functional, boost-integer, boost-iterator, boost-lexical-cast, boost-math, boost-move, boost-mpl, boost-multi-index, boost-optional, boost-parameter, boost-preprocessor, boost-property-map, boost-property-tree, boost-random, boost-range, boost-regex, boost-serialization, boost-smart-ptr, boost-spirit, boost-static-assert, boost-test (windows), boost-throw-exception, boost-tti, boost-tuple, boost-typeof, boost-type-traits, boost-unordered, boost-utility, boost-vcpkg-helpers, boost-xpressive
+Version: 1.67.0
+Build-Depends: boost-algorithm, boost-any, boost-array, boost-assert, boost-bimap, boost-bind, boost-build, boost-compatibility, boost-concept-check, boost-config, boost-conversion, boost-core, boost-detail, boost-foreach, boost-function, boost-functional, boost-integer, boost-iterator, boost-lexical-cast, boost-math, boost-modular-build-helper, boost-move, boost-mpl, boost-multi-index, boost-optional, boost-parameter, boost-preprocessor, boost-property-map, boost-property-tree, boost-random, boost-range, boost-regex, boost-serialization, boost-smart-ptr, boost-spirit, boost-static-assert, boost-test (!uwp), boost-throw-exception, boost-tti, boost-tuple, boost-typeof, boost-type-traits, boost-unordered, boost-utility, boost-vcpkg-helpers, boost-xpressive
Description: Boost graph module
diff --git a/ports/boost-graph/portfile.cmake b/ports/boost-graph/portfile.cmake
index 21670d647..75048b8b6 100644
--- a/ports/boost-graph/portfile.cmake
+++ b/ports/boost-graph/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/graph
- REF boost-1.66.0
- SHA512 49f0292a4cbb26c4f9ada0e85f717a7848a81812957b891f72e99c9b7a62025bce244a2f7ef56aaf42f44ab11c41a02be4f1f70df41d3605da45becf370ca81b
+ REF boost-1.67.0
+ SHA512 afcfa95744da4f4ceefced30601d64a40fa600e3d41311f6140588d8a23e54fcb05226c381fcef0b8b992d61b95a915c867e50221c5290b6c54b915546b3935e
HEAD_REF master
)
diff --git a/ports/boost-hana/CONTROL b/ports/boost-hana/CONTROL
index 9c9524e01..0cdc62ad6 100644
--- a/ports/boost-hana/CONTROL
+++ b/ports/boost-hana/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-hana
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-config, boost-core, boost-fusion, boost-mpl, boost-tuple, boost-vcpkg-helpers
Description: Boost hana module
diff --git a/ports/boost-hana/portfile.cmake b/ports/boost-hana/portfile.cmake
index 05ce047aa..5a48a4e9e 100644
--- a/ports/boost-hana/portfile.cmake
+++ b/ports/boost-hana/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/hana
- REF boost-1.66.0
- SHA512 cf105931ad59147edd97aaee29d9af4f069ada58c1c0f49eba7c3f921c5a412c90609853603504207526cf80c728f188ba4ee024fc2b7c8c924f98faf543167a
+ REF boost-1.67.0
+ SHA512 45e8b9da8c09bd6cb74f52068f0e4af43f40126227ad5c557e111c8edce2e8857f5a11c6ecc6c57833041a38d9355a7c0263f9b84cc335725c994a9cb029411b
HEAD_REF master
)
diff --git a/ports/boost-heap/CONTROL b/ports/boost-heap/CONTROL
index 588ee634c..5724d68e8 100644
--- a/ports/boost-heap/CONTROL
+++ b/ports/boost-heap/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-heap
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-array, boost-assert, boost-bind, boost-concept-check, boost-integer, boost-intrusive, boost-iterator, boost-mpl, boost-parameter, boost-static-assert, boost-throw-exception, boost-type-traits, boost-vcpkg-helpers
Description: Boost heap module
diff --git a/ports/boost-heap/portfile.cmake b/ports/boost-heap/portfile.cmake
index 02a25bab9..bdccbce0d 100644
--- a/ports/boost-heap/portfile.cmake
+++ b/ports/boost-heap/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/heap
- REF boost-1.66.0
- SHA512 3c7f14860e6456144f1282024bdf8c99415fe2c9395a01dea9000b26e9587430a73e133e7c72f3d40b5eab9c891e86ea3fa420a84e7d187a349f869f721b4587
+ REF boost-1.67.0
+ SHA512 e8c511c8e1cdf0f9f20cf5923657f5a6dff2348a50570b0590444764106030bb40d7efa6e2087818ca71a11bf5fe62642ea08a4a8d7b2b25051f68a46c383a6d
HEAD_REF master
)
diff --git a/ports/boost-hof/CONTROL b/ports/boost-hof/CONTROL
new file mode 100644
index 000000000..886630ca5
--- /dev/null
+++ b/ports/boost-hof/CONTROL
@@ -0,0 +1,5 @@
+# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-hof
+Version: 1.67.0
+Build-Depends: boost-vcpkg-helpers
+Description: Boost hof module
diff --git a/ports/boost-hof/portfile.cmake b/ports/boost-hof/portfile.cmake
new file mode 100644
index 000000000..59fc83381
--- /dev/null
+++ b/ports/boost-hof/portfile.cmake
@@ -0,0 +1,14 @@
+# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/hof
+ REF boost-1.67.0
+ SHA512 797240bb1a3ac0ed5335dd858db7816f7f07ce99794e5d7b16b08de82ae1d80e7de9f029673569d9f880cc616037299d50571ad7ffb94e30b2d7b08392b4d1c3
+ HEAD_REF master
+)
+
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake)
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-icl/CONTROL b/ports/boost-icl/CONTROL
index d5d8aba74..2923589ef 100644
--- a/ports/boost-icl/CONTROL
+++ b/ports/boost-icl/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-icl
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-assert, boost-concept-check, boost-config, boost-date-time, boost-detail, boost-iterator, boost-move, boost-mpl, boost-rational, boost-static-assert, boost-type-traits, boost-utility, boost-vcpkg-helpers
Description: Boost icl module
diff --git a/ports/boost-icl/portfile.cmake b/ports/boost-icl/portfile.cmake
index 1f6bac41b..087769896 100644
--- a/ports/boost-icl/portfile.cmake
+++ b/ports/boost-icl/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/icl
- REF boost-1.66.0
- SHA512 3e240adbc815215d58c45978a52cf9e5ee8df1b457634d53f403dfc7785372f1711e407d6b1ccd48f6e4383455a5dc2c5a35923b6ac9ae722b91094902b8a599
+ REF boost-1.67.0
+ SHA512 1234057200f4329631041a6c1bc644e3096cb24df3e3b3c19bddbe9915e2b2e27148640666befa61e165e6143f47f83280e3a89f84b70c93fa07e6ab38d7c854
HEAD_REF master
)
diff --git a/ports/boost-integer/CONTROL b/ports/boost-integer/CONTROL
index 6f6773b8c..adde53632 100644
--- a/ports/boost-integer/CONTROL
+++ b/ports/boost-integer/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-integer
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-assert, boost-compatibility, boost-config, boost-core, boost-detail, boost-static-assert, boost-vcpkg-helpers
Description: Boost integer module
diff --git a/ports/boost-integer/portfile.cmake b/ports/boost-integer/portfile.cmake
index 4afba50e8..17bd4fbcb 100644
--- a/ports/boost-integer/portfile.cmake
+++ b/ports/boost-integer/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/integer
- REF boost-1.66.0
- SHA512 ed22f30132300985361c3176b0e308c9ed2d0a2f470c3686898c66f90dfa21912edb92477f82f75b77b3409a21ea317442ab4d21889af45ebb2bc86bf88ce67f
+ REF boost-1.67.0
+ SHA512 bac11eb68d0f0a29919df25e29352daca3f24ab4c183f2f052fbbe1e4c93ac15657b24f9bd450b31910b33c68234581e834d51651585bbba7e69b10646ab224f
HEAD_REF master
)
diff --git a/ports/boost-interprocess/CONTROL b/ports/boost-interprocess/CONTROL
index 75d524e61..72f7f45a6 100644
--- a/ports/boost-interprocess/CONTROL
+++ b/ports/boost-interprocess/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-interprocess
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-assert, boost-compatibility, boost-config, boost-container, boost-core, boost-date-time, boost-detail, boost-integer, boost-intrusive, boost-move, boost-static-assert, boost-type-traits, boost-unordered, boost-utility, boost-vcpkg-helpers
Description: Boost interprocess module
diff --git a/ports/boost-interprocess/portfile.cmake b/ports/boost-interprocess/portfile.cmake
index c10635499..b46d0dd91 100644
--- a/ports/boost-interprocess/portfile.cmake
+++ b/ports/boost-interprocess/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/interprocess
- REF boost-1.66.0
- SHA512 e3c7f4fb49d126671354212fdb079c418847061a33589ab92c8cb600b469b98c658533307e1d0322c97568eb2716caccbf43b4b2d8eab520eab4d0f50b4df773
+ REF boost-1.67.0
+ SHA512 ea4ece14b396220549bd3887330cd4a49149f303c936c03e27e232683235f62f759f44f0a473e24d3466bbadfd785633589caacaf620f861cddf03750c270467
HEAD_REF master
)
diff --git a/ports/boost-interval/CONTROL b/ports/boost-interval/CONTROL
index 644558413..c9f43b7d1 100644
--- a/ports/boost-interval/CONTROL
+++ b/ports/boost-interval/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-interval
-Version: 1.66.0
-Build-Depends: boost-compatibility, boost-config, boost-logic (windows), boost-vcpkg-helpers
+Version: 1.67.0
+Build-Depends: boost-compatibility, boost-config, boost-logic (!uwp), boost-vcpkg-helpers
Description: Boost interval module
diff --git a/ports/boost-interval/portfile.cmake b/ports/boost-interval/portfile.cmake
index 9fe190197..373fe4777 100644
--- a/ports/boost-interval/portfile.cmake
+++ b/ports/boost-interval/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/interval
- REF boost-1.66.0
- SHA512 adc8e7cf75de4f07607b2a13f38c4bb442780e7ad2e5a73f831803101f61f3d93d8d26407d68b1f811309e9a1362613fd29b5ff49e013341d421b0e76d6f4a69
+ REF boost-1.67.0
+ SHA512 fb02438e6e29ab3ce21fbb87cd8562d278f9f352b3964cb7a62a6f0ea0b38567af5bfd12973cdd48c6235283b0b7b6ef9ecfd9c9a130b14c22a9764aec6c2102
HEAD_REF master
)
diff --git a/ports/boost-intrusive/CONTROL b/ports/boost-intrusive/CONTROL
index 966c775c3..d7d7ae3f0 100644
--- a/ports/boost-intrusive/CONTROL
+++ b/ports/boost-intrusive/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-intrusive
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-assert, boost-config, boost-core, boost-functional, boost-move, boost-static-assert, boost-vcpkg-helpers
Description: Boost intrusive module
diff --git a/ports/boost-intrusive/portfile.cmake b/ports/boost-intrusive/portfile.cmake
index 2fc9fd32a..73f5d7673 100644
--- a/ports/boost-intrusive/portfile.cmake
+++ b/ports/boost-intrusive/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/intrusive
- REF boost-1.66.0
- SHA512 b61e88d38c9ee6cd174380c53fc3422f72824c895b3723c4ac7b3b3e0bd52d52fe40d349db5f8eff3b23413950ae872fa7634514ac072111614875922580c493
+ REF boost-1.67.0
+ SHA512 9181b1c7ea651c4c8aa0ae226b2a35cb65521da105249b12af899e294ed1f20868002846a3f200b40d51c795c0a6e6b3b2b2f41ea59e817a842cb09aadcf9f9e
HEAD_REF master
)
diff --git a/ports/boost-io/CONTROL b/ports/boost-io/CONTROL
index e146c12a6..26764cae4 100644
--- a/ports/boost-io/CONTROL
+++ b/ports/boost-io/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-io
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-detail, boost-vcpkg-helpers
Description: Boost io module
diff --git a/ports/boost-io/portfile.cmake b/ports/boost-io/portfile.cmake
index 0991872ff..729e22175 100644
--- a/ports/boost-io/portfile.cmake
+++ b/ports/boost-io/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/io
- REF boost-1.66.0
- SHA512 33926210420fa6bd83006e6d2de3bad4c1094c179309402d78aea906cdb301e652b32438472a29b195fac7e007146fbb081c722cc2ebf2c63acb0d0e44f73f20
+ REF boost-1.67.0
+ SHA512 a0549634a0d2afe1646437dab5b018a139f9e1b98fb3cb2a5730262700d64aa54a87a9676901ac192676fc5ee4b61aee11205f20acaa0da5746844ac292a913a
HEAD_REF master
)
diff --git a/ports/boost-iostreams/CMakeLists.txt b/ports/boost-iostreams/CMakeLists.txt
new file mode 100644
index 000000000..17e0af6de
--- /dev/null
+++ b/ports/boost-iostreams/CMakeLists.txt
@@ -0,0 +1,37 @@
+cmake_minimum_required(VERSION 3.5)
+project(boost-iostreams)
+
+if(BUILD_SHARED_LIBS)
+ add_definitions(-DBOOST_IOSTREAMS_DYN_LINK=1)
+endif()
+add_definitions(
+ -DBOOST_ALL_NO_LIB=1
+ -DBOOST_IOSTREAMS_USE_DEPRECATED
+)
+include_directories(include)
+file(GLOB SOURCES src/*.cpp)
+add_library(boost_iostreams ${SOURCES})
+
+if(MSVC)
+ set_property(TARGET boost_iostreams PROPERTY OUTPUT_NAME_RELEASE boost_iostreams-vc140-mt)
+ set_property(TARGET boost_iostreams PROPERTY OUTPUT_NAME_DEBUG boost_iostreams-vc140-mt-gd)
+
+ set_property(TARGET boost_iostreams PROPERTY RUNTIME_OUTPUT_NAME_RELEASE boost_iostreams-vc141-mt-x32-1_67)
+ set_property(TARGET boost_iostreams PROPERTY RUNTIME_OUTPUT_NAME_DEBUG boost_iostreams-vc141-mt-gd-x32-1_67)
+endif()
+
+find_package(ZLIB REQUIRED)
+target_link_libraries(boost_iostreams PRIVATE ZLIB::ZLIB)
+
+find_package(BZip2 REQUIRED)
+target_link_libraries(boost_iostreams PRIVATE BZip2::BZip2)
+
+find_package(LibLZMA REQUIRED)
+target_include_directories(boost_iostreams PRIVATE ${LIBLZMA_INCLUDE_DIRS})
+target_link_libraries(boost_iostreams PRIVATE ${LIBLZMA_LIBRARIES})
+
+install(TARGETS boost_iostreams
+ RUNTIME DESTINATION bin
+ ARCHIVE DESTINATION lib
+ LIBRARY DESTINATION lib
+)
diff --git a/ports/boost-iostreams/CONTROL b/ports/boost-iostreams/CONTROL
index d48fdfd24..249031a5a 100644
--- a/ports/boost-iostreams/CONTROL
+++ b/ports/boost-iostreams/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-iostreams
-Version: 1.66.0
-Build-Depends: boost-assert, boost-bind, boost-build, boost-modular-build-helper, boost-config, boost-core, boost-detail, boost-function, boost-integer, boost-iterator, boost-mpl, boost-preprocessor, boost-range, boost-regex, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers, bzip2, zlib
+Version: 1.67.0
+Build-Depends: boost-assert, boost-bind, boost-build, boost-config, boost-core, boost-detail, boost-function, boost-integer, boost-iterator, boost-modular-build-helper, boost-mpl, boost-preprocessor, boost-range, boost-regex, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers, bzip2, zlib, liblzma
Description: Boost iostreams module
diff --git a/ports/boost-iostreams/portfile.cmake b/ports/boost-iostreams/portfile.cmake
index 782a7cb40..c929f9ed7 100644
--- a/ports/boost-iostreams/portfile.cmake
+++ b/ports/boost-iostreams/portfile.cmake
@@ -5,12 +5,26 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/iostreams
- REF boost-1.66.0
- SHA512 d2d603013dd952a550850c986fc18ded90a483d9eccd80aec4bb421187f6d8ba8fc2c82926f60d4e4f777c67eab1b8dc3708058147dcdd1ab259aa13cee26fd9
+ REF boost-1.67.0
+ SHA512 73fada0b6e236e0b86f28d8cf75e71dfb6b6a84622986cd72f39de3a310442e6122c91d22ba95bd29381dd559f5cac52a1e28cf97e7e8a6f0c70ccc4f38ceeba
HEAD_REF master
)
-include(${CURRENT_INSTALLED_DIR}/share/boost-build/boost-modular-build.cmake)
-boost_modular_build(SOURCE_PATH ${SOURCE_PATH})
-include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake)
-boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
+vcpkg_download_distfile(LICENSE
+ URLS "https://raw.githubusercontent.com/boostorg/boost/boost-1.67.0/LICENSE_1_0.txt"
+ FILENAME "boost_LICENSE_1_0.txt"
+ SHA512 d6078467835dba8932314c1c1e945569a64b065474d7aced27c9a7acc391d52e9f234138ed9f1aa9cd576f25f12f557e0b733c14891d42c16ecdc4a7bd4d60b8
+)
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+)
+
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+
+file(COPY ${SOURCE_PATH}/include DESTINATION ${CURRENT_PACKAGES_DIR})
+file(INSTALL ${LICENSE} DESTINATION ${CURRENT_PACKAGES_DIR}/share/boost-iostreams RENAME copyright)
diff --git a/ports/boost-iterator/CONTROL b/ports/boost-iterator/CONTROL
index 416c85d53..f6acb2afa 100644
--- a/ports/boost-iterator/CONTROL
+++ b/ports/boost-iterator/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-iterator
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-assert, boost-compatibility, boost-concept-check, boost-config, boost-core, boost-detail, boost-function-types, boost-fusion, boost-mpl, boost-optional, boost-static-assert, boost-type-traits, boost-utility, boost-vcpkg-helpers
Description: Boost iterator module
diff --git a/ports/boost-iterator/portfile.cmake b/ports/boost-iterator/portfile.cmake
index 365938407..e2163a620 100644
--- a/ports/boost-iterator/portfile.cmake
+++ b/ports/boost-iterator/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/iterator
- REF boost-1.66.0
- SHA512 33a3ffd242769bf55325516346193db0d5ddb69e9da1f7805c35953e4ec7f090fb60faeea8d19c17e651148ba93d48b4a634533de9b5cb13af2a5e9cd0fd0e15
+ REF boost-1.67.0
+ SHA512 245a63416ae578b494328798d578fe3f253e339abd10c047a14137181759b99d02a9eef4fa4872b794154378a1b80b12fd502849d67b8b13012e6b08b66b650e
HEAD_REF master
)
diff --git a/ports/boost-lambda/CONTROL b/ports/boost-lambda/CONTROL
index dd83f0048..a1996dfbf 100644
--- a/ports/boost-lambda/CONTROL
+++ b/ports/boost-lambda/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-lambda
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-bind, boost-config, boost-detail, boost-mpl, boost-type-traits, boost-utility, boost-vcpkg-helpers
Description: Boost lambda module
diff --git a/ports/boost-lambda/portfile.cmake b/ports/boost-lambda/portfile.cmake
index bb9d68c6f..b14d46c97 100644
--- a/ports/boost-lambda/portfile.cmake
+++ b/ports/boost-lambda/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/lambda
- REF boost-1.66.0
- SHA512 2f5fd6c55c686528971c9e021779f39217952b279e5bef46879233fb1c516895a4fcdc6eddf43cd0fb73aa7ee5f868d6f4d51fdc74c9f68515ef6735ff31a349
+ REF boost-1.67.0
+ SHA512 d95b3df3321639c4ced7db0fa10e5f204d20961a95d185080a40477520a591b5806974ec7cb28256bbb8b58e2f635cac60fff47eefabe29c5c3fabda211e276f
HEAD_REF master
)
diff --git a/ports/boost-lexical-cast/CONTROL b/ports/boost-lexical-cast/CONTROL
index a7c913996..68b6e1e05 100644
--- a/ports/boost-lexical-cast/CONTROL
+++ b/ports/boost-lexical-cast/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-lexical-cast
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-array, boost-assert, boost-compatibility, boost-config, boost-container, boost-core, boost-detail, boost-integer, boost-mpl, boost-numeric-conversion, boost-range, boost-static-assert, boost-throw-exception, boost-type-traits, boost-vcpkg-helpers
Description: Boost lexical_cast module
diff --git a/ports/boost-lexical-cast/portfile.cmake b/ports/boost-lexical-cast/portfile.cmake
index b86e06415..877a8cf84 100644
--- a/ports/boost-lexical-cast/portfile.cmake
+++ b/ports/boost-lexical-cast/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/lexical_cast
- REF boost-1.66.0
- SHA512 93afc3a296ca30ebb3f48aaf7752a4da33d3e621b56f0f574e98a21aceb7c402fc7512ac65895c8bf473b6962222d0022a6d2aadad5ce2cdbfdf5318967dc76b
+ REF boost-1.67.0
+ SHA512 b3c0c4e94265784001d8b9fc317a2bafe4c83aede9311a7172a76b1c0bf47cc811f7963e9580d0d3f0527f16531abb204b9201c0cc611dd322bcfce2671fa54d
HEAD_REF master
)
diff --git a/ports/boost-local-function/CONTROL b/ports/boost-local-function/CONTROL
index 512cb0f7d..415cba13d 100644
--- a/ports/boost-local-function/CONTROL
+++ b/ports/boost-local-function/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-local-function
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-config, boost-mpl, boost-preprocessor, boost-scope-exit, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers
Description: Boost local_function module
diff --git a/ports/boost-local-function/portfile.cmake b/ports/boost-local-function/portfile.cmake
index a4f378933..95d8334f6 100644
--- a/ports/boost-local-function/portfile.cmake
+++ b/ports/boost-local-function/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/local_function
- REF boost-1.66.0
- SHA512 3f76fda169f11ceca60c8e1857643d7bf7eea85fdb615635469e28cdc6e02f022d5f698ec53608d6f1068be653ceda40f33f4c832782e347037b924208fc5d20
+ REF boost-1.67.0
+ SHA512 dfe717ff4fd46a44422162fa00289a1f57aaed42215d238b4219d493bf4945564e1d6103599c0c3d90ed196eff2dc7ad6f0949e284ddfc9c6f400620b63ebaf8
HEAD_REF master
)
diff --git a/ports/boost-locale/CONTROL b/ports/boost-locale/CONTROL
index 0a37505b1..eca61edd4 100644
--- a/ports/boost-locale/CONTROL
+++ b/ports/boost-locale/CONTROL
@@ -1,7 +1,7 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-locale
-Version: 1.66.0
-Build-Depends: boost-assert, boost-build, boost-modular-build-helper, boost-config, boost-function, boost-integer, boost-iterator, boost-smart-ptr, boost-static-assert, boost-thread (windows), boost-type-traits, boost-unordered, boost-vcpkg-helpers
+Version: 1.67.0
+Build-Depends: boost-assert, boost-build, boost-config, boost-function, boost-integer, boost-iterator, boost-modular-build-helper, boost-smart-ptr, boost-static-assert, boost-thread (!uwp), boost-type-traits, boost-unordered, boost-vcpkg-helpers, libiconv (!uwp&!windows)
Description: Boost locale module
Feature: icu
diff --git a/ports/boost-locale/cmake-fragment.cmake b/ports/boost-locale/cmake-fragment.cmake
new file mode 100644
index 000000000..11d3ed70e
--- /dev/null
+++ b/ports/boost-locale/cmake-fragment.cmake
@@ -0,0 +1,10 @@
+find_library(LIBICONV_LIBRARY iconv)
+get_filename_component(LIBICONV_DIR "${LIBICONV_LIBRARY}" DIRECTORY)
+
+list(APPEND B2_OPTIONS
+ boost.locale.iconv=on
+ boost.locale.posix=on
+ /boost/locale//boost_locale
+ boost.locale.icu=off
+ -sICONV_PATH=${LIBICONV_LIBRARY}
+)
diff --git a/ports/boost-locale/portfile.cmake b/ports/boost-locale/portfile.cmake
index 9c1aa2ff4..c4dbf9229 100644
--- a/ports/boost-locale/portfile.cmake
+++ b/ports/boost-locale/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/locale
- REF boost-1.66.0
- SHA512 558c84fe83909b9eb410ed5b846d2393733811e3765e99e41884a7fc7020163437a42584911b4f634706c1a0e79e23bb09bd6a3ffa219c9e524a10ace02728af
+ REF boost-1.67.0
+ SHA512 220ed43884722e7a342b8fa5010e8659ccebcd106907c38052b411d710f110924a2b4622cb10e1302ad0553cf350430f02c63e3e66d45bb38b47d7eb022d01d9
HEAD_REF master
)
@@ -19,6 +19,7 @@ endif()
include(${CURRENT_INSTALLED_DIR}/share/boost-build/boost-modular-build.cmake)
boost_modular_build(
SOURCE_PATH ${SOURCE_PATH}
+ BOOST_CMAKE_FRAGMENT "${CMAKE_CURRENT_LIST_DIR}/cmake-fragment.cmake"
OPTIONS
boost.locale.iconv=off
boost.locale.posix=off
diff --git a/ports/boost-lockfree/CONTROL b/ports/boost-lockfree/CONTROL
index 7a6eaef4d..ca9746fdc 100644
--- a/ports/boost-lockfree/CONTROL
+++ b/ports/boost-lockfree/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-lockfree
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-align, boost-array, boost-assert, boost-atomic, boost-config, boost-core, boost-integer, boost-mpl, boost-parameter, boost-predef, boost-static-assert, boost-tuple, boost-type-traits, boost-utility, boost-vcpkg-helpers
Description: Boost lockfree module
diff --git a/ports/boost-lockfree/portfile.cmake b/ports/boost-lockfree/portfile.cmake
index 989729d14..af6f80454 100644
--- a/ports/boost-lockfree/portfile.cmake
+++ b/ports/boost-lockfree/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/lockfree
- REF boost-1.66.0
- SHA512 f4c5c146fd2e457e6ee4090a4492eef7cd204ec594349c239c3f50e348a161b8598d7445ca03daea8720b58f0eb1eb5ec8332b078f8dcd9d8133b0d17796e21e
+ REF boost-1.67.0
+ SHA512 d4287c5782191469a077f7cebfa64d72733f186fe627e9fa97a3856168423f9f606168bb67b47814ef2047f0b7434c02dc6ff93ba3f817923d3dff22f46360f9
HEAD_REF master
)
diff --git a/ports/boost-log/CONTROL b/ports/boost-log/CONTROL
index e8ac68f44..6f4116b03 100644
--- a/ports/boost-log/CONTROL
+++ b/ports/boost-log/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-log
-Version: 1.66.0
-Build-Depends: boost-align, boost-array, boost-asio, boost-assert, boost-atomic, boost-bind, boost-build, boost-modular-build-helper, boost-compatibility, boost-config, boost-core, boost-date-time, boost-detail, boost-exception, boost-filesystem (windows), boost-function-types, boost-fusion, boost-integer, boost-interprocess, boost-intrusive, boost-io, boost-iterator, boost-lexical-cast, boost-locale (windows), boost-math, boost-move, boost-mpl, boost-optional, boost-parameter, boost-phoenix, boost-predef, boost-preprocessor, boost-property-tree, boost-proto, boost-random, boost-range, boost-regex, boost-smart-ptr, boost-spirit, boost-static-assert, boost-system, boost-thread (windows), boost-throw-exception, boost-type-index, boost-type-traits, boost-utility, boost-vcpkg-helpers, boost-winapi, boost-xpressive
+Version: 1.67.0
+Build-Depends: boost-align, boost-array, boost-asio, boost-assert, boost-atomic, boost-bind, boost-build, boost-compatibility, boost-config, boost-container, boost-core, boost-date-time, boost-detail, boost-exception, boost-filesystem (!uwp), boost-function-types, boost-fusion, boost-integer, boost-interprocess, boost-intrusive, boost-io, boost-iterator, boost-lexical-cast, boost-locale (!uwp), boost-math, boost-modular-build-helper, boost-move, boost-mpl, boost-optional, boost-parameter, boost-phoenix, boost-predef, boost-preprocessor, boost-property-tree, boost-proto, boost-random, boost-range, boost-regex, boost-smart-ptr, boost-spirit, boost-static-assert, boost-system, boost-thread (!uwp), boost-throw-exception, boost-type-index, boost-type-traits, boost-utility, boost-vcpkg-helpers, boost-winapi, boost-xpressive
Description: Boost log module
diff --git a/ports/boost-log/portfile.cmake b/ports/boost-log/portfile.cmake
index 302fb786a..5d9dbb622 100644
--- a/ports/boost-log/portfile.cmake
+++ b/ports/boost-log/portfile.cmake
@@ -5,11 +5,24 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/log
- REF boost-1.66.0
- SHA512 cb0b7ac7136c1066c6dd10a27873febbf983b9c7b7d141ba5e1076a0984cb83609a3c8d38d13e7641002d460f868c2593fecdfd86d9eb75078f14597ab965fa1
+ REF boost-1.67.0
+ SHA512 68046c749156e11c8c1aa256a54bc89d809b2fa627565051ef09481378cb401eeaec533585f34ce065abb1e416381be536ca19ad972d35b3096e4332d1ffee9d
HEAD_REF master
)
+file(READ "${SOURCE_PATH}/build/Jamfile.v2" _contents)
+string(REPLACE "import ../../config/checks/config" "import config/checks/config" _contents "${_contents}")
+string(REPLACE " <conditional>@select-arch-specific-sources" "#<conditional>@select-arch-specific-sources" _contents "${_contents}")
+file(WRITE "${SOURCE_PATH}/build/Jamfile.v2" "${_contents}")
+file(COPY "${CURRENT_INSTALLED_DIR}/share/boost-config/checks" DESTINATION "${SOURCE_PATH}/build/config")
+
+file(READ ${SOURCE_PATH}/build/log-architecture.jam _contents)
+string(REPLACE
+ "\nproject.load [ path.join [ path.make $(here:D) ] ../../config/checks/architecture ] ;"
+ "\nproject.load [ path.join [ path.make $(here:D) ] config/checks/architecture ] ;"
+ _contents "${_contents}")
+file(WRITE ${SOURCE_PATH}/build/log-architecture.jam "${_contents}")
+
include(${CURRENT_INSTALLED_DIR}/share/boost-build/boost-modular-build.cmake)
boost_modular_build(SOURCE_PATH ${SOURCE_PATH})
include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake)
diff --git a/ports/boost-logic/CONTROL b/ports/boost-logic/CONTROL
index 535a53caa..32310be7c 100644
--- a/ports/boost-logic/CONTROL
+++ b/ports/boost-logic/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-logic
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-config, boost-core, boost-detail, boost-vcpkg-helpers
Description: Boost logic module
diff --git a/ports/boost-logic/portfile.cmake b/ports/boost-logic/portfile.cmake
index 08a578ccd..fce91a705 100644
--- a/ports/boost-logic/portfile.cmake
+++ b/ports/boost-logic/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/logic
- REF boost-1.66.0
- SHA512 76e8534127da09c7b70e14927dae03696e251e1c9a825f466d6848dfd0ba14e0d4e8b7bd00dfebe4caf9ef10c591e0d50140b1d4c9c638e0b3f7ae7bf353b8af
+ REF boost-1.67.0
+ SHA512 2a82bbfcea9d1a4ed8563374dc8796873b05ab474edebaea9a9e983148c80ce9bd76625d2bf7e40942c328321cf259ddc70f89550f43a4c6c3e36cb7e5cbe569
HEAD_REF master
)
diff --git a/ports/boost-math/CONTROL b/ports/boost-math/CONTROL
index 33b230a22..d9cc1cf1a 100644
--- a/ports/boost-math/CONTROL
+++ b/ports/boost-math/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-math
-Version: 1.66.0
-Build-Depends: boost-array, boost-assert, boost-atomic, boost-build, boost-modular-build-helper, boost-compatibility, boost-concept-check, boost-config, boost-core, boost-detail, boost-fusion, boost-integer, boost-lambda, boost-lexical-cast, boost-mpl, boost-predef, boost-range, boost-static-assert, boost-throw-exception, boost-tuple, boost-type-traits, boost-utility, boost-vcpkg-helpers
+Version: 1.67.0
+Build-Depends: boost-array, boost-assert, boost-atomic, boost-build, boost-compatibility, boost-concept-check, boost-config, boost-core, boost-detail, boost-fusion, boost-integer, boost-lambda, boost-lexical-cast, boost-modular-build-helper, boost-mpl, boost-predef, boost-range, boost-static-assert, boost-throw-exception, boost-tuple, boost-type-traits, boost-utility, boost-vcpkg-helpers
Description: Boost math module
diff --git a/ports/boost-math/portfile.cmake b/ports/boost-math/portfile.cmake
index 2ad0b28e2..cfeb034fa 100644
--- a/ports/boost-math/portfile.cmake
+++ b/ports/boost-math/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/math
- REF boost-1.66.0
- SHA512 0fbeea0cb3303fe66e42b54d3db81e92d6b05a5dec90bd36e1365db738b33790e9bc6ff56a8ead0a2e2d578606702eb364d023bce0f1f42a454f60d0626e8737
+ REF boost-1.67.0
+ SHA512 7d84aacd9a39daf61f836cf522331ea21b18413b28716a2620fcf49c05b32e0e2f7e14f7bd207fc1df7a6b450356158891ef2576335911b0d6a3f78326eb8c62
HEAD_REF master
)
diff --git a/ports/boost-metaparse/CONTROL b/ports/boost-metaparse/CONTROL
index 7f18a1f45..86ddf75f1 100644
--- a/ports/boost-metaparse/CONTROL
+++ b/ports/boost-metaparse/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-metaparse
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-config, boost-mpl, boost-predef, boost-preprocessor, boost-static-assert, boost-type-traits, boost-vcpkg-helpers
Description: Boost metaparse module
diff --git a/ports/boost-metaparse/portfile.cmake b/ports/boost-metaparse/portfile.cmake
index 22742179c..d25238629 100644
--- a/ports/boost-metaparse/portfile.cmake
+++ b/ports/boost-metaparse/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/metaparse
- REF boost-1.66.0
- SHA512 919c0f198b19114fe1ed457fead502cee729b7c14de460b176784e9778b0040a960d916b4c7fbeb3e7c3ec285b7b1a0d90de8d0dfcca5c14c9d810ab17da5717
+ REF boost-1.67.0
+ SHA512 d92a78f3dd56083464bb2544427e87c5208d716f509452ada3150fb1beb43caae4dba16daf6626ae0783d1ae0812bbe49be23a638138bccdca873037857ec7a4
HEAD_REF master
)
diff --git a/ports/boost-modular-build-helper/CMakeLists.txt b/ports/boost-modular-build-helper/CMakeLists.txt
index 20306e7ed..f75a6ee66 100644
--- a/ports/boost-modular-build-helper/CMakeLists.txt
+++ b/ports/boost-modular-build-helper/CMakeLists.txt
@@ -9,6 +9,10 @@ set(VCPKG_PLATFORM_TOOLSET external)
set(B2_OPTIONS)
+if(DEFINED BOOST_CMAKE_FRAGMENT)
+ include(${BOOST_CMAKE_FRAGMENT})
+endif()
+
# Add build type specific options
if(BUILD_SHARED_LIBS)
list(APPEND B2_OPTIONS runtime-link=shared)
@@ -28,7 +32,11 @@ if(CMAKE_SYSTEM_PROCESSOR STREQUAL "AMD64")
list(APPEND B2_OPTIONS address-model=64)
endif()
-list(APPEND B2_OPTIONS target-os=linux toolset=gcc)
+if(APPLE)
+ list(APPEND B2_OPTIONS target-os=darwin toolset=clang)
+else()
+ list(APPEND B2_OPTIONS target-os=linux toolset=gcc)
+endif()
string(REPLACE " " " <compileflags>" CXXFLAGS "${CMAKE_CXX_FLAGS}")
#set(CXXFLAGS "${CXXFLAGS} <compileflags>-Wno-error=unused-command-line-argument")
@@ -45,6 +53,10 @@ foreach(INCDIR ${CMAKE_CXX_STANDARD_INCLUDE_DIRECTORIES})
set(CXXFLAGS "${CXXFLAGS} <compileflags>${CMAKE_INCLUDE_FLAG_C}${CMAKE_INCLUDE_FLAG_C_SEP}${INCDIR}")
endforeach()
+if(APPLE)
+ set(CXXFLAGS "${CXXFLAGS} <compileflags>-D_DARWIN_C_SOURCE")
+endif()
+
find_library(ZLIB_LIBPATH z)
list(APPEND B2_OPTIONS
-sZLIB_BINARY=z
@@ -112,7 +124,7 @@ add_custom_target(boost ALL
threading=multi
threadapi=pthread
debug-symbols=on
- WORKING_DIRECTORY ${SOURCE_PATH}
+ WORKING_DIRECTORY ${SOURCE_PATH}/build
)
install(
diff --git a/ports/boost-modular-build-helper/CONTROL b/ports/boost-modular-build-helper/CONTROL
index eb2257a01..7324d6ba0 100644
--- a/ports/boost-modular-build-helper/CONTROL
+++ b/ports/boost-modular-build-helper/CONTROL
@@ -1,2 +1,2 @@
Source: boost-modular-build-helper
-Version: 1
+Version: 2018-04-16-4
diff --git a/ports/boost-modular-build-helper/Jamroot.jam b/ports/boost-modular-build-helper/Jamroot.jam
index e498483c3..8c24fff86 100644
--- a/ports/boost-modular-build-helper/Jamroot.jam
+++ b/ports/boost-modular-build-helper/Jamroot.jam
@@ -1,5 +1,5 @@
-constant BOOST_VERSION : 1.66.0 ;
-constant BOOST_VERSION_ABI_TAG : 1_66 ;
+constant BOOST_VERSION : 1.67.0 ;
+constant BOOST_VERSION_ABI_TAG : 1_67 ;
constant BOOST_JAMROOT_MODULE : $(__name__) ;
import boostcpp ;
@@ -39,6 +39,9 @@ if "@PORT@" != "boost-system"
lib boost_system : : <file>"@CURRENT_INSTALLED_DIR@/lib/@BOOST_LIB_PREFIX@boost_system@BOOST_LIB_RELEASE_SUFFIX@" <variant>release ;
lib boost_system : : <file>"@CURRENT_INSTALLED_DIR@/debug/lib/@BOOST_LIB_PREFIX@boost_system@BOOST_LIB_DEBUG_SUFFIX@" <variant>debug ;
explicit boost_system ;
+
+ use-project /boost : . ;
+ alias system : boost_system ;
}
if "@PORT@" != "boost-chrono"
@@ -129,8 +132,8 @@ if "@PORT@" != "boost-serialization"
{
use-project /boost/serialization : . ;
- lib boost_serialization : : <file>@CURRENT_INSTALLED_DIR@/lib/@BOOST_LIB_PREFIX@boost_serialization@BOOST_LIB_RELEASE_SUFFIX@ <variant>release ;
- lib boost_serialization : : <file>@CURRENT_INSTALLED_DIR@/debug/lib/@BOOST_LIB_PREFIX@boost_serialization@BOOST_LIB_DEBUG_SUFFIX@ <variant>debug ;
+ lib boost_serialization : : <file>"@CURRENT_INSTALLED_DIR@/lib/@BOOST_LIB_PREFIX@boost_serialization@BOOST_LIB_RELEASE_SUFFIX@" <variant>release ;
+ lib boost_serialization : : <file>"@CURRENT_INSTALLED_DIR@/debug/lib/@BOOST_LIB_PREFIX@boost_serialization@BOOST_LIB_DEBUG_SUFFIX@" <variant>debug ;
explicit boost_serialization ;
}
diff --git a/ports/boost-modular-build-helper/boost-modular-build.cmake b/ports/boost-modular-build-helper/boost-modular-build.cmake
index 557e089dd..d28762175 100644
--- a/ports/boost-modular-build-helper/boost-modular-build.cmake
+++ b/ports/boost-modular-build-helper/boost-modular-build.cmake
@@ -1,5 +1,5 @@
function(boost_modular_build)
- cmake_parse_arguments(_bm "" "SOURCE_PATH;REQUIREMENTS" "OPTIONS" ${ARGN})
+ cmake_parse_arguments(_bm "" "SOURCE_PATH;REQUIREMENTS;BOOST_CMAKE_FRAGMENT" "OPTIONS" ${ARGN})
if(NOT DEFINED _bm_SOURCE_PATH)
message(FATAL_ERROR "SOURCE_PATH is a required argument to boost_modular_build.")
@@ -32,10 +32,6 @@ function(boost_modular_build)
set(_bm_DIR ${CURRENT_INSTALLED_DIR}/share/boost-build)
- if(EXISTS "${_bm_SOURCE_PATH}/Jamfile.v2")
- file(REMOVE_RECURSE "${_bm_SOURCE_PATH}/Jamfile.v2")
- endif()
-
set(REQUIREMENTS ${_bm_REQUIREMENTS})
if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
@@ -48,16 +44,10 @@ function(boost_modular_build)
set(BOOST_LIB_DEBUG_SUFFIX .a)
endif()
- # boost thread superfluously builds has_atomic_flag_lockfree on windows.
if(EXISTS "${_bm_SOURCE_PATH}/build/Jamfile.v2")
file(READ ${_bm_SOURCE_PATH}/build/Jamfile.v2 _contents)
- string(REPLACE
- "\n\nexe has_atomic_flag_lockfree"
- "\n\nexplicit has_atomic_flag_lockfree ;\nexe has_atomic_flag_lockfree"
- _contents
- "${_contents}"
- )
- string(REPLACE "\nimport ../../config/checks/config : requires ;" "\n# import ../../config/checks/config : requires ;" _contents "${_contents}")
+ #string(REPLACE "import ../../predef/check/predef" "import predef/check/predef" _contents "${_contents}")
+ #string(REPLACE "import ../../config/checks/config" "import config/checks/config" _contents "${_contents}")
string(REGEX REPLACE
"\.\./\.\./([^/ ]+)/build//(boost_[^/ ]+)"
"/boost/\\1//\\2"
@@ -68,18 +58,18 @@ function(boost_modular_build)
file(WRITE ${_bm_SOURCE_PATH}/build/Jamfile.v2 "${_contents}")
endif()
- if(EXISTS "${_bm_SOURCE_PATH}/build/log-architecture.jam")
- file(READ ${_bm_SOURCE_PATH}/build/log-architecture.jam _contents)
- string(REPLACE
- "\nproject.load [ path.join [ path.make $(here:D) ] ../../config/checks/architecture ] ;"
- "\n# project.load [ path.join [ path.make $(here:D) ] ../../config/checks/architecture ] ;"
- _contents "${_contents}")
- file(WRITE ${_bm_SOURCE_PATH}/build/log-architecture.jam "${_contents}")
- endif()
-
configure_file(${_bm_DIR}/Jamroot.jam ${_bm_SOURCE_PATH}/Jamroot.jam @ONLY)
-
- if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Android" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux")
+ # if(EXISTS "${CURRENT_INSTALLED_DIR}/share/boost-config/checks")
+ # file(COPY "${CURRENT_INSTALLED_DIR}/share/boost-config/checks" DESTINATION "${_bm_SOURCE_PATH}/build/config")
+ # endif()
+ # if(EXISTS "${CURRENT_INSTALLED_DIR}/share/boost-predef/check")
+ # file(COPY "${CURRENT_INSTALLED_DIR}/share/boost-predef/check" DESTINATION "${_bm_SOURCE_PATH}/build/predef")
+ # endif()
+
+ if(VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ if(DEFINED _bm_BOOST_CMAKE_FRAGMENT)
+ set(fragment_option "-DBOOST_CMAKE_FRAGMENT=${_bm_BOOST_CMAKE_FRAGMENT}")
+ endif()
vcpkg_configure_cmake(
SOURCE_PATH ${CURRENT_INSTALLED_DIR}/share/boost-build
PREFER_NINJA
@@ -87,8 +77,13 @@ function(boost_modular_build)
"-DB2_EXE=${B2_EXE}"
"-DSOURCE_PATH=${_bm_SOURCE_PATH}"
"-DBOOST_BUILD_PATH=${BOOST_BUILD_PATH}"
+ ${fragment_option}
)
vcpkg_install_cmake()
+
+ if(NOT EXISTS ${CURRENT_PACKAGES_DIR}/lib)
+ message(FATAL_ERROR "No libraries were produced. This indicates a failure while building the boost library.")
+ endif()
return()
endif()
@@ -242,7 +237,7 @@ function(boost_modular_build)
${_bm_OPTIONS_REL}
variant=release
debug-symbols=on
- WORKING_DIRECTORY ${_bm_SOURCE_PATH}
+ WORKING_DIRECTORY ${_bm_SOURCE_PATH}/build
LOGNAME build-${TARGET_TRIPLET}-rel
)
message(STATUS "Building ${TARGET_TRIPLET}-rel done")
@@ -259,7 +254,7 @@ function(boost_modular_build)
${_bm_OPTIONS}
${_bm_OPTIONS_DBG}
variant=debug
- WORKING_DIRECTORY ${_bm_SOURCE_PATH}
+ WORKING_DIRECTORY ${_bm_SOURCE_PATH}/build
LOGNAME build-${TARGET_TRIPLET}-dbg
)
message(STATUS "Building ${TARGET_TRIPLET}-dbg done")
@@ -314,7 +309,7 @@ function(boost_modular_build)
string(REPLACE "-x64-" "-" NEW_FILENAME ${NEW_FILENAME}) # To enable CMake 3.10 and earlier to locate the binaries
string(REPLACE "-a32-" "-" NEW_FILENAME ${NEW_FILENAME}) # To enable CMake 3.10 and earlier to locate the binaries
string(REPLACE "-a64-" "-" NEW_FILENAME ${NEW_FILENAME}) # To enable CMake 3.10 and earlier to locate the binaries
- string(REPLACE "-1_66" "" NEW_FILENAME ${NEW_FILENAME}) # To enable CMake > 3.10 to locate the binaries
+ string(REPLACE "-1_67" "" NEW_FILENAME ${NEW_FILENAME}) # To enable CMake > 3.10 to locate the binaries
string(REPLACE "_python3-" "_python-" NEW_FILENAME ${NEW_FILENAME})
if("${DIRECTORY_OF_LIB_FILE}/${NEW_FILENAME}" STREQUAL "${DIRECTORY_OF_LIB_FILE}/${OLD_FILENAME}")
# nothing to do
diff --git a/ports/boost-modular-build-helper/portfile.cmake b/ports/boost-modular-build-helper/portfile.cmake
index 1c34f2fec..6ed367434 100644
--- a/ports/boost-modular-build-helper/portfile.cmake
+++ b/ports/boost-modular-build-helper/portfile.cmake
@@ -7,5 +7,6 @@ file(
${CMAKE_CURRENT_LIST_DIR}/nothing.bat
${CMAKE_CURRENT_LIST_DIR}/user-config.jam
${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt
- DESTINATION ${CURRENT_PACKAGES_DIR}/share/boost-build
+ DESTINATION
+ ${CURRENT_PACKAGES_DIR}/share/boost-build
)
diff --git a/ports/boost-modular-build-helper/user-config.jam b/ports/boost-modular-build-helper/user-config.jam
index e045d622b..abefc7fae 100644
--- a/ports/boost-modular-build-helper/user-config.jam
+++ b/ports/boost-modular-build-helper/user-config.jam
@@ -28,8 +28,8 @@ if "@PORT@" = "boost-python"
if "@PORT@" = "boost-mpi"
{
using mpi : :
- <library-path>@CURRENT_INSTALLED_DIR@/lib
- <include>@CURRENT_INSTALLED_DIR@/include
+ <library-path>"@CURRENT_INSTALLED_DIR@/lib"
+ <include>"@CURRENT_INSTALLED_DIR@/include"
<find-shared-library>msmpi ;
}
@@ -45,3 +45,6 @@ lib icuin : : <file>"@CURRENT_INSTALLED_DIR@/debug/lib/icuind.lib" <variant>debu
lib icudt : : <file>"@CURRENT_INSTALLED_DIR@/lib/icudt.lib" <variant>release : : ;
lib icudt : : <file>"@CURRENT_INSTALLED_DIR@/debug/lib/icudtd.lib" <variant>debug : : ;
+
+lib iconv : : <file>"@LIBICONV_LIBRARY@" <link>shared <runtime-link>shared <variant>release : : ;
+lib iconv : : <file>"@LIBICONV_LIBRARY@" <link>shared <runtime-link>shared <variant>debug : : ;
diff --git a/ports/boost-move/CONTROL b/ports/boost-move/CONTROL
index ec9de26e9..4f68406d4 100644
--- a/ports/boost-move/CONTROL
+++ b/ports/boost-move/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-move
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-assert, boost-config, boost-detail, boost-integer, boost-static-assert, boost-vcpkg-helpers
Description: Boost move module
diff --git a/ports/boost-move/portfile.cmake b/ports/boost-move/portfile.cmake
index c340db6e3..f0b02398d 100644
--- a/ports/boost-move/portfile.cmake
+++ b/ports/boost-move/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/move
- REF boost-1.66.0
- SHA512 e431ca8c709f6acb205f93e3c1de1a3b46325e183726bd9b862f4fba436af92b3f5a945eddfe04c3fa775fd88311f98eafa9e81f5014f3a0309096f18b837286
+ REF boost-1.67.0
+ SHA512 4ff739fbd59db18b4e8ec6b2bd85072422a6253b964d5f12c49e8c0f022ad5760927f753c4b1e75bcb7c38fd8e6f7a9b31aa58b5f8672eb273011a8602dfeb80
HEAD_REF master
)
diff --git a/ports/boost-mp11/CONTROL b/ports/boost-mp11/CONTROL
index 70bd30300..fa92b50d1 100644
--- a/ports/boost-mp11/CONTROL
+++ b/ports/boost-mp11/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-mp11
-Version: 1.66.0
-Build-Depends: boost-config, boost-detail, boost-vcpkg-helpers
+Version: 1.67.0
+Build-Depends: boost-config, boost-vcpkg-helpers
Description: Boost mp11 module
diff --git a/ports/boost-mp11/portfile.cmake b/ports/boost-mp11/portfile.cmake
index a350e333e..95aa349b2 100644
--- a/ports/boost-mp11/portfile.cmake
+++ b/ports/boost-mp11/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/mp11
- REF boost-1.66.0
- SHA512 40eb7813f7821d584733b5499270b8ef26619502a3eac78b026587477be881a55efbb99769a0818c50413facb12f583b459df121c8d01dc06ceb4ea50a5f7029
+ REF boost-1.67.0
+ SHA512 baf1127b837db0902576bbb7f4bb09ad8f38f19ae45025879ae49ba9fef723647460b35a58f81d6bb7cf7dbbf94ff81cd32a948540e276660c8b8de5318f474b
HEAD_REF master
)
diff --git a/ports/boost-mpi/CONTROL b/ports/boost-mpi/CONTROL
index 30ce81a1d..c6d33eb26 100644
--- a/ports/boost-mpi/CONTROL
+++ b/ports/boost-mpi/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-mpi
-Version: 1.66.0-1
-Build-Depends: boost-assert, boost-build, boost-modular-build-helper, boost-compatibility, boost-config, boost-core, boost-function, boost-graph, boost-integer, boost-iterator, boost-lexical-cast, boost-math, boost-mpl, boost-optional, boost-property-map, boost-python (windows), boost-serialization, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers, msmpi
+Version: 1.67.0-1
+Build-Depends: boost-assert, boost-build, boost-compatibility, boost-config, boost-core, boost-foreach, boost-function, boost-graph, boost-integer, boost-iterator, boost-lexical-cast, boost-math, boost-modular-build-helper, boost-mpl, boost-optional, boost-property-map, boost-python (windows), boost-serialization, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers, msmpi
Description: Boost mpi module
diff --git a/ports/boost-mpi/portfile.cmake b/ports/boost-mpi/portfile.cmake
index 0ac40b4a6..ac67bd677 100644
--- a/ports/boost-mpi/portfile.cmake
+++ b/ports/boost-mpi/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/mpi
- REF boost-1.66.0
- SHA512 bd6385274f291c905ba0239f8399058e4bf76a07d5b984a10fe737e895495c92190ef468be48c32247d4bcb3dd844a5b72b9370ebd2a95945aa38be60bdd3465
+ REF boost-1.67.0
+ SHA512 fd9c5795db268dbd16bfc051344f6f58ca691dafefb05e2f89521db84d57c6f0ee3f750a75d06b3aaefb14261d0bc40f5e002932383ae0f03c6456d0086c6b8e
HEAD_REF master
)
diff --git a/ports/boost-mpl/CONTROL b/ports/boost-mpl/CONTROL
index f082844d6..350007a53 100644
--- a/ports/boost-mpl/CONTROL
+++ b/ports/boost-mpl/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-mpl
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-config, boost-core, boost-detail, boost-predef, boost-preprocessor, boost-type-traits, boost-vcpkg-helpers
Description: Boost mpl module
diff --git a/ports/boost-mpl/portfile.cmake b/ports/boost-mpl/portfile.cmake
index 44fc12d93..92f6df54b 100644
--- a/ports/boost-mpl/portfile.cmake
+++ b/ports/boost-mpl/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/mpl
- REF boost-1.66.0
- SHA512 e88fa03fbc0f876f838826c5ccfd3866425fa87fd81b9aeb83e4c0afded189a66b06206230f07d1177bdbc39ea5b15cb050ad6285d7704ea83bb43c7d608cc1b
+ REF boost-1.67.0
+ SHA512 90143065ae6a180dd542ad50ceb111d221b587e6e109707c3421582996f0918828f42df69d1e44071981996f30fe59e969efa2271a8b70e70a10516f9b83b1f4
HEAD_REF master
)
diff --git a/ports/boost-msm/CONTROL b/ports/boost-msm/CONTROL
index f51a7993f..704e55def 100644
--- a/ports/boost-msm/CONTROL
+++ b/ports/boost-msm/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-msm
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-any, boost-assert, boost-bind, boost-circular-buffer, boost-config, boost-core, boost-detail, boost-function, boost-fusion, boost-mpl, boost-parameter, boost-phoenix, boost-preprocessor, boost-proto, boost-serialization, boost-tuple, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers
Description: Boost msm module
diff --git a/ports/boost-msm/portfile.cmake b/ports/boost-msm/portfile.cmake
index c16c3a962..c22d53aa3 100644
--- a/ports/boost-msm/portfile.cmake
+++ b/ports/boost-msm/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/msm
- REF boost-1.66.0
- SHA512 722360bb58971b52ca2078f908d439544d577fbcba0a99328a000be59772e492c5243192641cc91fe6b3ed95885b209a30f47fd1dd7246889b0552cdc1246b3d
+ REF boost-1.67.0
+ SHA512 073afc97247d0cf6eb579cffafbd43696390b28125d7e104cba4b5e2ac6120b24f64c5fa167f5e5958d7e7fb93eb7ea698b660f9fcee781bd84068919f6512e7
HEAD_REF master
)
diff --git a/ports/boost-multi-array/CONTROL b/ports/boost-multi-array/CONTROL
index 68ac4410b..efa6049e7 100644
--- a/ports/boost-multi-array/CONTROL
+++ b/ports/boost-multi-array/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-multi-array
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-compatibility, boost-config, boost-vcpkg-helpers
Description: Boost multi_array module
diff --git a/ports/boost-multi-array/portfile.cmake b/ports/boost-multi-array/portfile.cmake
index ead468c54..93ff6b0aa 100644
--- a/ports/boost-multi-array/portfile.cmake
+++ b/ports/boost-multi-array/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/multi_array
- REF boost-1.66.0
- SHA512 6240a90a020f1a6dda1be9e5d5d3743d6f5c50cea1a8b8f75151e60314822e8469db7c0d134a1b1ff50af40833017ee087673894e7e8bd6c394d68547ae68d62
+ REF boost-1.67.0
+ SHA512 a1f58b1223ffc6935d3ff9dd599dea294af36e9532adef471be0c971450ffd5ebafed6b0ab61637663df22e933b066eccac1fa50c783961d7a4bcf209c7d0fbb
HEAD_REF master
)
diff --git a/ports/boost-multi-index/CONTROL b/ports/boost-multi-index/CONTROL
index d6da63dcd..86e7733dd 100644
--- a/ports/boost-multi-index/CONTROL
+++ b/ports/boost-multi-index/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-multi-index
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-assert, boost-bind, boost-compatibility, boost-config, boost-core, boost-detail, boost-foreach, boost-functional, boost-integer, boost-iterator, boost-move, boost-mpl, boost-preprocessor, boost-serialization, boost-static-assert, boost-throw-exception, boost-tuple, boost-type-traits, boost-utility, boost-vcpkg-helpers
Description: Boost multi_index module
diff --git a/ports/boost-multi-index/portfile.cmake b/ports/boost-multi-index/portfile.cmake
index 7b8f35aff..cc458c95a 100644
--- a/ports/boost-multi-index/portfile.cmake
+++ b/ports/boost-multi-index/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/multi_index
- REF boost-1.66.0
- SHA512 a96c5f7f6a31236462a06c11320232d5aeb16a4df9ff8af972d03c27fb35d6cf17789d8ea6b6d155b55ea435335e605ec7a049c418c529ed48f99b31a4f34423
+ REF boost-1.67.0
+ SHA512 6630d086a99b5e36d344643030a1639ab1d9393ccc93b112d56cb6c674e97f67b4a9245e51d0b43416274f50d2af094551c814822c9b17abc19b52227042ad91
HEAD_REF master
)
diff --git a/ports/boost-multiprecision/CONTROL b/ports/boost-multiprecision/CONTROL
index 241880570..b78a02113 100644
--- a/ports/boost-multiprecision/CONTROL
+++ b/ports/boost-multiprecision/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-multiprecision
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-array, boost-assert, boost-config, boost-detail, boost-functional, boost-integer, boost-lexical-cast, boost-math, boost-mpl, boost-random, boost-rational, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers
Description: Boost multiprecision module
diff --git a/ports/boost-multiprecision/portfile.cmake b/ports/boost-multiprecision/portfile.cmake
index 43423e6c3..5ded1a0d8 100644
--- a/ports/boost-multiprecision/portfile.cmake
+++ b/ports/boost-multiprecision/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/multiprecision
- REF boost-1.66.0
- SHA512 3ba38ec20855a0f2f363c34e3c958a7e2e93cbb45d1ab995c26a38e06751192ada95e1a28ea0e9106002cef6250b68dcdecf83a8c6b42676c467ec2d7626288e
+ REF boost-1.67.0
+ SHA512 a2481ad9856ab5024d86097967f187596f18eada71effa51313fb72b02809f5177582fe13bfa5db647f31b5a667b209bf044bc0598385408494c0f6284d0c8a2
HEAD_REF master
)
diff --git a/ports/boost-numeric-conversion/CONTROL b/ports/boost-numeric-conversion/CONTROL
index 8bc729ec9..674e4ca0a 100644
--- a/ports/boost-numeric-conversion/CONTROL
+++ b/ports/boost-numeric-conversion/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-numeric-conversion
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-config, boost-core, boost-detail, boost-integer, boost-preprocessor, boost-throw-exception, boost-vcpkg-helpers
Description: Boost numeric_conversion module
diff --git a/ports/boost-numeric-conversion/portfile.cmake b/ports/boost-numeric-conversion/portfile.cmake
index c525b2e1f..b14d24011 100644
--- a/ports/boost-numeric-conversion/portfile.cmake
+++ b/ports/boost-numeric-conversion/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/numeric_conversion
- REF boost-1.66.0
- SHA512 3f20e7adf501d69544fe5a4e8b52efa8e7b4327c0c371f1abc22f6aa6035931bcf0597853690b59140378e158462b0ba1d85d2c8ba978c2a5185cac7acefd313
+ REF boost-1.67.0
+ SHA512 0c1d46e4529bcec8eeb5b138f9ded9974688e14923eb148dc8e89f7fce93d07236be5448d28d9812f7b87bdd11391f0ab8ca57b659b7bedc820d0080b3a3f5d1
HEAD_REF master
)
diff --git a/ports/boost-odeint/CONTROL b/ports/boost-odeint/CONTROL
index 4ab8a7814..86baeb6a6 100644
--- a/ports/boost-odeint/CONTROL
+++ b/ports/boost-odeint/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-odeint
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-array, boost-assert, boost-bind, boost-compute, boost-config, boost-core, boost-function, boost-fusion, boost-iterator, boost-math, boost-mpl, boost-multi-array, boost-preprocessor, boost-range, boost-static-assert, boost-throw-exception, boost-type-traits, boost-units, boost-utility, boost-vcpkg-helpers
Description: Boost odeint module
diff --git a/ports/boost-odeint/portfile.cmake b/ports/boost-odeint/portfile.cmake
index 5309f3663..38293012e 100644
--- a/ports/boost-odeint/portfile.cmake
+++ b/ports/boost-odeint/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/odeint
- REF boost-1.66.0
- SHA512 f4d1a0d689c64bbd3dc93060e0e787aa39940b4ca0baf557ea7cb1c28225af5388d24b1654be04103427ba3b943f83dc34be1c0acedcdc2a9b8ac63acbe6946c
+ REF boost-1.67.0
+ SHA512 9c18b9ec2f02c9b36afb06c80ad9e881ab7c41580c2fca5b5c5a62c0aa6e1c3e9bb72c8a28670749e3723ce4bce4397db45547ba4db76acd6088f07644cadaa0
HEAD_REF master
)
diff --git a/ports/boost-optional/CONTROL b/ports/boost-optional/CONTROL
index 752708636..d20c879af 100644
--- a/ports/boost-optional/CONTROL
+++ b/ports/boost-optional/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-optional
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-assert, boost-config, boost-core, boost-detail, boost-move, boost-mpl, boost-static-assert, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers
Description: Boost optional module
diff --git a/ports/boost-optional/portfile.cmake b/ports/boost-optional/portfile.cmake
index af2b6641c..261634e12 100644
--- a/ports/boost-optional/portfile.cmake
+++ b/ports/boost-optional/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/optional
- REF boost-1.66.0
- SHA512 489e8a10abcd906e2bf12d1019f16c02e64ca32df5611351d6a512ff3fdd742f726820a1b6f9de66de78363f8a6a964d1f06905c91382342b5320effd7991b89
+ REF boost-1.67.0
+ SHA512 a161c9bc69cb39d9828be89d9113766d930ef0c1b12de113b5d103e8139fceabdaac0081664f14ef96f1f9df1fac0b36469010766da3ba4c054910244c452bc8
HEAD_REF master
)
diff --git a/ports/boost-parameter/CONTROL b/ports/boost-parameter/CONTROL
index aaee2abfc..360daf3a3 100644
--- a/ports/boost-parameter/CONTROL
+++ b/ports/boost-parameter/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-parameter
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-detail, boost-mpl, boost-preprocessor, boost-type-traits, boost-vcpkg-helpers
Description: Boost parameter module
diff --git a/ports/boost-parameter/portfile.cmake b/ports/boost-parameter/portfile.cmake
index 871f7198b..3e5ae71bc 100644
--- a/ports/boost-parameter/portfile.cmake
+++ b/ports/boost-parameter/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/parameter
- REF boost-1.66.0
- SHA512 042be1f9030f4561295a8fcdd252c094d7e17cfd7cc237dfcab6d131c568466fa5ee86a57746d8b254a577251922c7dfa5c1913529743936b8ec90cbb6e7939c
+ REF boost-1.67.0
+ SHA512 f49f1cbedc0b09de484af7ffd9d00e129e9e8cc88fd82d47a95f89b06eae909973843347d1fe09936d686d026d2266384cf23b7dd9a5d7df2d8889629fea1684
HEAD_REF master
)
diff --git a/ports/boost-phoenix/CONTROL b/ports/boost-phoenix/CONTROL
index ad3236dde..f6cf5316b 100644
--- a/ports/boost-phoenix/CONTROL
+++ b/ports/boost-phoenix/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-phoenix
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-assert, boost-bind, boost-config, boost-core, boost-detail, boost-function, boost-fusion, boost-mpl, boost-predef, boost-preprocessor, boost-proto, boost-range, boost-smart-ptr, boost-type-traits, boost-utility, boost-vcpkg-helpers
Description: Boost phoenix module
diff --git a/ports/boost-phoenix/portfile.cmake b/ports/boost-phoenix/portfile.cmake
index 74e290f1e..3df599d31 100644
--- a/ports/boost-phoenix/portfile.cmake
+++ b/ports/boost-phoenix/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/phoenix
- REF boost-1.66.0
- SHA512 dbffb57041607e90dfea2113192e1a8fc73934faefe00a00d50542e102b8659f55b4491cc2066fd181444bd04f2a610d75bb67773c205742d8def3516d9148aa
+ REF boost-1.67.0
+ SHA512 38095cd0de7a2fb03e4acaf27364a9f9797e1c92315b956f78a5f3d478fbd65a0b97dba53e9081418223864222f9a560f679b6c973ed994233e68b39fd3a5d63
HEAD_REF master
)
diff --git a/ports/boost-poly-collection/CONTROL b/ports/boost-poly-collection/CONTROL
index 66679c5c9..9cdae8e73 100644
--- a/ports/boost-poly-collection/CONTROL
+++ b/ports/boost-poly-collection/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-poly-collection
-Version: 1.66.0
-Build-Depends: boost-assert, boost-config, boost-core, boost-detail, boost-iterator, boost-mpl, boost-type-erasure (windows), boost-type-traits, boost-vcpkg-helpers
+Version: 1.67.0
+Build-Depends: boost-assert, boost-config, boost-core, boost-detail, boost-iterator, boost-mpl, boost-type-erasure (!uwp), boost-type-traits, boost-vcpkg-helpers
Description: Boost poly_collection module
diff --git a/ports/boost-poly-collection/portfile.cmake b/ports/boost-poly-collection/portfile.cmake
index 7edccef50..f6d495b04 100644
--- a/ports/boost-poly-collection/portfile.cmake
+++ b/ports/boost-poly-collection/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/poly_collection
- REF boost-1.66.0
- SHA512 110af2363b0ca7f6941ebd45d67edda865b704cbf8e7009349e1487f7c0303e3d2d891576ff7004a74bafd66cf913d91e83166c54a9c34770e58c574e288d688
+ REF boost-1.67.0
+ SHA512 9ebf5a9a682f0d79ee80dbc1a097dbd06f7c7d064798e25d72a369fa771beb6c37ed9553bc3b8cdbbcb40bc89a628155a850807f5487c714655d2fdb85102b66
HEAD_REF master
)
diff --git a/ports/boost-polygon/CONTROL b/ports/boost-polygon/CONTROL
index 8c95d707e..ea01f4bb0 100644
--- a/ports/boost-polygon/CONTROL
+++ b/ports/boost-polygon/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-polygon
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-config, boost-integer, boost-mpl, boost-utility, boost-vcpkg-helpers
Description: Boost polygon module
diff --git a/ports/boost-polygon/portfile.cmake b/ports/boost-polygon/portfile.cmake
index 1244b3abb..83d6d5b5e 100644
--- a/ports/boost-polygon/portfile.cmake
+++ b/ports/boost-polygon/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/polygon
- REF boost-1.66.0
- SHA512 7d8b3b275ab5c010a3c1736e59290b514d44080a7fec9e26b28d39c3df2346ac9f5d762b84c6f55296452bbcdf3a8cff5ac3f2895a99be90c4630efb04229157
+ REF boost-1.67.0
+ SHA512 d6fbf84a808065a5d6946ff0eae8af41d280dc6e30d34c1d1e6f9e5860884f94466d976db4b9537e94c40a76129ae0567cebd05a1116b80ff66629c423520753
HEAD_REF master
)
diff --git a/ports/boost-pool/CONTROL b/ports/boost-pool/CONTROL
index 141cc45c3..7013cb6c4 100644
--- a/ports/boost-pool/CONTROL
+++ b/ports/boost-pool/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-pool
-Version: 1.66.0
-Build-Depends: boost-assert, boost-compatibility, boost-config, boost-detail, boost-integer, boost-thread (windows), boost-throw-exception, boost-type-traits, boost-vcpkg-helpers
+Version: 1.67.0
+Build-Depends: boost-assert, boost-compatibility, boost-config, boost-detail, boost-integer, boost-thread (!uwp), boost-throw-exception, boost-type-traits, boost-vcpkg-helpers
Description: Boost pool module
diff --git a/ports/boost-pool/portfile.cmake b/ports/boost-pool/portfile.cmake
index 2b70b4c24..e85dd3329 100644
--- a/ports/boost-pool/portfile.cmake
+++ b/ports/boost-pool/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/pool
- REF boost-1.66.0
- SHA512 1b54515a075ff2039ff18ac615a3e172cd7e703d7d27970c12f507aaa32cf36ac79b5fc4e808df10e076175036d953fff601c8814ef286b61fcc41ac1a708c3b
+ REF boost-1.67.0
+ SHA512 fe6f9a5e147806e80fa706e7f02a1b4b6f48e044c6b2a7d7fce6685ec2ada960c17a1ae3fb8cf19661ca8e9e3b1b3a49a30328f9e5ca12f15514810733a1c299
HEAD_REF master
)
diff --git a/ports/boost-predef/CONTROL b/ports/boost-predef/CONTROL
index 9419ab7b5..92b0e35cd 100644
--- a/ports/boost-predef/CONTROL
+++ b/ports/boost-predef/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-predef
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-vcpkg-helpers
Description: Boost predef module
diff --git a/ports/boost-predef/portfile.cmake b/ports/boost-predef/portfile.cmake
index 289bc4988..5b495ed8d 100644
--- a/ports/boost-predef/portfile.cmake
+++ b/ports/boost-predef/portfile.cmake
@@ -5,10 +5,12 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/predef
- REF boost-1.66.0
- SHA512 24f9ddb4ff5f16ae6a8764e940aa85f703c924e550423d7ff58c0e6b97568ecc78b6e97cbcc4ea0489ff2272501130db33e80bf86f071f1bad1d4b0f8c8665ae
+ REF boost-1.67.0
+ SHA512 c67076cb04de0ad0bfdc2fabc4112fe4a1ffb6c21a42e4e11a63e173ef3573e614fe515e7ad7af0cf6628a90fa44aad45013f79ae68d5f35df034953f84b75e1
HEAD_REF master
)
include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake)
boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
+
+file(COPY ${SOURCE_PATH}/tools/check DESTINATION ${CURRENT_PACKAGES_DIR}/share/boost-predef)
diff --git a/ports/boost-preprocessor/CONTROL b/ports/boost-preprocessor/CONTROL
index 6cc22c054..f6f683423 100644
--- a/ports/boost-preprocessor/CONTROL
+++ b/ports/boost-preprocessor/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-preprocessor
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-vcpkg-helpers
Description: Boost preprocessor module
diff --git a/ports/boost-preprocessor/portfile.cmake b/ports/boost-preprocessor/portfile.cmake
index 0a2a62ad4..0626080f4 100644
--- a/ports/boost-preprocessor/portfile.cmake
+++ b/ports/boost-preprocessor/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/preprocessor
- REF boost-1.66.0
- SHA512 233c46132d69499d96d8cf47fd41e7b80a558b43ace57a654be9bf4aad8c46907bf2fcc0e5698c0df4c8006bcd1e51a72b69c9269e128f360477481ff8cb2451
+ REF boost-1.67.0
+ SHA512 9bb18c25144c1428c6e9a32a670c041bc6165b862636b5c626e8b66959906988605f75548fc61539f91c32282b72c150b8b398f7fcee2fa2e5720032b74fd80f
HEAD_REF master
)
diff --git a/ports/boost-process/CONTROL b/ports/boost-process/CONTROL
index 28d9c027d..a5654c920 100644
--- a/ports/boost-process/CONTROL
+++ b/ports/boost-process/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-process
-Version: 1.66.0
-Build-Depends: boost-algorithm, boost-asio, boost-config, boost-core, boost-filesystem (windows), boost-fusion, boost-iterator, boost-move, boost-optional, boost-system, boost-tokenizer, boost-type-index, boost-vcpkg-helpers, boost-winapi
+Version: 1.67.0
+Build-Depends: boost-algorithm, boost-asio, boost-config, boost-core, boost-filesystem (!uwp), boost-fusion, boost-iterator, boost-move, boost-optional, boost-system, boost-tokenizer, boost-type-index, boost-vcpkg-helpers, boost-winapi
Description: Boost process module
diff --git a/ports/boost-process/portfile.cmake b/ports/boost-process/portfile.cmake
index 3b5fac7cf..d59399e5f 100644
--- a/ports/boost-process/portfile.cmake
+++ b/ports/boost-process/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/process
- REF boost-1.66.0
- SHA512 4e9b4709c9c46eade2b2ac572b323928cbb793168b3a6ae78387ce7f224daa6a8358c8902547066f5ab2ab34705cb2b1a854cc33144e5459ce95acee96be1d6e
+ REF boost-1.67.0
+ SHA512 a279fcd351c2f8a2087438b67e973f74e150c24585cf586fd59f81c0ec712f8c042768549823268618c7c9c106ed5d8153a7d020fc415ac40f5d78a2a7e93bb6
HEAD_REF master
)
diff --git a/ports/boost-program-options/CONTROL b/ports/boost-program-options/CONTROL
index b43937e55..f37b745ba 100644
--- a/ports/boost-program-options/CONTROL
+++ b/ports/boost-program-options/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-program-options
-Version: 1.66.0
-Build-Depends: boost-any, boost-bind, boost-build, boost-modular-build-helper, boost-compatibility, boost-config, boost-core, boost-detail, boost-function, boost-iterator, boost-lexical-cast, boost-math, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-tokenizer, boost-type-traits, boost-vcpkg-helpers
+Version: 1.67.0
+Build-Depends: boost-any, boost-bind, boost-build, boost-compatibility, boost-config, boost-core, boost-detail, boost-function, boost-iterator, boost-lexical-cast, boost-math, boost-modular-build-helper, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-tokenizer, boost-type-traits, boost-vcpkg-helpers
Description: Boost program_options module
diff --git a/ports/boost-program-options/portfile.cmake b/ports/boost-program-options/portfile.cmake
index 2eb6086f1..4f8624361 100644
--- a/ports/boost-program-options/portfile.cmake
+++ b/ports/boost-program-options/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/program_options
- REF boost-1.66.0
- SHA512 8c196b4c784def8cedb9c591e364e1759d1c90ff41a536c4c2f0dcc4cae58fb82ab3b6640438b6e98988eba7f6517e2baa5ce67738e9aad7db5924b71a7937fe
+ REF boost-1.67.0
+ SHA512 eccb93bbc8ba6808afb06764577184c3b58cb260e0a5ead5a79c43300379744b4c9649ecf18b9c88b3c22c9f1a28d4c7bcf77f638693a97f38bfd15e48b58804
HEAD_REF master
)
diff --git a/ports/boost-property-map/CONTROL b/ports/boost-property-map/CONTROL
index 2b88e8c12..f8142fa41 100644
--- a/ports/boost-property-map/CONTROL
+++ b/ports/boost-property-map/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-property-map
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-any, boost-assert, boost-bind, boost-concept-check, boost-config, boost-core, boost-detail, boost-function, boost-integer, boost-iterator, boost-lexical-cast, boost-math, boost-mpl, boost-multi-index, boost-optional, boost-serialization, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers
Description: Boost property_map module
diff --git a/ports/boost-property-map/portfile.cmake b/ports/boost-property-map/portfile.cmake
index 6f6739aa9..c2c4561fd 100644
--- a/ports/boost-property-map/portfile.cmake
+++ b/ports/boost-property-map/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/property_map
- REF boost-1.66.0
- SHA512 3a935f14bf87a8c469b39a9fc4457f11d932caede6558d49868073ad35113a6285c48fed4fe3f2e6c8d743f1cf28ac0e8c4bb83b230a55035a89a60e24d43441
+ REF boost-1.67.0
+ SHA512 07360357577815c6545473d3b5ac64e6851031cc926bcc72419e0bbc49b291477a1e15663e79916044f2e8b946dee397dc1aede7eb2286d506fd86c87e81db48
HEAD_REF master
)
diff --git a/ports/boost-property-tree/CONTROL b/ports/boost-property-tree/CONTROL
index c1f329ea3..cbb168eae 100644
--- a/ports/boost-property-tree/CONTROL
+++ b/ports/boost-property-tree/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-property-tree
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-any, boost-assert, boost-bind, boost-compatibility, boost-config, boost-core, boost-format, boost-iterator, boost-mpl, boost-multi-index, boost-optional, boost-range, boost-serialization, boost-static-assert, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers
Description: Boost property_tree module
diff --git a/ports/boost-property-tree/portfile.cmake b/ports/boost-property-tree/portfile.cmake
index 8632df529..8a87f7410 100644
--- a/ports/boost-property-tree/portfile.cmake
+++ b/ports/boost-property-tree/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/property_tree
- REF boost-1.66.0
- SHA512 257f3ae750d71c82c0585766e1a35ac90dfced98fdccde8fe5fc504f26e42e7c6629c83fa6cae098271f7cf0cbe669f00246248b548740b303e32c63e79b0492
+ REF boost-1.67.0
+ SHA512 b22b596af0a6a39a4671c44aa099cd4c2235a5f51e1400f14df2925a5a17487d8910253228c61b1198f0184e58e6e2940c7fde5c193549c21efe737bed363d67
HEAD_REF master
)
diff --git a/ports/boost-proto/CONTROL b/ports/boost-proto/CONTROL
index 3fc404fa4..9b6adca8f 100644
--- a/ports/boost-proto/CONTROL
+++ b/ports/boost-proto/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-proto
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-config, boost-core, boost-detail, boost-fusion, boost-mpl, boost-preprocessor, boost-range, boost-static-assert, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers
Description: Boost proto module
diff --git a/ports/boost-proto/portfile.cmake b/ports/boost-proto/portfile.cmake
index c6ba949a2..34691bdf3 100644
--- a/ports/boost-proto/portfile.cmake
+++ b/ports/boost-proto/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/proto
- REF boost-1.66.0
- SHA512 bf15dc60d07be6e0198c3afd9ca232561e7e919957a0c28b8558bc6bea25e9c3b64af7efa573daeda657e8f6657dc3c11570776261dc29cc4e50356a5b67333a
+ REF boost-1.67.0
+ SHA512 ed20abaad9b61d9a82f544a9ae3d05e1f908551958ea0a86b6325a2440a30c94c30caddc5354b603428df070a9eb418adad487d2cc3f2ea0c9a4bf361e8b2ca8
HEAD_REF master
)
diff --git a/ports/boost-ptr-container/CONTROL b/ports/boost-ptr-container/CONTROL
index d55c82ae0..9c664a05d 100644
--- a/ports/boost-ptr-container/CONTROL
+++ b/ports/boost-ptr-container/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-ptr-container
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-array, boost-assert, boost-circular-buffer, boost-config, boost-core, boost-iterator, boost-mpl, boost-range, boost-serialization, boost-smart-ptr, boost-static-assert, boost-type-traits, boost-unordered, boost-utility, boost-vcpkg-helpers
Description: Boost ptr_container module
diff --git a/ports/boost-ptr-container/portfile.cmake b/ports/boost-ptr-container/portfile.cmake
index 8191f2c41..0f1892dda 100644
--- a/ports/boost-ptr-container/portfile.cmake
+++ b/ports/boost-ptr-container/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/ptr_container
- REF boost-1.66.0
- SHA512 4a90951b6467a4bc97ef9426b1a3d29178084c3033664ef1717926592e515d446b4a8f0c42d1bb640d7a82d7219514f5370f16744bbd8bfbc922b2f5b2c85180
+ REF boost-1.67.0
+ SHA512 d8349a2b3ebff817ffc42301b61d13536c341def39dd3ec9bf5f5abfa0c7ad545f6b5f8babd3cc276b7c171e55760ea2d0a03dcc0653ac7a245246c89d1b7117
HEAD_REF master
)
diff --git a/ports/boost-python/CONTROL b/ports/boost-python/CONTROL
index f59353af7..36bb42387 100644
--- a/ports/boost-python/CONTROL
+++ b/ports/boost-python/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-python
-Version: 1.66.0-1
+Version: 1.67.0-1
Build-Depends: boost-bind, boost-config, boost-core, boost-detail, boost-graph, boost-integer, boost-iterator, boost-mpl, boost-preprocessor, boost-property-map, boost-smart-ptr, boost-static-assert, boost-tuple, boost-utility, boost-vcpkg-helpers, python3
Description: Boost python module
diff --git a/ports/boost-python/portfile.cmake b/ports/boost-python/portfile.cmake
index db55b3e7b..73980e640 100644
--- a/ports/boost-python/portfile.cmake
+++ b/ports/boost-python/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/python
- REF boost-1.66.0
- SHA512 3a16f16c19bf8a97c10db5c4a39385646a49ed794e9f7a0030181c0fb163671306ca92714aeea6440f60d043736ea4c15d1256fb418f18aea164c2d09420774f
+ REF boost-1.67.0
+ SHA512 59091af63626cc6e33f76bded8733b5fb044f7139197e6c887e8e279831954c1e8b67341b6b2f3c9dce97e67a166996321ea439609d225dab7f68762423d6211
HEAD_REF master
)
diff --git a/ports/boost-qvm/CONTROL b/ports/boost-qvm/CONTROL
index a7521d4ab..ee0044271 100644
--- a/ports/boost-qvm/CONTROL
+++ b/ports/boost-qvm/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-qvm
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-assert, boost-exception, boost-static-assert, boost-throw-exception, boost-utility, boost-vcpkg-helpers
Description: Boost qvm module
diff --git a/ports/boost-qvm/portfile.cmake b/ports/boost-qvm/portfile.cmake
index b16d419d5..014723f28 100644
--- a/ports/boost-qvm/portfile.cmake
+++ b/ports/boost-qvm/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/qvm
- REF boost-1.66.0
- SHA512 b7c1db0f7db316e6f2094185497deaf58fe45f9a11517c76a66bec65d9ee9f32167bccb36ad8388c0f06649067a89e5b1c3894af0a4b4b327ee51ae29dd86c50
+ REF boost-1.67.0
+ SHA512 dce723e782bb19737a51e99c3535ab7101569ad217a475b25c742d4a35fd774d5b02883a3604b75a4141f8cbb385c82ed1496051032d1d993fb6218549885095
HEAD_REF master
)
diff --git a/ports/boost-random/CONTROL b/ports/boost-random/CONTROL
index 1efeeaafa..e9f682433 100644
--- a/ports/boost-random/CONTROL
+++ b/ports/boost-random/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-random
-Version: 1.66.0
-Build-Depends: boost-assert, boost-build, boost-modular-build-helper, boost-compatibility, boost-config, boost-core, boost-detail, boost-integer, boost-math, boost-mpl, boost-range, boost-static-assert, boost-system, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers
+Version: 1.67.0
+Build-Depends: boost-assert, boost-build, boost-compatibility, boost-config, boost-core, boost-detail, boost-integer, boost-io, boost-math, boost-modular-build-helper, boost-mpl, boost-range, boost-static-assert, boost-system, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers
Description: Boost random module
diff --git a/ports/boost-random/portfile.cmake b/ports/boost-random/portfile.cmake
index ec99fec55..6112ed2c3 100644
--- a/ports/boost-random/portfile.cmake
+++ b/ports/boost-random/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/random
- REF boost-1.66.0
- SHA512 ca62697080e059fa8b01e364b07fdb99bb7db078c2a5683e0f67d89705530276331a5f8706307b14b49f2621d1c158e0d1b9188aee54ab8852bab7800ca18b3e
+ REF boost-1.67.0
+ SHA512 482a25fed9c420407cb83c8003a78dc518bb3942e23c3b206a0f0e050148fbed91aa0526b78614189d162d7c65d7a3ffb566a1735b23e1d0d5d592af0cdc499f
HEAD_REF master
)
diff --git a/ports/boost-range/CONTROL b/ports/boost-range/CONTROL
index 2cf963bef..a9c7421ea 100644
--- a/ports/boost-range/CONTROL
+++ b/ports/boost-range/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-range
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-array, boost-assert, boost-concept-check, boost-config, boost-core, boost-detail, boost-functional, boost-integer, boost-iterator, boost-mpl, boost-optional, boost-preprocessor, boost-regex, boost-static-assert, boost-tuple, boost-type-traits, boost-utility, boost-vcpkg-helpers
Description: Boost range module
diff --git a/ports/boost-range/portfile.cmake b/ports/boost-range/portfile.cmake
index 7b676d431..c649c87ff 100644
--- a/ports/boost-range/portfile.cmake
+++ b/ports/boost-range/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/range
- REF boost-1.66.0
- SHA512 98b050cb3e4249c72222d0efac4edbf4cb62ff303dd1634e7e76fea7dff19c62eceb837e8cffbd088fb28b16b98e923f62c7220d5ff424f3c82383a78df97785
+ REF boost-1.67.0
+ SHA512 f6c400a40937b09eee02eecbd579d67530fd4cae5f5f9a02cd3914cbcf6d4170870fa6c05a5a018e070f9ddc8c75c43dd93171f57a032ff5294ed19a3cc299af
HEAD_REF master
)
diff --git a/ports/boost-ratio/CONTROL b/ports/boost-ratio/CONTROL
index 801212d8c..a58bbdab0 100644
--- a/ports/boost-ratio/CONTROL
+++ b/ports/boost-ratio/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-ratio
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-config, boost-core, boost-integer, boost-mpl, boost-rational, boost-static-assert, boost-type-traits, boost-vcpkg-helpers
Description: Boost ratio module
diff --git a/ports/boost-ratio/portfile.cmake b/ports/boost-ratio/portfile.cmake
index a39d80204..45caa9299 100644
--- a/ports/boost-ratio/portfile.cmake
+++ b/ports/boost-ratio/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/ratio
- REF boost-1.66.0
- SHA512 caa2ed8f01d6f99aaa8ab8bc52c0f9a8cf2551585760abf6e1d0f129c77c58f3b68569a0db6917c0a40a38faf63935ae23e482b96a2417bd7cb3d5f61e59d887
+ REF boost-1.67.0
+ SHA512 0ff5a25d9e9798c52cc017df6a7b52a2c13becb84ab6dda06244a92459f1602ff3843e71cda205ed9c831b4727929cbebc688e8b028e029005ffb8f04e39f259
HEAD_REF master
)
diff --git a/ports/boost-rational/CONTROL b/ports/boost-rational/CONTROL
index f78bf6029..fcc4de99f 100644
--- a/ports/boost-rational/CONTROL
+++ b/ports/boost-rational/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-rational
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-assert, boost-config, boost-integer, boost-static-assert, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers
Description: Boost rational module
diff --git a/ports/boost-rational/portfile.cmake b/ports/boost-rational/portfile.cmake
index 437d650fa..5ced46770 100644
--- a/ports/boost-rational/portfile.cmake
+++ b/ports/boost-rational/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/rational
- REF boost-1.66.0
- SHA512 e61b85344d3418484c044ac0d3946059a3a341cab490d1a54dbee241946c7cb5882e30fcd5e8c9a919622cee69828108d2f7dc578eae51f31c5fb1217deff152
+ REF boost-1.67.0
+ SHA512 27fece61a7de96bf783a5f5d5b290934f76741848466fbe256c5517fb5671105d68e3126fd4b135c73a0290cbd81cff9849b599d14cdd948897d1ecc573ab016
HEAD_REF master
)
diff --git a/ports/boost-regex/CONTROL b/ports/boost-regex/CONTROL
index efd3e7f7e..edfbe8672 100644
--- a/ports/boost-regex/CONTROL
+++ b/ports/boost-regex/CONTROL
@@ -1,7 +1,7 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-regex
-Version: 1.66.0
-Build-Depends: boost-assert, boost-build, boost-modular-build-helper, boost-compatibility, boost-concept-check, boost-config, boost-core, boost-detail, boost-functional, boost-integer, boost-iterator, boost-mpl, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-type-traits, boost-vcpkg-helpers
+Version: 1.67.0
+Build-Depends: boost-assert, boost-build, boost-compatibility, boost-concept-check, boost-config, boost-container-hash, boost-core, boost-detail, boost-functional, boost-integer, boost-iterator, boost-modular-build-helper, boost-mpl, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-type-traits, boost-vcpkg-helpers
Description: Boost regex module
Feature: icu
diff --git a/ports/boost-regex/portfile.cmake b/ports/boost-regex/portfile.cmake
index 58cd529cd..8895931d6 100644
--- a/ports/boost-regex/portfile.cmake
+++ b/ports/boost-regex/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/regex
- REF boost-1.66.0
- SHA512 def00fc4876fd83a2581eea15228940a665cb79eff26e979079b5df568952f144b74da2f41ddffe6792784fe3fceca94d7b0f49d1a7f01a4df78948244fe86b1
+ REF boost-1.67.0
+ SHA512 e3b3aaaf866aa9e6a4148c545f4d4a4ab8037dc8882ed7cd4eecd7727976d1a137a4c4e5599283f5d6f3616e865369d80733070f571fdb990555e4769f59ab83
HEAD_REF master
)
diff --git a/ports/boost-scope-exit/CONTROL b/ports/boost-scope-exit/CONTROL
index a94cb9fd6..fff7088b2 100644
--- a/ports/boost-scope-exit/CONTROL
+++ b/ports/boost-scope-exit/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-scope-exit
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-config, boost-detail, boost-function, boost-mpl, boost-preprocessor, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers
Description: Boost scope_exit module
diff --git a/ports/boost-scope-exit/portfile.cmake b/ports/boost-scope-exit/portfile.cmake
index 1c31b1002..61add4866 100644
--- a/ports/boost-scope-exit/portfile.cmake
+++ b/ports/boost-scope-exit/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/scope_exit
- REF boost-1.66.0
- SHA512 cb46dee821cf9f873eac9d8e937773a44c9e77b7c9972d064e1cc7b9f95e8b06509da29e2357c479f70993aae25756de1dad5d6639690f4390d466deef75b8da
+ REF boost-1.67.0
+ SHA512 31386f5e44669a01c3396df8fa001c85c7c6231413f4ed788602bb2861db3535e0ed01c61c4b9bdccdcc0020ce92dbbf2bc02711abbbf8dbafe089305d21fb5a
HEAD_REF master
)
diff --git a/ports/boost-serialization/CONTROL b/ports/boost-serialization/CONTROL
index ae97a8c30..d2c4357be 100644
--- a/ports/boost-serialization/CONTROL
+++ b/ports/boost-serialization/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-serialization
-Version: 1.66.0
-Build-Depends: boost-array, boost-assert, boost-build, boost-modular-build-helper, boost-compatibility, boost-config, boost-core, boost-detail, boost-function, boost-integer, boost-io, boost-iterator, boost-move, boost-mpl, boost-optional, boost-preprocessor, boost-smart-ptr, boost-spirit, boost-static-assert, boost-type-traits, boost-unordered, boost-utility, boost-variant, boost-vcpkg-helpers
+Version: 1.67.0
+Build-Depends: boost-array, boost-assert, boost-build, boost-compatibility, boost-config, boost-core, boost-detail, boost-function, boost-integer, boost-io, boost-iterator, boost-modular-build-helper, boost-move, boost-mpl, boost-optional, boost-preprocessor, boost-smart-ptr, boost-spirit, boost-static-assert, boost-type-traits, boost-unordered, boost-utility, boost-variant, boost-vcpkg-helpers
Description: Boost serialization module
diff --git a/ports/boost-serialization/portfile.cmake b/ports/boost-serialization/portfile.cmake
index 2349283f2..b8229d3ec 100644
--- a/ports/boost-serialization/portfile.cmake
+++ b/ports/boost-serialization/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/serialization
- REF boost-1.66.0
- SHA512 8d4908a1eba309c8e752f07e123d0c6d461e3ce87db3b3afbf4ae56340c1ead6ac874be392d8270b167be28d7dc515f98abece091b081fd4794cb375f9779880
+ REF boost-1.67.0
+ SHA512 719b69945ebdf9eca9849c74bfab38ce1e2c8b4a11ea7cdf98c3da6250887f1712c841b18e428c5bac421b007e3bd0efce9b2c12893395982df98826621dc3bc
HEAD_REF master
)
diff --git a/ports/boost-signals/CONTROL b/ports/boost-signals/CONTROL
index 160f73c51..47f3c2382 100644
--- a/ports/boost-signals/CONTROL
+++ b/ports/boost-signals/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-signals
-Version: 1.66.0
-Build-Depends: boost-any, boost-build, boost-modular-build-helper, boost-config, boost-core, boost-function, boost-iterator, boost-optional, boost-smart-ptr, boost-type-traits, boost-utility, boost-vcpkg-helpers
+Version: 1.67.0
+Build-Depends: boost-any, boost-build, boost-config, boost-core, boost-function, boost-iterator, boost-modular-build-helper, boost-optional, boost-smart-ptr, boost-type-traits, boost-utility, boost-vcpkg-helpers
Description: Boost signals module
diff --git a/ports/boost-signals/portfile.cmake b/ports/boost-signals/portfile.cmake
index a2453b0b5..32d456803 100644
--- a/ports/boost-signals/portfile.cmake
+++ b/ports/boost-signals/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/signals
- REF boost-1.66.0
- SHA512 4a857c2f272ccd5feef7549a9344444e30de71ca49f33d42415aad3af0659534cc46490082a3ab9d52f3bced7635cbb17b6db16216a13a4df79349f01a0fe636
+ REF boost-1.67.0
+ SHA512 420281efef7ad8742ead144e924b21a8aaac500e8075c0bdf9e1d835d2069b4514f9d0af9ff9b00270334413cbe501acee7cb3eb7a218a53aed0479ff4e8367b
HEAD_REF master
)
diff --git a/ports/boost-signals2/CONTROL b/ports/boost-signals2/CONTROL
index 749be6f6b..0d90874ba 100644
--- a/ports/boost-signals2/CONTROL
+++ b/ports/boost-signals2/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-signals2
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-assert, boost-bind, boost-config, boost-core, boost-detail, boost-function, boost-iterator, boost-mpl, boost-multi-index, boost-optional, boost-parameter, boost-predef, boost-preprocessor, boost-smart-ptr, boost-throw-exception, boost-tuple, boost-type-traits, boost-utility, boost-variant, boost-vcpkg-helpers
Description: Boost signals2 module
diff --git a/ports/boost-signals2/portfile.cmake b/ports/boost-signals2/portfile.cmake
index 992a410c9..56ee81f08 100644
--- a/ports/boost-signals2/portfile.cmake
+++ b/ports/boost-signals2/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/signals2
- REF boost-1.66.0
- SHA512 e49e263836db77603b256b45c8d764b91d2ff9b1bcfa36e6b446fbaf0be2e7135b715cf00795d0a98ade48f3ff574c54fadfa58faae330261c58642c0dfaf39a
+ REF boost-1.67.0
+ SHA512 5c691c9275ac2f640a46a1f5a03debd326ce1c64905af6475ebe6caced3ffa4fe27a3a6b91ce60c72bcf06fcd5fbeba79afaef8314f2be655b1ad648d5a046e4
HEAD_REF master
)
diff --git a/ports/boost-smart-ptr/CONTROL b/ports/boost-smart-ptr/CONTROL
index a4451ef05..6a6f5fb28 100644
--- a/ports/boost-smart-ptr/CONTROL
+++ b/ports/boost-smart-ptr/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-smart-ptr
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-assert, boost-config, boost-core, boost-detail, boost-integer, boost-move, boost-predef, boost-static-assert, boost-throw-exception, boost-type-traits, boost-vcpkg-helpers
Description: Boost smart_ptr module
diff --git a/ports/boost-smart-ptr/portfile.cmake b/ports/boost-smart-ptr/portfile.cmake
index de74fd25d..a83bc4a22 100644
--- a/ports/boost-smart-ptr/portfile.cmake
+++ b/ports/boost-smart-ptr/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/smart_ptr
- REF boost-1.66.0
- SHA512 d45d925531c5060cabd5a949612c3d1358ca92120253c04a755390fc5be80fae2f756cb358b636cf0a86d3091e5c27574a4e4f340ece94a8291acab4a0b4c8a0
+ REF boost-1.67.0
+ SHA512 f8e9aaf7dce69fa21c1023bd990cc10957e2965261c9ac54cc4a045a6a4675f9e6a4796ec2e359f967d9670126434ec49ff0ba72fec0d041a86a569463e16d4c
HEAD_REF master
)
diff --git a/ports/boost-sort/CONTROL b/ports/boost-sort/CONTROL
index 6f13d05a2..9a52c06cc 100644
--- a/ports/boost-sort/CONTROL
+++ b/ports/boost-sort/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-sort
-Version: 1.66.0
-Build-Depends: boost-integer, boost-serialization, boost-static-assert, boost-type-traits, boost-utility, boost-vcpkg-helpers
+Version: 1.67.0
+Build-Depends: boost-integer, boost-range, boost-serialization, boost-static-assert, boost-type-traits, boost-utility, boost-vcpkg-helpers
Description: Boost sort module
diff --git a/ports/boost-sort/portfile.cmake b/ports/boost-sort/portfile.cmake
index e5e63b33d..a8f999030 100644
--- a/ports/boost-sort/portfile.cmake
+++ b/ports/boost-sort/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/sort
- REF boost-1.66.0
- SHA512 0c4d252cf92f46b402be2d9f46f4c4b052dbbb85c83cb7e78a9f75a2e2d14225614f97f3b4e91205d55f224faef2baf939c28fb935d9dbfa140aa7a9c51836df
+ REF boost-1.67.0
+ SHA512 dfd8f61aa342c226a88390f8b05d394fd8c019ebc8d008dbb3022bca4716d4e9623e9d2024fd3143ead3de89441b470dc234252b96d80dcd3d6e2be5ce4bd090
HEAD_REF master
)
diff --git a/ports/boost-spirit/CONTROL b/ports/boost-spirit/CONTROL
index ed71760c0..ee973c0b4 100644
--- a/ports/boost-spirit/CONTROL
+++ b/ports/boost-spirit/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-spirit
-Version: 1.66.0
-Build-Depends: boost-algorithm, boost-array, boost-assert, boost-compatibility, boost-concept-check, boost-config, boost-core, boost-detail, boost-endian, boost-filesystem (windows), boost-foreach, boost-function, boost-function-types, boost-fusion, boost-integer, boost-io, boost-iostreams (windows), boost-iterator, boost-lexical-cast, boost-locale (windows), boost-math, boost-move, boost-mpl, boost-optional, boost-phoenix, boost-pool, boost-preprocessor, boost-proto, boost-range, boost-regex, boost-smart-ptr, boost-static-assert, boost-thread (windows), boost-throw-exception, boost-tti, boost-typeof, boost-type-traits, boost-unordered, boost-utility, boost-variant, boost-vcpkg-helpers
+Version: 1.67.0
+Build-Depends: boost-algorithm, boost-array, boost-assert, boost-compatibility, boost-concept-check, boost-config, boost-core, boost-detail, boost-endian, boost-filesystem (!uwp), boost-foreach, boost-function, boost-function-types, boost-fusion, boost-integer, boost-io, boost-iostreams (!uwp), boost-iterator, boost-lexical-cast, boost-locale (!uwp), boost-math, boost-move, boost-mpl, boost-optional, boost-phoenix, boost-pool, boost-preprocessor, boost-proto, boost-range, boost-regex, boost-smart-ptr, boost-static-assert, boost-thread (!uwp), boost-throw-exception, boost-tti, boost-typeof, boost-type-traits, boost-unordered, boost-utility, boost-variant, boost-vcpkg-helpers
Description: Boost spirit module
diff --git a/ports/boost-spirit/portfile.cmake b/ports/boost-spirit/portfile.cmake
index 0a5ebf5aa..f7b3f04f8 100644
--- a/ports/boost-spirit/portfile.cmake
+++ b/ports/boost-spirit/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/spirit
- REF boost-1.66.0
- SHA512 c02594dc732d8ad8d23b1ed94f7aea05e3a339d0189a224340ea882b0de68f10820ad40886e040269ce4e08a558806c48662acba0bf00d95b8cafb5a7ce0057b
+ REF boost-1.67.0
+ SHA512 c5afd70ff38112232966e204e543b83316693a941f9da0300e9214ad3198601c805b2259f7e9ce58afc03b9e91403d98f94852b0e4eaa71b9e94157ca37aac9b
HEAD_REF master
)
diff --git a/ports/boost-stacktrace/CONTROL b/ports/boost-stacktrace/CONTROL
index 9979ef4e1..bba967212 100644
--- a/ports/boost-stacktrace/CONTROL
+++ b/ports/boost-stacktrace/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-stacktrace
-Version: 1.66.0
-Build-Depends: boost-array, boost-build, boost-modular-build-helper, boost-config, boost-core, boost-lexical-cast, boost-math, boost-static-assert, boost-type-traits, boost-vcpkg-helpers, boost-winapi
+Version: 1.67.0
+Build-Depends: boost-array, boost-build, boost-config, boost-container-hash, boost-core, boost-lexical-cast, boost-math, boost-modular-build-helper, boost-static-assert, boost-type-traits, boost-vcpkg-helpers, boost-winapi
Description: Boost stacktrace module
diff --git a/ports/boost-stacktrace/portfile.cmake b/ports/boost-stacktrace/portfile.cmake
index 34c6e6d31..5cb9ac5bc 100644
--- a/ports/boost-stacktrace/portfile.cmake
+++ b/ports/boost-stacktrace/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/stacktrace
- REF boost-1.66.0
- SHA512 40b96f7c1fdaf5a5909148d7edd4f77b4991ead70d5350bc7c8451781c80020496b14688c0dff365b75941a1ba16244246a52b6a708f4b1f79c99f4d8a0556f0
+ REF boost-1.67.0
+ SHA512 30e425d113c155b7a1a9f5802ce5c0efa91223825e09bf6dc596e208b1fec7e1adacbabe6950f5d35037a8bd4e2c3841e95cb9a02419a652beabfb083c460edc
HEAD_REF master
)
diff --git a/ports/boost-statechart/CONTROL b/ports/boost-statechart/CONTROL
index eafbc2db4..b98913b82 100644
--- a/ports/boost-statechart/CONTROL
+++ b/ports/boost-statechart/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-statechart
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-assert, boost-bind, boost-config, boost-conversion, boost-core, boost-detail, boost-function, boost-mpl, boost-smart-ptr, boost-static-assert, boost-type-traits, boost-vcpkg-helpers
Description: Boost statechart module
diff --git a/ports/boost-statechart/portfile.cmake b/ports/boost-statechart/portfile.cmake
index 61680bd2b..a76882124 100644
--- a/ports/boost-statechart/portfile.cmake
+++ b/ports/boost-statechart/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/statechart
- REF boost-1.66.0
- SHA512 c9e20deca66f896eee004d19be388857817b2d4bdf49a9a146625de091420399a7098a6ecb2020ce07a96b11092922f4623159434b04983072dad8b91d2d7187
+ REF boost-1.67.0
+ SHA512 2b63d4664b3fc20adf12106607ef1485700d5aeea9bbfc9005a9ac08984034a8a31c037a4ae3e99b4787187ed797844d26afb1140f73ef5009504549be64a6cf
HEAD_REF master
)
diff --git a/ports/boost-static-assert/CONTROL b/ports/boost-static-assert/CONTROL
index e4719ff49..58be1dfc7 100644
--- a/ports/boost-static-assert/CONTROL
+++ b/ports/boost-static-assert/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-static-assert
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-config, boost-detail, boost-vcpkg-helpers
Description: Boost static_assert module
diff --git a/ports/boost-static-assert/portfile.cmake b/ports/boost-static-assert/portfile.cmake
index 2598280af..125f80bbb 100644
--- a/ports/boost-static-assert/portfile.cmake
+++ b/ports/boost-static-assert/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/static_assert
- REF boost-1.66.0
- SHA512 97e0007ffef86578f4877744947e4c7d90de932719df25a38a72c018112b9b6d6d2fbdbef9307c02d1d85e5d8733a0f20a903c0fc623ef969afc788cfdf8722b
+ REF boost-1.67.0
+ SHA512 6ffffe8c9bb799851dd5b3f03ec3038c7545ee55429a2c9124c6b7c5abbe43b8cb0cc860d758fbbeaa1810775da8f0ad1bfd25362a78866c1ecf5242bdb548eb
HEAD_REF master
)
diff --git a/ports/boost-system/CONTROL b/ports/boost-system/CONTROL
index 953782bfb..01985fbe6 100644
--- a/ports/boost-system/CONTROL
+++ b/ports/boost-system/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-system
-Version: 1.66.0
-Build-Depends: boost-assert, boost-build, boost-modular-build-helper, boost-config, boost-core, boost-integer, boost-predef, boost-utility, boost-vcpkg-helpers, boost-winapi
+Version: 1.67.0
+Build-Depends: boost-assert, boost-build, boost-config, boost-core, boost-integer, boost-modular-build-helper, boost-predef, boost-utility, boost-vcpkg-helpers, boost-winapi
Description: Boost system module
diff --git a/ports/boost-system/portfile.cmake b/ports/boost-system/portfile.cmake
index bc35d0d93..d61109754 100644
--- a/ports/boost-system/portfile.cmake
+++ b/ports/boost-system/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/system
- REF boost-1.66.0
- SHA512 97181610bc577182cb83c55b7c5d73aec6794543c0a7b43b4d08c7a1ed9936500f383038dbda1c0876f58d52c000f8b2e4a6bc1f68d14c7d9f015918f1c46851
+ REF boost-1.67.0
+ SHA512 3d7c8d9e0c4f3f5be95cf897e265adb1f2c96faa5dbc13b8050f988ddc94b9510531718b1726b147ab3484bff1ccf7bf18179084dcea968dcf80fd2f1c68686c
HEAD_REF master
)
diff --git a/ports/boost-test/CONTROL b/ports/boost-test/CONTROL
index 95b0d8fe9..182c9ccf6 100644
--- a/ports/boost-test/CONTROL
+++ b/ports/boost-test/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-test
-Version: 1.66.0-2
-Build-Depends: boost-algorithm, boost-assert, boost-bind, boost-build, boost-modular-build-helper, boost-compatibility, boost-config, boost-core, boost-detail, boost-exception, boost-function, boost-io, boost-iterator, boost-mpl, boost-numeric-conversion, boost-optional, boost-preprocessor, boost-range, boost-smart-ptr, boost-static-assert, boost-timer, boost-type-traits, boost-utility, boost-vcpkg-helpers
+Version: 1.67.0-2
+Build-Depends: boost-algorithm, boost-assert, boost-bind, boost-build, boost-compatibility, boost-config, boost-core, boost-detail, boost-exception, boost-function, boost-io, boost-iterator, boost-modular-build-helper, boost-mpl, boost-numeric-conversion, boost-optional, boost-preprocessor, boost-smart-ptr, boost-static-assert, boost-timer, boost-type-traits, boost-utility, boost-vcpkg-helpers
Description: Boost test module
diff --git a/ports/boost-test/portfile.cmake b/ports/boost-test/portfile.cmake
index acb28c7d4..d5834c60d 100644
--- a/ports/boost-test/portfile.cmake
+++ b/ports/boost-test/portfile.cmake
@@ -5,16 +5,20 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/test
- REF boost-1.66.0
- SHA512 f5f0557fc7afb1c085765edda5ec37ce2a0f31aa39c861a7979dfd5344751978139cc3eef44d773140e4b023c0123065169fc11ae889ca1ea51f58bdf5018a5d
+ REF boost-1.67.0
+ SHA512 9af937ef02982039b5aab54e142b877fef6c46f71b7cc8c83d81f850f4b4229ee93425ab8a88e6888952686e1e23da6591da072432a06c1bceae83c793a43cf5
HEAD_REF master
)
+file(READ "${SOURCE_PATH}/build/Jamfile.v2" _contents)
+string(REPLACE "import ../../predef/check/predef" "import predef/check/predef" _contents "${_contents}")
+file(WRITE "${SOURCE_PATH}/build/Jamfile.v2" "${_contents}")
+file(COPY "${CURRENT_INSTALLED_DIR}/share/boost-predef/check" DESTINATION "${SOURCE_PATH}/build/predef")
+
include(${CURRENT_INSTALLED_DIR}/share/boost-build/boost-modular-build.cmake)
boost_modular_build(SOURCE_PATH ${SOURCE_PATH})
include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake)
boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
-
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/lib/manual-link)
file(GLOB MONITOR_LIBS ${CURRENT_PACKAGES_DIR}/lib/*_exec_monitor*)
@@ -28,3 +32,4 @@ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
file(COPY ${DEBUG_MONITOR_LIBS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link)
file(REMOVE ${DEBUG_MONITOR_LIBS})
endif()
+
diff --git a/ports/boost-thread/CONTROL b/ports/boost-thread/CONTROL
index 33bc787a1..6eeb13ebc 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.66.0
-Build-Depends: boost-algorithm, boost-assert, boost-atomic, boost-bind, boost-build, boost-modular-build-helper, boost-chrono, boost-concept-check, boost-config, boost-container, boost-core, boost-date-time, boost-detail, boost-exception, boost-function, boost-functional, boost-integer, boost-intrusive, boost-io, boost-lexical-cast, boost-math, 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
+Version: 1.67.0
+Build-Depends: boost-algorithm, boost-assert, boost-atomic, boost-bind, boost-build, boost-chrono, boost-concept-check, boost-config, boost-container, boost-core, boost-date-time, boost-detail, boost-exception, boost-function, boost-functional, 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/b2-options.cmake b/ports/boost-thread/b2-options.cmake
new file mode 100644
index 000000000..07acc10b5
--- /dev/null
+++ b/ports/boost-thread/b2-options.cmake
@@ -0,0 +1 @@
+list(APPEND B2_OPTIONS /boost/thread//boost_thread)
diff --git a/ports/boost-thread/portfile.cmake b/ports/boost-thread/portfile.cmake
index e1f0a0c2f..30f203d31 100644
--- a/ports/boost-thread/portfile.cmake
+++ b/ports/boost-thread/portfile.cmake
@@ -5,12 +5,17 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/thread
- REF boost-1.66.0
- SHA512 35875d3feb64617b74ef1303939a9e0f8d72b9b2d7361e9a25c54431c60c17b481023006f2329e4cd8dd37206553991e40a12a20bb479ec497c475240e19776b
+ REF boost-1.67.0
+ SHA512 e641484c2d021d0a8b77955bd9ee7f53f4a4c7f003b9260aa17c78b236a8cda4b1ec59c9fb16aab823b7be9d6da6a67c2d333308d8b1d5c9bbaa6a0de9018479
HEAD_REF master
)
include(${CURRENT_INSTALLED_DIR}/share/boost-build/boost-modular-build.cmake)
-boost_modular_build(SOURCE_PATH ${SOURCE_PATH} REQUIREMENTS "<library>/boost/date_time//boost_date_time")
+boost_modular_build(
+ SOURCE_PATH ${SOURCE_PATH}
+ REQUIREMENTS "<library>/boost/date_time//boost_date_time"
+ OPTIONS /boost/thread//boost_thread
+ BOOST_CMAKE_FRAGMENT ${CMAKE_CURRENT_LIST_DIR}/b2-options.cmake
+)
include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake)
boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-throw-exception/CONTROL b/ports/boost-throw-exception/CONTROL
index 61809bb7b..d6b606c78 100644
--- a/ports/boost-throw-exception/CONTROL
+++ b/ports/boost-throw-exception/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-throw-exception
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-config, boost-detail, boost-vcpkg-helpers
Description: Boost throw_exception module
diff --git a/ports/boost-throw-exception/portfile.cmake b/ports/boost-throw-exception/portfile.cmake
index c4e87087e..dca2f1ac4 100644
--- a/ports/boost-throw-exception/portfile.cmake
+++ b/ports/boost-throw-exception/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/throw_exception
- REF boost-1.66.0
- SHA512 46c1683ded42fe9b0cd44711071bee1122dbd0529648f69439cc5391d05e7e22968235bc852878441ad051b6c021b10e319b6337aff28f6acaafca7e70480ef8
+ REF boost-1.67.0
+ SHA512 ce049466973f338071acd51dab620c0a428eb6777384003f5ffc1a90128cf87d7f8283aeb351ca576a8cfabe46e603b7d748fbe2f03b46227b6eb9faf292f106
HEAD_REF master
)
diff --git a/ports/boost-timer/CONTROL b/ports/boost-timer/CONTROL
index b24137fbb..67537375d 100644
--- a/ports/boost-timer/CONTROL
+++ b/ports/boost-timer/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-timer
-Version: 1.66.0
-Build-Depends: boost-build, boost-modular-build-helper, boost-chrono, boost-compatibility, boost-config, boost-core, boost-integer, boost-io, boost-system, boost-throw-exception, boost-vcpkg-helpers
+Version: 1.67.0
+Build-Depends: boost-build, boost-chrono, boost-compatibility, boost-config, boost-core, boost-integer, boost-io, boost-modular-build-helper, boost-system, boost-throw-exception, boost-vcpkg-helpers
Description: Boost timer module
diff --git a/ports/boost-timer/portfile.cmake b/ports/boost-timer/portfile.cmake
index 072b701a7..1f3b9dcda 100644
--- a/ports/boost-timer/portfile.cmake
+++ b/ports/boost-timer/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/timer
- REF boost-1.66.0
- SHA512 2b50d38e3b5ca79014f96eb8fb55d1320c0de97ba2bb632dec946690437f8a1533c3e78e25798a0f49c08a5644f7f55afcd0f85f94bea4e041cddbcd8867450d
+ REF boost-1.67.0
+ SHA512 6028432edbdee4318d3295c9834417d31816efd8e16c5a0bcc41c0b1ffdd422c31eadb01cb0934684421bb07079476ecae41ec64d314c60d19d02ed9d995c682
HEAD_REF master
)
diff --git a/ports/boost-tokenizer/CONTROL b/ports/boost-tokenizer/CONTROL
index 27fb3021b..ed1cb640e 100644
--- a/ports/boost-tokenizer/CONTROL
+++ b/ports/boost-tokenizer/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-tokenizer
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-assert, boost-config, boost-detail, boost-iterator, boost-mpl, boost-throw-exception, boost-vcpkg-helpers
Description: Boost tokenizer module
diff --git a/ports/boost-tokenizer/portfile.cmake b/ports/boost-tokenizer/portfile.cmake
index 4f4c066bf..15ebbe89c 100644
--- a/ports/boost-tokenizer/portfile.cmake
+++ b/ports/boost-tokenizer/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/tokenizer
- REF boost-1.66.0
- SHA512 ce5f6d89fd8b61a5d8074d8cb6bbc3b9a0e3ebf96081c9dda8e67a64b7052f38ebc50581284fa182f83f6f3eb54eee5292f6e79832ffd293ef9a35af2b595a51
+ REF boost-1.67.0
+ SHA512 2240809c63060f267c9b62171fcc1d959a199d8de65647de767c9829068a81e600d9084a8af0681bb09152e82789df2f13975a7ff1f0cd9ab6789347fe3154c6
HEAD_REF master
)
diff --git a/ports/boost-tti/CONTROL b/ports/boost-tti/CONTROL
index bcab1a023..fb2d59aa3 100644
--- a/ports/boost-tti/CONTROL
+++ b/ports/boost-tti/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-tti
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-config, boost-detail, boost-function-types, boost-mpl, boost-preprocessor, boost-type-traits, boost-vcpkg-helpers
Description: Boost tti module
diff --git a/ports/boost-tti/portfile.cmake b/ports/boost-tti/portfile.cmake
index d263b7540..4e15f4095 100644
--- a/ports/boost-tti/portfile.cmake
+++ b/ports/boost-tti/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/tti
- REF boost-1.66.0
- SHA512 8c399d475819b68324e1a56b9ba13a3e26faf175d3180b0317e82212ce4c587d8074c597832165e81a3ed6af09026b7c5433a8cd58b6ad861dad7d9fe1d57eee
+ REF boost-1.67.0
+ SHA512 e46b2a5cfd84c46577c499ee643f62804daf376fecaf15d3425b73d0221ab34dc2f882e31d7f8906adabafd271fc3707c6c5a2d99da8446a88951c4e828567f3
HEAD_REF master
)
diff --git a/ports/boost-tuple/CONTROL b/ports/boost-tuple/CONTROL
index a96059c05..7129158e3 100644
--- a/ports/boost-tuple/CONTROL
+++ b/ports/boost-tuple/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-tuple
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-config, boost-core, boost-static-assert, boost-type-traits, boost-utility, boost-vcpkg-helpers
Description: Boost tuple module
diff --git a/ports/boost-tuple/portfile.cmake b/ports/boost-tuple/portfile.cmake
index 2c4cfe5be..be031628c 100644
--- a/ports/boost-tuple/portfile.cmake
+++ b/ports/boost-tuple/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/tuple
- REF boost-1.66.0
- SHA512 c65bd37871256f1edb1db4d9ac158788c3a76248d7f7ff72eece874ea521d9846d55373e223d783a4c6fe3a524088fe2e4e58e533d1144671e4a1d22443f0414
+ REF boost-1.67.0
+ SHA512 de9e0836ec0f923483d2738de44f1738a5d9c00cd4ea3f0c61192e892bf026d16a5719f874811b04c6e9d27b0ee7ac80a3b88b30198ca06d54df181640b374b8
HEAD_REF master
)
diff --git a/ports/boost-type-erasure/CONTROL b/ports/boost-type-erasure/CONTROL
index 786acf596..579b091a0 100644
--- a/ports/boost-type-erasure/CONTROL
+++ b/ports/boost-type-erasure/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-type-erasure
-Version: 1.66.0
-Build-Depends: boost-assert, boost-build, boost-modular-build-helper, boost-config, boost-detail, boost-fusion, boost-iterator, boost-mpl, boost-preprocessor, boost-smart-ptr, boost-thread (windows), boost-throw-exception, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers
+Version: 1.67.0
+Build-Depends: boost-assert, boost-build, boost-config, boost-detail, boost-fusion, boost-iterator, boost-modular-build-helper, boost-mp11, boost-mpl, boost-preprocessor, boost-smart-ptr, boost-thread (!uwp), boost-throw-exception, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers, boost-vmd
Description: Boost type_erasure module
diff --git a/ports/boost-type-erasure/portfile.cmake b/ports/boost-type-erasure/portfile.cmake
index 95c28afc6..c6c07eb1b 100644
--- a/ports/boost-type-erasure/portfile.cmake
+++ b/ports/boost-type-erasure/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/type_erasure
- REF boost-1.66.0
- SHA512 a64b3477478a656c0e04e897f4b9e19941b884c17cfa07ec05f96cebab0f4a377d728ddee354923c1c00bd85f2bf180a46747ccfe5eceb3fe143c2154e0be0e8
+ REF boost-1.67.0
+ SHA512 45bcade387e21315ea94f69981531ca38c367d6e7e8bcc82e67b86360d4f0e6a786ff94935a10a7b2e6bed21c0847008bbfa70e8adc5f3704f4eafef54664d86
HEAD_REF master
)
diff --git a/ports/boost-type-index/CONTROL b/ports/boost-type-index/CONTROL
index e291a6222..ec217ec27 100644
--- a/ports/boost-type-index/CONTROL
+++ b/ports/boost-type-index/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-type-index
-Version: 1.66.0
-Build-Depends: boost-config, boost-core, boost-functional, boost-mpl, boost-preprocessor, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-type-traits, boost-vcpkg-helpers
+Version: 1.67.0
+Build-Depends: boost-config, boost-container-hash, boost-core, boost-mpl, boost-preprocessor, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-type-traits, boost-vcpkg-helpers
Description: Boost type_index module
diff --git a/ports/boost-type-index/portfile.cmake b/ports/boost-type-index/portfile.cmake
index ae292b7e5..1554e1258 100644
--- a/ports/boost-type-index/portfile.cmake
+++ b/ports/boost-type-index/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/type_index
- REF boost-1.66.0
- SHA512 c731d336b0b29a0dbbb12c027fe052f9cea0f06703d05e3f24c24d9feb5abcf04cfb6e867da752cdbc75056db9482b5318ee1489db54244c3fdc6e1f32899aa8
+ REF boost-1.67.0
+ SHA512 31a471bedaa8e30eb84e22e7f059938ffb25c649a80b203067da1c63bcb8d1fcd9cf61bff593fcdb6d463408bc6cb2775dbb589ac04bc6de7e0bc351e0b3abd9
HEAD_REF master
)
diff --git a/ports/boost-type-traits/CONTROL b/ports/boost-type-traits/CONTROL
index 3b88d7122..f7eab32a7 100644
--- a/ports/boost-type-traits/CONTROL
+++ b/ports/boost-type-traits/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-type-traits
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-config, boost-core, boost-detail, boost-static-assert, boost-vcpkg-helpers
Description: Boost type_traits module
diff --git a/ports/boost-type-traits/portfile.cmake b/ports/boost-type-traits/portfile.cmake
index 5a7fb6a79..0ae0417b2 100644
--- a/ports/boost-type-traits/portfile.cmake
+++ b/ports/boost-type-traits/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/type_traits
- REF boost-1.66.0
- SHA512 ad05d6e50914e0d9c0e8267dd3b01f090f7dd3c6370b4b59ae1bbcc50b2cb2a5f1b2647eacc15ff4f2e071da0732a6fc47508284d6d20ca0a545fd6f8d90648c
+ REF boost-1.67.0
+ SHA512 3a2c0b3498c9a71d668fcb0f0b46b7c97275396f5fe3703ceb2534a34bc497af10a655da72570ab9073a0a92db6ed079ed4ddd14fff54c791784d734a54d24bc
HEAD_REF master
)
diff --git a/ports/boost-typeof/CONTROL b/ports/boost-typeof/CONTROL
index 93d92c65a..25c345a3e 100644
--- a/ports/boost-typeof/CONTROL
+++ b/ports/boost-typeof/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-typeof
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-config, boost-mpl, boost-preprocessor, boost-type-traits, boost-utility, boost-vcpkg-helpers
Description: Boost typeof module
diff --git a/ports/boost-typeof/portfile.cmake b/ports/boost-typeof/portfile.cmake
index 644b8e121..2e7aaca5b 100644
--- a/ports/boost-typeof/portfile.cmake
+++ b/ports/boost-typeof/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/typeof
- REF boost-1.66.0
- SHA512 4436dc1b346dfaf9bd77ab386e213fb4a5fb9f3ea5f4de3e2eaaf4e7c2c6712729071e8e25c4014c36a0977f62b646900e2db7c9f65121ef32475074940e4937
+ REF boost-1.67.0
+ SHA512 91b29446146a44aa0983c953086e45863b40e7d053670a0ef78f703d2419db7ac1615b42b7eca70e70088b7da9e9c37687e9ac570fc3995a74a9e78cae78280c
HEAD_REF master
)
diff --git a/ports/boost-ublas/CONTROL b/ports/boost-ublas/CONTROL
index acbd90541..a6dd9d24e 100644
--- a/ports/boost-ublas/CONTROL
+++ b/ports/boost-ublas/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-ublas
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-concept-check, boost-config, boost-core, boost-iterator, boost-mpl, boost-range, boost-serialization, boost-smart-ptr, boost-static-assert, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers
Description: Boost ublas module
diff --git a/ports/boost-ublas/portfile.cmake b/ports/boost-ublas/portfile.cmake
index 385810a3b..db221b6cd 100644
--- a/ports/boost-ublas/portfile.cmake
+++ b/ports/boost-ublas/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/ublas
- REF boost-1.66.0
- SHA512 77d2dac6f7df56d8640e000ffce7042c828765da9a1ccb1f487559ac7ad2577246334e32e058a41ef028719c7465990d12e4fc0294ecf1747ac90bda53cf7d00
+ REF boost-1.67.0
+ SHA512 5ff9cbbd1e9dd33eb1230e2d5247d80526be1d5f5d3e145dbdb2f95c1f61b86438a937174936cf4489fac81111b72ee317a6e653ae6c3d84b58bdc1cd2ce7a82
HEAD_REF master
)
diff --git a/ports/boost-units/CONTROL b/ports/boost-units/CONTROL
index 4728dcb90..2d85d080a 100644
--- a/ports/boost-units/CONTROL
+++ b/ports/boost-units/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-units
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-assert, boost-config, boost-core, boost-integer, boost-io, boost-lambda, boost-math, boost-mpl, boost-preprocessor, boost-serialization, boost-static-assert, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers
Description: Boost units module
diff --git a/ports/boost-units/portfile.cmake b/ports/boost-units/portfile.cmake
index 1180ec01b..df480dbb5 100644
--- a/ports/boost-units/portfile.cmake
+++ b/ports/boost-units/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/units
- REF boost-1.66.0
- SHA512 493c91b8741788c18147b0689df82e8391992797420f09fa3d90f8405c1ac7cab6a17c39231836d4410525eae3ae53899157cd48e28e3136ffc16970fc5209f6
+ REF boost-1.67.0
+ SHA512 33ce1386e67982d4b6f45fa78ce787332c7a753463650762a66da1064741fc6f9909fe1929416ec7918060300cedda93642fd6adb4a2d5f4c689f4d48b2a720f
HEAD_REF master
)
diff --git a/ports/boost-unordered/CONTROL b/ports/boost-unordered/CONTROL
index f051d4f33..50cd43f5f 100644
--- a/ports/boost-unordered/CONTROL
+++ b/ports/boost-unordered/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-unordered
-Version: 1.66.0
-Build-Depends: boost-assert, boost-compatibility, boost-config, boost-container, boost-core, boost-detail, boost-functional, boost-iterator, boost-move, boost-predef, boost-preprocessor, boost-smart-ptr, boost-throw-exception, boost-tuple, boost-type-traits, boost-utility, boost-vcpkg-helpers
+Version: 1.67.0
+Build-Depends: boost-assert, boost-compatibility, boost-config, boost-container, boost-core, boost-detail, boost-functional, boost-move, boost-predef, boost-preprocessor, boost-smart-ptr, boost-throw-exception, boost-tuple, boost-type-traits, boost-utility, boost-vcpkg-helpers
Description: Boost unordered module
diff --git a/ports/boost-unordered/portfile.cmake b/ports/boost-unordered/portfile.cmake
index f90c8094f..02fae3899 100644
--- a/ports/boost-unordered/portfile.cmake
+++ b/ports/boost-unordered/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/unordered
- REF boost-1.66.0
- SHA512 4abb2d6a2847c28ecd2324afd4caf46a9fe2597e3bceaf2fe430cb82688ce6584137356fd3dff5fe1ab60ab8a51460821d9dd78c14d4e0fb6e11c4dee7cc0adb
+ REF boost-1.67.0
+ SHA512 8eb086d4993ff7079b0919b0ad39ac16b37b4951eb9cf4d5f388aff37cf2b7ae42621277a23f8d870a35ff571de44ee1dc7b0faf108fdbf1ccdd8ed2d6be51d4
HEAD_REF master
)
diff --git a/ports/boost-utility/CONTROL b/ports/boost-utility/CONTROL
index 1793f88f3..481427860 100644
--- a/ports/boost-utility/CONTROL
+++ b/ports/boost-utility/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-utility
-Version: 1.66.0
-Build-Depends: boost-config, boost-core, boost-detail, boost-mpl, boost-preprocessor, boost-static-assert, boost-throw-exception, boost-type-traits, boost-vcpkg-helpers
+Version: 1.67.0
+Build-Depends: boost-config, boost-core, boost-detail, boost-integer, boost-preprocessor, boost-static-assert, boost-throw-exception, boost-type-traits, boost-vcpkg-helpers
Description: Boost utility module
diff --git a/ports/boost-utility/portfile.cmake b/ports/boost-utility/portfile.cmake
index 42c9d1fc7..1a919c18a 100644
--- a/ports/boost-utility/portfile.cmake
+++ b/ports/boost-utility/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/utility
- REF boost-1.66.0
- SHA512 aa72e1d32bb1575e23ec8e1dc12421e56d114532a9e7b3ebf2edf6926c79d2e2eb3c5483f241bc014b65008a9d03fbeadc85a6f0cea9013ecea2b1c1e942ea59
+ REF boost-1.67.0
+ SHA512 4123a71af8234789b2b68f2a3b6e13e7ad3e46484e8b06ee2159d7337d101a2b1c8b8e7ca70ce29f0b71802f45014e1db03253e1f6515a6ad2f9d5ebced77caf
HEAD_REF master
)
diff --git a/ports/boost-uuid/CONTROL b/ports/boost-uuid/CONTROL
index 9c81b7c12..09af27bd7 100644
--- a/ports/boost-uuid/CONTROL
+++ b/ports/boost-uuid/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-uuid
-Version: 1.66.0
-Build-Depends: boost-assert, boost-config, boost-core, boost-integer, boost-io, boost-iterator, boost-random, boost-serialization, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-type-traits, boost-vcpkg-helpers
+Version: 1.67.0
+Build-Depends: boost-assert, boost-compatibility, boost-config, boost-core, boost-integer, boost-io, boost-numeric-conversion, boost-predef, boost-random, boost-serialization, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-tti, boost-type-traits, boost-vcpkg-helpers, boost-winapi
Description: Boost uuid module
diff --git a/ports/boost-uuid/portfile.cmake b/ports/boost-uuid/portfile.cmake
index 35b9c4c17..b68c1f68b 100644
--- a/ports/boost-uuid/portfile.cmake
+++ b/ports/boost-uuid/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/uuid
- REF boost-1.66.0
- SHA512 5fc333c76f4d44fcbca4a7be02117015e361b85c615d3f728d9805d32f55431fca33f90bb0151a789b341606d8ce7538163a162a4c7ba29823cf7a01326685d7
+ REF boost-1.67.0
+ SHA512 224324198b24c4606ca0c3c370c8d344730e6851ccdff012eaa6024ede958b342c5b728ddbb0a5c52dedcd0ac628bf12213de14654348c3e18eb20aa73d8b7e4
HEAD_REF master
)
diff --git a/ports/boost-variant/CONTROL b/ports/boost-variant/CONTROL
index 9edcfa99e..246ee7355 100644
--- a/ports/boost-variant/CONTROL
+++ b/ports/boost-variant/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-variant
-Version: 1.66.0
-Build-Depends: boost-assert, boost-bind, boost-config, boost-core, boost-detail, boost-functional, boost-math, boost-move, boost-mpl, boost-preprocessor, boost-static-assert, boost-throw-exception, boost-type-index, boost-type-traits, boost-utility, boost-vcpkg-helpers
+Version: 1.67.0
+Build-Depends: boost-assert, boost-bind, boost-config, boost-core, boost-detail, boost-functional, boost-integer, boost-move, boost-mpl, boost-preprocessor, boost-static-assert, boost-throw-exception, boost-type-index, boost-type-traits, boost-utility, boost-vcpkg-helpers
Description: Boost variant module
diff --git a/ports/boost-variant/portfile.cmake b/ports/boost-variant/portfile.cmake
index 8e32a822d..8449a21aa 100644
--- a/ports/boost-variant/portfile.cmake
+++ b/ports/boost-variant/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/variant
- REF boost-1.66.0
- SHA512 3eb3d4070bf81033c0a342956393e2e902618dc482fd3ba7c0b4f97ac3259fff31943a9b059bc25dd6d399af6d8b56a8297b462776b14b5012c6436b00c7d491
+ REF boost-1.67.0
+ SHA512 1fc6a0a98cdb2eca64f8a380e31724c70a9a0260ab2e433ad5812c580c9e2a867c6faf7ee17b0c6cf94b6410af1e509ac5d51e93b6fa1174b3d1c55ca62a10c7
HEAD_REF master
)
diff --git a/ports/boost-vcpkg-helpers/generate-ports.ps1 b/ports/boost-vcpkg-helpers/generate-ports.ps1
index 55fa476f4..0635608fd 100644
--- a/ports/boost-vcpkg-helpers/generate-ports.ps1
+++ b/ports/boost-vcpkg-helpers/generate-ports.ps1
@@ -1,12 +1,13 @@
[CmdletBinding()]
param (
$libraries = @(),
- $version = "1.66.0"
+ $version = "1.67.0"
)
$scriptsDir = split-path -parent $MyInvocation.MyCommand.Definition
-$libsDisabledInUWP = "iostreams|filesystem|thread|context|python|stacktrace|program-options|program_options|coroutine`$|fiber|locale|test|type-erasure|type_erasure|wave|log"
+$libsDisabledInLinux = "python|fiber"
+$libsDisabledInUWP = "iostreams|filesystem|thread|context|contract|python|stacktrace|program[_-]options|coroutine`$|fiber|locale|test|type[_-]erasure|wave|log"
function Generate()
{
@@ -75,15 +76,9 @@ function Generate()
""
)
- if ($Name -eq "python")
+ if (Test-Path "$scriptsDir/post-source-stubs/$Name.cmake")
{
- $portfileLines += @(
- "# Find Python. Can't use find_package here, but we already know where everything is"
- "file(GLOB PYTHON_INCLUDE_PATH `"`${CURRENT_INSTALLED_DIR}/include/python[0-9.]*`")"
- "set(PYTHONLIBS_RELEASE `"`${CURRENT_INSTALLED_DIR}/lib`")"
- "set(PYTHONLIBS_DEBUG `"`${CURRENT_INSTALLED_DIR}/debug/lib`")"
- "string(REGEX REPLACE `".*python([0-9\.]+)`$`" `"\\1`" PYTHON_VERSION `"`${PYTHON_INCLUDE_PATH}`")"
- )
+ $portfileLines += @(get-content "$scriptsDir/post-source-stubs/$Name.cmake")
}
if ($NeedsBuild)
@@ -100,6 +95,7 @@ function Generate()
"include(`${CURRENT_INSTALLED_DIR}/share/boost-build/boost-modular-build.cmake)"
"boost_modular_build("
" SOURCE_PATH `${SOURCE_PATH}"
+ " BOOST_CMAKE_FRAGMENT `"`${CMAKE_CURRENT_LIST_DIR}/cmake-fragment.cmake`""
" OPTIONS"
" boost.locale.iconv=off"
" boost.locale.posix=off"
@@ -125,7 +121,7 @@ function Generate()
{
$portfileLines += @(
"include(`${CURRENT_INSTALLED_DIR}/share/boost-build/boost-modular-build.cmake)"
- "boost_modular_build(SOURCE_PATH `${SOURCE_PATH} REQUIREMENTS `"<library>/boost/date_time//boost_date_time`")"
+ "boost_modular_build(SOURCE_PATH `${SOURCE_PATH} REQUIREMENTS `"<library>/boost/date_time//boost_date_time`" OPTIONS /boost/thread//boost_thread)"
)
}
else
@@ -158,6 +154,14 @@ function Generate()
"if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)"
" file(APPEND `${CURRENT_PACKAGES_DIR}/include/boost/config/user.hpp `"\n#define BOOST_ALL_DYN_LINK\n`")"
"endif()"
+ "file(COPY `${SOURCE_PATH}/checks DESTINATION `${CURRENT_PACKAGES_DIR}/share/boost-config)"
+ )
+ }
+ if ($Name -eq "predef")
+ {
+ $portfileLines += @(
+ ""
+ "file(COPY `${SOURCE_PATH}/tools/check DESTINATION `${CURRENT_PACKAGES_DIR}/share/boost-predef)"
)
}
if ($Name -eq "test")
@@ -196,6 +200,19 @@ if (!(Test-Path "$scriptsDir/boost"))
popd
}
}
+else
+{
+ pushd $scriptsDir/boost
+ try
+ {
+ git fetch
+ git checkout -f boost-$version
+ }
+ finally
+ {
+ popd
+ }
+}
$libraries_found = ls $scriptsDir/boost/libs -directory | % name | % {
if ($_ -match "numeric")
@@ -227,7 +244,7 @@ foreach ($library in $libraries)
if (!(Test-Path $archive))
{
"Downloading boost/$library..."
- Invoke-WebRequest "https://github.com/boostorg/$library/archive/boost-$version.tar.gz" -OutFile $archive
+ & "$scriptsDir\..\..\downloads\tools\aria2-18.01.0-windows\aria2-1.33.1-win-32bit-build1\aria2c.exe" "https://github.com/boostorg/$library/archive/boost-$version.tar.gz" -d "$scriptsDir/downloads" -o "$library-boost-$version.tar.gz"
}
$hash = vcpkg hash $archive
$unpacked = "$scriptsDir/libs/$library-boost-$version"
@@ -291,6 +308,11 @@ foreach ($library in $libraries)
$deps = @($groups | ? { $libraries_found -contains $_ })
+ if ($library -eq "regex")
+ {
+ $deps += @("container_hash")
+ }
+
$deps = @($deps | ? {
# Boost contains cycles, so remove a few dependencies to break the loop.
(($library -notmatch "core|assert|mpl|detail|type_traits") -or ($_ -notmatch "utility")) `
@@ -307,10 +329,14 @@ foreach ($library in $libraries)
-and `
(($library -notmatch "utility|concept_check") -or ($_ -notmatch "iterator"))
} | % { "boost-$_" -replace "_","-" } | % {
- if ($_ -match $libsDisabledInUWP)
+ if ($_ -match $libsDisabledInLinux -and $_ -match $libsDisabledInUWP)
{
"$_ (windows)"
}
+ elseif ($_ -match $libsDisabledInUWP)
+ {
+ "$_ (!uwp)"
+ }
else
{
$_
@@ -320,7 +346,7 @@ foreach ($library in $libraries)
$deps += @("boost-vcpkg-helpers")
$needsBuild = $false
- if ((Test-Path $unpacked/build/Jamfile.v2) -and $library -ne "metaparse")
+ if ((Test-Path $unpacked/build/Jamfile.v2) -and $library -ne "metaparse" -and $library -ne "graph_parallel")
{
$deps += @("boost-build", "boost-modular-build-helper")
$needsBuild = $true
@@ -335,6 +361,10 @@ foreach ($library in $libraries)
{
$deps += @("zlib", "bzip2")
}
+ elseif ($library -eq "locale")
+ {
+ $deps += @("libiconv (!uwp&!windows)")
+ }
elseif ($library -eq "asio")
{
$deps += @("openssl")
@@ -350,10 +380,14 @@ foreach ($library in $libraries)
-Depends $deps `
-NeedsBuild $needsBuild
- if ($library -match $libsDisabledInUWP)
+ if ($library -match $libsDisabledInLinux -and $library -match $libsDisabledInUWP)
{
$libraries_in_boost_port += @("$library (windows)")
}
+ elseif ($library -match $libsDisabledInUWP)
+ {
+ $libraries_in_boost_port += @("$library (!uwp)")
+ }
else
{
$libraries_in_boost_port += @($library)
diff --git a/ports/boost-vcpkg-helpers/post-source-stubs/context.cmake b/ports/boost-vcpkg-helpers/post-source-stubs/context.cmake
new file mode 100644
index 000000000..9ccf34233
--- /dev/null
+++ b/ports/boost-vcpkg-helpers/post-source-stubs/context.cmake
@@ -0,0 +1,5 @@
+file(READ "${SOURCE_PATH}/build/Jamfile.v2" _contents)
+string(REPLACE "import ../../config/checks/config" "import config/checks/config" _contents "${_contents}")
+file(WRITE "${SOURCE_PATH}/build/Jamfile.v2" "${_contents}")
+file(COPY "${CURRENT_INSTALLED_DIR}/share/boost-config/checks" DESTINATION "${SOURCE_PATH}/build/config")
+
diff --git a/ports/boost-vcpkg-helpers/post-source-stubs/fiber.cmake b/ports/boost-vcpkg-helpers/post-source-stubs/fiber.cmake
new file mode 100644
index 000000000..9ccf34233
--- /dev/null
+++ b/ports/boost-vcpkg-helpers/post-source-stubs/fiber.cmake
@@ -0,0 +1,5 @@
+file(READ "${SOURCE_PATH}/build/Jamfile.v2" _contents)
+string(REPLACE "import ../../config/checks/config" "import config/checks/config" _contents "${_contents}")
+file(WRITE "${SOURCE_PATH}/build/Jamfile.v2" "${_contents}")
+file(COPY "${CURRENT_INSTALLED_DIR}/share/boost-config/checks" DESTINATION "${SOURCE_PATH}/build/config")
+
diff --git a/ports/boost-vcpkg-helpers/post-source-stubs/log.cmake b/ports/boost-vcpkg-helpers/post-source-stubs/log.cmake
new file mode 100644
index 000000000..78500ddc3
--- /dev/null
+++ b/ports/boost-vcpkg-helpers/post-source-stubs/log.cmake
@@ -0,0 +1,13 @@
+file(READ "${SOURCE_PATH}/build/Jamfile.v2" _contents)
+string(REPLACE "import ../../config/checks/config" "import config/checks/config" _contents "${_contents}")
+string(REPLACE " <conditional>@select-arch-specific-sources" "#<conditional>@select-arch-specific-sources" _contents "${_contents}")
+file(WRITE "${SOURCE_PATH}/build/Jamfile.v2" "${_contents}")
+file(COPY "${CURRENT_INSTALLED_DIR}/share/boost-config/checks" DESTINATION "${SOURCE_PATH}/build/config")
+
+file(READ ${SOURCE_PATH}/build/log-architecture.jam _contents)
+string(REPLACE
+ "\nproject.load [ path.join [ path.make $(here:D) ] ../../config/checks/architecture ] ;"
+ "\nproject.load [ path.join [ path.make $(here:D) ] config/checks/architecture ] ;"
+ _contents "${_contents}")
+file(WRITE ${SOURCE_PATH}/build/log-architecture.jam "${_contents}")
+
diff --git a/ports/boost-vcpkg-helpers/post-source-stubs/python.cmake b/ports/boost-vcpkg-helpers/post-source-stubs/python.cmake
new file mode 100644
index 000000000..40b8e0a0b
--- /dev/null
+++ b/ports/boost-vcpkg-helpers/post-source-stubs/python.cmake
@@ -0,0 +1,5 @@
+# Find Python. Can't use find_package here, but we already know where everything is
+file(GLOB PYTHON_INCLUDE_PATH "${CURRENT_INSTALLED_DIR}/include/python[0-9.]*")
+set(PYTHONLIBS_RELEASE "${CURRENT_INSTALLED_DIR}/lib")
+set(PYTHONLIBS_DEBUG "${CURRENT_INSTALLED_DIR}/debug/lib")
+string(REGEX REPLACE ".*python([0-9\.]+)$" "\\1" PYTHON_VERSION "${PYTHON_INCLUDE_PATH}")
diff --git a/ports/boost-vcpkg-helpers/post-source-stubs/test.cmake b/ports/boost-vcpkg-helpers/post-source-stubs/test.cmake
new file mode 100644
index 000000000..b2872338d
--- /dev/null
+++ b/ports/boost-vcpkg-helpers/post-source-stubs/test.cmake
@@ -0,0 +1,5 @@
+file(READ "${SOURCE_PATH}/build/Jamfile.v2" _contents)
+string(REPLACE "import ../../predef/check/predef" "import predef/check/predef" _contents "${_contents}")
+file(WRITE "${SOURCE_PATH}/build/Jamfile.v2" "${_contents}")
+file(COPY "${CURRENT_INSTALLED_DIR}/share/boost-predef/check" DESTINATION "${SOURCE_PATH}/build/predef")
+
diff --git a/ports/boost-vmd/CONTROL b/ports/boost-vmd/CONTROL
index cbd36905a..b6bea6cff 100644
--- a/ports/boost-vmd/CONTROL
+++ b/ports/boost-vmd/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-vmd
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-preprocessor, boost-vcpkg-helpers
Description: Boost vmd module
diff --git a/ports/boost-vmd/portfile.cmake b/ports/boost-vmd/portfile.cmake
index eab18ada3..0d96a6606 100644
--- a/ports/boost-vmd/portfile.cmake
+++ b/ports/boost-vmd/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/vmd
- REF boost-1.66.0
- SHA512 a0112a6751d1dc9c015d8ba8a2dce5ebe13c2189cec1039a5bc57e71efad7244c39eabdb5e24c8d8111edfc1a9856154b9c3f658f36bfd935274e02229e86821
+ REF boost-1.67.0
+ SHA512 479b816decaf5bba27f6aee25af950bfce2df62ebd1e278cf62ad6260bb590ac93c284f09de43fc96d0504093937507d55bffd1ae751af6120a4632da02409d6
HEAD_REF master
)
diff --git a/ports/boost-wave/CONTROL b/ports/boost-wave/CONTROL
index 4fffc2e71..aa1a8e707 100644
--- a/ports/boost-wave/CONTROL
+++ b/ports/boost-wave/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-wave
-Version: 1.66.0
-Build-Depends: boost-assert, boost-build, boost-modular-build-helper, boost-concept-check, boost-config, boost-core, boost-detail, boost-filesystem (windows), boost-integer, boost-iterator, boost-mpl, boost-multi-index, boost-pool, boost-preprocessor, boost-serialization, boost-smart-ptr, boost-spirit, boost-static-assert, boost-throw-exception, boost-type-traits, boost-vcpkg-helpers
+Version: 1.67.0
+Build-Depends: boost-assert, boost-build, boost-concept-check, boost-config, boost-core, boost-detail, boost-filesystem (!uwp), boost-integer, boost-iterator, boost-lexical-cast, boost-math, boost-modular-build-helper, boost-mpl, boost-multi-index, boost-pool, boost-preprocessor, boost-serialization, boost-smart-ptr, boost-spirit, boost-static-assert, boost-throw-exception, boost-type-traits, boost-vcpkg-helpers
Description: Boost wave module
diff --git a/ports/boost-wave/portfile.cmake b/ports/boost-wave/portfile.cmake
index e335f6ba4..479770e92 100644
--- a/ports/boost-wave/portfile.cmake
+++ b/ports/boost-wave/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/wave
- REF boost-1.66.0
- SHA512 2fd57aab7cbc92e7d46bc35512f2019d71f0e5af93dfcbfeada595d899bbf9ae1f1c88f915d555f2fce16419a9320164203303d00f09493cfa5f87afde002d42
+ REF boost-1.67.0
+ SHA512 e298b903dbeae5577938e92559b699a0f89abcff9299781c1857c401503b6c31b56420908aed6f0063b25508e97e978c39282352a1355d0924012e384994094b
HEAD_REF master
)
diff --git a/ports/boost-winapi/CONTROL b/ports/boost-winapi/CONTROL
index f06f0c530..9f3242243 100644
--- a/ports/boost-winapi/CONTROL
+++ b/ports/boost-winapi/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-winapi
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-config, boost-integer, boost-predef, boost-vcpkg-helpers
Description: Boost winapi module
diff --git a/ports/boost-winapi/portfile.cmake b/ports/boost-winapi/portfile.cmake
index d788dea86..30c36ee1f 100644
--- a/ports/boost-winapi/portfile.cmake
+++ b/ports/boost-winapi/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/winapi
- REF boost-1.66.0
- SHA512 ec60e5d73d6553ca981b4a65b0edcd85dc54336e6369124204495a35c6c1c7adf79345e47425a93f1d9ed6694bfae76828162eb102bc660901fb276a3e9eb989
+ REF boost-1.67.0
+ SHA512 1a0935132e8058b3f592406aaf6bb6fa8df6c96c35e61e09d84e39c6ab00c50b87346789d309fdfb7de8f6252134a76a59c0dc214fe1f4ee25d82c379cf63a3c
HEAD_REF master
)
diff --git a/ports/boost-xpressive/CONTROL b/ports/boost-xpressive/CONTROL
index e126d3c19..baa3e7216 100644
--- a/ports/boost-xpressive/CONTROL
+++ b/ports/boost-xpressive/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-xpressive
-Version: 1.66.0
+Version: 1.67.0
Build-Depends: boost-assert, boost-compatibility, boost-config, boost-conversion, boost-core, boost-detail, boost-exception, boost-integer, boost-iterator, boost-lexical-cast, boost-math, boost-mpl, boost-numeric-conversion, boost-optional, boost-preprocessor, boost-proto, boost-range, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers
Description: Boost xpressive module
diff --git a/ports/boost-xpressive/portfile.cmake b/ports/boost-xpressive/portfile.cmake
index 2eacea441..2d4791918 100644
--- a/ports/boost-xpressive/portfile.cmake
+++ b/ports/boost-xpressive/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO boostorg/xpressive
- REF boost-1.66.0
- SHA512 99b4cab1ec6e85421dfbd8085cbdad2533e48aaff352ba920d589da328ee78a009d27b53042f08bb64d4b3b02499152928cadb5c97537c9b8ab5ce97daaf34f9
+ REF boost-1.67.0
+ SHA512 3883764ee2d0c5cfcf444319ae5c7ec547d27d0f54c1e2f4e4b134be25c3fbc7954bae1f783cac96386a63984dcff4197bd98176644c1d6bc50926256f39069d
HEAD_REF master
)
diff --git a/ports/boost/CONTROL b/ports/boost/CONTROL
index 0153a151a..23fc8ef59 100644
--- a/ports/boost/CONTROL
+++ b/ports/boost/CONTROL
@@ -1,8 +1,8 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost
-Version: 1.66.0
+Version: 1.67.0
Description: Peer-reviewed portable C++ source libraries
-Build-Depends: boost-accumulators, boost-algorithm, boost-align, boost-any, boost-array, boost-asio, boost-assert, boost-assign, boost-atomic, boost-beast, boost-bimap, boost-bind, boost-callable-traits, boost-chrono, boost-circular-buffer, boost-compatibility, boost-compute, boost-concept-check, boost-config, boost-container, boost-context (windows), boost-conversion, boost-convert, boost-core, boost-coroutine (windows), boost-coroutine2, boost-crc, boost-date-time, boost-detail, boost-disjoint-sets, boost-dll, boost-dynamic-bitset, boost-endian, boost-exception, boost-fiber (windows), boost-filesystem (windows), boost-flyweight, boost-foreach, boost-format, boost-function, boost-functional, boost-function-types, boost-fusion, boost-geometry, boost-gil, boost-graph, boost-graph-parallel, boost-hana, boost-heap, boost-icl, boost-integer, boost-interprocess, boost-intrusive, boost-io, boost-iostreams (windows), boost-iterator, boost-lambda, boost-lexical-cast, boost-locale (windows), boost-local-function, boost-lockfree, boost-log (windows), boost-logic (windows), boost-math, boost-metaparse, boost-move, boost-mp11, boost-mpl, boost-msm, boost-multiprecision, boost-multi-array, boost-multi-index, boost-numeric-conversion, boost-interval, boost-odeint, boost-ublas, boost-optional, boost-parameter, boost-phoenix, boost-polygon, boost-poly-collection, boost-pool, boost-predef, boost-preprocessor, boost-process, boost-program-options (windows), boost-property-map, boost-property-tree, boost-proto, boost-ptr-container, boost-python (windows), boost-qvm, boost-random, boost-range, boost-ratio, boost-rational, boost-regex, boost-scope-exit, boost-serialization, boost-signals, boost-signals2, boost-smart-ptr, boost-sort, boost-spirit, boost-stacktrace (windows), boost-statechart, boost-static-assert, boost-system, boost-test (windows), boost-thread (windows), boost-throw-exception, boost-timer, boost-tokenizer, boost-tti, boost-tuple, boost-typeof, boost-type-erasure (windows), boost-type-index, boost-type-traits, boost-units, boost-unordered, boost-utility, boost-uuid, boost-variant, boost-vmd, boost-wave (windows), boost-winapi, boost-xpressive
+Build-Depends: boost-accumulators, boost-algorithm, boost-align, boost-any, boost-array, boost-asio, boost-assert, boost-assign, boost-atomic, boost-beast, boost-bimap, boost-bind, boost-callable-traits, boost-chrono, boost-circular-buffer, boost-compatibility, boost-compute, boost-concept-check, boost-config, boost-container, boost-container-hash, boost-context (!uwp), boost-contract (!uwp), boost-conversion, boost-convert, boost-core, boost-coroutine (!uwp), boost-coroutine2, boost-crc, boost-date-time, boost-detail, boost-disjoint-sets, boost-dll, boost-dynamic-bitset, boost-endian, boost-exception, boost-fiber (windows), boost-filesystem (!uwp), boost-flyweight, boost-foreach, boost-format, boost-function, boost-functional, boost-function-types, boost-fusion, boost-geometry, boost-gil, boost-graph, boost-graph-parallel, boost-hana, boost-heap, boost-hof, boost-icl, boost-integer, boost-interprocess, boost-intrusive, boost-io, boost-iostreams (!uwp), boost-iterator, boost-lambda, boost-lexical-cast, boost-locale (!uwp), boost-local-function, boost-lockfree, boost-log (!uwp), boost-logic (!uwp), boost-math, boost-metaparse, boost-move, boost-mp11, boost-mpl, boost-msm, boost-multiprecision, boost-multi-array, boost-multi-index, boost-numeric-conversion, boost-interval, boost-odeint, boost-ublas, boost-optional, boost-parameter, boost-phoenix, boost-polygon, boost-poly-collection, boost-pool, boost-predef, boost-preprocessor, boost-process, boost-program-options (!uwp), boost-property-map, boost-property-tree, boost-proto, boost-ptr-container, boost-python (windows), boost-qvm, boost-random, boost-range, boost-ratio, boost-rational, boost-regex, boost-scope-exit, boost-serialization, boost-signals, boost-signals2, boost-smart-ptr, boost-sort, boost-spirit, boost-stacktrace (!uwp), boost-statechart, boost-static-assert, boost-system, boost-test (!uwp), boost-thread (!uwp), boost-throw-exception, boost-timer, boost-tokenizer, boost-tti, boost-tuple, boost-typeof, boost-type-erasure (!uwp), boost-type-index, boost-type-traits, boost-units, boost-unordered, boost-utility, boost-uuid, boost-variant, boost-vmd, boost-wave (!uwp), boost-winapi, boost-xpressive
Feature: mpi
Description: Build with MPI support
diff --git a/ports/box2d/CMakeLists.txt b/ports/box2d/CMakeLists.txt
new file mode 100644
index 000000000..951554266
--- /dev/null
+++ b/ports/box2d/CMakeLists.txt
@@ -0,0 +1,21 @@
+cmake_minimum_required(VERSION 3.9)
+project(Box2d CXX)
+
+file(GLOB_RECURSE SOURCES Box2D/Box2D/*.cpp)
+
+add_library(Box2D ${SOURCES})
+target_include_directories(Box2D PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/Box2D> $<INSTALL_INTERFACE:include>)
+
+install(TARGETS Box2D
+ EXPORT unofficial-box2d-targets
+ RUNTIME DESTINATION bin
+ ARCHIVE DESTINATION lib
+ LIBRARY DESTINATION lib
+)
+
+install(
+ EXPORT unofficial-box2d-targets
+ FILE unofficial-box2d-config.cmake
+ NAMESPACE unofficial::box2d::
+ DESTINATION share/unofficial-box2d
+)
diff --git a/ports/box2d/CONTROL b/ports/box2d/CONTROL
index 7cfcb01a0..220a5a058 100644
--- a/ports/box2d/CONTROL
+++ b/ports/box2d/CONTROL
@@ -1,3 +1,3 @@
Source: box2d
-Version: 2.3.1-374664b
+Version: 2.3.1-374664b-1
Description: Box2D (http://box2d.org) is an open source C++ engine for simulating rigid bodies in 2D.
diff --git a/ports/box2d/portfile.cmake b/ports/box2d/portfile.cmake
index b07dbc663..c35f37444 100644
--- a/ports/box2d/portfile.cmake
+++ b/ports/box2d/portfile.cmake
@@ -1,17 +1,8 @@
-
-# Get output directory
-set(PROJECT_ARCH_BITS "x64")
-if(TRIPLET_SYSTEM_ARCH MATCHES "x86")
- set(PROJECT_ARCH_BITS "x32")
-elseif(TRIPLET_SYSTEM_ARCH MATCHES "arm")
- message(FATAL_ERROR "ARM not supported")
-endif(TRIPLET_SYSTEM_ARCH MATCHES "x86")
-
-
include(vcpkg_common_functions)
-if(EXISTS "${CURRENT_BUILDTREES_DIR}/src/.git")
- file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/src)
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
+ message("Box2D only supports building as a static library")
+ set(VCPKG_LIBRARY_LINKAGE "static")
endif()
vcpkg_from_github(
@@ -22,50 +13,23 @@ vcpkg_from_github(
HEAD_REF master
)
-if(VCPKG_CRT_LINKAGE STREQUAL "static")
- vcpkg_apply_patches(
- SOURCE_PATH ${SOURCE_PATH}
- PATCHES
- ${CMAKE_CURRENT_LIST_DIR}/use-static-linkage.patch
- )
-endif()
-
-# Put the licence and readme files where vcpkg expects it
-message(STATUS "Packaging license")
-file(COPY ${SOURCE_PATH}/README.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/box2d)
-file(COPY ${SOURCE_PATH}/Box2D/License.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/box2d)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/box2d/License.txt ${CURRENT_PACKAGES_DIR}/share/box2d/copyright)
-message(STATUS "Packaging license done")
-
-# Building:
-set(OUTPUTS_PATH "${SOURCE_PATH}/Box2D/Build/vs2015/bin/${PROJECT_ARCH_BITS}")
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
-vcpkg_build_msbuild(PROJECT_PATH ${SOURCE_PATH}/Box2D/Build/vs2015/Box2D.vcxproj)
-
-message(STATUS "Packaging ${TARGET_TRIPLET}-Release lib")
-file(
- INSTALL ${OUTPUTS_PATH}/Release/
- DESTINATION ${CURRENT_PACKAGES_DIR}/lib
- FILES_MATCHING PATTERN "*.lib"
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
)
-file(RENAME ${CURRENT_PACKAGES_DIR}/lib/Box2D.lib ${CURRENT_PACKAGES_DIR}/lib/box2d.lib)
-message(STATUS "Packaging ${TARGET_TRIPLET}-Release lib done")
+vcpkg_install_cmake()
-message(STATUS "Packaging ${TARGET_TRIPLET}-Debug lib")
-file(
- INSTALL ${OUTPUTS_PATH}/Debug/
- DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib
- FILES_MATCHING PATTERN "*.lib"
-)
-file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/Box2D.lib ${CURRENT_PACKAGES_DIR}/debug/lib/box2d.lib)
-message(STATUS "Packaging ${TARGET_TRIPLET}-Debug lib done")
+vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-box2d TARGET_PATH share/unofficial-box2d)
-message(STATUS "Packaging headers")
file(
COPY ${SOURCE_PATH}/Box2D/Box2D
DESTINATION ${CURRENT_PACKAGES_DIR}/include
- PATTERN "*.h"
+ FILES_MATCHING PATTERN "*.h"
)
-message(STATUS "Packaging headers done")
vcpkg_copy_pdbs()
+
+file(COPY ${SOURCE_PATH}/Box2D/License.txt ${SOURCE_PATH}/README.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/box2d)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/box2d/License.txt ${CURRENT_PACKAGES_DIR}/share/box2d/copyright)
diff --git a/ports/box2d/use-static-linkage.patch b/ports/box2d/use-static-linkage.patch
deleted file mode 100644
index 4c3fccd53..000000000
--- a/ports/box2d/use-static-linkage.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-diff --git a/Box2D/Build/vs2015/Box2D.vcxproj b/Box2D/Build/vs2015/Box2D.vcxproj
-index 830803c..5dda519 100644
---- a/Box2D/Build/vs2015/Box2D.vcxproj
-+++ b/Box2D/Build/vs2015/Box2D.vcxproj
-@@ -86,7 +86,7 @@
- <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
- <FunctionLevelLinking>true</FunctionLevelLinking>
- <PrecompiledHeader>
- </PrecompiledHeader>
-@@ -115,7 +115,7 @@
- <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
- <FunctionLevelLinking>true</FunctionLevelLinking>
- <PrecompiledHeader>
- </PrecompiledHeader>
-@@ -145,7 +145,7 @@
- <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>false</MinimalRebuild>
- <StringPooling>true</StringPooling>
-- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
- <FunctionLevelLinking>true</FunctionLevelLinking>
- <PrecompiledHeader>
- </PrecompiledHeader>
-@@ -176,7 +176,7 @@
- <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>false</MinimalRebuild>
- <StringPooling>true</StringPooling>
-- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
- <FunctionLevelLinking>true</FunctionLevelLinking>
- <PrecompiledHeader>
- </PrecompiledHeader>
diff --git a/ports/breakpad/CONTROL b/ports/breakpad/CONTROL
index 9d3e4959c..d6622f15a 100644
--- a/ports/breakpad/CONTROL
+++ b/ports/breakpad/CONTROL
@@ -1,4 +1,4 @@
Source: breakpad
-Version: 2018-02-25
+Version: 2018-04-17
Build-Depends: libdisasm
Description: a set of client and server components which implement a crash-reporting system.
diff --git a/ports/breakpad/portfile.cmake b/ports/breakpad/portfile.cmake
index a7b28e863..939988ef2 100644
--- a/ports/breakpad/portfile.cmake
+++ b/ports/breakpad/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO google/breakpad
- REF 88e9a460dec52d11ce4520c54246cf5cf29f87bf
- SHA512 31750e6db23c30b884af7049dc67cd30198e49a638d3e226c5ba31f562145bdfbc42f0679173cefc93df75b11af734ecf164c0d4030408e6f0ab315d60fdb30f
+ REF 9eac2058b70615519b2c4d8c6bdbfca1bd079e39
+ SHA512 2bdbfc7455bde3b93c1b0e3d47250722525ffeddbe99277e48d0c2930c461162e9342ed7560b4ea5d1245baf162b1102f0e01176611b403c672435e4f518a7fd
HEAD_REF master
)
diff --git a/ports/brotli/CONTROL b/ports/brotli/CONTROL
index 0c4d7eb0c..86d7a948b 100644
--- a/ports/brotli/CONTROL
+++ b/ports/brotli/CONTROL
@@ -1,3 +1,3 @@
Source: brotli
-Version: 1.0.2-1
+Version: 1.0.2-2
Description: a generic-purpose lossless compression algorithm that compresses data using a combination of a modern variant of the LZ77 algorithm, Huffman coding and 2nd order context modeling.
diff --git a/ports/brotli/portfile.cmake b/ports/brotli/portfile.cmake
index b4e33086e..1663f3b23 100644
--- a/ports/brotli/portfile.cmake
+++ b/ports/brotli/portfile.cmake
@@ -17,8 +17,8 @@ vcpkg_configure_cmake(
vcpkg_install_cmake()
file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/brotli)
-file(RENAME ${CURRENT_PACKAGES_DIR}/bin/brotli.exe ${CURRENT_PACKAGES_DIR}/tools/brotli/brotli.exe)
-file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/brotli.exe)
+file(RENAME ${CURRENT_PACKAGES_DIR}/bin/brotli${CMAKE_EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/brotli/brotli${CMAKE_EXECUTABLE_SUFFIX})
+file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/brotli${CMAKE_EXECUTABLE_SUFFIX})
vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/brotli)
diff --git a/ports/caf/CONTROL b/ports/caf/CONTROL
new file mode 100644
index 000000000..e9b8cd0bf
--- /dev/null
+++ b/ports/caf/CONTROL
@@ -0,0 +1,4 @@
+Source: caf
+Version: 0.15.7
+Build-Depends: openssl
+Description: an open source C++11 actor model implementation featuring lightweight & fast actor implementations, pattern matching for messages, network transparent messaging, and more.
diff --git a/ports/caf/openssl-version-override.patch b/ports/caf/openssl-version-override.patch
new file mode 100644
index 000000000..bccbd6ca4
--- /dev/null
+++ b/ports/caf/openssl-version-override.patch
@@ -0,0 +1,14 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index a7b75f7..794af1d 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -545,6 +545,9 @@ if(NOT CAF_NO_OPENSSL)
+ message(STATUS
+ "Disable OpenSSL. Required >= 1.0.1 due to TLSv1.2 support.")
+ set(CAF_NO_OPENSSL yes)
++ elseif(CAF_OPENSSL_VERSION_OVERRIDE)
++ include_directories(BEFORE ${OPENSSL_INCLUDE_DIR})
++ add_optional_caf_lib(openssl)
+ else()
+ # Check if openssl headers and library versions match
+ set(CMAKE_REQUIRED_LIBRARIES ${OPENSSL_LIBRARIES})
diff --git a/ports/caf/portfile.cmake b/ports/caf/portfile.cmake
new file mode 100644
index 000000000..aecd84116
--- /dev/null
+++ b/ports/caf/portfile.cmake
@@ -0,0 +1,48 @@
+include(vcpkg_common_functions)
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
+ set(VCPKG_LIBRARY_LINKAGE "static")
+ message("CAF only supports static library linkage")
+endif()
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO actor-framework/actor-framework
+ REF 0.15.7
+ SHA512 ff0fa205ad71677b84fa09a2e6ce6bb6d1bc9b790bbbc3ac51505467402ff61a218528004212efa2063c798cc512972d318a2c9423067ee51cef719de2b6b186
+ HEAD_REF master
+)
+
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES ${CMAKE_CURRENT_LIST_DIR}/openssl-version-override.patch
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=ON
+ -DCAF_BUILD_STATIC=ON
+ -DCAF_BUILD_STATIC_ONLY=ON
+ -DCAF_NO_TOOLS=ON
+ -DCAF_NO_EXAMPLES=ON
+ -DCAF_NO_BENCHMARKS=ON
+ -DCAF_NO_UNIT_TESTS=ON
+ -DCAF_NO_PROTOBUF_EXAMPLES=ON
+ -DCAF_NO_QT_EXAMPLES=ON
+ -DCAF_NO_OPENCL=ON
+ -DCAF_NO_OPENSSL=OFF
+ -DCAF_NO_CURL_EXAMPLES=ON
+ -DCAF_OPENSSL_VERSION_OVERRIDE=ON
+)
+
+vcpkg_install_cmake()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share)
+
+file(INSTALL
+ ${SOURCE_PATH}/LICENSE
+ DESTINATION ${CURRENT_PACKAGES_DIR}/share/caf RENAME copyright)
+
+vcpkg_copy_pdbs()
diff --git a/ports/cartographer/CONTROL b/ports/cartographer/CONTROL
index 8439ea8e6..88f0dc6b7 100644
--- a/ports/cartographer/CONTROL
+++ b/ports/cartographer/CONTROL
@@ -1,4 +1,4 @@
Source: cartographer
-Version: 0.3.0-3
+Version: 0.3.0-4
Build-Depends: ceres[eigensparse], gflags, glog, lua, cairo, boost-iostreams, gtest, protobuf
Description: Google 2D & 3D SLAM package
diff --git a/ports/cartographer/portfile.cmake b/ports/cartographer/portfile.cmake
index 49ca1b4b2..75f28a015 100644
--- a/ports/cartographer/portfile.cmake
+++ b/ports/cartographer/portfile.cmake
@@ -16,7 +16,8 @@ vcpkg_apply_patches(
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
- OPTIONS
+ PREFER_NINJA
+ OPTIONS
-DGFLAGS_PREFER_EXPORTED_GFLAGS_CMAKE_CONFIGURATION=OFF
-DGLOG_PREFER_EXPORTED_GLOG_CMAKE_CONFIGURATION=OFF
-Dgtest_disable_pthreads=ON
@@ -27,7 +28,7 @@ vcpkg_configure_cmake(
)
vcpkg_install_cmake()
-
+vcpkg_fixup_cmake_targets(CONFIG_PATH share/cartographer)
vcpkg_copy_pdbs()
# Clean
diff --git a/ports/catch2/CONTROL b/ports/catch2/CONTROL
index 7300079fc..a466f7be5 100644
--- a/ports/catch2/CONTROL
+++ b/ports/catch2/CONTROL
@@ -1,4 +1,4 @@
Source: catch2
-Version: 2.2.1
+Version: 2.2.2
Description: A modern, header-only test framework for unit testing.
Issues, PRs and changelogs can be found at https://github.com/catchorg/Catch2
diff --git a/ports/catch2/portfile.cmake b/ports/catch2/portfile.cmake
index ebb26c40d..5329d9cab 100644
--- a/ports/catch2/portfile.cmake
+++ b/ports/catch2/portfile.cmake
@@ -1,18 +1,30 @@
include(vcpkg_common_functions)
-set(CATCH_VERSION v2.2.1)
-
-vcpkg_download_distfile(HEADER
- URLS "https://github.com/catchorg/Catch2/releases/download/${CATCH_VERSION}/catch.hpp"
- FILENAME "catchorg-catch2-${CATCH_VERSION}.hpp"
- SHA512 89f707e667fabf1cc2be43b2ccf046a59007c68b8e4b37dde6799a960e57a9cdd1542289b83631ee6e450e22bf46cba477308ec872c1d0261c3bd4c218ab76fc
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO catchorg/Catch2
+ REF v2.2.2
+ SHA512 ab91036c6c3ace087d0382ce99f26b2c30a4b75d52f285619ca282a618470fe388afe47495f3b2764268d600c6834c60ba464483d06f3a1c4316c099477c8e38
+ HEAD_REF master
)
-vcpkg_download_distfile(LICENSE
- URLS "https://raw.githubusercontent.com/catchorg/Catch2/${CATCH_VERSION}/LICENSE.txt"
- FILENAME "catchorg-catch2-LICENSE-${CATCH_VERSION}.txt"
- SHA512 d6078467835dba8932314c1c1e945569a64b065474d7aced27c9a7acc391d52e9f234138ed9f1aa9cd576f25f12f557e0b733c14891d42c16ecdc4a7bd4d60b8
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DBUILD_TESTING=OFF
+ -DCATCH_BUILD_EXAMPLES=OFF
)
-file(INSTALL ${HEADER} DESTINATION ${CURRENT_PACKAGES_DIR}/include RENAME catch.hpp)
-file(INSTALL ${LICENSE} DESTINATION ${CURRENT_PACKAGES_DIR}/share/catch2 RENAME copyright)
+vcpkg_install_cmake()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/Catch2 TARGET_PATH share/catch2)
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib)
+
+if(NOT EXISTS ${CURRENT_PACKAGES_DIR}/include/catch/catch.hpp)
+ message(FATAL_ERROR "Main includes have moved. Please update the forwarder.")
+endif()
+
+file(WRITE ${CURRENT_PACKAGES_DIR}/include/catch.hpp "#include <catch/catch.hpp>")
+file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/catch2 RENAME copyright)
diff --git a/ports/ccfits/CONTROL b/ports/ccfits/CONTROL
index 16b36bc8a..5cd10f63d 100644
--- a/ports/ccfits/CONTROL
+++ b/ports/ccfits/CONTROL
@@ -1,4 +1,4 @@
Source: ccfits
-Version: 2.5-1
+Version: 2.5-2
Description: CCfits is an object oriented interface to the cfitsio library. It is designed to make the capabilities of cfitsio available to programmers working in C++.
Build-Depends: cfitsio
diff --git a/ports/ccfits/portfile.cmake b/ports/ccfits/portfile.cmake
index 6bd9bd170..6aeecfd62 100644
--- a/ports/ccfits/portfile.cmake
+++ b/ports/ccfits/portfile.cmake
@@ -1,19 +1,6 @@
-# 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)
#removes current source to prevent static builds from using patched source code
-file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/src/CCfits)
-file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/src/CCfits-2.5.tar.gz.extracted)
+file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/src)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/CCfits)
@@ -31,18 +18,16 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
)
endif()
-
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
- PREFER_NINJA # Disable this option if project cannot be built with Ninja
- # OPTIONS -DUSE_THIS_IN_ALL_BUILDS=1 -DUSE_THIS_TOO=2
- # OPTIONS_RELEASE -DOPTIMIZE=1
- # OPTIONS_DEBUG -DDEBUGGABLE=1
+ PREFER_NINJA
+ OPTIONS
+ -DCFITSIO_INCLUDE_DIR=${CURRENT_INSTALLED_DIR}/include/cfitsio
)
vcpkg_install_cmake()
-if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/bin)
file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/bin)
file(RENAME ${CURRENT_PACKAGES_DIR}/lib/CCfits.dll ${CURRENT_PACKAGES_DIR}/bin/CCfits.dll)
@@ -52,5 +37,13 @@ endif()
# Remove duplicate include files
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+# Patch installed headers to look in the correct subdirectory
+file(GLOB HEADERS ${CURRENT_PACKAGES_DIR}/include/CCfits/*)
+foreach(HEADER IN LISTS HEADERS)
+ file(READ "${HEADER}" _contents)
+ string(REPLACE "\"fitsio.h\"" "\"cfitsio/fitsio.h\"" _contents "${_contents}")
+ file(WRITE "${HEADER}" "${_contents}")
+endforeach()
+
# Handle copyright
file(INSTALL ${SOURCE_PATH}/License.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/ccfits RENAME copyright)
diff --git a/ports/cctz/CMakeLists.txt b/ports/cctz/CMakeLists.txt
index 99322d05e..af557830c 100644
--- a/ports/cctz/CMakeLists.txt
+++ b/ports/cctz/CMakeLists.txt
@@ -1,6 +1,8 @@
cmake_minimum_required(VERSION 3.8)
project(cctz CXX)
+set(CMAKE_CXX_STANDARD 14)
+
set(CMAKE_DEBUG_POSTFIX d)
set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
diff --git a/ports/cctz/portfile.cmake b/ports/cctz/portfile.cmake
index 5760e7672..d243e1e65 100644
--- a/ports/cctz/portfile.cmake
+++ b/ports/cctz/portfile.cmake
@@ -20,8 +20,7 @@ vcpkg_configure_cmake(
vcpkg_install_cmake()
-vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-cctz)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/cctz ${CURRENT_PACKAGES_DIR}/share/unofficial-cctz)
+vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-cctz TARGET_PATH share/unofficial-cctz)
vcpkg_copy_pdbs()
diff --git a/ports/celero/CONTROL b/ports/celero/CONTROL
index d40c93783..6180230dd 100644
--- a/ports/celero/CONTROL
+++ b/ports/celero/CONTROL
@@ -1,3 +1,3 @@
Source: celero
-Version: 2.1.0-1
+Version: 2.1.0-2
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 c942ca5d8..0800115ec 100644
--- a/ports/celero/portfile.cmake
+++ b/ports/celero/portfile.cmake
@@ -5,12 +5,11 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
set(VCPKG_LIBRARY_LINKAGE static)
endif()
-
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO DigitalInBlue/Celero
- REF v2.1.0
- SHA512 30563567255b09a2c810d97896839589ed99d45b6c8d075fd16d1a0068457d70195a199f5c982c84784c2e03284c1eaac565253fa72b81d9e2d4102721b80221
+ REF v2.2.0
+ SHA512 6fac1fa949b18caabf59f3675c6e592cfadc3efa5e674b1f8b183e728ec880a4f5616d5d41c97f8fc26ef9520284188f519b7634209d0a56fb38a6993a9e9680
HEAD_REF master
)
@@ -24,6 +23,10 @@ vcpkg_configure_cmake(
)
vcpkg_install_cmake()
+vcpkg_fixup_cmake_targets(CONFIG_PATH share)
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share)
+
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/celero/celero-target.cmake ${CURRENT_PACKAGES_DIR}/share/celero/celero-config.cmake)
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(INSTALL ${SOURCE_PATH}/license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/celero RENAME copyright)
diff --git a/ports/ceres/CONTROL b/ports/ceres/CONTROL
index f2b20f8d3..208082de7 100644
--- a/ports/ceres/CONTROL
+++ b/ports/ceres/CONTROL
@@ -1,5 +1,5 @@
Source: ceres
-Version: 1.13.0-4
+Version: 1.14.0-1
# eigen is always required by CMake, even if it isn't used.
Build-Depends: glog, eigen3
Description: non-linear optimization package
diff --git a/ports/ceres/portfile.cmake b/ports/ceres/portfile.cmake
index 8a2b88a35..7267be402 100644
--- a/ports/ceres/portfile.cmake
+++ b/ports/ceres/portfile.cmake
@@ -11,8 +11,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO ceres-solver/ceres-solver
- REF 1.13.0
- SHA512 b548a303d1d4eeb75545551c381624879e363a2eba13cdd998fb3bea9bd51f6b9215b579d59d6133117b70d8bf35e18b983400c3d6200403210c18fcb1886ebb
+ REF 1.14.0
+ SHA512 6dddddf5bd5834332a69add468578ad527e4d94fe85c9751ddf5fe9ad11a34918bdd9c994c49dd6ffc398333d0ac9752ac89aaef1293e2fe0a55524e303d415d
HEAD_REF master
)
@@ -46,6 +46,7 @@ endif()
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
OPTIONS
-DEXPORT_BUILD_DIR=ON
-DBUILD_EXAMPLES=OFF
@@ -55,7 +56,7 @@ vcpkg_configure_cmake(
-DEIGENSPARSE=${EIGENSPARSE}
-DLAPACK=${LAPACK}
-DSUITESPARSE=${SUITESPARSE}
- -DGFLAGS_PREFER_EXPORTED_GFLAGS_CMAKE_CONFIGURATION=OFF # TheiaSfm doesn't work well with this
+ -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}
)
diff --git a/ports/cfitsio/CONTROL b/ports/cfitsio/CONTROL
index b25eb8026..7c50b295d 100644
--- a/ports/cfitsio/CONTROL
+++ b/ports/cfitsio/CONTROL
@@ -1,3 +1,3 @@
Source: cfitsio
-Version: 3.410-1
+Version: 3.410-2
Description: Library of C and Fortran subroutines for reading and writing data files in FITS (Flexible Image Transport System) data format
diff --git a/ports/cfitsio/portfile.cmake b/ports/cfitsio/portfile.cmake
index 2490beb80..e9caf61d1 100644
--- a/ports/cfitsio/portfile.cmake
+++ b/ports/cfitsio/portfile.cmake
@@ -15,14 +15,19 @@ vcpkg_configure_cmake(
vcpkg_install_cmake()
# Remove duplicate include files
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/include/unistd.h)
+
+# cfitsio uses very common names for its headers, so they must be moved to a subdirectory
+file(RENAME ${CURRENT_PACKAGES_DIR}/include ${CURRENT_PACKAGES_DIR}/cfitsio)
+file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/include)
+file(RENAME ${CURRENT_PACKAGES_DIR}/cfitsio ${CURRENT_PACKAGES_DIR}/include/cfitsio)
if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
- # move DLLs to bin directories for dynamic builds
- file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/bin)
- file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cfitsio.dll ${CURRENT_PACKAGES_DIR}/bin/cfitsio.dll)
- file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/bin)
- file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/cfitsio.dll ${CURRENT_PACKAGES_DIR}/debug/bin/cfitsio.dll)
+ # move DLLs to bin directories for dynamic builds
+ file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/bin)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cfitsio.dll ${CURRENT_PACKAGES_DIR}/bin/cfitsio.dll)
+ file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/bin)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/cfitsio.dll ${CURRENT_PACKAGES_DIR}/debug/bin/cfitsio.dll)
endif()
# Handle copyright
diff --git a/ports/cgal/CONTROL b/ports/cgal/CONTROL
index 753e30a20..b81d27c96 100644
--- a/ports/cgal/CONTROL
+++ b/ports/cgal/CONTROL
@@ -1,4 +1,4 @@
Source: cgal
-Version: 4.11.1
+Version: 4.12
Build-Depends: mpfr, mpir, zlib, qt5, boost-format, boost-container, boost-iterator, boost-variant, boost-any, boost-unordered, boost-random
Description: The Computational Geometry Algorithms Library (CGAL) is a C++ library that aims to provide easy access to efficient and reliable algorithms in computational geometry.
diff --git a/ports/cgal/portfile.cmake b/ports/cgal/portfile.cmake
index 4dbe9fd53..3eb0a9de7 100644
--- a/ports/cgal/portfile.cmake
+++ b/ports/cgal/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO CGAL/cgal
- REF 27859944b4d96797030fc018892d5123b7cba0b2
- SHA512 020d4398fcae0607cd3fe1bd22a190fbe1d45cba0c7e3c95d6d3dfb6d23c43949a1608069972e511f5d47fc787c350c0a0a0085faa2f4b9fd26ce101376752c6
+ REF f7c3c8212b56c0d6dae63787efc99093f4383415
+ SHA512 fc40483b5f0e2071c3458cbd67ee7e503f68b7f6a1bbb525b6003d1a440e662cb85c257167ce6d55a73e0cc49b27a7d2b56dcf6b5eeddc78772567fdc48ba160
HEAD_REF master
)
diff --git a/ports/chakracore/CONTROL b/ports/chakracore/CONTROL
index 4ae901a2f..6c7db9e54 100644
--- a/ports/chakracore/CONTROL
+++ b/ports/chakracore/CONTROL
@@ -1,3 +1,3 @@
Source: chakracore
-Version: 1.8.1
+Version: 1.8.3
Description: Core part of the Chakra Javascript engine
diff --git a/ports/chakracore/portfile.cmake b/ports/chakracore/portfile.cmake
index 7e8d8ec6e..0f3874119 100644
--- a/ports/chakracore/portfile.cmake
+++ b/ports/chakracore/portfile.cmake
@@ -15,8 +15,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Microsoft/ChakraCore
- REF v1.8.1
- SHA512 203eaad21130fca9ac043952327f758947d41288ce9eb771bc469e768079a39cc517f86746d85ae270b04c5b7640d18d02f497a18cda05190dfaa68fdc16cbb9
+ REF v1.8.3
+ SHA512 4a5d6372cab51bb70911519fb9639d0cb6c456a966e2c90992f924ba36dcf741e32dbf18aea4419dc855f286da7e3edbfcc796bc90347858192c976298315785
HEAD_REF master
)
@@ -42,29 +42,33 @@ file(INSTALL
${BUILDTREE_PATH}/lib/jsrt/ChakraDebug.h
DESTINATION ${CURRENT_PACKAGES_DIR}/include
)
-file(INSTALL
- ${BUILDTREE_PATH}/Build/VcBuild/bin/${TRIPLET_SYSTEM_ARCH}_debug/ChakraCore.dll
- ${BUILDTREE_PATH}/Build/VcBuild/bin/${TRIPLET_SYSTEM_ARCH}_debug/ChakraCore.pdb
- DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin
-)
-file(INSTALL
- ${BUILDTREE_PATH}/Build/VcBuild/bin/${TRIPLET_SYSTEM_ARCH}_debug/Chakracore.lib
- DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib
-)
-file(INSTALL
- ${BUILDTREE_PATH}/Build/VcBuild/bin/${TRIPLET_SYSTEM_ARCH}_release/ChakraCore.dll
- ${BUILDTREE_PATH}/Build/VcBuild/bin/${TRIPLET_SYSTEM_ARCH}_release/ChakraCore.pdb
- DESTINATION ${CURRENT_PACKAGES_DIR}/bin
-)
-file(INSTALL
- ${BUILDTREE_PATH}/Build/VcBuild/bin/${TRIPLET_SYSTEM_ARCH}_release/Chakracore.lib
- DESTINATION ${CURRENT_PACKAGES_DIR}/lib
-)
-file(INSTALL
- ${BUILDTREE_PATH}/Build/VcBuild/bin/${TRIPLET_SYSTEM_ARCH}_release/ch.exe
- ${BUILDTREE_PATH}/Build/VcBuild/bin/${TRIPLET_SYSTEM_ARCH}_release/GCStress.exe
- ${BUILDTREE_PATH}/Build/VcBuild/bin/${TRIPLET_SYSTEM_ARCH}_release/rl.exe
- DESTINATION ${CURRENT_PACKAGES_DIR}/tools/chakracore)
+if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
+ file(INSTALL
+ ${BUILDTREE_PATH}/Build/VcBuild/bin/${TRIPLET_SYSTEM_ARCH}_debug/ChakraCore.dll
+ ${BUILDTREE_PATH}/Build/VcBuild/bin/${TRIPLET_SYSTEM_ARCH}_debug/ChakraCore.pdb
+ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin
+ )
+ file(INSTALL
+ ${BUILDTREE_PATH}/Build/VcBuild/bin/${TRIPLET_SYSTEM_ARCH}_debug/Chakracore.lib
+ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib
+ )
+endif()
+if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
+ file(INSTALL
+ ${BUILDTREE_PATH}/Build/VcBuild/bin/${TRIPLET_SYSTEM_ARCH}_release/ChakraCore.dll
+ ${BUILDTREE_PATH}/Build/VcBuild/bin/${TRIPLET_SYSTEM_ARCH}_release/ChakraCore.pdb
+ DESTINATION ${CURRENT_PACKAGES_DIR}/bin
+ )
+ file(INSTALL
+ ${BUILDTREE_PATH}/Build/VcBuild/bin/${TRIPLET_SYSTEM_ARCH}_release/Chakracore.lib
+ DESTINATION ${CURRENT_PACKAGES_DIR}/lib
+ )
+ file(INSTALL
+ ${BUILDTREE_PATH}/Build/VcBuild/bin/${TRIPLET_SYSTEM_ARCH}_release/ch.exe
+ ${BUILDTREE_PATH}/Build/VcBuild/bin/${TRIPLET_SYSTEM_ARCH}_release/GCStress.exe
+ ${BUILDTREE_PATH}/Build/VcBuild/bin/${TRIPLET_SYSTEM_ARCH}_release/rl.exe
+ DESTINATION ${CURRENT_PACKAGES_DIR}/tools/chakracore)
+endif()
vcpkg_copy_pdbs()
file(INSTALL
diff --git a/ports/cimg/CONTROL b/ports/cimg/CONTROL
index bd6d5b4a4..694db4b5d 100644
--- a/ports/cimg/CONTROL
+++ b/ports/cimg/CONTROL
@@ -1,3 +1,3 @@
Source: cimg
-Version: 220
+Version: 2.2.2
Description: The CImg Library is a small, open-source, and modern C++ toolkit for image processing
diff --git a/ports/cimg/portfile.cmake b/ports/cimg/portfile.cmake
index 84ee0be9f..b7607bff2 100644
--- a/ports/cimg/portfile.cmake
+++ b/ports/cimg/portfile.cmake
@@ -2,9 +2,9 @@ include(vcpkg_common_functions)
vcpkg_from_github(OUT_SOURCE_PATH SOURCE_PATH
REPO "dtschump/CImg"
- REF v.220
+ REF v.2.2.2
HEAD_REF master
- SHA512 f4954296d7aab9ba840e27d09d4d9abc21d78bedc32bd828f3c898348de7c3711096c1b6ff563907dfa41c78d1ae1c2ac5a8437d272a8d304f940f23b7844076)
+ SHA512 b3090e594accc31222e24e787381af315b5168dad4ea9669cc543ad6807c175dd60b9eddceda1c74a7bb716912650219763077b3eaee6fae79cfec1099c65836)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
diff --git a/ports/clara/CONTROL b/ports/clara/CONTROL
index 0825f74e0..815db6e52 100644
--- a/ports/clara/CONTROL
+++ b/ports/clara/CONTROL
@@ -1,3 +1,3 @@
Source: clara
-Version: 2018-03-11
+Version: 2018-04-02
Description: A simple to use command line parser for C++ \ No newline at end of file
diff --git a/ports/clara/portfile.cmake b/ports/clara/portfile.cmake
index 377eb932a..b4f7a7b20 100644
--- a/ports/clara/portfile.cmake
+++ b/ports/clara/portfile.cmake
@@ -2,8 +2,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO philsquared/Clara
- REF 008c2ae0a52aaa485d6cb830ad54bc6466733298
- SHA512 270c5d8cdc9c833d1a95f1a2737b3db0f537ab92569b5cc1007184b9f7e59f66bbf9ba95313332826814c0b670919b31e27fe797bb3083ac5e55bad6a6051d51
+ REF ba5485cb56329db3ea3f5402ef596d3b512b903a
+ SHA512 8aa66e3e1a2b7c544d9d105ad9f803119791b971cce4dff63ae47b63a08fd422fc75108aeb69300fa9982568d689f506456c6f8ed7287a19b9ed84649fad9315
HEAD_REF master
)
file(INSTALL ${SOURCE_PATH}/single_include/clara.hpp DESTINATION ${CURRENT_PACKAGES_DIR}/include)
diff --git a/ports/clblas/portfile.cmake b/ports/clblas/portfile.cmake
index b18377cdf..9088fc2e9 100644
--- a/ports/clblas/portfile.cmake
+++ b/ports/clblas/portfile.cmake
@@ -9,7 +9,7 @@ vcpkg_from_github(
)
# v2.12 has a very old FindOpenCL.cmake using OPENCL_ vs. OpenCL_ var names
-# conflicting with the built-in, more modern FindOpenCL.cmake
+# conflicting with the built-in, more modern FindOpenCL.cmake
file(
REMOVE ${SOURCE_PATH}/src/FindOpenCL.cmake
)
@@ -32,7 +32,9 @@ vcpkg_configure_cmake(
)
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(INSTALL
@@ -43,6 +45,7 @@ file(INSTALL
)
file(REMOVE
+ ${CURRENT_PACKAGES_DIR}/debug/bin/clBLAS-tune.pdb
${CURRENT_PACKAGES_DIR}/debug/bin/clBLAS-tune.exe
${CURRENT_PACKAGES_DIR}/bin/clBLAS-tune.exe
${CURRENT_PACKAGES_DIR}/debug/bin/concrt140d.dll
diff --git a/ports/cmark/CONTROL b/ports/cmark/CONTROL
new file mode 100644
index 000000000..4211c9bbc
--- /dev/null
+++ b/ports/cmark/CONTROL
@@ -0,0 +1,3 @@
+Source: cmark
+Version: 0.28.3-1
+Description: CommonMark parsing and rendering library
diff --git a/ports/cmark/portfile.cmake b/ports/cmark/portfile.cmake
new file mode 100644
index 000000000..b452a4488
--- /dev/null
+++ b/ports/cmark/portfile.cmake
@@ -0,0 +1,40 @@
+include(vcpkg_common_functions)
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ # Note: fails due to missing cmark_export.h -- fix should be to always generate the correct export header.
+ message(FATAL_ERROR "cmark does not currently support static library linkage")
+endif()
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO commonmark/cmark
+ REF 0.28.3
+ SHA512 409105a3228a8ae22ba6acf95cd99bc9a2c20f8603aa0e803a33172eb6ef53f80f8f0262d2258b77f9fd6e1f2e9017a6c906b88f761e053c09ef88c9ffab7d29
+ HEAD_REF master
+)
+
+string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" CMARK_STATIC)
+string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" CMARK_SHARED)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DCMARK_TESTS=OFF
+ -DCMARK_SHARED=${CMARK_SHARED}
+ -DCMARK_STATIC=${CMARK_STATIC}
+)
+
+vcpkg_install_cmake()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake)
+
+file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/cmark RENAME copyright)
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share)
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
+else()
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin/cmark.exe ${CURRENT_PACKAGES_DIR}/debug/bin/cmark.exe)
+endif()
diff --git a/ports/corrade/CONTROL b/ports/corrade/CONTROL
index a886c8639..e719d90e4 100644
--- a/ports/corrade/CONTROL
+++ b/ports/corrade/CONTROL
@@ -1,5 +1,5 @@
Source: corrade
-Version: 2018.02-1
+Version: 2018.04-1
Description: C++11/C++14 multiplatform utility library http://magnum.graphics/corrade/
Default-Features: interconnect, pluginmanager, testsuite, utility
diff --git a/ports/corrade/portfile.cmake b/ports/corrade/portfile.cmake
index 85ad3e4b0..9c407a753 100644
--- a/ports/corrade/portfile.cmake
+++ b/ports/corrade/portfile.cmake
@@ -2,8 +2,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO mosra/corrade
- REF v2018.02
- SHA512 8fe4998dc32586386b8fa2030941f3ace6d5e76aadcf7e20a620d276cc9247324e10eb58f2c2c9e84a1a9d9b336e6bdc788f9947c9e507a053d6fd2ffcd3d58e
+ REF v2018.04
+ SHA512 be14f0cb76c904a37f962af16b331407ec6a1f7a31245c7221f41fcbce2749a1ad67057d451736814e357eaa59e015f16996bdba819f69a1dd0f3d5a3cad34a4
HEAD_REF master
)
diff --git a/ports/cpprestsdk/CONTROL b/ports/cpprestsdk/CONTROL
index 663781d40..7e6dbc0d1 100644
--- a/ports/cpprestsdk/CONTROL
+++ b/ports/cpprestsdk/CONTROL
@@ -1,5 +1,5 @@
Source: cpprestsdk
-Version: 2.10.2
-Build-Depends: zlib, openssl (windows), boost-system (windows), boost-date-time (windows), boost-regex (windows), websocketpp (windows)
+Version: 2.10.2-1
+Build-Depends: zlib, openssl (!uwp), boost-system (!uwp), boost-date-time (!uwp), boost-regex (!uwp), websocketpp (!uwp), boost-thread (!uwp&!windows), boost-filesystem (!uwp&!windows), boost-random (!uwp&!windows), boost-chrono (!uwp&!windows)
Description: C++11 JSON, REST, and OAuth library
The C++ REST SDK is a Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design. This project aims to help C++ developers connect to and interact with services.
diff --git a/ports/cppzmq/CONTROL b/ports/cppzmq/CONTROL
index 39928046d..e970bac53 100644
--- a/ports/cppzmq/CONTROL
+++ b/ports/cppzmq/CONTROL
@@ -1,4 +1,4 @@
Source: cppzmq
-Version: 4.2.2
+Version: 4.2.2-1
Build-Depends: zeromq
Description: lightweight messaging kernel, C++ bindings
diff --git a/ports/cppzmq/portfile.cmake b/ports/cppzmq/portfile.cmake
index 4f0701c59..282a86dfd 100644
--- a/ports/cppzmq/portfile.cmake
+++ b/ports/cppzmq/portfile.cmake
@@ -9,9 +9,16 @@ vcpkg_from_github(
HEAD_REF master
)
-# cppzmq is a single header library, so we just need to copy that file in the include directory
-file(INSTALL ${SOURCE_PATH}/zmq.hpp DESTINATION ${CURRENT_PACKAGES_DIR}/include)
-file(INSTALL ${SOURCE_PATH}/zmq_addon.hpp DESTINATION ${CURRENT_PACKAGES_DIR}/include)
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+)
+
+vcpkg_install_cmake()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/cppzmq)
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug)
# Handle copyright
file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/cppzmq)
diff --git a/ports/cryptopp/CONTROL b/ports/cryptopp/CONTROL
index 00d14756a..6fea020bd 100644
--- a/ports/cryptopp/CONTROL
+++ b/ports/cryptopp/CONTROL
@@ -1,3 +1,3 @@
Source: cryptopp
-Version: 5.6.5-1
+Version: 6.1.0-2
Description: Crypto++ is a free C++ class library of cryptographic schemes.
diff --git a/ports/cryptopp/cmake.patch b/ports/cryptopp/cmake.patch
new file mode 100644
index 000000000..fbe725eb9
--- /dev/null
+++ b/ports/cryptopp/cmake.patch
@@ -0,0 +1,15 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 5b6e1e6..a0adcf6 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -329,6 +329,10 @@ if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
+ SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /FI\"winapifamily.h\"" )
+ endif ()
+
++if(WINDOWS_STORE)
++ add_definitions(-DCRYPTOPP_DISABLE_NACL=1)
++endif()
++
+ # Enable PIC for all target machines except 32-bit i386 due to register pressures.
+ if (NOT CRYPTOPP_I386)
+ SET(CMAKE_POSITION_INDEPENDENT_CODE 1)
diff --git a/ports/cryptopp/patch.patch b/ports/cryptopp/patch.patch
new file mode 100644
index 000000000..5c49d2757
--- /dev/null
+++ b/ports/cryptopp/patch.patch
@@ -0,0 +1,12 @@
+diff --git a/config.h b/config.h
+index b96b7aa..3f004ac 100644
+--- a/config.h
++++ b/config.h
+@@ -795,6 +795,7 @@ NAMESPACE_END
+ #endif
+
+ #ifdef CRYPTOPP_WIN32_AVAILABLE
++#include <winapifamily.h>
+ # if !defined(WINAPI_FAMILY)
+ # define THREAD_TIMER_AVAILABLE
+ # elif defined(WINAPI_FAMILY)
diff --git a/ports/cryptopp/portfile.cmake b/ports/cryptopp/portfile.cmake
index 4847c208b..6b4b844c4 100644
--- a/ports/cryptopp/portfile.cmake
+++ b/ports/cryptopp/portfile.cmake
@@ -3,13 +3,32 @@ if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
set(VCPKG_LIBRARY_LINKAGE static)
endif()
include(vcpkg_common_functions)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/cryptopp-CRYPTOPP_5_6_5)
-vcpkg_download_distfile(ARCHIVE
- URLS "https://github.com/weidai11/cryptopp/archive/CRYPTOPP_5_6_5.zip"
- FILENAME "CRYPTOPP_5_6_5.zip"
- SHA512 abca8089e2d587f59c503d2d6412b3128d061784349c735f3ee46be1cb9e3d0d0fed9a9173765fa033eb2dc744e03810de45b8cc2f8ca1672a36e4123648ea44
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH CMAKE_SOURCE_PATH
+ REPO noloader/cryptopp-cmake
+ REF aab149932675e4bb777a9d3d6b3f8b8182583fd7
+ SHA512 748c77e936888d042bf4a72cc7ee3b7b2ecf16c003cb23296c1af413c9a0cba00cc942ecace26274fc8ac8bd4d848946beb9d7bf2253c5eab3315a4419ef5f1f
+ HEAD_REF master
+)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO weidai11/cryptopp
+ REF CRYPTOPP_6_1_0
+ SHA512 4bc02fef33f1859a07434a4752c2575afd781056e9a91eed99a13cebe2c91d66cbc7173e34d362da63dad6d38f9594ff291accd27e111232996ccd536bba0f39
+ HEAD_REF master
+)
+
+file(COPY ${CMAKE_SOURCE_PATH}/cryptopp-config.cmake DESTINATION ${SOURCE_PATH})
+file(COPY ${CMAKE_SOURCE_PATH}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+
+vcpkg_apply_patches(
+ SOURCE_PATH "${SOURCE_PATH}"
+ PATCHES
+ "${CMAKE_CURRENT_LIST_DIR}/patch.patch"
+ "${CMAKE_CURRENT_LIST_DIR}/cmake.patch"
)
-vcpkg_extract_source_archive(${ARCHIVE})
# Dynamic linking should be avoided for Crypto++ to reduce the attack surface,
# so generate a static lib for both dynamic and static vcpkg targets.
@@ -19,6 +38,7 @@ vcpkg_extract_source_archive(${ARCHIVE})
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
OPTIONS
-DBUILD_SHARED=OFF
-DBUILD_STATIC=ON
@@ -27,18 +47,10 @@ vcpkg_configure_cmake(
)
vcpkg_install_cmake()
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/cryptopp)
# There is no way to suppress installation of the headers and resource files in debug build.
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
-
-# Remove executables
-file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/cryptest.exe)
-file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/cryptest.exe)
-
-# Remove other files not required in package
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/cmake)
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake)
# Handle copyright
file(COPY ${SOURCE_PATH}/License.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/cryptopp)
diff --git a/ports/curl/0002_fix_uwp.patch b/ports/curl/0002_fix_uwp.patch
index 8408177e8..111ca98e8 100644
--- a/ports/curl/0002_fix_uwp.patch
+++ b/ports/curl/0002_fix_uwp.patch
@@ -60,14 +60,14 @@ diff --git a/lib/ftp.c b/lib/ftp.c
index 8042edf..3442df7 100644
--- a/lib/ftp.c
+++ b/lib/ftp.c
-@@ -4297,7 +4297,7 @@ CURLcode ftp_parse_url_path(struct connectdata *conn)
+@@ -4260,7 +4260,7 @@ CURLcode ftp_parse_url_path(struct connectdata *conn)
/* prevpath is "raw" so we convert the input path before we compare the
strings */
size_t dlen;
- char *path;
+ char *path = NULL;
CURLcode result =
- Curl_urldecode(conn->data, data->state.path, 0, &path, &dlen, FALSE);
+ Curl_urldecode(conn->data, data->state.path, 0, &path, &dlen, TRUE);
if(result) {
diff --git a/lib/rand.c b/lib/rand.c
index 2670af9..0d18d37 100644
diff --git a/ports/curl/CONTROL b/ports/curl/CONTROL
index 0f6acea43..18518e1ea 100644
--- a/ports/curl/CONTROL
+++ b/ports/curl/CONTROL
@@ -1,5 +1,5 @@
Source: curl
-Version: 7.58.0-5
+Version: 7_59_0-2
Build-Depends: zlib
Description: A library for transferring data with URLs
Default-Features: ssl
@@ -12,7 +12,7 @@ Feature: non-http
Description: Enables protocols beyond HTTP/HTTPS/HTTP2
Feature: http2
-Build-Depends: nghttp2, ssl
+Build-Depends: nghttp2, curl[ssl]
Description: HTTP2 support
Feature: ssl
diff --git a/ports/curl/portfile.cmake b/ports/curl/portfile.cmake
index 299dc4fa4..852fcf9d0 100644
--- a/ports/curl/portfile.cmake
+++ b/ports/curl/portfile.cmake
@@ -2,8 +2,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO curl/curl
- REF curl-7_58_0
- SHA512 148c25152732dd5ad2626bc70c7725577e25033a73eecefa4dd820927ec552f9c2d0235cc3f597404d3893eced7d5d2bd9522f6302b7f930e9f65912ac2c91f6
+ REF curl-7_59_0
+ SHA512 eac51b986db7eafb836bc4fa00def88054304110990bf99a4387a5ff85a8375616c2ee5bee91bf608737faffe9f228dfd62be69a4b0622a4afe3deb1098b6bd3
HEAD_REF master
)
diff --git a/ports/date/CMakeLists.txt b/ports/date/CMakeLists.txt
index 4c38e4a87..292c1758a 100644
--- a/ports/date/CMakeLists.txt
+++ b/ports/date/CMakeLists.txt
@@ -1,28 +1,44 @@
cmake_minimum_required(VERSION 3.5.1)
project(tz CXX)
+set(CMAKE_CXX_STANDARD 11)
if(MSVC)
add_compile_options(/W3 /wd4005 /wd4996 /wd4018 -D_CRT_SECURE_NO_WARNINGS)
endif()
-add_definitions(-DNOMINMAX)
+option(HAS_REMOTE_API "" 0)
+add_definitions(-DNOMINMAX -DHAS_REMOTE_API=${HAS_REMOTE_API})
-include_directories("./include")
+add_library(date INTERFACE)
+target_include_directories(date INTERFACE $<INSTALL_INTERFACE:include>)
add_library(tz src/tz.cpp)
+target_include_directories(tz PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> $<INSTALL_INTERFACE:include>)
+
+if(HAS_REMOTE_API)
+ find_package(CURL REQUIRED)
+ target_link_libraries(tz PUBLIC $<BUILD_INTERFACE:${CURL_LIBRARIES}>)
+ target_include_directories(tz PUBLIC $<BUILD_INTERFACE:${CURL_INCLUDE_DIRS}>)
+endif()
if(BUILD_SHARED_LIBS)
target_compile_definitions(tz PRIVATE -DDATE_BUILD_DLL)
endif()
install(
- TARGETS tz
+ TARGETS tz date
+ EXPORT tz
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
)
+file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/unofficial-date-config.cmake" "include(\${CMAKE_CURRENT_LIST_DIR}/unofficial-date-targets.cmake)\n")
+
+install(EXPORT tz FILE unofficial-date-targets.cmake NAMESPACE unofficial::date:: DESTINATION share/unofficial-date)
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/unofficial-date-config.cmake DESTINATION share/unofficial-date)
+
if(NOT DISABLE_INSTALL_HEADERS)
install(FILES include/date/date.h include/date/tz.h include/date/julian.h include/date/iso_week.h include/date/islamic.h DESTINATION include/date)
endif()
diff --git a/ports/date/CONTROL b/ports/date/CONTROL
index 8c1797072..f9a86d671 100644
--- a/ports/date/CONTROL
+++ b/ports/date/CONTROL
@@ -1,3 +1,7 @@
Source: date
-Version: 2.4
+Version: 2.4.1
Description: A date and time library based on the C++11/14/17 <chrono> header
+
+Feature: remote-api
+Description: support automatic download of tz data
+Build-Depends: curl
diff --git a/ports/date/portfile.cmake b/ports/date/portfile.cmake
index c60a7bcb0..749c0c5f0 100644
--- a/ports/date/portfile.cmake
+++ b/ports/date/portfile.cmake
@@ -1,15 +1,17 @@
include(vcpkg_common_functions)
-message(WARNING
- "You will need to also install http://unicode.org/repos/cldr/trunk/common/supplemental/windowsZones.xml into your install location"
- "See https://howardhinnant.github.io/date/tz.html"
-)
+if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ message(WARNING
+ "You will need to also install http://unicode.org/repos/cldr/trunk/common/supplemental/windowsZones.xml into your install location.\n"
+ "See https://howardhinnant.github.io/date/tz.html"
+ )
+endif()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO HowardHinnant/date
- REF v2.4
- SHA512 01bcc021ebf9ca0ac88c797896a291ff81834e7fae37323ad20881d3a172963c04d3c7bea0dd37cd945b756ab7f70f0a02edb18a085bf9abf8d8f10056f73f3c
+ REF v2.4.1
+ SHA512 ce7d1c4518558d3690b3a33cd3da1066b43a5f641282c331c60be73e9b010227d4998bca5f34694215ae52f6514a2f5eccd6b0a5ee3dcf8cef2f2d1644c8beee
HEAD_REF master
)
@@ -20,18 +22,27 @@ vcpkg_apply_patches(
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+set(HAS_REMOTE_API 0)
+if("remote-api" IN_LIST FEATURES)
+ set(HAS_REMOTE_API 1)
+endif()
+
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
+ OPTIONS -DHAS_REMOTE_API=${HAS_REMOTE_API}
OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON
)
vcpkg_install_cmake()
+vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-date TARGET_PATH share/unofficial-date)
+
vcpkg_copy_pdbs()
set(HEADER "${CURRENT_PACKAGES_DIR}/include/date/tz.h")
file(READ "${HEADER}" _contents)
+string(REPLACE "#define TZ_H" "#define TZ_H\n#undef HAS_REMOTE_API\n#define HAS_REMOTE_API ${HAS_REMOTE_API}" _contents "${_contents}")
if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
string(REPLACE "ifdef DATE_BUILD_DLL" "if 1" _contents "${_contents}")
endif()
diff --git a/ports/directxmesh/CONTROL b/ports/directxmesh/CONTROL
index 9ccd7156e..8b8206540 100644
--- a/ports/directxmesh/CONTROL
+++ b/ports/directxmesh/CONTROL
@@ -1,3 +1,3 @@
-Source: directxmesh
-Version: feb2018
+Source: directxmesh
+Version: apr2018
Description: DirectXMesh geometry processing library \ No newline at end of file
diff --git a/ports/directxmesh/portfile.cmake b/ports/directxmesh/portfile.cmake
index 69f335c61..090e0df36 100644
--- a/ports/directxmesh/portfile.cmake
+++ b/ports/directxmesh/portfile.cmake
@@ -12,8 +12,8 @@ endif()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Microsoft/DirectXMesh
- REF feb2018
- SHA512 b5d21c8960ef9c8f2e608807ce29fd4873d0f4ad5bb0b6432f6efbb6110bfd61a16fbaab8a5c626cc1977f48923a562a618f29b9b2f112db625c0a8eb43f0422
+ REF apr2018
+ SHA512 960e28665e4e79358e2985923e9fc9dbebc2ae5f8acb880b1f3990f2dc86683c266d41f14b0526fc391629c608b879915f88ce091eaee619debb48fc39fa9e3d
HEAD_REF master
)
diff --git a/ports/directxtex/CONTROL b/ports/directxtex/CONTROL
index 8d47b6302..0d428284e 100644
--- a/ports/directxtex/CONTROL
+++ b/ports/directxtex/CONTROL
@@ -1,3 +1,3 @@
Source: directxtex
-Version: feb2018b
+Version: apr2018
Description: DirectXTex texture processing library \ No newline at end of file
diff --git a/ports/directxtex/portfile.cmake b/ports/directxtex/portfile.cmake
index ec466e0d6..41423a6cc 100644
--- a/ports/directxtex/portfile.cmake
+++ b/ports/directxtex/portfile.cmake
@@ -12,8 +12,8 @@ endif()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Microsoft/DirectXTex
- REF feb2018b
- SHA512 7ab88ea863947ec279c9c83bd6dd48e15345430c750c7215c22998661fad1a711f207c57227bc5cc3cddfb5e0a89a8971d7ef3319057636e2b6f3e2e607ea0cb
+ REF apr2018
+ SHA512 b4e55358628c13f2a8f1f3cb0258a0d126057bc1dfa45e645e0ec21203cdda091c8244deeb775ec950ed534bddd82b71aa1d00f7356bf7f7c49a072bd206b373
HEAD_REF master
)
diff --git a/ports/directxtk/CONTROL b/ports/directxtk/CONTROL
index 1861befc1..7c69aeba2 100644
--- a/ports/directxtk/CONTROL
+++ b/ports/directxtk/CONTROL
@@ -1,3 +1,3 @@
Source: directxtk
-Version: feb2018
+Version: apr2018
Description: A collection of helper classes for writing DirectX 11.x code in C++.
diff --git a/ports/directxtk/portfile.cmake b/ports/directxtk/portfile.cmake
index 18ff47218..da7d9b40c 100644
--- a/ports/directxtk/portfile.cmake
+++ b/ports/directxtk/portfile.cmake
@@ -12,8 +12,8 @@ endif()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Microsoft/DirectXTK
- REF feb2018
- SHA512 0f123f6fa26bf5aebd0d0b3139f655369726581c25eec24d804eebf5dc34b3e45476e8a1679bf1a294b011bf32e19c5e2a63a385ecb8774dfacee3e8833c5b9e
+ REF apr2018
+ SHA512 d7e58883a7c18e239964ca0da62441446af233d99e221a6d23f1a3a89991b0bc1e4ca31205895230488abd4e65103f59ec950af42ba379e409783927ee97cc4a
HEAD_REF master
)
diff --git a/ports/discord-rpc/CONTROL b/ports/discord-rpc/CONTROL
index 218257e6a..82e7515ed 100644
--- a/ports/discord-rpc/CONTROL
+++ b/ports/discord-rpc/CONTROL
@@ -1,3 +1,3 @@
Source: discord-rpc
-Version: 3.0.0
+Version: 3.3.0
Description: Rich Presence allows you to leverage the totally overhauled "Now Playing" section in a Discord user's profile to help people play your game together.
diff --git a/ports/discord-rpc/portfile.cmake b/ports/discord-rpc/portfile.cmake
index 88a5fc976..5a2f04c85 100644
--- a/ports/discord-rpc/portfile.cmake
+++ b/ports/discord-rpc/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO discordapp/discord-rpc
- REF v3.0.0
- SHA512 d14ae2b33d832c456621fd0abb137450ae9d7eedf2a3d343a82f2b609da3946e501a9d8016f62b3dd0219a0eaf3c47f82d6023960608d670632939e0b35e8167
+ REF v3.3.0
+ SHA512 8bb2674edefabf75670ceca29364d69e2002152bff9fe55757f4cda03544b4d827ff33595d98e6d8acdc73ca61cef8ab8054ad0a1ffc905cb26496068b15025f
HEAD_REF master
)
diff --git a/ports/dlib/CONTROL b/ports/dlib/CONTROL
index d711849f0..c4d5fe905 100644
--- a/ports/dlib/CONTROL
+++ b/ports/dlib/CONTROL
@@ -1,5 +1,5 @@
Source: dlib
-Version: 19.9-1
+Version: 19.10-1
Build-Depends: libjpeg-turbo, libpng, sqlite3, fftw3, openblas, clapack
Description: Modern C++ toolkit containing machine learning algorithms and tools for creating complex software in C++
diff --git a/ports/dlib/portfile.cmake b/ports/dlib/portfile.cmake
index cf3ae4079..da77c9374 100644
--- a/ports/dlib/portfile.cmake
+++ b/ports/dlib/portfile.cmake
@@ -1,10 +1,15 @@
include(vcpkg_common_functions)
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
+ message("dlib only supports static linkage")
+ set(VCPKG_LIBRARY_LINKAGE "static")
+endif()
+
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO davisking/dlib
- REF v19.9
- SHA512 1e2123c22e1b13cc84108fa627bfa92eadc9dee63f93a9f45676bbf2b752c8728117d915ac327f5223b0cdbce87dd3bef2f4d8d5ed3f8f5a314ffa9e8962a246
+ REF v19.10
+ SHA512 88c5b41c12219e6166c6621b654b3869ca4a2af777a8fa55429b833b90b048e3e74ea7ad752d7440809b8171bbd38090cb24a29770391fc3a9d53f9a5fba3341
HEAD_REF master
)
diff --git a/ports/double-conversion/portfile.cmake b/ports/double-conversion/portfile.cmake
index 8fc31c692..47f3fba4e 100644
--- a/ports/double-conversion/portfile.cmake
+++ b/ports/double-conversion/portfile.cmake
@@ -23,12 +23,19 @@ vcpkg_configure_cmake(
vcpkg_install_cmake()
# Rename exported target files into something vcpkg_fixup_cmake_targets expects
+if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/cmake/double-conversion)
+ vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/double-conversion)
+endif()
if(NOT VCPKG_USE_HEAD_VERSION)
if(EXISTS ${CURRENT_PACKAGES_DIR}/CMake)
- file(RENAME ${CURRENT_PACKAGES_DIR}/debug/CMake/double-conversionLibraryDepends-debug.cmake
- ${CURRENT_PACKAGES_DIR}/debug/CMake/double-conversionTargets-debug.cmake)
- file(RENAME ${CURRENT_PACKAGES_DIR}/CMake/double-conversionLibraryDepends-release.cmake
- ${CURRENT_PACKAGES_DIR}/CMake/double-conversionTargets-release.cmake)
+ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
+ file(RENAME ${CURRENT_PACKAGES_DIR}/debug/CMake/double-conversionLibraryDepends-debug.cmake
+ ${CURRENT_PACKAGES_DIR}/debug/CMake/double-conversionTargets-debug.cmake)
+ endif()
+ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
+ file(RENAME ${CURRENT_PACKAGES_DIR}/CMake/double-conversionLibraryDepends-release.cmake
+ ${CURRENT_PACKAGES_DIR}/CMake/double-conversionTargets-release.cmake)
+ endif()
file(RENAME ${CURRENT_PACKAGES_DIR}/CMake/double-conversionLibraryDepends.cmake
${CURRENT_PACKAGES_DIR}/CMake/double-conversionTargets.cmake)
@@ -47,10 +54,6 @@ if(NOT VCPKG_USE_HEAD_VERSION)
vcpkg_fixup_cmake_targets(CONFIG_PATH CMake)
endif()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
-else()
- if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/cmake/double-conversion)
- vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/double-conversion)
- endif()
endif()
vcpkg_copy_pdbs()
diff --git a/ports/eastl/CONTROL b/ports/eastl/CONTROL
index 2e7d0c433..dbf5fb0f4 100644
--- a/ports/eastl/CONTROL
+++ b/ports/eastl/CONTROL
@@ -1,4 +1,4 @@
Source: eastl
-Version: 3.07.02
+Version: 3.09.00
Description: Electronic Arts Standard Template Library.
It is a C++ template library of containers, algorithms, and iterators useful for runtime and tool development across multiple platforms. It is a fairly extensive and robust implementation of such a library and has an emphasis on high performance above all other considerations.
diff --git a/ports/eastl/portfile.cmake b/ports/eastl/portfile.cmake
index f5b877b8c..afe9ed4cf 100644
--- a/ports/eastl/portfile.cmake
+++ b/ports/eastl/portfile.cmake
@@ -8,8 +8,8 @@ set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/eastl)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO electronicarts/EASTL
- REF 3.07.02
- SHA512 332db00b69a5493158daf1b0b89717646f0a31aeb0bfc9bf3415caee928102c3253c47c21eda0789350095811db45f5eae82ca24fb3fe1e9d67072f9fcd21235
+ REF 3.09.00
+ SHA512 73b1b6ce0eba65fca049571a44595ff581f0dda01dcaaf3e0deb2d22e62b9b694a321339038c5cc2e6802ba3270675b814b73b59a8cfc8d71e645c60b17bebb6
HEAD_REF master
)
diff --git a/ports/exiv2/CONTROL b/ports/exiv2/CONTROL
index fbcb220c7..38b8d8d85 100644
--- a/ports/exiv2/CONTROL
+++ b/ports/exiv2/CONTROL
@@ -1,4 +1,4 @@
Source: exiv2
-Version: 2018-02-25
+Version: 2018-04-25
Build-Depends: zlib, expat, libiconv
Description: Image metadata library and tools http://www.exiv2.org
diff --git a/ports/exiv2/portfile.cmake b/ports/exiv2/portfile.cmake
index 2a0acc649..2e09b7076 100644
--- a/ports/exiv2/portfile.cmake
+++ b/ports/exiv2/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Exiv2/exiv2
- REF 28fa146d9758230ea65e2b89574095514aa50429
- SHA512 710020dd404d43edd268a9229f240222b185576d8c277884c57479d291d0f3145b6076d0225849c38ab2e618d113dbc61cd6a60d4545e2a44797a63a2f01a603
+ REF 4bcec183d52995169653f619e50cbeadab420807
+ SHA512 812cace9303f6d0bb2b1e5833e1b5728316126b0a5cc14662b79a0eb14dd752862e79d4014748320696c65c1466b113c57f106b9fd25f2d7dd4e5a9d4a275d16
HEAD_REF master
)
diff --git a/ports/exprtk/CONTROL b/ports/exprtk/CONTROL
index 2ebcfab28..4df1a2e2b 100644
--- a/ports/exprtk/CONTROL
+++ b/ports/exprtk/CONTROL
@@ -1,3 +1,3 @@
Source: exprtk
-Version: 2018.01.01-f32d2b4
+Version: 2018.04.30-46877b6
Description: Simple to use, easy to integrate and extremely efficient run-time C++ mathematical expression parser and evaluation engine.
diff --git a/ports/exprtk/portfile.cmake b/ports/exprtk/portfile.cmake
index 1178a3e12..69d9921ec 100644
--- a/ports/exprtk/portfile.cmake
+++ b/ports/exprtk/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO ArashPartow/exprtk
- REF f32d2b4bbb640ea4732b8a7fce1bd9717e9c998b
- SHA512 22c977dc2514bd525856ed26b8895687601e79784486efe9d4f27466e1e1932c4a947297d83e9b98a6c82df9eaf5b0f82990741bbb699d565ca11e5755a55dd6
+ REF 46877b604cfcc0a0e592fc7a8a874cf2a9f90cf4
+ SHA512 1043b5b6aa64bc3f8d989d2aac3e3a125188b1526ab92e245ad526ab1fe37e10cb275f2b77d311b4d91bd4ea32e1d81dfcd8abf8373b723a8b664842690ee1ae
)
file(COPY ${SOURCE_PATH}/exprtk.hpp DESTINATION ${CURRENT_PACKAGES_DIR}/include)
diff --git a/ports/fastrtps/CONTROL b/ports/fastrtps/CONTROL
new file mode 100644
index 000000000..edbe4b7d4
--- /dev/null
+++ b/ports/fastrtps/CONTROL
@@ -0,0 +1,4 @@
+Source: fastrtps
+Version: 1.5.0
+Description: Eprosima Fast RTPS is a C++ implementation of the RTPS (Real Time Publish Subscribe) protocol, which provides publisher-subscriber communications over unreliable transports such as UDP, as defined and maintained by the Object Management Group (OMG) consortium.
+Build-Depends: openssl, asio, tinyxml2 \ No newline at end of file
diff --git a/ports/fastrtps/fix-install.patch b/ports/fastrtps/fix-install.patch
new file mode 100644
index 000000000..4777ae3ee
--- /dev/null
+++ b/ports/fastrtps/fix-install.patch
@@ -0,0 +1,14 @@
+diff --git a/src/cpp/CMakeLists.txt b/src/cpp/CMakeLists.txt
+index a1e91fd..f5578cd 100644
+--- a/src/cpp/CMakeLists.txt
++++ b/src/cpp/CMakeLists.txt
+@@ -416,7 +416,8 @@ if(MSVC OR MSVC_IDE)
+ PATTERN "*.pdb"
+ )
+
+- if(NOT (("${MSVC_ARCH}" STREQUAL "i86Win32VS2013") OR ("${MSVC_ARCH}" STREQUAL "x64Win64VS2013")))
++ if(NOT (("${MSVC_ARCH}" STREQUAL "i86Win32VS2013") OR ("${MSVC_ARCH}" STREQUAL "x64Win64VS2013")
++ OR ("${MSVC_ARCH}" STREQUAL "i86Win32VS2015") OR ("${MSVC_ARCH}" STREQUAL "x64Win64VS2015")))
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}_static.dir/Debug/${PROJECT_NAME}_static.pdb
+ DESTINATION ${LIB_INSTALL_DIR}${DIR_EXTENSION}
+ COMPONENT libraries_${MSVC_ARCH}
diff --git a/ports/fastrtps/portfile.cmake b/ports/fastrtps/portfile.cmake
new file mode 100644
index 000000000..855d9f8b5
--- /dev/null
+++ b/ports/fastrtps/portfile.cmake
@@ -0,0 +1,32 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO eProsima/Fast-RTPS
+ REF b1779b608c7b5b2dcb101728f4213c58bdde74ee # waiting for next release
+ SHA512 9ec4a1e41296df1c0bc00926d925e0947602fabb68e9b28311e92739b0e1909a2993b15fc05eb31aeb9842ed50127f8d56571d09e57dd64ac6f37d0fed6cea73
+ HEAD_REF master
+)
+
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES ${CMAKE_CURRENT_LIST_DIR}/fix-install.patch
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+)
+
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+
+file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share)
+file(COPY ${CURRENT_PACKAGES_DIR}/lib/fastrtps DESTINATION ${CURRENT_PACKAGES_DIR}/share)
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/examples)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/LICENSE)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/examples)
+
+file(RENAME ${CURRENT_PACKAGES_DIR}/LICENSE ${CURRENT_PACKAGES_DIR}/share/fastrtps/copyright)
diff --git a/ports/ffmpeg/CONTROL b/ports/ffmpeg/CONTROL
index 3ed4c4bac..7688f67f9 100644
--- a/ports/ffmpeg/CONTROL
+++ b/ports/ffmpeg/CONTROL
@@ -1,8 +1,35 @@
Source: ffmpeg
-Version: 3.3.3-3
+Version: 3.3.3-5
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.
+Feature: ffserver
+Description: ffserver appplication support in ffmpeg
+
+Feature: ffplay
+Description: ffplay appplication support in ffmpeg
+
+Feature: ffprobe
+Description: ffprobe appplication support in ffmpeg
+
Feature: openssl
-Build-Depends: openssl
+Build-Depends: openssl, ffmpeg[nonfree]
Description: openssl support in ffmpeg
+
+Feature: lzma
+Build-Depends: liblzma
+Description: lzma support in ffmpeg
+
+Feature: x264
+Build-Depends: x264, ffmpeg[gpl]
+Description: x264 support in ffmpeg
+
+Feature: opencl
+Build-Depends: opencl
+Description: opencl support in ffmpeg
+
+Feature: nonfree
+Description: allow nonfree and unredistributable libraries
+
+Feature: gpl
+Description: allow GPL licensed libraries
diff --git a/ports/ffmpeg/FindFFMPEG.cmake b/ports/ffmpeg/FindFFMPEG.cmake
index ce6e7e600..bd373bfae 100644
--- a/ports/ffmpeg/FindFFMPEG.cmake
+++ b/ports/ffmpeg/FindFFMPEG.cmake
@@ -8,4 +8,4 @@ foreach(FFMPEG_SUBLIBRARY avformat avdevice avcodec avutil swscale)
endforeach()
list(APPEND FFMPEG_LIBRARIES wsock32 ws2_32 Secur32)
-find_package_handle_standard_args(FFMPEG REQUIRED_VARS FFMPEG_LIBRARIES FFMPEG_INCLUDE_DIR)
+find_package_handle_standard_args(FFMPEG REQUIRED_VARS FFMPEG_LIBRARIES FFMPEG_INCLUDE_DIRS)
diff --git a/ports/ffmpeg/configure_opencv.patch b/ports/ffmpeg/configure_opencv.patch
new file mode 100644
index 000000000..66678661e
--- /dev/null
+++ b/ports/ffmpeg/configure_opencv.patch
@@ -0,0 +1,11 @@
+--- a/configure
++++ b/configure
+@@ -5804,7 +5804,7 @@
+ enabled libopencore_amrwb && require libopencore_amrwb opencore-amrwb/dec_if.h D_IF_init -lopencore-amrwb
+ enabled libopencv && { check_header opencv2/core/core_c.h &&
+ { use_pkg_config opencv opencv2/core/core_c.h cvCreateImageHeader ||
+- require opencv opencv2/core/core_c.h cvCreateImageHeader -lopencv_core -lopencv_imgproc; } ||
++ require opencv opencv2/core/core_c.h cvCreateImageHeader -lopencv_core341 -lopencv_imgproc341; } ||
+ require_pkg_config opencv opencv/cxcore.h cvCreateImageHeader; }
+ enabled libopenh264 && require_pkg_config openh264 wels/codec_api.h WelsGetCodecVersion
+ enabled libopenjpeg && { { check_lib openjpeg-2.1/openjpeg.h opj_version -lopenjp2 -DOPJ_STATIC && add_cppflags -DOPJ_STATIC; } ||
diff --git a/ports/ffmpeg/portfile.cmake b/ports/ffmpeg/portfile.cmake
index 56b467685..994e057b3 100644
--- a/ports/ffmpeg/portfile.cmake
+++ b/ports/ffmpeg/portfile.cmake
@@ -3,14 +3,20 @@ set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/ffmpeg-3.3.3)
vcpkg_download_distfile(ARCHIVE
URLS "http://ffmpeg.org/releases/ffmpeg-3.3.3.tar.bz2"
FILENAME "ffmpeg-3.3.3.tar.bz2"
- SHA512 1cc63bf73356f4e618c0d3572a216bdf5689f10deff56b4262f6d740b0bee5a4b3eac234f45fca3d4d2da77903a507b4fba725b76d2d2070f31b6dae9e7a2dab
+ SHA512 1cc63bf73356f4e618c0d3572a216bdf5689f10deff56b4262f6d740b0bee5a4b3eac234f45fca3d4d2da77903a507b4fba725b76d2d2070f31b6dae9e7a2dab
)
+
+if (${SOURCE_PATH} MATCHES " ")
+ message(FATAL_ERROR "Error: ffmpeg will not build with spaces in the path. Please use a directory with no spaces")
+endif()
+
vcpkg_extract_source_archive(${ARCHIVE})
vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
PATCHES
${CMAKE_CURRENT_LIST_DIR}/create-lib-libraries.patch
${CMAKE_CURRENT_LIST_DIR}/detect-openssl.patch
+ ${CMAKE_CURRENT_LIST_DIR}/configure_opencv.patch
)
vcpkg_find_acquire_program(YASM)
@@ -30,14 +36,66 @@ set(_csc_PROJECT_PATH ffmpeg)
file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel)
-set(OPTIONS "--disable-ffmpeg --disable-ffprobe --disable-doc --enable-debug")
+set(OPTIONS "--enable-asm --enable-yasm --disable-doc --enable-debug --disable-ffmpeg")
set(OPTIONS "${OPTIONS} --enable-runtime-cpudetect")
+
+if("nonfree" IN_LIST FEATURES)
+ set(OPTIONS "${OPTIONS} --enable-nonfree")
+endif()
+
+if("gpl" IN_LIST FEATURES)
+ set(OPTIONS "${OPTIONS} --enable-gpl")
+endif()
+
if("openssl" IN_LIST FEATURES)
set(OPTIONS "${OPTIONS} --enable-openssl")
else()
set(OPTIONS "${OPTIONS} --disable-openssl")
endif()
+if("ffplay" IN_LIST FEATURES)
+ set(OPTIONS "${OPTIONS} --enable-ffplay")
+else()
+ set(OPTIONS "${OPTIONS} --disable-ffplay")
+endif()
+
+if("ffserver" IN_LIST FEATURES)
+ set(OPTIONS "${OPTIONS} --enable-ffserver")
+else()
+ set(OPTIONS "${OPTIONS} --disable-ffserver")
+endif()
+
+if("ffprobe" IN_LIST FEATURES)
+ set(OPTIONS "${OPTIONS} --enable-ffprobe")
+else()
+ set(OPTIONS "${OPTIONS} --disable-ffprobe")
+endif()
+
+if("x264" IN_LIST FEATURES)
+ set(OPTIONS "${OPTIONS} --enable-libx264")
+else()
+ set(OPTIONS "${OPTIONS} --disable-libx264")
+endif()
+
+if("opencl" IN_LIST FEATURES)
+ set(OPTIONS "${OPTIONS} --enable-opencl")
+else()
+ set(OPTIONS "${OPTIONS} --disable-opencl")
+endif()
+
+if("lzma" IN_LIST FEATURES)
+ set(OPTIONS "${OPTIONS} --enable-lzma")
+else()
+ set(OPTIONS "${OPTIONS} --disable-lzma")
+endif()
+
+# bzip2's debug library is named "bz2d", which isn't found by ffmpeg
+# if("bzip2" IN_LIST FEATURES)
+# set(OPTIONS "${OPTIONS} --enable-bzip2")
+# else()
+# set(OPTIONS "${OPTIONS} --disable-bzip2")
+# 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}")
@@ -68,6 +126,8 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
endif()
endif()
+message(STATUS "Building Options: ${OPTIONS}")
+
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")
diff --git a/ports/fluidsynth/CONTROL b/ports/fluidsynth/CONTROL
new file mode 100644
index 000000000..7fbb29a5b
--- /dev/null
+++ b/ports/fluidsynth/CONTROL
@@ -0,0 +1,4 @@
+Source: fluidsynth
+Version: 1.1.10
+Description: FluidSynth reads and handles MIDI events from the MIDI input device. It is the software analogue of a MIDI synthesizer. FluidSynth can also play midifiles using a Soundfont.
+Build-Depends: glib \ No newline at end of file
diff --git a/ports/fluidsynth/portfile.cmake b/ports/fluidsynth/portfile.cmake
new file mode 100644
index 000000000..ed0cf532d
--- /dev/null
+++ b/ports/fluidsynth/portfile.cmake
@@ -0,0 +1,34 @@
+include(vcpkg_common_functions)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/fluidsynth-1.1.10)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO FluidSynth/fluidsynth
+ REF v1.1.10
+ SHA512 7ff7757baf6dee37f65a4fd214ffab1aa1434cfd1545deb4108fe2e9b0ed19d616880b2740a693b51ade0a4be998a671910b43cae26eb67fb97b16a513752cbc
+ HEAD_REF master
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA # Disable this option if project cannot be built with Ninja
+ OPTIONS -Denable-pkgconfig=0
+)
+
+vcpkg_install_cmake()
+
+# Copy fluidsynth.exe to tools dir
+file(COPY ${CURRENT_PACKAGES_DIR}/bin/fluidsynth.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools/fluidsynth)
+vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/fluidsynth)
+
+# Remove unnecessary files
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/fluidsynth.exe)
+file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/fluidsynth.exe)
+
+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}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/fluidsynth RENAME copyright)
diff --git a/ports/fmem/CONTROL b/ports/fmem/CONTROL
new file mode 100644
index 000000000..25f24652a
--- /dev/null
+++ b/ports/fmem/CONTROL
@@ -0,0 +1,3 @@
+Source: fmem
+Version: c-libs-2ccee3d2fb
+Description: A cross-platform library for opening memory-backed libc streams.
diff --git a/ports/fmem/portfile.cmake b/ports/fmem/portfile.cmake
new file mode 100644
index 000000000..b3b5faa83
--- /dev/null
+++ b/ports/fmem/portfile.cmake
@@ -0,0 +1,25 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO c-libs/fmem
+ REF 2ccee3d2fb2fc72370a9bb2131bfc9167e0d9022
+ SHA512 4a63332eb5df7f30bdad9e4233171b5c21dd2b092e525e9dcc4f602295ffff50c555c80fd74d964bc3daeffd8001a9b852f1769ef3161259dd8a3cae3ca3a4df
+ 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/include)
+
+vcpkg_copy_pdbs()
+
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/fmem RENAME copyright)
diff --git a/ports/folly/CONTROL b/ports/folly/CONTROL
index 8f0bb7656..2732747b9 100644
--- a/ports/folly/CONTROL
+++ b/ports/folly/CONTROL
@@ -1,4 +1,29 @@
Source: folly
-Version: 2017.11.27.00-3
+Version: 2018.04.23.00
Description: An open-source C++ library developed and used at Facebook. The library is UNSTABLE on Windows
-Build-Depends: zlib, openssl, libevent, double-conversion, glog, gflags, lz4, liblzma, snappy, boost-context, boost-chrono, boost-date-time, boost-filesystem, boost-program-options, boost-regex, boost-system, boost-thread, boost-conversion, boost-multi-index, boost-crc
+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
+Default-Features: zlib
+
+Feature: zlib
+Build-Depends: zlib
+Description: Support zlib for compression
+
+Feature: bzip2
+Build-Depends: bzip2
+Description: Support bzip2 for compression
+
+Feature: lzma
+Build-Depends: liblzma
+Description: Support LZMA for compression
+
+Feature: zstd
+Build-Depends: zstd
+Description: Support zstd for compression
+
+Feature: snappy
+Build-Depends: snappy
+Description: Support Snappy for compression
+
+Feature: lz4
+Build-Depends: lz4
+Description: Support lz4 for compression
diff --git a/ports/folly/FindLZ4.cmake b/ports/folly/FindLZ4.cmake
new file mode 100644
index 000000000..f80962c66
--- /dev/null
+++ b/ports/folly/FindLZ4.cmake
@@ -0,0 +1,13 @@
+find_path(LZ4_INCLUDE_DIR lz4.h)
+
+find_library(LZ4_LIBRARY_DEBUG NAMES lz4d)
+find_library(LZ4_LIBRARY_RELEASE NAMES lz4)
+
+include(SelectLibraryConfigurations)
+select_library_configurations(LZ4)
+
+include(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(
+ LZ4 DEFAULT_MSG
+ LZ4_LIBRARY LZ4_INCLUDE_DIR
+)
diff --git a/ports/folly/FindSnappy.cmake b/ports/folly/FindSnappy.cmake
new file mode 100644
index 000000000..253d0d84c
--- /dev/null
+++ b/ports/folly/FindSnappy.cmake
@@ -0,0 +1,13 @@
+find_path(SNAPPY_INCLUDE_DIR snappy.h)
+
+find_library(SNAPPY_LIBRARY_DEBUG NAMES snappyd)
+find_library(SNAPPY_LIBRARY_RELEASE NAMES snappy)
+
+include(SelectLibraryConfigurations)
+select_library_configurations(SNAPPY)
+
+include(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(
+ SNAPPY DEFAULT_MSG
+ SNAPPY_LIBRARY SNAPPY_INCLUDE_DIR
+)
diff --git a/ports/folly/cmake-link-boost-fix.patch b/ports/folly/cmake-link-boost-fix.patch
deleted file mode 100644
index d3baf13a3..000000000
--- a/ports/folly/cmake-link-boost-fix.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index ec5a985c..36564534 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -136,13 +136,6 @@ source_group("folly\\build" FILES
- )
-
- set(FOLLY_SHINY_DEPENDENCIES
-- Boost::chrono
-- Boost::context
-- Boost::date_time
-- Boost::filesystem
-- Boost::program_options
-- Boost::regex
-- Boost::system
- OpenSSL::SSL
- OpenSSL::Crypto
- )
-@@ -179,6 +172,7 @@ endif()
-
- set(FOLLY_LINK_LIBRARIES
- ${FOLLY_LINK_LIBRARIES}
-+ ${Boost_LIBRARIES}
- Iphlpapi.lib
- Ws2_32.lib
-
-@@ -320,7 +314,7 @@ if (BUILD_TESTS)
- )
- target_link_libraries(folly_test_support
- PUBLIC
-- Boost::thread
-+ ${Boost_LIBRARIES}
- folly
- ${LIBGMOCK_LIBRARY}
- )
diff --git a/ports/folly/find-gflags.patch b/ports/folly/find-gflags.patch
new file mode 100644
index 000000000..986dd6d57
--- /dev/null
+++ b/ports/folly/find-gflags.patch
@@ -0,0 +1,13 @@
+diff --git a/CMake/folly-deps.cmake b/CMake/folly-deps.cmake
+index 396fa6c..9d80d99 100644
+--- a/CMake/folly-deps.cmake
++++ b/CMake/folly-deps.cmake
+@@ -22,7 +22,7 @@ list(APPEND FOLLY_LINK_LIBRARIES ${DOUBLE_CONVERSION_LIBRARY})
+ list(APPEND FOLLY_INCLUDE_DIRECTORIES ${DOUBLE_CONVERSION_INCLUDE_DIR})
+
+ set(FOLLY_HAVE_LIBGFLAGS OFF)
+-find_package(GFlags CONFIG QUIET)
++find_package(gflags CONFIG REQUIRED)
+ if (gflags_FOUND)
+ message(STATUS "Found gflags from package config")
+ set(FOLLY_HAVE_LIBGFLAGS ON)
diff --git a/ports/folly/msvc-15.6-workaround.patch b/ports/folly/msvc-15.6-workaround.patch
deleted file mode 100644
index 6102f32ac..000000000
--- a/ports/folly/msvc-15.6-workaround.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-diff --git a/folly/FBString.h b/folly/FBString.h
-index 4882aac..6c83046 100644
---- a/folly/FBString.h
-+++ b/folly/FBString.h
-@@ -1890,12 +1890,14 @@ inline basic_fbstring<E, T, A, S>& basic_fbstring<E, T, A, S>::operator=(
-
- template <typename E, class T, class A, class S>
- template <typename TP>
--inline typename std::enable_if<
-- std::is_same<
-- typename std::decay<TP>::type,
-- typename basic_fbstring<E, T, A, S>::value_type>::value,
-- basic_fbstring<E, T, A, S>&>::type
--basic_fbstring<E, T, A, S>::operator=(TP c) {
-+inline auto
-+basic_fbstring<E, T, A, S>::operator=(TP c)
-+ -> typename std::enable_if<
-+ std::is_same<
-+ typename std::decay<TP>::type,
-+ typename basic_fbstring<E, T, A, S>::value_type>::value,
-+ basic_fbstring<E, T, A, S>&>::type
-+{
- Invariant checker(*this);
-
- if (empty()) {
diff --git a/ports/folly/portfile.cmake b/ports/folly/portfile.cmake
index 00c1093da..2d390a54e 100644
--- a/ports/folly/portfile.cmake
+++ b/ports/folly/portfile.cmake
@@ -17,17 +17,19 @@ set(ENV{PATH} "$ENV{PATH};${PYTHON3_DIR}")
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO facebook/folly
- REF v2017.11.27.00
- SHA512 738bb00047a7cbd807f2dccd64031763df80bbebca73f1ae9500b750dcad156dde84e47f4eda7af1bcd7abfae10c973da47515f2e111929979d1637869cf06ee
+ REF v2018.04.23.00
+ SHA512 7614f799fe12047070f2efe471ccbb6166dca62947d3fd5baa9a3cc50bab6238bda77ca61153779913903ad57346767b21cf59c025a0a93db39ad99e1258c45d
HEAD_REF master
+ PATCHES
+ ${CMAKE_CURRENT_LIST_DIR}/find-gflags.patch
)
-vcpkg_apply_patches(
- SOURCE_PATH ${SOURCE_PATH}
- PATCHES
- ${CMAKE_CURRENT_LIST_DIR}/cmake-link-boost-fix.patch
- ${CMAKE_CURRENT_LIST_DIR}/msvc-15.6-workaround.patch
+file(COPY
+ ${CMAKE_CURRENT_LIST_DIR}/FindLZ4.cmake
+ ${CMAKE_CURRENT_LIST_DIR}/FindSnappy.cmake
+ DESTINATION ${SOURCE_PATH}/CMake/
)
+file(REMOVE ${SOURCE_PATH}/CMake/FindGFlags.cmake)
if(VCPKG_CRT_LINKAGE STREQUAL static)
set(MSVC_USE_STATIC_RUNTIME ON)
@@ -35,26 +37,42 @@ else()
set(MSVC_USE_STATIC_RUNTIME OFF)
endif()
+set(FEATURE_OPTIONS)
+
+macro(feature FEATURENAME PACKAGENAME)
+ if("${FEATURENAME}" IN_LIST FEATURES)
+ list(APPEND FEATURE_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_${PACKAGENAME}=OFF)
+ else()
+ list(APPEND FEATURE_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_${PACKAGENAME}=ON)
+ endif()
+endmacro()
+
+feature(zlib ZLIB)
+feature(bzip2 BZip2)
+feature(lzma LibLZMA)
+feature(lz4 LZ4)
+feature(zstd Zstd)
+feature(snappy Snappy)
+
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS
-DMSVC_USE_STATIC_RUNTIME=${MSVC_USE_STATIC_RUNTIME}
+ -DCMAKE_DISABLE_FIND_PACKAGE_LibDwarf=ON
+ -DCMAKE_DISABLE_FIND_PACKAGE_Libiberty=ON
+ -DCMAKE_DISABLE_FIND_PACKAGE_LibAIO=ON
+ -DLIBAIO_FOUND=OFF
+ -DLIBURCU_FOUND=OFF
+ -DCMAKE_DISABLE_FIND_PACKAGE_LibURCU=ON
+ ${FEATURE_OPTIONS}
)
-# Folly runs built executables during the build, so they need access to the installed DLLs.
-set(ENV{PATH} "$ENV{PATH};${CURRENT_INSTALLED_DIR}/bin;${CURRENT_INSTALLED_DIR}/debug/bin")
-
-vcpkg_install_cmake()
+vcpkg_install_cmake(ADD_BIN_TO_PATH)
vcpkg_copy_pdbs()
-vcpkg_fixup_cmake_targets()
-
-# changes target search path
-file(READ ${CURRENT_PACKAGES_DIR}/share/folly/folly-targets.cmake FOLLY_MODULE)
-string(REPLACE "${CURRENT_INSTALLED_DIR}/lib/" "" FOLLY_MODULE "${FOLLY_MODULE}")
-file(WRITE ${CURRENT_PACKAGES_DIR}/share/folly/folly-targets.cmake "${FOLLY_MODULE}")
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/folly)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
diff --git a/ports/forest/CONTROL b/ports/forest/CONTROL
index 522668d9d..76dbbf47e 100644
--- a/ports/forest/CONTROL
+++ b/ports/forest/CONTROL
@@ -1,3 +1,3 @@
Source: forest
-Version: 4.5.0
-Description: Forest is an open-source, template library of tree data structures written in C++11.
+Version: 7.0.6
+Description: Template library of tree data structures
diff --git a/ports/forest/portfile.cmake b/ports/forest/portfile.cmake
index 6f076a0db..48ab6c9dd 100644
--- a/ports/forest/portfile.cmake
+++ b/ports/forest/portfile.cmake
@@ -1,13 +1,12 @@
-# Ηeader-only library
-
include(vcpkg_common_functions)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/forest-4.5.0)
-vcpkg_download_distfile(ARCHIVE
- URLS "https://github.com/xorz57/forest/archive/4.5.0.zip"
- FILENAME "forest-4.5.0.zip"
- SHA512 ae256ad38802d0827cfcd45ffae35ddb95cf74e38cf3e5d806f6e2215f701abfb8159f82e2bb6362788fe96a9f9008429d366e7abbc7980b29b3528052cfe43e
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO xorz57/forest
+ REF 7.0.6
+ SHA512 a1e5d27f2b8b9e6758a67a9124fc25517074c633644651b26f6683bab09189569e75ccf4ae7d9cfeddae234435b073fc00e0f5385c4e9370062c3e8b222c1c59
+ HEAD_REF master
)
-vcpkg_extract_source_archive(${ARCHIVE})
# Handle headers
file(INSTALL ${SOURCE_PATH}/include DESTINATION ${CURRENT_PACKAGES_DIR} FILES_MATCHING PATTERN "*.h")
diff --git a/ports/freeglut/CONTROL b/ports/freeglut/CONTROL
index d7c3801f7..8baaba1dc 100644
--- a/ports/freeglut/CONTROL
+++ b/ports/freeglut/CONTROL
@@ -1,3 +1,3 @@
Source: freeglut
-Version: 3.0.0-3
+Version: 3.0.0-4
Description: Open source implementation of GLUT with source and binary backwards compatibility.
diff --git a/ports/freeglut/portfile.cmake b/ports/freeglut/portfile.cmake
index 3e6248126..913fc90ff 100644
--- a/ports/freeglut/portfile.cmake
+++ b/ports/freeglut/portfile.cmake
@@ -7,6 +7,10 @@ vcpkg_download_distfile(ARCHIVE
)
vcpkg_extract_source_archive(${ARCHIVE})
+if(VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ message("Freeglut currently requires the following libraries from the system package manager:\n opengl\n glu\n libx11\n\nThese can be installed on Ubuntu systems via apt-get install libxi-dev libgl1-mesa-dev libglu1-mesa-dev mesa-common-dev")
+endif()
+
# disable debug suffix, because FindGLUT.cmake from CMake 3.8 doesn't support it
file(READ ${SOURCE_PATH}/CMakeLists.txt FREEGLUT_CMAKELISTS)
string(REPLACE "SET( CMAKE_DEBUG_POSTFIX \"d\" )"
@@ -41,9 +45,11 @@ string(REPLACE "pragma comment (lib, \"freeglutd.lib\")"
file(WRITE ${CURRENT_PACKAGES_DIR}/include/GL/freeglut_std.h "${FREEGLUT_STDH}")
# Rename static lib (otherwise it's incompatible with FindGLUT.cmake)
-if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
- file(RENAME ${CURRENT_PACKAGES_DIR}/lib/freeglut_static.lib ${CURRENT_PACKAGES_DIR}/lib/freeglut.lib)
- file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/freeglut_static.lib ${CURRENT_PACKAGES_DIR}/debug/lib/freeglut.lib)
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ file(RENAME ${CURRENT_PACKAGES_DIR}/lib/freeglut_static.lib ${CURRENT_PACKAGES_DIR}/lib/freeglut.lib)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/freeglut_static.lib ${CURRENT_PACKAGES_DIR}/debug/lib/freeglut.lib)
+ endif()
endif()
# Clean
diff --git a/ports/freetype/portfile.cmake b/ports/freetype/portfile.cmake
index b0143e382..15e8aceab 100644
--- a/ports/freetype/portfile.cmake
+++ b/ports/freetype/portfile.cmake
@@ -33,17 +33,25 @@ file(RENAME ${CURRENT_PACKAGES_DIR}/include/freetype2/ft2build.h ${CURRENT_PACKA
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/freetype2)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
-file(READ ${CURRENT_PACKAGES_DIR}/debug/share/freetype/freetype-config-debug.cmake DEBUG_MODULE)
-string(REPLACE "\${_IMPORT_PREFIX}" "\${_IMPORT_PREFIX}/debug" DEBUG_MODULE "${DEBUG_MODULE}")
-string(REPLACE "${CURRENT_INSTALLED_DIR}" "\${_IMPORT_PREFIX}" DEBUG_MODULE "${DEBUG_MODULE}")
-file(WRITE ${CURRENT_PACKAGES_DIR}/share/freetype/freetype-config-debug.cmake "${DEBUG_MODULE}")
+if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
+ file(READ ${CURRENT_PACKAGES_DIR}/debug/share/freetype/freetype-config-debug.cmake DEBUG_MODULE)
+ string(REPLACE "\${_IMPORT_PREFIX}" "\${_IMPORT_PREFIX}/debug" DEBUG_MODULE "${DEBUG_MODULE}")
+ string(REPLACE "${CURRENT_INSTALLED_DIR}" "\${_IMPORT_PREFIX}" DEBUG_MODULE "${DEBUG_MODULE}")
+ file(WRITE ${CURRENT_PACKAGES_DIR}/share/freetype/freetype-config-debug.cmake "${DEBUG_MODULE}")
+endif()
-file(READ ${CURRENT_PACKAGES_DIR}/share/freetype/freetype-config-release.cmake RELEASE_MODULE)
-string(REPLACE "${CURRENT_INSTALLED_DIR}" "\${_IMPORT_PREFIX}" RELEASE_MODULE "${RELEASE_MODULE}")
-file(WRITE ${CURRENT_PACKAGES_DIR}/share/freetype/freetype-config-release.cmake "${RELEASE_MODULE}")
+if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
+ file(READ ${CURRENT_PACKAGES_DIR}/share/freetype/freetype-config-release.cmake RELEASE_MODULE)
+ string(REPLACE "${CURRENT_INSTALLED_DIR}" "\${_IMPORT_PREFIX}" RELEASE_MODULE "${RELEASE_MODULE}")
+ file(WRITE ${CURRENT_PACKAGES_DIR}/share/freetype/freetype-config-release.cmake "${RELEASE_MODULE}")
+endif()
# Fix the include dir [freetype2 -> freetype]
-file(READ ${CURRENT_PACKAGES_DIR}/debug/share/freetype/freetype-config.cmake CONFIG_MODULE)
+if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
+ file(READ ${CURRENT_PACKAGES_DIR}/debug/share/freetype/freetype-config.cmake CONFIG_MODULE)
+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}")
file(WRITE ${CURRENT_PACKAGES_DIR}/share/freetype/freetype-config.cmake "${CONFIG_MODULE}")
diff --git a/ports/freexl/portfile.cmake b/ports/freexl/portfile.cmake
index 098a1dbec..ff8879fba 100644
--- a/ports/freexl/portfile.cmake
+++ b/ports/freexl/portfile.cmake
@@ -37,31 +37,35 @@ endif()
################
# Debug build
################
-message(STATUS "Building ${TARGET_TRIPLET}-dbg")
+if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
+ message(STATUS "Building ${TARGET_TRIPLET}-dbg")
-file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}/debug" INST_DIR_DBG)
-vcpkg_execute_required_process(
- COMMAND ${NMAKE} -f makefile.vc clean install
- INST_DIR="${INST_DIR_DBG}" INSTALLED_ROOT="${CURRENT_INSTALLED_DIR}" "LINK_FLAGS=/debug" "CL_FLAGS=${CL_FLAGS_DBG}" "LIBS_ALL=${LIBS_ALL_DBG}"
- WORKING_DIRECTORY ${SOURCE_PATH}
- LOGNAME nmake-build-${TARGET_TRIPLET}-debug
-)
-message(STATUS "Building ${TARGET_TRIPLET}-dbg done")
-vcpkg_copy_pdbs()
+ file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}/debug" INST_DIR_DBG)
+ vcpkg_execute_required_process(
+ COMMAND ${NMAKE} -f makefile.vc clean install
+ INST_DIR="${INST_DIR_DBG}" INSTALLED_ROOT="${CURRENT_INSTALLED_DIR}" "LINK_FLAGS=/debug" "CL_FLAGS=${CL_FLAGS_DBG}" "LIBS_ALL=${LIBS_ALL_DBG}"
+ WORKING_DIRECTORY ${SOURCE_PATH}
+ LOGNAME nmake-build-${TARGET_TRIPLET}-debug
+ )
+ message(STATUS "Building ${TARGET_TRIPLET}-dbg done")
+ vcpkg_copy_pdbs()
+endif()
################
# Release build
################
-message(STATUS "Building ${TARGET_TRIPLET}-rel")
+if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
+ message(STATUS "Building ${TARGET_TRIPLET}-rel")
-file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}" INST_DIR_REL)
-vcpkg_execute_required_process(
- COMMAND ${NMAKE} -f makefile.vc clean install
- INST_DIR="${INST_DIR_REL}" INSTALLED_ROOT="${CURRENT_INSTALLED_DIR}" "LINK_FLAGS=" "CL_FLAGS=${CL_FLAGS_REL}" "LIBS_ALL=${LIBS_ALL_REL}"
- WORKING_DIRECTORY ${SOURCE_PATH}
- LOGNAME nmake-build-${TARGET_TRIPLET}-release
-)
-message(STATUS "Building ${TARGET_TRIPLET}-rel done")
+ file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}" INST_DIR_REL)
+ vcpkg_execute_required_process(
+ COMMAND ${NMAKE} -f makefile.vc clean install
+ INST_DIR="${INST_DIR_REL}" INSTALLED_ROOT="${CURRENT_INSTALLED_DIR}" "LINK_FLAGS=" "CL_FLAGS=${CL_FLAGS_REL}" "LIBS_ALL=${LIBS_ALL_REL}"
+ WORKING_DIRECTORY ${SOURCE_PATH}
+ LOGNAME nmake-build-${TARGET_TRIPLET}-release
+ )
+ message(STATUS "Building ${TARGET_TRIPLET}-rel done")
+endif()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/freexl RENAME copyright)
@@ -74,8 +78,12 @@ if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
else()
file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/freexl.lib)
file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/freexl.lib)
- file(RENAME ${CURRENT_PACKAGES_DIR}/lib/freexl_i.lib ${CURRENT_PACKAGES_DIR}/lib/freexl.lib)
- file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/freexl_i.lib ${CURRENT_PACKAGES_DIR}/debug/lib/freexl.lib)
+ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
+ file(RENAME ${CURRENT_PACKAGES_DIR}/lib/freexl_i.lib ${CURRENT_PACKAGES_DIR}/lib/freexl.lib)
+ endif()
+ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
+ file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/freexl_i.lib ${CURRENT_PACKAGES_DIR}/debug/lib/freexl.lib)
+ endif()
endif()
diff --git a/ports/gainput/CONTROL b/ports/gainput/CONTROL
index 45b7b6afb..29ac472c5 100644
--- a/ports/gainput/CONTROL
+++ b/ports/gainput/CONTROL
@@ -1,3 +1,3 @@
Source: gainput
-Version: 1.0.0
+Version: 1.0.0-1
Description: Gainput is a multiplatform C++ input library, supporting mouse, keyboard and controllers
diff --git a/ports/gdal/CONTROL b/ports/gdal/CONTROL
index b84dc29e1..c958ac671 100644
--- a/ports/gdal/CONTROL
+++ b/ports/gdal/CONTROL
@@ -1,4 +1,4 @@
Source: gdal
-Version: 2.2.2
+Version: 2.2.2-1
Description: The Geographic Data Abstraction Library for reading and writing geospatial raster and vector data.
Build-Depends: proj4, libpng, geos, sqlite3, curl, expat, libpq, libmysql, openjpeg, libwebp, libxml2, liblzma
diff --git a/ports/gdal/no-my-bool.patch b/ports/gdal/no-my-bool.patch
new file mode 100644
index 000000000..1ed0279ee
--- /dev/null
+++ b/ports/gdal/no-my-bool.patch
@@ -0,0 +1,13 @@
+diff --git a/ogr/ogrsf_frmts/mysql/ogrmysqldatasource.cpp b/ogr/ogrsf_frmts/mysql/ogrmysqldatasource.cpp
+index 8733af9..f49d862 100644
+--- a/ogr/ogrsf_frmts/mysql/ogrmysqldatasource.cpp
++++ b/ogr/ogrsf_frmts/mysql/ogrmysqldatasource.cpp
+@@ -259,7 +259,7 @@ int OGRMySQLDataSource::Open( const char * pszNewName, char** papszOpenOptionsIn
+ // Enable automatic reconnection
+ // Must be called after mysql_real_connect() on MySQL < 5.0.19
+ // and at any point on more recent versions.
+- my_bool reconnect = 1;
++ bool reconnect = 1;
+ mysql_options(hConn, MYSQL_OPT_RECONNECT, &reconnect);
+ }
+
diff --git a/ports/gdal/no-mysql-global-h.patch b/ports/gdal/no-mysql-global-h.patch
new file mode 100644
index 000000000..57ff89ce3
--- /dev/null
+++ b/ports/gdal/no-mysql-global-h.patch
@@ -0,0 +1,13 @@
+diff --git a/ogr/ogrsf_frmts/mysql/ogr_mysql.h b/ogr/ogrsf_frmts/mysql/ogr_mysql.h
+index 76a6762..b2f0fcb 100644
+--- a/ogr/ogrsf_frmts/mysql/ogr_mysql.h
++++ b/ogr/ogrsf_frmts/mysql/ogr_mysql.h
+@@ -43,7 +43,7 @@
+ #pragma warning( disable : 4211 ) /* nonstandard extension used : redefined extern to static */
+ #endif
+
+-#include <my_global.h>
++/* #include <my_global.h> */ /* Mysql 8+ no longer ships with my_global.h */
+ #include <mysql.h>
+
+ #ifdef _MSC_VER
diff --git a/ports/gdal/no-mysql-sys-h.patch b/ports/gdal/no-mysql-sys-h.patch
new file mode 100644
index 000000000..951425386
--- /dev/null
+++ b/ports/gdal/no-mysql-sys-h.patch
@@ -0,0 +1,13 @@
+diff --git a/ogr/ogrsf_frmts/mysql/ogrmysqldatasource.cpp b/ogr/ogrsf_frmts/mysql/ogrmysqldatasource.cpp
+index e694bbd..8733af9 100644
+--- a/ogr/ogrsf_frmts/mysql/ogrmysqldatasource.cpp
++++ b/ogr/ogrsf_frmts/mysql/ogrmysqldatasource.cpp
+@@ -44,7 +44,7 @@
+ #pragma clang diagnostic ignored "-Wunknown-pragmas"
+ #pragma clang diagnostic ignored "-Wdocumentation"
+ #endif
+-#include <my_sys.h>
++/*#include <my_sys.h> mysql 8.1 no longer ships with my_sys.h*/
+ #ifdef __clang__
+ #pragma clang diagnostic pop
+ #endif
diff --git a/ports/gdal/portfile.cmake b/ports/gdal/portfile.cmake
index 5ee981d6c..ba77b624a 100644
--- a/ports/gdal/portfile.cmake
+++ b/ports/gdal/portfile.cmake
@@ -1,5 +1,5 @@
if (TRIPLET_SYSTEM_ARCH MATCHES "arm")
- message(FATAL_ERROR " ARM is currently not supported.")
+ message(FATAL_ERROR "ARM is currently not supported.")
endif()
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
@@ -16,12 +16,13 @@ vcpkg_download_distfile(ARCHIVE
SHA512 b886238a7915c97f4acec5920dabe959d1ab15a8be0bc31ba0d05ad69d1d7d96f864faf0aa82921fa1a1b40b733744202b86f2f45ff63d6518cd18a53f3544a8
)
-# Extract source into archictecture specific directory, because GDALs' nmake based build currently does not
+# Extract source into architecture specific directory, because GDALs' nmake based build currently does not
# support out of source builds.
set(SOURCE_PATH_DEBUG ${CURRENT_BUILDTREES_DIR}/src-${TARGET_TRIPLET}-debug/gdal-2.2.2)
set(SOURCE_PATH_RELEASE ${CURRENT_BUILDTREES_DIR}/src-${TARGET_TRIPLET}-release/gdal-2.2.2)
foreach(BUILD_TYPE debug release)
+ file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/src-${TARGET_TRIPLET}-${BUILD_TYPE})
vcpkg_extract_source_archive(${ARCHIVE} ${CURRENT_BUILDTREES_DIR}/src-${TARGET_TRIPLET}-${BUILD_TYPE})
vcpkg_apply_patches(
SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src-${TARGET_TRIPLET}-${BUILD_TYPE}/gdal-2.2.2
@@ -29,6 +30,9 @@ foreach(BUILD_TYPE debug release)
${CMAKE_CURRENT_LIST_DIR}/0001-Add-variable-CXX_CRT_FLAGS-to-allow-for-selection-of.patch
${CMAKE_CURRENT_LIST_DIR}/0002-Ensures-inclusion-of-PDB-in-release-dll-if-so-reques.patch
${CMAKE_CURRENT_LIST_DIR}/0003-Fix-openjpeg-include.patch
+ ${CMAKE_CURRENT_LIST_DIR}/no-mysql-global-h.patch
+ ${CMAKE_CURRENT_LIST_DIR}/no-mysql-sys-h.patch
+ ${CMAKE_CURRENT_LIST_DIR}/no-my-bool.patch
)
endforeach()
@@ -51,7 +55,7 @@ file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/libpng16d.lib" PNG_LIBRA
# Setup geos libraries + include path
file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" GEOS_INCLUDE_DIR)
file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/geos_c.lib" GEOS_LIBRARY_REL)
-file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/geos_c.lib" GEOS_LIBRARY_DBG)
+file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/geos_cd.lib" GEOS_LIBRARY_DBG)
# Setup expat libraries + include path
file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" EXPAT_INCLUDE_DIR)
diff --git a/ports/gdcm2/CONTROL b/ports/gdcm2/CONTROL
index 073e6cbeb..45900dbab 100644
--- a/ports/gdcm2/CONTROL
+++ b/ports/gdcm2/CONTROL
@@ -1,4 +1,4 @@
Source: gdcm2
-Version: 2.8.4
+Version: 2.8.6
Description: Grassroots DICOM library
Build-Depends: zlib, expat
diff --git a/ports/gdcm2/portfile.cmake b/ports/gdcm2/portfile.cmake
index bb0782ba4..65fa7a6e1 100644
--- a/ports/gdcm2/portfile.cmake
+++ b/ports/gdcm2/portfile.cmake
@@ -14,8 +14,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO malaterre/GDCM
- REF v2.8.4
- SHA512 d58854507bcc477bcf7944c82014ceac4c603bf8f0e75ddda2371052f4972f1535cb782b47d0822a8929131b804ea5c16b9236b414d70cbf96a494741391c534
+ REF v2.8.6
+ SHA512 c04c131afae6a326978d82ea7c6f42eaa5d8e0f9d9dc3b6ad531a2d6ef7261e603cef32f364609ae99ff33f144373fe7bdd62056e535b6d487b0a4b13919062e
)
vcpkg_apply_patches(
diff --git a/ports/geos/CONTROL b/ports/geos/CONTROL
index 2b192d088..1a32a8103 100644
--- a/ports/geos/CONTROL
+++ b/ports/geos/CONTROL
@@ -1,3 +1,3 @@
Source: geos
-Version: 3.6.2-2
+Version: 3.6.2-3
Description: Geometry Engine Open Source
diff --git a/ports/geos/portfile.cmake b/ports/geos/portfile.cmake
index 68b4ab9f7..e5a404254 100644
--- a/ports/geos/portfile.cmake
+++ b/ports/geos/portfile.cmake
@@ -31,7 +31,10 @@ file(DOWNLOAD http://svn.osgeo.org/geos/branches/3.6/cmake/modules/GenerateSourc
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
- OPTIONS -DGEOS_ENABLE_TESTS=False
+ PREFER_NINJA # Disable this option if project cannot be built with Ninja
+ OPTIONS
+ -DCMAKE_DEBUG_POSTFIX=d
+ -DGEOS_ENABLE_TESTS=False
)
vcpkg_install_cmake()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
@@ -39,11 +42,11 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/geos)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/geos/COPYING ${CURRENT_PACKAGES_DIR}/share/geos/copyright)
if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
- file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/libgeos.lib ${CURRENT_PACKAGES_DIR}/debug/lib/libgeos.lib)
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/libgeos.lib ${CURRENT_PACKAGES_DIR}/debug/lib/libgeosd.lib)
else()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
- file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/geos.lib ${CURRENT_PACKAGES_DIR}/debug/lib/geos.lib)
- file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/geos_c.lib ${CURRENT_PACKAGES_DIR}/debug/lib/geos_c.lib)
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/geos.lib ${CURRENT_PACKAGES_DIR}/debug/lib/geosd.lib)
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/geos_c.lib ${CURRENT_PACKAGES_DIR}/debug/lib/geos_cd.lib)
endif()
diff --git a/ports/gettext/CMakeLists.txt b/ports/gettext/CMakeLists.txt
index 3129b082b..7df8c33dc 100644
--- a/ports/gettext/CMakeLists.txt
+++ b/ports/gettext/CMakeLists.txt
@@ -1,49 +1,75 @@
cmake_minimum_required(VERSION 3.5)
project(libintl C)
-find_library(ICONV_LIB NAMES iconv libiconv)
-find_path(ICONV_PATH iconv.h)
+find_package(unofficial-iconv REQUIRED)
-find_library(CHARSET_LIB NAMES charset libcharset)
-find_path(CHARSET_PATH localcharset.h)
+include_directories(${CMAKE_CURRENT_BINARY_DIR}/config .)
-include_directories(${CMAKE_CURRENT_BINARY_DIR} . ${ICONV_PATH} ${CHARSET_PATH})
-link_libraries(${CHARSET_LIB} ${ICONV_LIB})
+set(CMAKE_STATIC_LIBRARY_PREFIX)
+set(CMAKE_SHARED_LIBRARY_PREFIX)
-file(READ config.h _contents)
+if(WIN32)
+ set(HAVE_POSIX_PRINTF 0)
+ set(HAVE_SNPRINTF 0)
+ set(HAVE_ASPRINTF 0)
+ set(HAVE_WPRINTF 0)
+ set(HAVE_NEWLOCALE 0)
+
+ configure_file(intl/libgnuintl.win32.h config/libgnuintl.h COPYONLY)
+ configure_file(config.win32.h config/config.h COPYONLY)
+else()
+ set(HAVE_POSIX_PRINTF 1)
+ set(HAVE_SNPRINTF 1)
+ set(HAVE_ASPRINTF 1)
+ set(HAVE_WPRINTF 1)
+ set(HAVE_NEWLOCALE 1)
+ add_definitions(-DHAVE_NEWLOCALE=1)
+
+ configure_file(intl/libgnuintl.in.h config/libgnuintl.h @ONLY)
+ configure_file(config.win32.h config/config.h COPYONLY)
+endif()
+
+if(NOT DISABLE_INSTALL_HEADERS)
+ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/config/libgnuintl.h" DESTINATION include RENAME libintl.h)
+endif()
+
+file(READ "${CMAKE_CURRENT_BINARY_DIR}/config/config.h" _contents)
if(NOT WIN32)
string(REPLACE "/* #undef HAVE_STPCPY */" "#define HAVE_STPCPY 1" _contents "${_contents}")
endif()
-file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/config.h" "${_contents}")
+file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/config/config.h" "${_contents}")
FILE(GLOB SOURCES
-"intl/bindtextdom.c"
-"intl/dcgettext.c"
-"intl/dcigettext.c"
-"intl/dcngettext.c"
-"intl/dgettext.c"
-"intl/dngettext.c"
-"intl/explodename.c"
-"intl/finddomain.c"
-"intl/gettext.c"
-"intl/hash-string.c"
-"intl/intl-compat.c"
-"intl/l10nflist.c"
-"intl/langprefs.c"
-"intl/loadmsgcat.c"
-"intl/localealias.c"
-"intl/localename.c"
-"intl/lock.c"
-"intl/log.c"
-"intl/ngettext.c"
-"intl/osdep.c"
-"intl/plural-exp.c"
-"intl/plural.c"
-"intl/printf.c"
-"intl/relocatable.c"
-"intl/textdomain.c"
-"intl/version.c"
+ "intl/bindtextdom.c"
+ "intl/dcgettext.c"
+ "intl/dcigettext.c"
+ "intl/dcngettext.c"
+ "intl/dgettext.c"
+ "intl/dngettext.c"
+ "intl/explodename.c"
+ "intl/finddomain.c"
+ "intl/gettext.c"
+ "intl/hash-string.c"
+ "intl/intl-compat.c"
+ "intl/l10nflist.c"
+ "intl/langprefs.c"
+ "intl/loadmsgcat.c"
+ "intl/localealias.c"
+ "intl/localename.c"
+ "intl/lock.c"
+ "intl/log.c"
+ "intl/ngettext.c"
+ "intl/osdep.c"
+ "intl/plural-exp.c"
+ "intl/plural.c"
+ "intl/printf.c"
+ "intl/relocatable.c"
+ "intl/textdomain.c"
+ "intl/version.c"
)
+if(NOT WIN32)
+ list(APPEND SOURCES "intl/setlocale.c")
+endif()
set(LOCALDIR "c:/gettext")
@@ -59,6 +85,7 @@ add_definitions("-DBUILDING_LIBINTL -DIN_LIBINTL -DENABLE_RELOCATABLE=1 -DIN_LIB
add_definitions("-DNO_XMALLOC -Dset_relocation_prefix=libintl_set_relocation_prefix -Drelocate=libintl_relocate -DDEPENDS_ON_LIBICONV=1 -DHAVE_CONFIG_H -D_CRT_SECURE_NO_WARNINGS")
add_library(libintl ${SOURCES})
+target_link_libraries(libintl PRIVATE unofficial::iconv::libcharset unofficial::iconv::libiconv)
install(TARGETS libintl
RUNTIME DESTINATION bin
diff --git a/ports/gettext/CONTROL b/ports/gettext/CONTROL
index ccb6f5aa4..9044cd724 100644
--- a/ports/gettext/CONTROL
+++ b/ports/gettext/CONTROL
@@ -1,4 +1,4 @@
Source: gettext
-Version: 0.19-2
+Version: 0.19-4
Description: The GNU gettext utilities are a set of tools that provides a framework to help other GNU packages produce multi-lingual messages
Build-Depends: libiconv
diff --git a/ports/gettext/config.h b/ports/gettext/config.win32.h
index bde4dfeeb..0d3c1d34e 100644
--- a/ports/gettext/config.h
+++ b/ports/gettext/config.win32.h
@@ -44,7 +44,7 @@
#define ENABLE_NLS 1
/* Define to 1 if the package shall run at any location in the filesystem. */
-/* #undef ENABLE_RELOCATABLE */
+#define ENABLE_RELOCATABLE 1
/* Define to 1 when using the gnulib module fwriteerror. */
#define GNULIB_FWRITEERROR 1
diff --git a/ports/gettext/libgnuintl.h b/ports/gettext/libgnuintl.win32.h
index 440da4d59..440da4d59 100644
--- a/ports/gettext/libgnuintl.h
+++ b/ports/gettext/libgnuintl.win32.h
diff --git a/ports/gettext/portfile.cmake b/ports/gettext/portfile.cmake
index 33a7da3f4..cb5ea37c1 100644
--- a/ports/gettext/portfile.cmake
+++ b/ports/gettext/portfile.cmake
@@ -1,4 +1,4 @@
-if(VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+if(VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin")
set(VCPKG_POLICY_EMPTY_PACKAGE enabled)
return()
endif()
@@ -14,9 +14,14 @@ vcpkg_download_distfile(ARCHIVE
)
vcpkg_extract_source_archive(${ARCHIVE})
-file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}/gettext-runtime)
-file(COPY ${CMAKE_CURRENT_LIST_DIR}/libgnuintl.h DESTINATION ${SOURCE_PATH}/gettext-runtime/intl)
-file(COPY ${CMAKE_CURRENT_LIST_DIR}/config.h DESTINATION ${SOURCE_PATH}/gettext-runtime)
+file(COPY
+ ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt
+ ${CMAKE_CURRENT_LIST_DIR}/config.win32.h
+ DESTINATION ${SOURCE_PATH}/gettext-runtime
+)
+file(REMOVE ${SOURCE_PATH}/gettext-runtime/intl/libgnuintl.h ${SOURCE_PATH}/gettext-runtime/config.h)
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/libgnuintl.win32.h DESTINATION ${SOURCE_PATH}/gettext-runtime/intl)
vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
@@ -27,15 +32,13 @@ vcpkg_apply_patches(
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}/gettext-runtime
PREFER_NINJA
+ OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON
)
vcpkg_install_cmake()
-file(COPY ${SOURCE_PATH}/gettext-runtime/intl/libgnuintl.h DESTINATION ${CURRENT_PACKAGES_DIR}/include)
-file(RENAME ${CURRENT_PACKAGES_DIR}/include/libgnuintl.h ${CURRENT_PACKAGES_DIR}/include/libintl.h)
-
# Handle copyright
file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/gettext)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/gettext/COPYING ${CURRENT_PACKAGES_DIR}/share/gettext/copyright)
-vcpkg_copy_pdbs() \ No newline at end of file
+vcpkg_copy_pdbs()
diff --git a/ports/gherkin-c/CONTROL b/ports/gherkin-c/CONTROL
new file mode 100644
index 000000000..171dedae0
--- /dev/null
+++ b/ports/gherkin-c/CONTROL
@@ -0,0 +1,3 @@
+Source: gherkin-c
+Version: c-libs-e63e83104b
+Description: Gherkin parser/compiler in C
diff --git a/ports/gherkin-c/portfile.cmake b/ports/gherkin-c/portfile.cmake
new file mode 100644
index 000000000..f229ba836
--- /dev/null
+++ b/ports/gherkin-c/portfile.cmake
@@ -0,0 +1,23 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO c-libs/gherkin-c
+ REF e63e83104b835e217140e9dc77d9ce2bb50f234e
+ SHA512 a99b3f695257b45df8ff7b8ec46bff28991cf2b9bc51a25247550471c724bd14ee64340db684f096131f47d7f4ff278d23dda546e7dfe29134bbc1dbccaf0d1e
+ HEAD_REF master
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ OPTIONS
+ -DBUILD_GHERKIN_TESTS=OFF
+)
+vcpkg_install_cmake()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+vcpkg_copy_pdbs()
+
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/gherkin-c RENAME copyright)
diff --git a/ports/glew/portfile.cmake b/ports/glew/portfile.cmake
index 79c669640..45f711f77 100644
--- a/ports/glew/portfile.cmake
+++ b/ports/glew/portfile.cmake
@@ -19,7 +19,15 @@ vcpkg_install_cmake()
vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/glew")
-foreach(FILE ${CURRENT_PACKAGES_DIR}/share/glew/glew-targets-debug.cmake ${CURRENT_PACKAGES_DIR}/share/glew/glew-targets-release.cmake)
+set(_targets_cmake_files)
+if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
+ list(APPEND _targets_cmake_files "${CURRENT_PACKAGES_DIR}/share/glew/glew-targets-debug.cmake")
+endif()
+if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
+ list(APPEND _targets_cmake_files "${CURRENT_PACKAGES_DIR}/share/glew/glew-targets-release.cmake")
+endif()
+
+foreach(FILE ${_targets_cmake_files})
file(READ ${FILE} _contents)
string(REPLACE "libglew32" "glew32" _contents "${_contents}")
file(WRITE ${FILE} "${_contents}")
@@ -27,6 +35,8 @@ endforeach()
if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/libglew32.lib)
file(RENAME ${CURRENT_PACKAGES_DIR}/lib/libglew32.lib ${CURRENT_PACKAGES_DIR}/lib/glew32.lib)
+endif()
+if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/libglew32d.lib)
file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/libglew32d.lib ${CURRENT_PACKAGES_DIR}/debug/lib/glew32d.lib)
endif()
diff --git a/ports/glib/CMakeLists.txt b/ports/glib/CMakeLists.txt
index 25218a7f8..3743b0a34 100644
--- a/ports/glib/CMakeLists.txt
+++ b/ports/glib/CMakeLists.txt
@@ -1,6 +1,9 @@
cmake_minimum_required(VERSION 3.0)
project(glib C)
+set(CMAKE_CXX_STANDARD 17)
+set(CMAKE_C_STANDARD 11)
+
set(GLIB_DLL_SUFFIX 2)
set(GLIB_LIB_SUFFIX 2.0)
@@ -9,7 +12,7 @@ if(CMAKE_BUILD_TYPE STREQUAL Debug)
endif()
if(BUILD_SHARED_LIBS)
- set(GLIB_EXPORT_MACRO DLL_EXPORT)
+ add_definitions(-DDLL_EXPORT)
endif()
set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
@@ -23,27 +26,70 @@ find_path(PCRE_INCLUDE_DIR pcre.h)
if(CMAKE_BUILD_TYPE STREQUAL Debug)
set(PCRE_SUFFIX d)
endif()
-find_library(PCRE_LIBRARY pcre${PCRE_SUFFIX})
-# libiconv
-find_path(ICONV_INCLUDE_DIR iconv.h)
-find_library(ICONV_LIBRARY NAMES iconv libiconv)
+find_library(PCRE_LIBRARY NAMES pcre${PCRE_SUFFIX} pcre)
# libiconv
-find_library(CHARSET_LIBRARY NAMES charset libcharset)
+find_package(unofficial-iconv REQUIRED)
# libffi
find_path(FFI_INCLUDE_DIR ffi.h)
find_library(FFI_LIBRARY NAMES ffi libffi)
-# libintl(gettext)
-find_path(LIBINTL_INCLUDE_DIR libintl.h)
-find_library(LIBINTL_LIBRARY NAMES intl libintl)
+get_filename_component(LIB_DIR "${FFI_LIBRARY}" DIRECTORY)
+if(APPLE)
+ find_library(COREFOUNDATION_LIBRARY CoreFoundation)
+ find_library(FOUNDATION_LIBRARY Foundation)
+ find_library(CORESERVICES_LIBRARY CoreServices)
+ link_libraries(${CORESERVICES_LIBRARY} ${COREFOUNDATION_LIBRARY} ${FOUNDATION_LIBRARY})
+endif()
+
+if(WIN32 OR APPLE)
+ # libintl(gettext)
+ find_path(LIBINTL_INCLUDE_DIR libintl.h)
+ find_library(LIBINTL_LIBRARY NAMES intl libintl)
+else()
+ set(LIBINTL_INCLUDE_DIR)
+ set(LIBINTL_LIBRARY)
+endif()
+
+if(WIN32)
+ set(LIBRESOLV_LIBRARY)
+else()
+ find_library(LIBRESOLV_LIBRARY NAMES resolv libresolv)
+endif()
#prepare config files
-configure_file(config.h.win32 ${CMAKE_SOURCE_DIR}/config.h COPYONLY)
-configure_file(glib/glibconfig.h.win32 ${CMAKE_SOURCE_DIR}/glib/glibconfig.h COPYONLY)
-configure_file(gmodule/gmoduleconf.h.win32 ${CMAKE_SOURCE_DIR}/gmodule/gmoduleconf.h COPYONLY)
-configure_file(gio/gnetworking.h.win32 ${CMAKE_SOURCE_DIR}/gio/gnetworking.h COPYONLY)
-add_definitions(-DHAVE_CONFIG_H)
+if(WIN32)
+ configure_file(config.h.win32 ${CMAKE_BINARY_DIR}/config/config.h COPYONLY)
+ configure_file(glib/glibconfig.h.win32 ${CMAKE_BINARY_DIR}/config/glib/glibconfig.h COPYONLY)
+ configure_file(gmodule/gmoduleconf.h.win32 ${CMAKE_BINARY_DIR}/config/gmodule/gmoduleconf.h COPYONLY)
+ configure_file(gio/gnetworking.h.win32 ${CMAKE_BINARY_DIR}/config/gio/gnetworking.h COPYONLY)
+ add_definitions(-DHAVE_CONFIG_H)
+else()
+ file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/config)
+ set(ENV{LIBFFI_LIBS} "${FFI_LIBRARY}")
+ set(ENV{PCRE_LIBS} "${PCRE_LIBRARY}")
+ set(ENV{LIBFFI_CFLAGS} "-I${FFI_INCLUDE_DIR}")
+ set(ENV{PCRE_CFLAGS} "-I${PCRE_INCLUDE_DIR}")
+ set(ENV{MSGFMT} "/bin/echo")
+ set(ENV{GMSGFMT} "/bin/echo")
+ if(NOT EXISTS "${CMAKE_BINARY_DIR}/config/config.h")
+ execute_process(
+ COMMAND "${CMAKE_SOURCE_DIR}/configure"
+ --disable-libelf
+ --disable-libmount
+ "CPPFLAGS=-I${PCRE_INCLUDE_DIR}"
+ "CFLAGS=-I${PCRE_INCLUDE_DIR}"
+ "LDFLAGS=-L${LIB_DIR}"
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/config
+ RESULT_VARIABLE res
+ )
+ if(NOT res EQUAL 0)
+ message(FATAL_ERROR "Configure failed.")
+ endif()
+ endif()
+ add_definitions("-DGIO_MODULE_DIR=\"gio/modules\"")
+endif()
-include_directories(. ./glib)
+include_directories(${CMAKE_BINARY_DIR}/config ${CMAKE_BINARY_DIR}/config/glib ${CMAKE_BINARY_DIR}/config/gio ${CMAKE_BINARY_DIR}/config/gmodule)
+include_directories(. glib)
# This macro purposely doesn't find nodes with sources that have additional properties set
# Most of such files in glib are PCRE sources which we don't use anyway
@@ -64,60 +110,155 @@ endmacro()
# main module
extract_vcproj_sources(win32/vs14/glib.vcxproj GLIB_SOURCES)
list(APPEND GLIB_SOURCES glib/libcharset/localcharset.c) # modified internal version with prefixed symbols
+if(NOT WIN32)
+ list(FILTER GLIB_SOURCES EXCLUDE REGEX "win32.c\$|win32-helper.c\$")
+ list(APPEND GLIB_SOURCES "glib/gthread-posix.c" "glib/giounix.c" "glib/gspawn.c" "glib/glib-unix.c")
+endif()
add_library(glib ${GLIB_SOURCES})
-target_compile_definitions(glib PRIVATE USE_SYSTEM_PCRE ${GLIB_EXPORT_MACRO} GLIB_COMPILATION G_LOG_DOMAIN="GLib" LIBDIR)
-target_link_libraries(glib ws2_32 winmm ${PCRE_LIBRARY} ${ICONV_LIBRARY} ${CHARSET_LIBRARY} ${LIBINTL_LIBRARY})
+target_compile_definitions(glib PRIVATE GLIB_COMPILATION G_LOG_DOMAIN="GLib" LIBDIR="")
+target_link_libraries(glib PRIVATE ${PCRE_LIBRARY} unofficial::iconv::libiconv unofficial::iconv::libcharset ${LIBINTL_LIBRARY})
+if(WIN32)
+ target_compile_definitions(glib PRIVATE USE_SYSTEM_PCRE)
+ target_link_libraries(glib PRIVATE ws2_32 winmm)
+else()
+ set(THREADS_PREFER_PTHREAD_FLAG ON)
+ find_package(Threads REQUIRED)
+ target_link_libraries(glib PRIVATE Threads::Threads ${CMAKE_DL_LIBS})
+endif()
target_include_directories(glib PRIVATE ${PCRE_INCLUDE_DIR} ${ICONV_INCLUDE_DIR})
-target_include_directories(glib PUBLIC ${LIBINTL_INCLUDE_DIR})
+target_include_directories(glib PUBLIC ${LIBINTL_INCLUDE_DIR})
list(APPEND GLIB_TARGETS glib)
+if(NOT GLIB_SKIP_HEADERS)
+ install(FILES glib/glib.h glib/glib-object.h ${CMAKE_BINARY_DIR}/config/glib/glibconfig.h DESTINATION include)
+
+ file(GLOB GLIB_HEADERS glib/*.h)
+ list(FILTER GLIB_HEADERS EXCLUDE REGEX "/glib.h\$|/glib-object.h\$|private.h\$")
+ install(FILES ${GLIB_HEADERS} DESTINATION include/glib)
+
+ file(GLOB GLIB_DEP_HEADERS glib/deprecated/*.h)
+ install(FILES ${GLIB_DEP_HEADERS} DESTINATION include/glib/deprecated)
+endif()
# gthread
add_library(gthread gthread/gthread-impl.c)
target_compile_definitions(gthread PRIVATE G_LOG_DOMAIN="GThread")
-target_link_libraries(gthread glib ${LIBINTL_LIBRARY})
+target_link_libraries(gthread PRIVATE glib ${LIBINTL_LIBRARY})
target_include_directories(gthread PRIVATE ${LIBINTL_INCLUDE_DIR})
list(APPEND GLIB_TARGETS gthread)
# gobject
extract_vcproj_sources(win32/vs14/gobject.vcxproj GOBJECT_SOURCES)
add_library(gobject ${GOBJECT_SOURCES})
-target_compile_definitions(gobject PRIVATE GOBJECT_COMPILATION ${GLIB_EXPORT_MACRO} G_LOG_DOMAIN="GLib-GObject")
-target_link_libraries(gobject gthread glib ${FFI_LIBRARY})
+target_compile_definitions(gobject PRIVATE GOBJECT_COMPILATION G_LOG_DOMAIN="GLib-GObject")
+target_link_libraries(gobject PRIVATE gthread glib ${FFI_LIBRARY})
target_include_directories(gobject PRIVATE ${FFI_INCLUDE_DIR})
list(APPEND GLIB_TARGETS gobject)
+if(NOT GLIB_SKIP_HEADERS)
+ file(GLOB GOBJECT_HEADERS gobject/*.h gobject/gobjectnotifyqueue.c)
+ list(FILTER GOBJECT_HEADERS EXCLUDE REGEX "private.h\$")
+ install(FILES ${GOBJECT_HEADERS} DESTINATION include/gobject)
+endif()
# gmodule
add_library(gmodule gmodule/gmodule.c)
target_compile_definitions(gmodule PRIVATE G_LOG_DOMAIN="GModule")
-target_link_libraries(gmodule glib ${LIBINTL_LIBRARY})
+target_link_libraries(gmodule PRIVATE glib ${LIBINTL_LIBRARY})
+target_include_directories(gmodule PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/gmodule>)
target_include_directories(gmodule PRIVATE ${LIBINTL_INCLUDE_DIR})
list(APPEND GLIB_TARGETS gmodule)
+if(NOT GLIB_SKIP_HEADERS)
+ install(FILES gmodule/gmodule.h DESTINATION include)
+endif()
+
+# gio subdirs
+if(NOT WIN32)
+ file(GLOB XDGMIME_SOURCES gio/xdgmime/*.c)
+ add_library(xdgmime ${XDGMIME_SOURCES})
+ target_compile_definitions(xdgmime PRIVATE -DXDG_PREFIX=_gio_xdg)
+ list(APPEND GLIB_TARGETS xdgmime)
+endif()
+
+if(NOT WIN32 AND NOT APPLE)
+ file(GLOB INOTIFY_SOURCES gio/inotify/*.c)
+ add_library(inotify ${INOTIFY_SOURCES})
+ target_link_libraries(inotify PRIVATE gmodule)
+ target_compile_definitions(inotify PRIVATE -DG_LOG_DOMAIN=\"GLib-GIO\" -DGIO_COMPILATION -DG_DISABLE_DEPRECATED)
+ list(APPEND GLIB_TARGETS inotify)
+endif()
+
+if(APPLE)
+ file(GLOB KQUEUE_SOURCES gio/kqueue/*.c)
+ add_library(kqueue ${KQUEUE_SOURCES})
+ target_link_libraries(kqueue PRIVATE gmodule)
+ target_compile_definitions(kqueue PRIVATE -DG_LOG_DOMAIN=\"GLib-GIO\" -DGIO_COMPILATION -DG_DISABLE_DEPRECATED)
+ list(APPEND GLIB_TARGETS kqueue)
+endif()
# gio
extract_vcproj_sources(win32/vs14/gio.vcxproj GIO_SOURCES)
+if(NOT WIN32)
+ file(GLOB GIO_UNIX_SOURCES "gio/gunix*.c" "gio/g*notificationbackend.c" "gio/g*portal*.c")
+ list(APPEND GIO_SOURCES ${GIO_UNIX_SOURCES})
+ list(APPEND GIO_SOURCES
+ "gio/gcontenttype.c"
+ "gio/gfiledescriptorbased.c"
+ "gio/gnetworkmonitornm.c"
+ "gio/xdp-dbus.c"
+ )
+ list(FILTER GIO_SOURCES EXCLUDE REGEX "/gwin32[^/]+\$|win32/[^/]+\$|win32.c\$|gregistrysettingsbackend.c\$")
+ if(APPLE)
+ set_property(SOURCE
+ gio/gcocoanotificationbackend.c
+ gio/gosxappinfo.c
+ gio/gnextstepsettingsbackend.c
+ PROPERTY COMPILE_FLAGS "-x objective-c")
+ list(APPEND GIO_SOURCES
+ "gio/gnextstepsettingsbackend.c"
+ "gio/gosxappinfo.c"
+ )
+ else()
+ list(APPEND GIO_SOURCES
+ "gio/gnetworkmonitornetlink.c"
+ "gio/gdesktopappinfo.c"
+ )
+ list(FILTER GIO_SOURCES EXCLUDE REGEX "gcocoanotificationbackend.c\$")
+ endif()
+endif()
+if(NOT GLIB_SKIP_HEADERS)
+ file(GLOB GIO_HEADERS gio/*.h)
+ list(FILTER GIO_HEADERS EXCLUDE REGEX "private.h\$")
+ install(FILES ${GIO_HEADERS} ${CMAKE_BINARY_DIR}/config/gio/gnetworking.h DESTINATION include/gio)
+endif()
add_library(gio ${GIO_SOURCES})
-target_compile_definitions(gio PRIVATE GIO_COMPILATION ${GLIB_EXPORT_MACRO} G_LOG_DOMAIN="GLib-GIO")
-target_link_libraries(gio glib gmodule gobject ws2_32 shlwapi dnsapi iphlpapi ${ZLIB_LIBRARIES})
-target_include_directories(gio PRIVATE ./gio ./gmodule ${ZLIB_INCLUDE_DIRS})
+target_compile_definitions(gio PRIVATE GIO_COMPILATION G_LOG_DOMAIN="GLib-GIO")
+target_link_libraries(gio PRIVATE glib gmodule gobject ZLIB::ZLIB ${LIBRESOLV_LIBRARY} ${LIBINTL_LIBRARY})
+target_include_directories(gio PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/gio>)
+if(WIN32)
+ target_link_libraries(gio PRIVATE ws2_32 shlwapi dnsapi iphlpapi)
+elseif(APPLE)
+ target_link_libraries(gio PRIVATE xdgmime kqueue)
+else()
+ target_link_libraries(gio PRIVATE xdgmime inotify)
+endif()
list(APPEND GLIB_TARGETS gio)
foreach(GTARGET ${GLIB_TARGETS})
- set_target_properties(${GTARGET} PROPERTIES
+ set_target_properties(${GTARGET} PROPERTIES
OUTPUT_NAME ${GTARGET}-${GLIB_DLL_SUFFIX}
ARCHIVE_OUTPUT_NAME ${GTARGET}-${GLIB_LIB_SUFFIX})
endforeach()
macro(add_glib_tool TOOL_NAME)
add_executable(${TOOL_NAME} ${ARGN})
- target_link_libraries(${TOOL_NAME} glib)
+ target_link_libraries(${TOOL_NAME} glib ${LIBINTL_LIBRARY})
target_compile_definitions(${TOOL_NAME} PRIVATE GLIB_COMPILATION)
list(APPEND GLIB_TOOLS ${TOOL_NAME})
endmacro()
macro(add_gio_tool TOOL_NAME)
add_executable(${TOOL_NAME} ${ARGN})
- target_link_libraries(${TOOL_NAME} glib gio gobject gmodule)
- target_include_directories(${TOOL_NAME} PRIVATE ./gmodule ./gio)
+ target_link_libraries(${TOOL_NAME} PRIVATE glib gio gobject gmodule ${LIBINTL_LIBRARY})
+ target_include_directories(${TOOL_NAME} PRIVATE gmodule gio)
target_compile_definitions(${TOOL_NAME} PRIVATE GIO_COMPILATION)
list(APPEND GLIB_TOOLS ${TOOL_NAME})
endmacro()
@@ -125,22 +266,22 @@ endmacro()
if(NOT GLIB_SKIP_TOOLS)
configure_file(gobject/glib-mkenums.in ${CMAKE_SOURCE_DIR}/gobject/glib-mkenums @ONLY) # uses GLIB_VERSION
install(FILES gobject/glib-mkenums DESTINATION tools/glib)
-
+
configure_file(gio/gdbus-2.0/codegen/gdbus-codegen.in ${CMAKE_SOURCE_DIR}/gio/gdbus-2.0/codegen/gdbus-codegen COPYONLY)
install(FILES gio/gdbus-2.0/codegen/gdbus-codegen DESTINATION tools/glib)
file(GLOB CODEGEN_SOURCES gio/gdbus-2.0/codegen/*.py)
install(FILES ${CODEGEN_SOURCES} DESTINATION tools/glib/codegen)
-
- add_gio_tool(gdbus gio/gdbus-tool.c)
+
+ add_gio_tool(gdbus gio/gdbus-tool.c)
add_gio_tool(gio-querymodules gio/gio-querymodules.c)
file(GLOB GIO_TOOL_SOURCES gio/gio-tool*.c)
add_gio_tool(gio-tool ${GIO_TOOL_SOURCES})
set_target_properties(gio-tool PROPERTIES OUTPUT_NAME gio)
add_gio_tool(glib-compile-resources gio/glib-compile-resources.c gio/gvdb/gvdb-builder.c)
- add_gio_tool(glib-compile-schemas gio/glib-compile-schemas.c gio/gvdb/gvdb-builder.c)
+ add_gio_tool(glib-compile-schemas gio/glib-compile-schemas.c gio/gvdb/gvdb-builder.c)
add_gio_tool(gresource gio/gresource-tool.c)
add_gio_tool(gsettings gio/gsettings-tool.c)
-
+
if(CMAKE_SIZEOF_VOID_P EQUAL 4)
set(WIN win32)
else()
@@ -148,16 +289,15 @@ if(NOT GLIB_SKIP_TOOLS)
endif()
add_glib_tool(glib-genmarshal gobject/glib-genmarshal.c)
- add_glib_tool(gspawn-${WIN}-helper WIN32 glib/gspawn-win32-helper.c)
- add_glib_tool(gspawn-${WIN}-helper-console glib/gspawn-win32-helper-console.c)
-
+ if(WIN32)
+ add_glib_tool(gspawn-${WIN}-helper WIN32 glib/gspawn-win32-helper.c)
+ add_glib_tool(gspawn-${WIN}-helper-console glib/gspawn-win32-helper-console.c)
+ endif()
+
install(TARGETS ${GLIB_TOOLS} RUNTIME DESTINATION tools/glib)
endif()
install(TARGETS ${GLIB_TARGETS} RUNTIME DESTINATION bin ARCHIVE DESTINATION lib LIBRARY DESTINATION lib)
-if(NOT GLIB_SKIP_HEADERS)
- include(install_headers)
-endif()
message(STATUS "Link-time dependencies:")
message(STATUS " " ${ZLIB_LIBRARIES})
diff --git a/ports/glib/CONTROL b/ports/glib/CONTROL
index 4f06e4e2e..f37b794cb 100644
--- a/ports/glib/CONTROL
+++ b/ports/glib/CONTROL
@@ -1,4 +1,4 @@
Source: glib
-Version: 2.52.3-2
+Version: 2.52.3-9
Description: Portable, general-purpose utility library.
Build-Depends: zlib, pcre, libffi, gettext, libiconv
diff --git a/ports/glib/cmake/install_headers.cmake b/ports/glib/cmake/install_headers.cmake
index 0cfc207a4..7840f34ab 100644
--- a/ports/glib/cmake/install_headers.cmake
+++ b/ports/glib/cmake/install_headers.cmake
@@ -1,7 +1,6 @@
# generated from glib-install.props
install(FILES glib/glib.h DESTINATION include)
-install(FILES glib/glibconfig.h DESTINATION include)
-install(FILES glib/glib.h DESTINATION include)
+install(FILES ${CMAKE_BINARY_DIR}/config/glib/glibconfig.h DESTINATION include)
install(FILES glib/glib-object.h DESTINATION include)
install(FILES glib/deprecated/gallocator.h DESTINATION include/glib/deprecated)
install(FILES glib/deprecated/gcache.h DESTINATION include/glib/deprecated)
@@ -251,6 +250,6 @@ install(FILES gio/gdbusobjectmanagerclient.h DESTINATION include/gio)
install(FILES gio/gdbusobjectmanagerserver.h DESTINATION include/gio)
install(FILES gio/gtestdbus.h DESTINATION include/gio)
install(FILES gio/gioenumtypes.h DESTINATION include/gio)
-install(FILES gio/gnetworking.h DESTINATION include/gio)
+install(FILES ${CMAKE_BINARY_DIR}/config/gio/gnetworking.h DESTINATION include/gio)
install(FILES gio/gwin32inputstream.h DESTINATION include/gio)
install(FILES gio/gwin32outputstream.h DESTINATION include/gio)
diff --git a/ports/glib/portfile.cmake b/ports/glib/portfile.cmake
index 9618b6686..a500cbd24 100644
--- a/ports/glib/portfile.cmake
+++ b/ports/glib/portfile.cmake
@@ -3,9 +3,15 @@ if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore)
message(FATAL_ERROR "Error: UWP builds are currently not supported.")
endif()
-# Glib relies on DllMain
-if(VCPKG_LIBRARY_LINKAGE STREQUAL "static" OR VCPKG_CRT_LINKAGE STREQUAL "static")
- message(FATAL_ERROR "Glib only supports dynamic library and crt linkage")
+# Glib relies on DllMain on Windows
+if(NOT VCPKG_CMAKE_SYSTEM_NAME)
+ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ message("Glib relies on DllMain and therefore cannot be built statically")
+ set(VCPKG_LIBRARY_LINKAGE "dynamic")
+ endif()
+ if(VCPKG_CRT_LINKAGE STREQUAL "static")
+ message(FATAL_ERROR "Glib only supports dynamic library and crt linkage")
+ endif()
endif()
include(vcpkg_common_functions)
@@ -25,6 +31,7 @@ vcpkg_apply_patches(
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
file(COPY ${CMAKE_CURRENT_LIST_DIR}/cmake DESTINATION ${SOURCE_PATH})
file(REMOVE_RECURSE ${SOURCE_PATH}/glib/pcre)
+file(WRITE ${SOURCE_PATH}/glib/pcre/Makefile.in)
file(REMOVE ${SOURCE_PATH}/glib/win_iconv.c)
vcpkg_configure_cmake(
@@ -34,7 +41,8 @@ vcpkg_configure_cmake(
-DGLIB_VERSION=${GLIB_VERSION}
OPTIONS_DEBUG
-DGLIB_SKIP_HEADERS=ON
- -DGLIB_SKIP_TOOLS=ON)
+ -DGLIB_SKIP_TOOLS=ON
+ )
vcpkg_install_cmake()
vcpkg_copy_pdbs()
diff --git a/ports/glibmm/CMakeLists.txt b/ports/glibmm/CMakeLists.txt
new file mode 100644
index 000000000..9f0165786
--- /dev/null
+++ b/ports/glibmm/CMakeLists.txt
@@ -0,0 +1,121 @@
+cmake_minimum_required(VERSION 3.9)
+project(glibmm)
+
+set(CMAKE_CXX_STANDARD 17)
+
+find_path(GLIB_INCLUDE_DIR NAMES glib.h)
+find_library(GLIB_LIBRARY NAMES glib-2.0)
+find_library(GIO_LIBRARY NAMES gio-2.0)
+find_library(GOBJECT_LIBRARY NAMES gobject-2.0)
+find_library(GMODULE_LIBRARY NAMES gmodule-2.0)
+find_library(GTHREAD_LIBRARY NAMES gthread-2.0)
+find_program(GLIB_COMPILE_SCHEMAS NAMES glib-compile-schemas)
+find_library(PCRE_LIBRARY NAMES pcre)
+find_library(SIGC_LIBRARY NAMES sigc-2.0)
+find_library(FFI_LIBRARY NAMES ffi libffi)
+
+include_directories(${GLIB_INCLUDE_DIR})
+link_libraries(
+ ${GIO_LIBRARY}
+ ${GOBJECT_LIBRARY}
+ ${GMODULE_LIBRARY}
+ ${GTHREAD_LIBRARY}
+ ${GLIB_LIBRARY}
+ ${PCRE_LIBRARY}
+ ${SIGC_LIBRARY}
+ ${FFI_LIBRARY}
+)
+
+if(APPLE)
+ find_library(LIBINTL_LIBRARY NAMES intl)
+endif()
+
+find_package(unofficial-iconv REQUIRED)
+link_libraries(${LIBINTL_LIBRARY} unofficial::iconv::libiconv)
+
+if(APPLE)
+ find_library(COREFOUNDATION_LIBRARY CoreFoundation)
+ find_library(CORESERVICES_LIBRARY CoreServices)
+ find_library(FOUNDATION_LIBRARY Foundation)
+ link_libraries(${COREFOUNDATION_LIBRARY} ${CORESERVICES_LIBRARY} ${FOUNDATION_LIBRARY})
+endif()
+
+set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS TRUE)
+
+if(BUILD_SHARED_LIBS)
+ add_definitions(-DGLIBMM_DLL -DGIOMM_DLL)
+else()
+ add_definitions(-DGLIBMM_STATIC_LIB -DGIOMM_STATIC_LIB)
+endif()
+
+if(WIN32)
+ add_compile_options(/FI${WARNINGS_HEADER} -DSIZEOF_WCHAR_T=2)
+else()
+ set(THREADS_PREFER_PTHREAD_FLAG ON)
+ find_package(Threads REQUIRED)
+ link_libraries(Threads::Threads ${CMAKE_DL_LIBS})
+endif()
+
+if(WIN32)
+ configure_file(MSVC_Net2013/giomm/giommconfig.h ${CMAKE_BINARY_DIR}/config/gio/giommconfig.h COPYONLY)
+ configure_file(MSVC_Net2013/glibmm/glibmmconfig.h ${CMAKE_BINARY_DIR}/config/glib/glibmmconfig.h COPYONLY)
+else()
+ set(ENV{GLIB_COMPILE_SCHEMAS} "${GLIB_COMPILE_SCHEMAS}")
+ set(ENV{GLIBMM_CFLAGS} -I${GLIB_INCLUDE_DIR})
+ set(ENV{GLIBMM_LIBS} "${GLIB_LIBRARY}")
+ set(ENV{GIOMM_CFLAGS} -I${GLIB_INCLUDE_DIR})
+ set(ENV{GIOMM_LIBS} "${GIO_LIBRARY}")
+ set(ENV{PKG_CONFIG} "echo")
+
+ file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/config)
+ execute_process(
+ COMMAND "${CMAKE_SOURCE_DIR}/configure"
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/config
+ RESULT_VARIABLE res
+ )
+ if(NOT res EQUAL 0)
+ message(FATAL_ERROR "Configure failed.")
+ endif()
+endif()
+
+file(GLOB GLIBMM_SOURCES glib/glibmm/*.cc)
+add_library(glibmm ${GLIBMM_SOURCES})
+target_compile_definitions(glibmm PRIVATE -DGLIBMM_BUILD)
+target_include_directories(glibmm PUBLIC glib ${CMAKE_BINARY_DIR}/config/glib)
+
+file(GLOB GIOMM_SOURCES gio/giomm/*.cc)
+if(WIN32)
+ list(FILTER GIOMM_SOURCES EXCLUDE REGEX "desktopappinfo.cc\$|/unix[^/]+.cc\$")
+endif()
+add_library(giomm ${GIOMM_SOURCES})
+target_compile_definitions(giomm PRIVATE -DGIOMM_BUILD)
+target_link_libraries(giomm PUBLIC glibmm)
+target_include_directories(giomm PUBLIC gio ${CMAKE_BINARY_DIR}/config/gio)
+
+install(
+ TARGETS glibmm giomm
+ RUNTIME DESTINATION bin
+ ARCHIVE DESTINATION lib
+ LIBRARY DESTINATION lib
+)
+
+if(NOT DISABLE_INSTALL_HEADERS)
+ install(
+ FILES
+ ${CMAKE_BINARY_DIR}/config/gio/giommconfig.h
+ gio/giomm.h
+ ${CMAKE_BINARY_DIR}/config/glib/glibmmconfig.h
+ glib/glibmm.h
+ DESTINATION include
+ )
+ install(
+ DIRECTORY gio/giomm glib/glibmm
+ DESTINATION include
+ FILES_MATCHING PATTERN *.h
+ )
+endif()
+
+if(NOT DISABLE_EXAMPLES)
+ add_executable(options examples/options/main.cc)
+ target_link_libraries(options PRIVATE giomm)
+endif()
diff --git a/ports/glibmm/CONTROL b/ports/glibmm/CONTROL
index 52a4e0e05..a7ccbe937 100644
--- a/ports/glibmm/CONTROL
+++ b/ports/glibmm/CONTROL
@@ -1,4 +1,4 @@
Source: glibmm
-Version: 2.52.1
+Version: 2.52.1-7
Description: This is glibmm, a C++ API for parts of glib that are useful for C++. See http://www.gtkmm.org.
Build-Depends: zlib, pcre, libffi, gettext, libiconv, glib, libsigcpp
diff --git a/ports/glibmm/COPYING b/ports/glibmm/COPYING
deleted file mode 100644
index 5e1f37e13..000000000
--- a/ports/glibmm/COPYING
+++ /dev/null
@@ -1,514 +0,0 @@
-
- GNU LESSER GENERAL PUBLIC LICENSE
- Version 2.1, February 1999
-
- Copyright (C) 1991, 1999 Free Software Foundation, Inc.
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-[This is the first released version of the Lesser GPL. It also counts
- as the successor of the GNU Library Public License, version 2, hence
- the version number 2.1.]
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-Licenses are intended to guarantee your freedom to share and change
-free software--to make sure the software is free for all its users.
-
- This license, the Lesser General Public License, applies to some
-specially designated software packages--typically libraries--of the
-Free Software Foundation and other authors who decide to use it. You
-can use it too, but we suggest you first think carefully about whether
-this license or the ordinary General Public License is the better
-strategy to use in any particular case, based on the explanations
-below.
-
- When we speak of free software, we are referring to freedom of use,
-not price. Our General Public Licenses are designed to make sure that
-you have the freedom to distribute copies of free software (and charge
-for this service if you wish); that you receive source code or can get
-it if you want it; that you can change the software and use pieces of
-it in new free programs; and that you are informed that you can do
-these things.
-
- To protect your rights, we need to make restrictions that forbid
-distributors to deny you these rights or to ask you to surrender these
-rights. These restrictions translate to certain responsibilities for
-you if you distribute copies of the library or if you modify it.
-
- For example, if you distribute copies of the library, whether gratis
-or for a fee, you must give the recipients all the rights that we gave
-you. You must make sure that they, too, receive or can get the source
-code. If you link other code with the library, you must provide
-complete object files to the recipients, so that they can relink them
-with the library after making changes to the library and recompiling
-it. And you must show them these terms so they know their rights.
-
- We protect your rights with a two-step method: (1) we copyright the
-library, and (2) we offer you this license, which gives you legal
-permission to copy, distribute and/or modify the library.
-
- To protect each distributor, we want to make it very clear that
-there is no warranty for the free library. Also, if the library is
-modified by someone else and passed on, the recipients should know
-that what they have is not the original version, so that the original
-author's reputation will not be affected by problems that might be
-introduced by others.
-^L
- Finally, software patents pose a constant threat to the existence of
-any free program. We wish to make sure that a company cannot
-effectively restrict the users of a free program by obtaining a
-restrictive license from a patent holder. Therefore, we insist that
-any patent license obtained for a version of the library must be
-consistent with the full freedom of use specified in this license.
-
- Most GNU software, including some libraries, is covered by the
-ordinary GNU General Public License. This license, the GNU Lesser
-General Public License, applies to certain designated libraries, and
-is quite different from the ordinary General Public License. We use
-this license for certain libraries in order to permit linking those
-libraries into non-free programs.
-
- When a program is linked with a library, whether statically or using
-a shared library, the combination of the two is legally speaking a
-combined work, a derivative of the original library. The ordinary
-General Public License therefore permits such linking only if the
-entire combination fits its criteria of freedom. The Lesser General
-Public License permits more lax criteria for linking other code with
-the library.
-
- We call this license the "Lesser" General Public License because it
-does Less to protect the user's freedom than the ordinary General
-Public License. It also provides other free software developers Less
-of an advantage over competing non-free programs. These disadvantages
-are the reason we use the ordinary General Public License for many
-libraries. However, the Lesser license provides advantages in certain
-special circumstances.
-
- For example, on rare occasions, there may be a special need to
-encourage the widest possible use of a certain library, so that it
-becomes
-a de-facto standard. To achieve this, non-free programs must be
-allowed to use the library. A more frequent case is that a free
-library does the same job as widely used non-free libraries. In this
-case, there is little to gain by limiting the free library to free
-software only, so we use the Lesser General Public License.
-
- In other cases, permission to use a particular library in non-free
-programs enables a greater number of people to use a large body of
-free software. For example, permission to use the GNU C Library in
-non-free programs enables many more people to use the whole GNU
-operating system, as well as its variant, the GNU/Linux operating
-system.
-
- Although the Lesser General Public License is Less protective of the
-users' freedom, it does ensure that the user of a program that is
-linked with the Library has the freedom and the wherewithal to run
-that program using a modified version of the Library.
-
- The precise terms and conditions for copying, distribution and
-modification follow. Pay close attention to the difference between a
-"work based on the library" and a "work that uses the library". The
-former contains code derived from the library, whereas the latter must
-be combined with the library in order to run.
-^L
- GNU LESSER GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License Agreement applies to any software library or other
-program which contains a notice placed by the copyright holder or
-other authorized party saying it may be distributed under the terms of
-this Lesser General Public License (also called "this License").
-Each licensee is addressed as "you".
-
- A "library" means a collection of software functions and/or data
-prepared so as to be conveniently linked with application programs
-(which use some of those functions and data) to form executables.
-
- The "Library", below, refers to any such software library or work
-which has been distributed under these terms. A "work based on the
-Library" means either the Library or any derivative work under
-copyright law: that is to say, a work containing the Library or a
-portion of it, either verbatim or with modifications and/or translated
-straightforwardly into another language. (Hereinafter, translation is
-included without limitation in the term "modification".)
-
- "Source code" for a work means the preferred form of the work for
-making modifications to it. For a library, complete source code means
-all the source code for all modules it contains, plus any associated
-interface definition files, plus the scripts used to control
-compilation
-and installation of the library.
-
- Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running a program using the Library is not restricted, and output from
-such a program is covered only if its contents constitute a work based
-on the Library (independent of the use of the Library in a tool for
-writing it). Whether that is true depends on what the Library does
-and what the program that uses the Library does.
-
- 1. You may copy and distribute verbatim copies of the Library's
-complete source code as you receive it, in any medium, provided that
-you conspicuously and appropriately publish on each copy an
-appropriate copyright notice and disclaimer of warranty; keep intact
-all the notices that refer to this License and to the absence of any
-warranty; and distribute a copy of this License along with the
-Library.
-
- You may charge a fee for the physical act of transferring a copy,
-and you may at your option offer warranty protection in exchange for a
-fee.
-
- 2. You may modify your copy or copies of the Library or any portion
-of it, thus forming a work based on the Library, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) The modified work must itself be a software library.
-
- b) You must cause the files modified to carry prominent notices
- stating that you changed the files and the date of any change.
-
- c) You must cause the whole of the work to be licensed at no
- charge to all third parties under the terms of this License.
-
- d) If a facility in the modified Library refers to a function or a
- table of data to be supplied by an application program that uses
- the facility, other than as an argument passed when the facility
- is invoked, then you must make a good faith effort to ensure that,
- in the event an application does not supply such function or
- table, the facility still operates, and performs whatever part of
- its purpose remains meaningful.
-
- (For example, a function in a library to compute square roots has
- a purpose that is entirely well-defined independent of the
- application. Therefore, Subsection 2d requires that any
- application-supplied function or table used by this function must
- be optional: if the application does not supply it, the square
- root function must still compute square roots.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Library,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Library, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote
-it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Library.
-
-In addition, mere aggregation of another work not based on the Library
-with the Library (or with a work based on the Library) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may opt to apply the terms of the ordinary GNU General Public
-License instead of this License to a given copy of the Library. To do
-this, you must alter all the notices that refer to this License, so
-that they refer to the ordinary GNU General Public License, version 2,
-instead of to this License. (If a newer version than version 2 of the
-ordinary GNU General Public License has appeared, then you can specify
-that version instead if you wish.) Do not make any other change in
-these notices.
-^L
- Once this change is made in a given copy, it is irreversible for
-that copy, so the ordinary GNU General Public License applies to all
-subsequent copies and derivative works made from that copy.
-
- This option is useful when you wish to copy part of the code of
-the Library into a program that is not a library.
-
- 4. You may copy and distribute the Library (or a portion or
-derivative of it, under Section 2) in object code or executable form
-under the terms of Sections 1 and 2 above provided that you accompany
-it with the complete corresponding machine-readable source code, which
-must be distributed under the terms of Sections 1 and 2 above on a
-medium customarily used for software interchange.
-
- If distribution of object code is made by offering access to copy
-from a designated place, then offering equivalent access to copy the
-source code from the same place satisfies the requirement to
-distribute the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 5. A program that contains no derivative of any portion of the
-Library, but is designed to work with the Library by being compiled or
-linked with it, is called a "work that uses the Library". Such a
-work, in isolation, is not a derivative work of the Library, and
-therefore falls outside the scope of this License.
-
- However, linking a "work that uses the Library" with the Library
-creates an executable that is a derivative of the Library (because it
-contains portions of the Library), rather than a "work that uses the
-library". The executable is therefore covered by this License.
-Section 6 states terms for distribution of such executables.
-
- When a "work that uses the Library" uses material from a header file
-that is part of the Library, the object code for the work may be a
-derivative work of the Library even though the source code is not.
-Whether this is true is especially significant if the work can be
-linked without the Library, or if the work is itself a library. The
-threshold for this to be true is not precisely defined by law.
-
- If such an object file uses only numerical parameters, data
-structure layouts and accessors, and small macros and small inline
-functions (ten lines or less in length), then the use of the object
-file is unrestricted, regardless of whether it is legally a derivative
-work. (Executables containing this object code plus portions of the
-Library will still fall under Section 6.)
-
- Otherwise, if the work is a derivative of the Library, you may
-distribute the object code for the work under the terms of Section 6.
-Any executables containing that work also fall under Section 6,
-whether or not they are linked directly with the Library itself.
-^L
- 6. As an exception to the Sections above, you may also combine or
-link a "work that uses the Library" with the Library to produce a
-work containing portions of the Library, and distribute that work
-under terms of your choice, provided that the terms permit
-modification of the work for the customer's own use and reverse
-engineering for debugging such modifications.
-
- You must give prominent notice with each copy of the work that the
-Library is used in it and that the Library and its use are covered by
-this License. You must supply a copy of this License. If the work
-during execution displays copyright notices, you must include the
-copyright notice for the Library among them, as well as a reference
-directing the user to the copy of this License. Also, you must do one
-of these things:
-
- a) Accompany the work with the complete corresponding
- machine-readable source code for the Library including whatever
- changes were used in the work (which must be distributed under
- Sections 1 and 2 above); and, if the work is an executable linked
- with the Library, with the complete machine-readable "work that
- uses the Library", as object code and/or source code, so that the
- user can modify the Library and then relink to produce a modified
- executable containing the modified Library. (It is understood
- that the user who changes the contents of definitions files in the
- Library will not necessarily be able to recompile the application
- to use the modified definitions.)
-
- b) Use a suitable shared library mechanism for linking with the
- Library. A suitable mechanism is one that (1) uses at run time a
- copy of the library already present on the user's computer system,
- rather than copying library functions into the executable, and (2)
- will operate properly with a modified version of the library, if
- the user installs one, as long as the modified version is
- interface-compatible with the version that the work was made with.
-
- c) Accompany the work with a written offer, valid for at
- least three years, to give the same user the materials
- specified in Subsection 6a, above, for a charge no more
- than the cost of performing this distribution.
-
- d) If distribution of the work is made by offering access to copy
- from a designated place, offer equivalent access to copy the above
- specified materials from the same place.
-
- e) Verify that the user has already received a copy of these
- materials or that you have already sent this user a copy.
-
- For an executable, the required form of the "work that uses the
-Library" must include any data and utility programs needed for
-reproducing the executable from it. However, as a special exception,
-the materials to be distributed need not include anything that is
-normally distributed (in either source or binary form) with the major
-components (compiler, kernel, and so on) of the operating system on
-which the executable runs, unless that component itself accompanies
-the executable.
-
- It may happen that this requirement contradicts the license
-restrictions of other proprietary libraries that do not normally
-accompany the operating system. Such a contradiction means you cannot
-use both them and the Library together in an executable that you
-distribute.
-^L
- 7. You may place library facilities that are a work based on the
-Library side-by-side in a single library together with other library
-facilities not covered by this License, and distribute such a combined
-library, provided that the separate distribution of the work based on
-the Library and of the other library facilities is otherwise
-permitted, and provided that you do these two things:
-
- a) Accompany the combined library with a copy of the same work
- based on the Library, uncombined with any other library
- facilities. This must be distributed under the terms of the
- Sections above.
-
- b) Give prominent notice with the combined library of the fact
- that part of it is a work based on the Library, and explaining
- where to find the accompanying uncombined form of the same work.
-
- 8. You may not copy, modify, sublicense, link with, or distribute
-the Library except as expressly provided under this License. Any
-attempt otherwise to copy, modify, sublicense, link with, or
-distribute the Library is void, and will automatically terminate your
-rights under this License. However, parties who have received copies,
-or rights, from you under this License will not have their licenses
-terminated so long as such parties remain in full compliance.
-
- 9. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Library or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Library (or any work based on the
-Library), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Library or works based on it.
-
- 10. Each time you redistribute the Library (or any work based on the
-Library), the recipient automatically receives a license from the
-original licensor to copy, distribute, link with or modify the Library
-subject to these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties with
-this License.
-^L
- 11. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Library at all. For example, if a patent
-license would not permit royalty-free redistribution of the Library by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Library.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply, and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 12. If the distribution and/or use of the Library is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Library under this License
-may add an explicit geographical distribution limitation excluding those
-countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
- 13. The Free Software Foundation may publish revised and/or new
-versions of the Lesser General Public License from time to time.
-Such new versions will be similar in spirit to the present version,
-but may differ in detail to address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Library
-specifies a version number of this License which applies to it and
-"any later version", you have the option of following the terms and
-conditions either of that version or of any later version published by
-the Free Software Foundation. If the Library does not specify a
-license version number, you may choose any version ever published by
-the Free Software Foundation.
-^L
- 14. If you wish to incorporate parts of the Library into other free
-programs whose distribution conditions are incompatible with these,
-write to the author to ask for permission. For software which is
-copyrighted by the Free Software Foundation, write to the Free
-Software Foundation; we sometimes make exceptions for this. Our
-decision will be guided by the two goals of preserving the free status
-of all derivatives of our free software and of promoting the sharing
-and reuse of software generally.
-
- NO WARRANTY
-
- 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
-LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.
-
- END OF TERMS AND CONDITIONS
-^L
- How to Apply These Terms to Your New Libraries
-
- If you develop a new library, and you want it to be of the greatest
-possible use to the public, we recommend making it free software that
-everyone can redistribute and change. You can do so by permitting
-redistribution under these terms (or, alternatively, under the terms
-of the ordinary General Public License).
-
- To apply these terms, attach the following notices to the library.
-It is safest to attach them to the start of each source file to most
-effectively convey the exclusion of warranty; and each file should
-have at least the "copyright" line and a pointer to where the full
-notice is found.
-
-
- <one line to give the library's name and a brief idea of what it does.>
- Copyright (C) <year> <name of author>
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with this library; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-
-Also add information on how to contact you by electronic and paper
-mail.
-
-You should also get your employer (if you work as a programmer) or
-your
-school, if any, to sign a "copyright disclaimer" for the library, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the
- library `Frob' (a library for tweaking knobs) written by James
-Random Hacker.
-
- <signature of Ty Coon>, 1 April 1990
- Ty Coon, President of Vice
-
-That's all there is to it!
-
-
diff --git a/ports/glibmm/README b/ports/glibmm/README
deleted file mode 100644
index 341c67e43..000000000
--- a/ports/glibmm/README
+++ /dev/null
@@ -1,4 +0,0 @@
-This is glibmm, a C++ API for parts of glib that are useful for C++.
-See http://www.gtkmm.org
-
-
diff --git a/ports/glibmm/fix_charset.patch b/ports/glibmm/fix_charset.patch
deleted file mode 100644
index 8831fc946..000000000
--- a/ports/glibmm/fix_charset.patch
+++ /dev/null
@@ -1,2702 +0,0 @@
-diff --git a/MSVC_Net2013/compose.vcxproj b/MSVC_Net2013/compose.vcxproj
-index 4775af3..72a7054 100644
---- a/MSVC_Net2013/compose.vcxproj
-+++ b/MSVC_Net2013/compose.vcxproj
-@@ -23,26 +23,27 @@
- <ProjectGuid>{D1C74410-023C-48DE-B636-E8B6D177C306}</ProjectGuid>
- <RootNamespace>compose</RootNamespace>
- <Keyword>Win32Proj</Keyword>
-+ <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-@@ -189,4 +190,4 @@
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
--</Project>
-+</Project>
-\ No newline at end of file
-diff --git a/MSVC_Net2013/dispatcher.vcxproj b/MSVC_Net2013/dispatcher.vcxproj
-index 6c403c0..90d254a 100644
---- a/MSVC_Net2013/dispatcher.vcxproj
-+++ b/MSVC_Net2013/dispatcher.vcxproj
-@@ -23,26 +23,27 @@
- <ProjectGuid>{129ECC08-6D30-4884-B824-4AF96EF0A45C}</ProjectGuid>
- <RootNamespace>dispatcher</RootNamespace>
- <Keyword>Win32Proj</Keyword>
-+ <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-@@ -189,4 +190,4 @@
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
--</Project>
-+</Project>
-\ No newline at end of file
-diff --git a/MSVC_Net2013/dispatcher2.vcxproj b/MSVC_Net2013/dispatcher2.vcxproj
-index db6a5fd..9cf6b57 100644
---- a/MSVC_Net2013/dispatcher2.vcxproj
-+++ b/MSVC_Net2013/dispatcher2.vcxproj
-@@ -22,26 +22,27 @@
- <ProjectName>dispatcher2</ProjectName>
- <ProjectGuid>{18A82706-B645-4DF5-AB09-06B90128BAC5}</ProjectGuid>
- <Keyword>Win32Proj</Keyword>
-+ <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-@@ -188,4 +189,4 @@
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
--</Project>
-+</Project>
-\ No newline at end of file
-diff --git a/MSVC_Net2013/gendef.vcxproj b/MSVC_Net2013/gendef.vcxproj
-index 8894039..0b2cb08 100644
---- a/MSVC_Net2013/gendef.vcxproj
-+++ b/MSVC_Net2013/gendef.vcxproj
-@@ -1,168 +1,169 @@
--???<?xml version="1.0" encoding="utf-8"?>
--<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-- <ItemGroup Label="ProjectConfigurations">
-- <ProjectConfiguration Include="Debug|Win32">
-- <Configuration>Debug</Configuration>
-- <Platform>Win32</Platform>
-- </ProjectConfiguration>
-- <ProjectConfiguration Include="Debug|x64">
-- <Configuration>Debug</Configuration>
-- <Platform>x64</Platform>
-- </ProjectConfiguration>
-- <ProjectConfiguration Include="Release|Win32">
-- <Configuration>Release</Configuration>
-- <Platform>Win32</Platform>
-- </ProjectConfiguration>
-- <ProjectConfiguration Include="Release|x64">
-- <Configuration>Release</Configuration>
-- <Platform>x64</Platform>
-- </ProjectConfiguration>
-- </ItemGroup>
-- <PropertyGroup Label="Globals">
-- <ProjectGuid>{07324745-C9BE-4D65-B08A-9C88188C0C28}</ProjectGuid>
-- <Keyword>Win32Proj</Keyword>
-- </PropertyGroup>
-- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-- <PlatformToolset>v120</PlatformToolset>
-- </PropertyGroup>
-- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-- <PlatformToolset>v120</PlatformToolset>
-- </PropertyGroup>
-- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-- <PlatformToolset>v120</PlatformToolset>
-- </PropertyGroup>
-- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-- <PlatformToolset>v120</PlatformToolset>
-- </PropertyGroup>
-- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-- <ImportGroup Label="ExtensionSettings">
-- </ImportGroup>
-- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-- <Import Project=".\glibmm-build-defines.props" />
-- </ImportGroup>
-- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-- <Import Project=".\glibmm-build-defines.props" />
-- </ImportGroup>
-- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-- <Import Project=".\glibmm-build-defines.props" />
-- </ImportGroup>
-- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-- <Import Project=".\glibmm-build-defines.props" />
-- </ImportGroup>
-- <PropertyGroup Label="UserMacros" />
-- <PropertyGroup>
-- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
-- <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</GenerateManifest>
-- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
-- <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</GenerateManifest>
-- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
-- <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</GenerateManifest>
-- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
-- <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</GenerateManifest>
-- </PropertyGroup>
-- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-- <ClCompile>
-- <Optimization>Disabled</Optimization>
-- <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-- <MinimalRebuild>true</MinimalRebuild>
-- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-- <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-- <WarningLevel>Level3</WarningLevel>
-- <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-- </ClCompile>
-- <Link>
-- <GenerateDebugInformation>true</GenerateDebugInformation>
-- <ProgramDatabaseFile>$(OutDir)\$(TargetName).pdb</ProgramDatabaseFile>
-- <SubSystem>Console</SubSystem>
-- <RandomizedBaseAddress>false</RandomizedBaseAddress>
-- <DataExecutionPrevention>
-- </DataExecutionPrevention>
-- <TargetMachine>MachineX86</TargetMachine>
-+???<?xml version="1.0" encoding="utf-8"?>
-+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-+ <ItemGroup Label="ProjectConfigurations">
-+ <ProjectConfiguration Include="Debug|Win32">
-+ <Configuration>Debug</Configuration>
-+ <Platform>Win32</Platform>
-+ </ProjectConfiguration>
-+ <ProjectConfiguration Include="Debug|x64">
-+ <Configuration>Debug</Configuration>
-+ <Platform>x64</Platform>
-+ </ProjectConfiguration>
-+ <ProjectConfiguration Include="Release|Win32">
-+ <Configuration>Release</Configuration>
-+ <Platform>Win32</Platform>
-+ </ProjectConfiguration>
-+ <ProjectConfiguration Include="Release|x64">
-+ <Configuration>Release</Configuration>
-+ <Platform>x64</Platform>
-+ </ProjectConfiguration>
-+ </ItemGroup>
-+ <PropertyGroup Label="Globals">
-+ <ProjectGuid>{07324745-C9BE-4D65-B08A-9C88188C0C28}</ProjectGuid>
-+ <Keyword>Win32Proj</Keyword>
-+ <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
-+ </PropertyGroup>
-+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-+ <ConfigurationType>Application</ConfigurationType>
-+ <CharacterSet>Unicode</CharacterSet>
-+ <PlatformToolset>v120</PlatformToolset>
-+ </PropertyGroup>
-+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-+ <ConfigurationType>Application</ConfigurationType>
-+ <CharacterSet>Unicode</CharacterSet>
-+ <PlatformToolset>v120</PlatformToolset>
-+ </PropertyGroup>
-+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-+ <ConfigurationType>Application</ConfigurationType>
-+ <CharacterSet>Unicode</CharacterSet>
-+ <PlatformToolset>v120</PlatformToolset>
-+ </PropertyGroup>
-+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-+ <ConfigurationType>Application</ConfigurationType>
-+ <CharacterSet>Unicode</CharacterSet>
-+ <PlatformToolset>v120</PlatformToolset>
-+ </PropertyGroup>
-+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-+ <ImportGroup Label="ExtensionSettings">
-+ </ImportGroup>
-+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-+ <Import Project=".\glibmm-build-defines.props" />
-+ </ImportGroup>
-+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-+ <Import Project=".\glibmm-build-defines.props" />
-+ </ImportGroup>
-+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-+ <Import Project=".\glibmm-build-defines.props" />
-+ </ImportGroup>
-+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-+ <Import Project=".\glibmm-build-defines.props" />
-+ </ImportGroup>
-+ <PropertyGroup Label="UserMacros" />
-+ <PropertyGroup>
-+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
-+ <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</GenerateManifest>
-+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
-+ <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</GenerateManifest>
-+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
-+ <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</GenerateManifest>
-+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
-+ <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</GenerateManifest>
-+ </PropertyGroup>
-+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-+ <ClCompile>
-+ <Optimization>Disabled</Optimization>
-+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-+ <MinimalRebuild>true</MinimalRebuild>
-+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-+ <WarningLevel>Level3</WarningLevel>
-+ <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-+ </ClCompile>
-+ <Link>
-+ <GenerateDebugInformation>true</GenerateDebugInformation>
-+ <ProgramDatabaseFile>$(OutDir)\$(TargetName).pdb</ProgramDatabaseFile>
-+ <SubSystem>Console</SubSystem>
-+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
-+ <DataExecutionPrevention>
-+ </DataExecutionPrevention>
-+ <TargetMachine>MachineX86</TargetMachine>
- <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
-- </Link>
-- </ItemDefinitionGroup>
-- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-- <ClCompile>
-- <PreprocessorDefinitions>;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-- <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-- <WarningLevel>Level3</WarningLevel>
-- <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-- </ClCompile>
-- <Link>
-- <GenerateDebugInformation>true</GenerateDebugInformation>
-- <SubSystem>Console</SubSystem>
-- <OptimizeReferences>true</OptimizeReferences>
-- <EnableCOMDATFolding>true</EnableCOMDATFolding>
-- <RandomizedBaseAddress>false</RandomizedBaseAddress>
-- <DataExecutionPrevention>
-- </DataExecutionPrevention>
-- <TargetMachine>MachineX86</TargetMachine>
-+ </Link>
-+ </ItemDefinitionGroup>
-+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-+ <ClCompile>
-+ <PreprocessorDefinitions>;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-+ <WarningLevel>Level3</WarningLevel>
-+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-+ </ClCompile>
-+ <Link>
-+ <GenerateDebugInformation>true</GenerateDebugInformation>
-+ <SubSystem>Console</SubSystem>
-+ <OptimizeReferences>true</OptimizeReferences>
-+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
-+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
-+ <DataExecutionPrevention>
-+ </DataExecutionPrevention>
-+ <TargetMachine>MachineX86</TargetMachine>
- <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
-- </Link>
-- </ItemDefinitionGroup>
-- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-- <Midl>
-- <TargetEnvironment>X64</TargetEnvironment>
-- </Midl>
-- <ClCompile>
-- <Optimization>Disabled</Optimization>
-- <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-- <MinimalRebuild>true</MinimalRebuild>
-- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-- <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-- <WarningLevel>Level3</WarningLevel>
-- <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-- </ClCompile>
-- <Link>
-- <GenerateDebugInformation>true</GenerateDebugInformation>
-- <ProgramDatabaseFile>$(OutDir)\$(TargetName).pdb</ProgramDatabaseFile>
-- <SubSystem>Console</SubSystem>
-- <RandomizedBaseAddress>false</RandomizedBaseAddress>
-- <DataExecutionPrevention>
-- </DataExecutionPrevention>
-- <TargetMachine>MachineX64</TargetMachine>
-+ </Link>
-+ </ItemDefinitionGroup>
-+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-+ <Midl>
-+ <TargetEnvironment>X64</TargetEnvironment>
-+ </Midl>
-+ <ClCompile>
-+ <Optimization>Disabled</Optimization>
-+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-+ <MinimalRebuild>true</MinimalRebuild>
-+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-+ <WarningLevel>Level3</WarningLevel>
-+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-+ </ClCompile>
-+ <Link>
-+ <GenerateDebugInformation>true</GenerateDebugInformation>
-+ <ProgramDatabaseFile>$(OutDir)\$(TargetName).pdb</ProgramDatabaseFile>
-+ <SubSystem>Console</SubSystem>
-+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
-+ <DataExecutionPrevention>
-+ </DataExecutionPrevention>
-+ <TargetMachine>MachineX64</TargetMachine>
- <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
-- </Link>
-- </ItemDefinitionGroup>
-- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-- <Midl>
-- <TargetEnvironment>X64</TargetEnvironment>
-- </Midl>
-- <ClCompile>
-- <PreprocessorDefinitions>;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-- <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-- <WarningLevel>Level3</WarningLevel>
-- <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-- </ClCompile>
-- <Link>
-- <GenerateDebugInformation>true</GenerateDebugInformation>
-- <SubSystem>Console</SubSystem>
-- <OptimizeReferences>true</OptimizeReferences>
-- <EnableCOMDATFolding>true</EnableCOMDATFolding>
-- <RandomizedBaseAddress>false</RandomizedBaseAddress>
-- <DataExecutionPrevention>
-- </DataExecutionPrevention>
-- <TargetMachine>MachineX64</TargetMachine>
-+ </Link>
-+ </ItemDefinitionGroup>
-+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-+ <Midl>
-+ <TargetEnvironment>X64</TargetEnvironment>
-+ </Midl>
-+ <ClCompile>
-+ <PreprocessorDefinitions>;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-+ <WarningLevel>Level3</WarningLevel>
-+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-+ </ClCompile>
-+ <Link>
-+ <GenerateDebugInformation>true</GenerateDebugInformation>
-+ <SubSystem>Console</SubSystem>
-+ <OptimizeReferences>true</OptimizeReferences>
-+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
-+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
-+ <DataExecutionPrevention>
-+ </DataExecutionPrevention>
-+ <TargetMachine>MachineX64</TargetMachine>
- <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
-- </Link>
-- </ItemDefinitionGroup>
-- <ItemGroup>
-- <ClCompile Include=".\gendef\gendef.cc" />
-- </ItemGroup>
-- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-- <ImportGroup Label="ExtensionTargets">
-- </ImportGroup>
--</Project>
-\ No newline at end of file
-+ </Link>
-+ </ItemDefinitionGroup>
-+ <ItemGroup>
-+ <ClCompile Include=".\gendef\gendef.cc" />
-+ </ItemGroup>
-+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-+ <ImportGroup Label="ExtensionTargets">
-+ </ImportGroup>
-+</Project>
-\ No newline at end of file
-diff --git a/MSVC_Net2013/giomm.vcxproj b/MSVC_Net2013/giomm.vcxproj
-index df3c4f8..f9baf6b 100644
---- a/MSVC_Net2013/giomm.vcxproj
-+++ b/MSVC_Net2013/giomm.vcxproj
-@@ -1,458 +1,459 @@
--???<?xml version="1.0" encoding="utf-8"?>
--<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-- <ItemGroup Label="ProjectConfigurations">
-- <ProjectConfiguration Include="Debug|Win32">
-- <Configuration>Debug</Configuration>
-- <Platform>Win32</Platform>
-- </ProjectConfiguration>
-- <ProjectConfiguration Include="Debug|x64">
-- <Configuration>Debug</Configuration>
-- <Platform>x64</Platform>
-- </ProjectConfiguration>
-- <ProjectConfiguration Include="Release|Win32">
-- <Configuration>Release</Configuration>
-- <Platform>Win32</Platform>
-- </ProjectConfiguration>
-- <ProjectConfiguration Include="Release|x64">
-- <Configuration>Release</Configuration>
-- <Platform>x64</Platform>
-- </ProjectConfiguration>
-- </ItemGroup>
-- <PropertyGroup Label="Globals">
-- <ProjectName>giomm</ProjectName>
-- <ProjectGuid>{EE6C0430-C2C9-425C-8EBA-963FAC3E9832}</ProjectGuid>
-- </PropertyGroup>
-- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-- <ConfigurationType>DynamicLibrary</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-- <PlatformToolset>v120</PlatformToolset>
-- </PropertyGroup>
-- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-- <ConfigurationType>DynamicLibrary</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-- <PlatformToolset>v120</PlatformToolset>
-- </PropertyGroup>
-- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-- <ConfigurationType>DynamicLibrary</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-- <PlatformToolset>v120</PlatformToolset>
-- </PropertyGroup>
-- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-- <ConfigurationType>DynamicLibrary</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-- <PlatformToolset>v120</PlatformToolset>
-- </PropertyGroup>
-- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-- <ImportGroup Label="ExtensionSettings">
-- </ImportGroup>
-- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-- <Import Project=".\glibmm-build-defines.props" />
-- </ImportGroup>
-- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-- <Import Project=".\glibmm-build-defines.props" />
-- </ImportGroup>
-- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-- <Import Project=".\glibmm-build-defines.props" />
-- </ImportGroup>
-- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-- <Import Project=".\glibmm-build-defines.props" />
-- </ImportGroup>
-- <PropertyGroup Label="UserMacros" />
-- <PropertyGroup>
-- </PropertyGroup>
-- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-- <ClCompile>
-- <AdditionalOptions>%(AdditionalOptions)</AdditionalOptions>
-- <Optimization>Disabled</Optimization>
-+???<?xml version="1.0" encoding="utf-8"?>
-+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-+ <ItemGroup Label="ProjectConfigurations">
-+ <ProjectConfiguration Include="Debug|Win32">
-+ <Configuration>Debug</Configuration>
-+ <Platform>Win32</Platform>
-+ </ProjectConfiguration>
-+ <ProjectConfiguration Include="Debug|x64">
-+ <Configuration>Debug</Configuration>
-+ <Platform>x64</Platform>
-+ </ProjectConfiguration>
-+ <ProjectConfiguration Include="Release|Win32">
-+ <Configuration>Release</Configuration>
-+ <Platform>Win32</Platform>
-+ </ProjectConfiguration>
-+ <ProjectConfiguration Include="Release|x64">
-+ <Configuration>Release</Configuration>
-+ <Platform>x64</Platform>
-+ </ProjectConfiguration>
-+ </ItemGroup>
-+ <PropertyGroup Label="Globals">
-+ <ProjectName>giomm</ProjectName>
-+ <ProjectGuid>{EE6C0430-C2C9-425C-8EBA-963FAC3E9832}</ProjectGuid>
-+ <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
-+ </PropertyGroup>
-+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-+ <ConfigurationType>DynamicLibrary</ConfigurationType>
-+ <CharacterSet>Unicode</CharacterSet>
-+ <PlatformToolset>v120</PlatformToolset>
-+ </PropertyGroup>
-+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-+ <ConfigurationType>DynamicLibrary</ConfigurationType>
-+ <CharacterSet>Unicode</CharacterSet>
-+ <PlatformToolset>v120</PlatformToolset>
-+ </PropertyGroup>
-+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-+ <ConfigurationType>DynamicLibrary</ConfigurationType>
-+ <CharacterSet>Unicode</CharacterSet>
-+ <PlatformToolset>v120</PlatformToolset>
-+ </PropertyGroup>
-+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-+ <ConfigurationType>DynamicLibrary</ConfigurationType>
-+ <CharacterSet>Unicode</CharacterSet>
-+ <PlatformToolset>v120</PlatformToolset>
-+ </PropertyGroup>
-+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-+ <ImportGroup Label="ExtensionSettings">
-+ </ImportGroup>
-+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-+ <Import Project=".\glibmm-build-defines.props" />
-+ </ImportGroup>
-+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-+ <Import Project=".\glibmm-build-defines.props" />
-+ </ImportGroup>
-+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-+ <Import Project=".\glibmm-build-defines.props" />
-+ </ImportGroup>
-+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-+ <Import Project=".\glibmm-build-defines.props" />
-+ </ImportGroup>
-+ <PropertyGroup Label="UserMacros" />
-+ <PropertyGroup>
-+ </PropertyGroup>
-+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-+ <ClCompile>
-+ <AdditionalOptions>%(AdditionalOptions)</AdditionalOptions>
-+ <Optimization>Disabled</Optimization>
- <AdditionalIncludeDirectories>.\giomm;..\gio;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-- <PreprocessorDefinitions>_DEBUG;$(GioMMBuildDefs);%(PreprocessorDefinitions)</PreprocessorDefinitions>
-- <MinimalRebuild>true</MinimalRebuild>
-- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-- <WarningLevel>Level3</WarningLevel>
-- <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-- </ClCompile>
-- <PreLinkEvent>
-- <Message>Generate giomm def file</Message>
-- <Command>$(OutDir)\gendef.exe $(DefDir)\$(ProjectName).def $(ProjectName)$(DebugDllSuffix).dll $(IntDir)*.obj</Command>
-- </PreLinkEvent>
-- <Link>
-+ <PreprocessorDefinitions>_DEBUG;$(GioMMBuildDefs);%(PreprocessorDefinitions)</PreprocessorDefinitions>
-+ <MinimalRebuild>true</MinimalRebuild>
-+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-+ <WarningLevel>Level3</WarningLevel>
-+ <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-+ </ClCompile>
-+ <PreLinkEvent>
-+ <Message>Generate giomm def file</Message>
-+ <Command>$(OutDir)\gendef.exe $(DefDir)\$(ProjectName).def $(ProjectName)$(DebugDllSuffix).dll $(IntDir)*.obj</Command>
-+ </PreLinkEvent>
-+ <Link>
- <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
-- <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
-- <OutputFile>$(OutDir)\$(ProjectName)$(DebugDllSuffix).dll</OutputFile>
-- <ImportLibrary>$(TargetDir)$(ProjectName)$(DebugDllSuffix).lib</ImportLibrary>
-- <ModuleDefinitionFile>$(IntDir)\$(ProjectName).def</ModuleDefinitionFile>
-- <GenerateDebugInformation>true</GenerateDebugInformation>
-- <RandomizedBaseAddress>false</RandomizedBaseAddress>
-- <DataExecutionPrevention>
-- </DataExecutionPrevention>
-- </Link>
-- </ItemDefinitionGroup>
-- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-- <Midl>
-- <TargetEnvironment>X64</TargetEnvironment>
-- </Midl>
-- <ClCompile>
-- <AdditionalOptions>%(AdditionalOptions)</AdditionalOptions>
-- <Optimization>Disabled</Optimization>
-+ <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
-+ <OutputFile>$(OutDir)\$(ProjectName)$(DebugDllSuffix).dll</OutputFile>
-+ <ImportLibrary>$(TargetDir)$(ProjectName)$(DebugDllSuffix).lib</ImportLibrary>
-+ <ModuleDefinitionFile>$(IntDir)\$(ProjectName).def</ModuleDefinitionFile>
-+ <GenerateDebugInformation>true</GenerateDebugInformation>
-+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
-+ <DataExecutionPrevention>
-+ </DataExecutionPrevention>
-+ </Link>
-+ </ItemDefinitionGroup>
-+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-+ <Midl>
-+ <TargetEnvironment>X64</TargetEnvironment>
-+ </Midl>
-+ <ClCompile>
-+ <AdditionalOptions>%(AdditionalOptions)</AdditionalOptions>
-+ <Optimization>Disabled</Optimization>
- <AdditionalIncludeDirectories>.\giomm;..\gio;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-- <PreprocessorDefinitions>_DEBUG;$(GioMMBuildDefs);%(PreprocessorDefinitions)</PreprocessorDefinitions>
-- <MinimalRebuild>true</MinimalRebuild>
-- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-- <WarningLevel>Level3</WarningLevel>
-- <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-- </ClCompile>
-- <PreLinkEvent>
-- <Message>Generate giomm def file</Message>
-- <Command>$(OutDir)\gendef.exe $(DefDir)\$(ProjectName).def $(ProjectName)$(DebugDllSuffix).dll $(IntDir)*.obj</Command>
-- </PreLinkEvent>
-- <Link>
-+ <PreprocessorDefinitions>_DEBUG;$(GioMMBuildDefs);%(PreprocessorDefinitions)</PreprocessorDefinitions>
-+ <MinimalRebuild>true</MinimalRebuild>
-+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-+ <WarningLevel>Level3</WarningLevel>
-+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-+ </ClCompile>
-+ <PreLinkEvent>
-+ <Message>Generate giomm def file</Message>
-+ <Command>$(OutDir)\gendef.exe $(DefDir)\$(ProjectName).def $(ProjectName)$(DebugDllSuffix).dll $(IntDir)*.obj</Command>
-+ </PreLinkEvent>
-+ <Link>
- <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
-- <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
-- <OutputFile>$(OutDir)\$(ProjectName)$(DebugDllSuffix).dll</OutputFile>
-- <ImportLibrary>$(TargetDir)$(ProjectName)$(DebugDllSuffix).lib</ImportLibrary>
-- <ModuleDefinitionFile>$(IntDir)\$(ProjectName).def</ModuleDefinitionFile>
-- <GenerateDebugInformation>true</GenerateDebugInformation>
-- <RandomizedBaseAddress>false</RandomizedBaseAddress>
-- <DataExecutionPrevention>
-- </DataExecutionPrevention>
-- <TargetMachine>MachineX64</TargetMachine>
-- </Link>
-- </ItemDefinitionGroup>
-- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-- <ClCompile>
-- <AdditionalOptions>%(AdditionalOptions)</AdditionalOptions>
-+ <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
-+ <OutputFile>$(OutDir)\$(ProjectName)$(DebugDllSuffix).dll</OutputFile>
-+ <ImportLibrary>$(TargetDir)$(ProjectName)$(DebugDllSuffix).lib</ImportLibrary>
-+ <ModuleDefinitionFile>$(IntDir)\$(ProjectName).def</ModuleDefinitionFile>
-+ <GenerateDebugInformation>true</GenerateDebugInformation>
-+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
-+ <DataExecutionPrevention>
-+ </DataExecutionPrevention>
-+ <TargetMachine>MachineX64</TargetMachine>
-+ </Link>
-+ </ItemDefinitionGroup>
-+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-+ <ClCompile>
-+ <AdditionalOptions>%(AdditionalOptions)</AdditionalOptions>
- <AdditionalIncludeDirectories>.\giomm;..\gio;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-- <PreprocessorDefinitions>$(GioMMBuildDefs);%(PreprocessorDefinitions)</PreprocessorDefinitions>
-- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-- <WarningLevel>Level3</WarningLevel>
-- <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-- </ClCompile>
-- <PreLinkEvent>
-- <Message>Generate giomm def file</Message>
-- <Command>$(OutDir)\gendef.exe $(DefDir)\$(ProjectName).def $(ProjectName)$(ReleaseDllSuffix).dll $(IntDir)*.obj</Command>
-- </PreLinkEvent>
-- <Link>
-+ <PreprocessorDefinitions>$(GioMMBuildDefs);%(PreprocessorDefinitions)</PreprocessorDefinitions>
-+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-+ <WarningLevel>Level3</WarningLevel>
-+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-+ </ClCompile>
-+ <PreLinkEvent>
-+ <Message>Generate giomm def file</Message>
-+ <Command>$(OutDir)\gendef.exe $(DefDir)\$(ProjectName).def $(ProjectName)$(ReleaseDllSuffix).dll $(IntDir)*.obj</Command>
-+ </PreLinkEvent>
-+ <Link>
- <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
-- <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
-- <OutputFile>$(OutDir)\$(ProjectName)$(ReleaseDllSuffix).dll</OutputFile>
-- <ImportLibrary>$(TargetDir)$(ProjectName)$(ReleaseDllSuffix).lib</ImportLibrary>
-- <ModuleDefinitionFile>$(IntDir)\$(ProjectName).def</ModuleDefinitionFile>
-- <RandomizedBaseAddress>false</RandomizedBaseAddress>
-- <GenerateDebugInformation>true</GenerateDebugInformation>
-- <ProgramDatabaseFile>$(OutDir)\$(ProjectName)$(ReleaseDllSuffix).pdb</ProgramDatabaseFile>
-- <OptimizeReferences>true</OptimizeReferences>
-- <DataExecutionPrevention>
-- </DataExecutionPrevention>
-- </Link>
-- </ItemDefinitionGroup>
-- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-- <Midl>
-- <TargetEnvironment>X64</TargetEnvironment>
-- </Midl>
-- <ClCompile>
-- <AdditionalOptions>%(AdditionalOptions)</AdditionalOptions>
-+ <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
-+ <OutputFile>$(OutDir)\$(ProjectName)$(ReleaseDllSuffix).dll</OutputFile>
-+ <ImportLibrary>$(TargetDir)$(ProjectName)$(ReleaseDllSuffix).lib</ImportLibrary>
-+ <ModuleDefinitionFile>$(IntDir)\$(ProjectName).def</ModuleDefinitionFile>
-+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
-+ <GenerateDebugInformation>true</GenerateDebugInformation>
-+ <ProgramDatabaseFile>$(OutDir)\$(ProjectName)$(ReleaseDllSuffix).pdb</ProgramDatabaseFile>
-+ <OptimizeReferences>true</OptimizeReferences>
-+ <DataExecutionPrevention>
-+ </DataExecutionPrevention>
-+ </Link>
-+ </ItemDefinitionGroup>
-+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-+ <Midl>
-+ <TargetEnvironment>X64</TargetEnvironment>
-+ </Midl>
-+ <ClCompile>
-+ <AdditionalOptions>%(AdditionalOptions)</AdditionalOptions>
- <AdditionalIncludeDirectories>.\giomm;..\gio;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-- <PreprocessorDefinitions>$(GioMMBuildDefs);%(PreprocessorDefinitions)</PreprocessorDefinitions>
-- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-- <WarningLevel>Level3</WarningLevel>
-- <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-- </ClCompile>
-- <PreLinkEvent>
-- <Message>Generate giomm def file</Message>
-- <Command>$(OutDir)\gendef.exe $(DefDir)\$(ProjectName).def $(ProjectName)$(ReleaseDllSuffix).dll $(IntDir)*.obj</Command>
-- </PreLinkEvent>
-- <Link>
-+ <PreprocessorDefinitions>$(GioMMBuildDefs);%(PreprocessorDefinitions)</PreprocessorDefinitions>
-+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-+ <WarningLevel>Level3</WarningLevel>
-+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-+ </ClCompile>
-+ <PreLinkEvent>
-+ <Message>Generate giomm def file</Message>
-+ <Command>$(OutDir)\gendef.exe $(DefDir)\$(ProjectName).def $(ProjectName)$(ReleaseDllSuffix).dll $(IntDir)*.obj</Command>
-+ </PreLinkEvent>
-+ <Link>
- <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
-- <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
-- <OutputFile>$(OutDir)\$(ProjectName)$(ReleaseDllSuffix).dll</OutputFile>
-- <ImportLibrary>$(TargetDir)$(ProjectName)$(ReleaseDllSuffix).lib</ImportLibrary>
-- <ModuleDefinitionFile>$(IntDir)\$(ProjectName).def</ModuleDefinitionFile>
-- <RandomizedBaseAddress>false</RandomizedBaseAddress>
-- <GenerateDebugInformation>true</GenerateDebugInformation>
-- <ProgramDatabaseFile>$(OutDir)\$(ProjectName)$(ReleaseDllSuffix).pdb</ProgramDatabaseFile>
-- <OptimizeReferences>true</OptimizeReferences>
-- <DataExecutionPrevention>
-- </DataExecutionPrevention>
-- <TargetMachine>MachineX64</TargetMachine>
-- </Link>
-- </ItemDefinitionGroup>
-- <ItemGroup>
-- <ClCompile Include="..\gio\giomm\action.cc" />
-- <ClCompile Include="..\gio\giomm\actiongroup.cc" />
-- <ClCompile Include="..\gio\giomm\actionmap.cc" />
-- <ClCompile Include="..\gio\giomm\appinfo.cc" />
-- <ClCompile Include="..\gio\giomm\applaunchcontext.cc" />
-- <ClCompile Include="..\gio\giomm\application.cc" />
-- <ClCompile Include="..\gio\giomm\applicationcommandline.cc" />
-- <ClCompile Include="..\gio\giomm\asyncresult.cc" />
-- <ClCompile Include="..\gio\giomm\asyncinitable.cc" />
-- <ClCompile Include="..\gio\giomm\bufferedinputstream.cc" />
-- <ClCompile Include="..\gio\giomm\bufferedoutputstream.cc" />
-- <ClCompile Include="..\gio\giomm\cancellable.cc" />
-- <ClCompile Include="..\gio\giomm\charsetconverter.cc" />
-- <ClCompile Include="..\gio\giomm\contenttype.cc" />
-- <ClCompile Include="..\gio\giomm\converter.cc" />
-- <ClCompile Include="..\gio\giomm\converterinputstream.cc" />
-- <ClCompile Include="..\gio\giomm\converteroutputstream.cc" />
-- <ClCompile Include="..\gio\giomm\credentials.cc" />
-- <ClCompile Include="..\gio\giomm\datainputstream.cc" />
-- <ClCompile Include="..\gio\giomm\dataoutputstream.cc" />
-- <ClCompile Include="..\gio\giomm\dbusactiongroup.cc" />
-- <ClCompile Include="..\gio\giomm\dbusaddress.cc" />
-- <ClCompile Include="..\gio\giomm\dbusauthobserver.cc" />
-- <ClCompile Include="..\gio\giomm\dbusconnection.cc" />
-- <ClCompile Include="..\gio\giomm\dbuserror.cc" />
-- <ClCompile Include="..\gio\giomm\dbuserrorutils.cc" />
-- <ClCompile Include="..\gio\giomm\dbusinterface.cc" />
-- <ClCompile Include="..\gio\giomm\dbusinterfaceskeleton.cc" />
-- <ClCompile Include="..\gio\giomm\dbusinterfacevtable.cc" />
-- <ClCompile Include="..\gio\giomm\dbusintrospection.cc" />
-- <ClCompile Include="..\gio\giomm\dbusmenumodel.cc" />
-- <ClCompile Include="..\gio\giomm\dbusmessage.cc" />
-- <ClCompile Include="..\gio\giomm\dbusmethodinvocation.cc" />
-- <ClCompile Include="..\gio\giomm\dbusobject.cc" />
-- <ClCompile Include="..\gio\giomm\dbusownname.cc" />
-- <ClCompile Include="..\gio\giomm\dbusproxy.cc" />
-- <ClCompile Include="..\gio\giomm\dbusserver.cc" />
-- <ClCompile Include="..\gio\giomm\dbussubtreevtable.cc" />
-- <ClCompile Include="..\gio\giomm\dbusutils.cc" />
-- <ClCompile Include="..\gio\giomm\dbuswatchname.cc" />
-- <ClCompile Include="..\gio\giomm\drive.cc" />
-- <ClCompile Include="..\gio\giomm\emblem.cc" />
-- <ClCompile Include="..\gio\giomm\emblemedicon.cc" />
-- <ClCompile Include="..\gio\giomm\enums.cc" />
-- <ClCompile Include="..\gio\giomm\error.cc" />
-- <ClCompile Include="..\gio\giomm\file.cc" />
-- <ClCompile Include="..\gio\giomm\fileattributeinfo.cc" />
-- <ClCompile Include="..\gio\giomm\fileattributeinfolist.cc" />
-- <ClCompile Include="..\gio\giomm\fileenumerator.cc" />
-- <ClCompile Include="..\gio\giomm\fileicon.cc" />
-- <ClCompile Include="..\gio\giomm\fileinfo.cc" />
-- <ClCompile Include="..\gio\giomm\fileinputstream.cc" />
-- <ClCompile Include="..\gio\giomm\fileiostream.cc" />
-- <ClCompile Include="..\gio\giomm\filemonitor.cc" />
-- <ClCompile Include="..\gio\giomm\filenamecompleter.cc" />
-- <ClCompile Include="..\gio\giomm\fileoutputstream.cc" />
-- <ClCompile Include="..\gio\giomm\filterinputstream.cc" />
-- <ClCompile Include="..\gio\giomm\filteroutputstream.cc" />
-- <ClCompile Include="..\gio\giomm\icon.cc" />
-- <ClCompile Include="..\gio\giomm\inetaddress.cc" />
-- <ClCompile Include="..\gio\giomm\inetsocketaddress.cc" />
-- <ClCompile Include="..\gio\giomm\init.cc" />
-- <ClCompile Include="..\gio\giomm\initable.cc" />
-- <ClCompile Include="..\gio\giomm\inputstream.cc" />
-- <ClCompile Include="..\gio\giomm\iostream.cc" />
-- <ClCompile Include="..\gio\giomm\listmodel.cc" />
-- <ClCompile Include="..\gio\giomm\liststore.cc" />
-- <ClCompile Include="..\gio\giomm\loadableicon.cc" />
-- <ClCompile Include="..\gio\giomm\memoryinputstream.cc" />
-- <ClCompile Include="..\gio\giomm\memoryoutputstream.cc" />
-- <ClCompile Include="..\gio\giomm\menu.cc" />
-- <ClCompile Include="..\gio\giomm\menuattributeiter.cc" />
-- <ClCompile Include="..\gio\giomm\menuitem.cc" />
-- <ClCompile Include="..\gio\giomm\menulinkiter.cc" />
-- <ClCompile Include="..\gio\giomm\menumodel.cc" />
-- <ClCompile Include="..\gio\giomm\mount.cc" />
-- <ClCompile Include="..\gio\giomm\mountoperation.cc" />
-- <ClCompile Include="..\gio\giomm\networkaddress.cc" />
-- <ClCompile Include="..\gio\giomm\networkmonitor.cc" />
-- <ClCompile Include="..\gio\giomm\networkservice.cc" />
-- <ClCompile Include="..\gio\giomm\notification.cc" />
-- <ClCompile Include="..\gio\giomm\outputstream.cc" />
-- <ClCompile Include="..\gio\giomm\permission.cc" />
-- <ClCompile Include="..\gio\giomm\pollableinputstream.cc" />
-- <ClCompile Include="..\gio\giomm\pollableoutputstream.cc" />
-- <ClCompile Include="..\gio\giomm\proxy.cc" />
-- <ClCompile Include="..\gio\giomm\proxyaddress.cc" />
-- <ClCompile Include="..\gio\giomm\proxyresolver.cc" />
-- <ClCompile Include="..\gio\giomm\remoteactiongroup.cc" />
-- <ClCompile Include="..\gio\giomm\resolver.cc" />
-- <ClCompile Include="..\gio\giomm\resource.cc" />
-- <ClCompile Include="..\gio\giomm\seekable.cc" />
-- <ClCompile Include="..\gio\giomm\settings.cc" />
-- <ClCompile Include="..\gio\giomm\settingsschema.cc" />
-- <ClCompile Include="..\gio\giomm\settingsschemakey.cc" />
-- <ClCompile Include="..\gio\giomm\settingsschemasource.cc" />
-- <ClCompile Include="..\gio\giomm\simpleaction.cc" />
-- <ClCompile Include="..\gio\giomm\simpleactiongroup.cc" />
-- <ClCompile Include="..\gio\giomm\simpleiostream.cc" />
-- <ClCompile Include="..\gio\giomm\simplepermission.cc" />
-- <ClCompile Include="..\gio\giomm\slot_async.cc" />
-- <ClCompile Include="..\gio\giomm\socket.cc" />
-- <ClCompile Include="..\gio\giomm\socketaddress.cc" />
-- <ClCompile Include="..\gio\giomm\socketaddressenumerator.cc" />
-- <ClCompile Include="..\gio\giomm\socketclient.cc" />
-- <ClCompile Include="..\gio\giomm\socketconnectable.cc" />
-- <ClCompile Include="..\gio\giomm\socketconnection.cc" />
-- <ClCompile Include="..\gio\giomm\socketcontrolmessage.cc" />
-- <ClCompile Include="..\gio\giomm\socketlistener.cc" />
-- <ClCompile Include="..\gio\giomm\socketservice.cc" />
-- <ClCompile Include="..\gio\giomm\socketsource.cc" />
-- <ClCompile Include="..\gio\giomm\srvtarget.cc" />
-- <ClCompile Include="..\gio\giomm\tcpconnection.cc" />
-- <ClCompile Include="..\gio\giomm\tcpwrapperconnection.cc" />
-- <ClCompile Include="..\gio\giomm\themedicon.cc" />
-- <ClCompile Include="..\gio\giomm\threadedsocketservice.cc" />
-- <ClCompile Include="..\gio\giomm\tlscertificate.cc" />
-- <ClCompile Include="..\gio\giomm\tlsclientconnection.cc" />
-- <ClCompile Include="..\gio\giomm\tlsconnection.cc" />
-- <ClCompile Include="..\gio\giomm\tlsdatabase.cc" />
-- <ClCompile Include="..\gio\giomm\tlsinteraction.cc" />
-- <ClCompile Include="..\gio\giomm\tlspassword.cc" />
-- <ClCompile Include="..\gio\giomm\tlsserverconnection.cc" />
-- <ClCompile Include="..\gio\giomm\volume.cc" />
-- <ClCompile Include="..\gio\giomm\volumemonitor.cc" />
-- <ClCompile Include="..\gio\giomm\wrap_init.cc" />
-- <ClCompile Include="..\gio\giomm\zlibcompressor.cc" />
-- <ClCompile Include="..\gio\giomm\zlibdecompressor.cc" />
-- </ItemGroup>
-- <ItemGroup>
-- <ClInclude Include="..\gio\giomm\action.h" />
-- <ClInclude Include="..\gio\giomm\actiongroup.h" />
-- <ClInclude Include="..\gio\giomm\actionmap.h" />
-- <ClInclude Include="..\gio\giomm\appinfo.h" />
-- <ClInclude Include="..\gio\giomm\applaunchcontext.h" />
-- <ClInclude Include="..\gio\giomm\application.h" />
-- <ClInclude Include="..\gio\giomm\applicationcommandline.h" />
-- <ClInclude Include="..\gio\giomm\asyncinitable.h" />
-- <ClInclude Include="..\gio\giomm\asyncresult.h" />
-- <ClInclude Include="..\gio\giomm\bufferedinputstream.h" />
-- <ClInclude Include="..\gio\giomm\bufferedoutputstream.h" />
-- <ClInclude Include="..\gio\giomm\cancellable.h" />
-- <ClInclude Include="..\gio\giomm\charsetconverter.h" />
-- <ClInclude Include="..\gio\giomm\contenttype.h" />
-- <ClInclude Include="..\gio\giomm\converter.h" />
-- <ClInclude Include="..\gio\giomm\converterinputstream.h" />
-- <ClInclude Include="..\gio\giomm\converteroutputstream.h" />
-- <ClInclude Include="..\gio\giomm\credentials.h" />
-- <ClInclude Include="..\gio\giomm\datainputstream.h" />
-- <ClInclude Include="..\gio\giomm\dataoutputstream.h" />
-- <ClInclude Include="..\gio\giomm\dbusactiongroup.h" />
-- <ClInclude Include="..\gio\giomm\dbusaddress.h" />
-- <ClInclude Include="..\gio\giomm\dbusauthobserver.h" />
-- <ClInclude Include="..\gio\giomm\dbusconnection.h" />
-- <ClInclude Include="..\gio\giomm\dbuserror.h" />
-- <ClInclude Include="..\gio\giomm\dbuserrorutils.h" />
-- <ClInclude Include="..\gio\giomm\dbusinterface.h" />
-- <ClInclude Include="..\gio\giomm\dbusinterfaceskeleton.h" />
-- <ClInclude Include="..\gio\giomm\dbusinterfacevtable.h" />
-- <ClInclude Include="..\gio\giomm\dbusintrospection.h" />
-- <ClInclude Include="..\gio\giomm\dbusmenumodel.h" />
-- <ClInclude Include="..\gio\giomm\dbusmessage.h" />
-- <ClInclude Include="..\gio\giomm\dbusmethodinvocation.h" />
-- <ClInclude Include="..\gio\giomm\dbusobject.h" />
-- <ClInclude Include="..\gio\giomm\dbusownname.h" />
-- <ClInclude Include="..\gio\giomm\dbusproxy.h" />
-- <ClInclude Include="..\gio\giomm\dbusserver.h" />
-- <ClInclude Include="..\gio\giomm\dbussubtreevtable.h" />
-- <ClInclude Include="..\gio\giomm\dbusutils.h" />
-- <ClInclude Include="..\gio\giomm\dbuswatchname.h" />
-- <ClInclude Include="..\gio\giomm\drive.h" />
-- <ClInclude Include="..\gio\giomm\emblem.h" />
-- <ClInclude Include="..\gio\giomm\emblemedicon.h" />
-- <ClInclude Include="..\gio\giomm\enums.h" />
-- <ClInclude Include="..\gio\giomm\error.h" />
-- <ClInclude Include="..\gio\giomm\file.h" />
-- <ClInclude Include="..\gio\giomm\fileattributeinfo.h" />
-- <ClInclude Include="..\gio\giomm\fileattributeinfolist.h" />
-- <ClInclude Include="..\gio\giomm\fileenumerator.h" />
-- <ClInclude Include="..\gio\giomm\fileicon.h" />
-- <ClInclude Include="..\gio\giomm\fileinfo.h" />
-- <ClInclude Include="..\gio\giomm\fileinputstream.h" />
-- <ClInclude Include="..\gio\giomm\fileiostream.h" />
-- <ClInclude Include="..\gio\giomm\filemonitor.h" />
-- <ClInclude Include="..\gio\giomm\filenamecompleter.h" />
-- <ClInclude Include="..\gio\giomm\fileoutputstream.h" />
-- <ClInclude Include="..\gio\giomm\filterinputstream.h" />
-- <ClInclude Include="..\gio\giomm\filteroutputstream.h" />
-- <ClInclude Include="..\gio\giomm\icon.h" />
-- <ClInclude Include="..\gio\giomm\inetaddress.h" />
-- <ClInclude Include="..\gio\giomm\inetsocketaddress.h" />
-- <ClInclude Include="..\gio\giomm\init.h" />
-- <ClInclude Include="..\gio\giomm\initable.h" />
-- <ClInclude Include="..\gio\giomm\inputstream.h" />
-- <ClInclude Include="..\gio\giomm\iostream.h" />
-- <ClInclude Include="..\gio\giomm\listmodel.h" />
-- <ClInclude Include="..\gio\giomm\liststore.h" />
-- <ClInclude Include="..\gio\giomm\loadableicon.h" />
-- <ClInclude Include="..\gio\giomm\memoryinputstream.h" />
-- <ClInclude Include="..\gio\giomm\memoryoutputstream.h" />
-- <ClInclude Include="..\gio\giomm\menu.h" />
-- <ClInclude Include="..\gio\giomm\menuattributeiter.h" />
-- <ClInclude Include="..\gio\giomm\menuitem.h" />
-- <ClInclude Include="..\gio\giomm\menulinkiter.h" />
-- <ClInclude Include="..\gio\giomm\menumodel.h" />
-- <ClInclude Include="..\gio\giomm\mount.h" />
-- <ClInclude Include="..\gio\giomm\mountoperation.h" />
-- <ClInclude Include="..\gio\giomm\networkaddress.h" />
-- <ClInclude Include="..\gio\giomm\networkmonitor.h" />
-- <ClInclude Include="..\gio\giomm\networkservice.h" />
-- <ClInclude Include="..\gio\giomm\notification.h" />
-- <ClInclude Include="..\gio\giomm\outputstream.h" />
-- <ClInclude Include="..\gio\giomm\permission.h" />
-- <ClInclude Include="..\gio\giomm\pollableinputstream.h" />
-- <ClInclude Include="..\gio\giomm\pollableoutputstream.h" />
-- <ClInclude Include="..\gio\giomm\proxy.h" />
-- <ClInclude Include="..\gio\giomm\proxyaddress.h" />
-- <ClInclude Include="..\gio\giomm\proxyresolver.h" />
-- <ClInclude Include="..\gio\giomm\remoteactiongroup.h" />
-- <ClInclude Include="..\gio\giomm\resolver.h" />
-- <ClInclude Include="..\gio\giomm\resource.h" />
-- <ClInclude Include="..\gio\giomm\seekable.h" />
-- <ClInclude Include="..\gio\giomm\settings.h" />
-- <ClInclude Include="..\gio\giomm\settingsschema.h" />
-- <ClInclude Include="..\gio\giomm\settingsschemakey.h" />
-- <ClInclude Include="..\gio\giomm\settingsschemasource.h" />
-- <ClInclude Include="..\gio\giomm\simpleaction.h" />
-- <ClInclude Include="..\gio\giomm\simpleactiongroup.h" />
-- <ClInclude Include="..\gio\giomm\simpleiostream.h" />
-- <ClInclude Include="..\gio\giomm\simplepermission.h" />
-- <ClInclude Include="..\gio\giomm\slot_async.h" />
-- <ClInclude Include="..\gio\giomm\socket.h" />
-- <ClInclude Include="..\gio\giomm\socketaddress.h" />
-- <ClInclude Include="..\gio\giomm\socketaddressenumerator.h" />
-- <ClInclude Include="..\gio\giomm\socketclient.h" />
-- <ClInclude Include="..\gio\giomm\socketconnectable.h" />
-- <ClInclude Include="..\gio\giomm\socketconnection.h" />
-- <ClInclude Include="..\gio\giomm\socketcontrolmessage.h" />
-- <ClInclude Include="..\gio\giomm\socketlistener.h" />
-- <ClInclude Include="..\gio\giomm\socketservice.h" />
-- <ClInclude Include="..\gio\giomm\socketsource.h" />
-- <ClInclude Include="..\gio\giomm\srvtarget.h" />
-- <ClInclude Include="..\gio\giomm\tcpconnection.h" />
-- <ClInclude Include="..\gio\giomm\tcpwrapperconnection.h" />
-- <ClInclude Include="..\gio\giomm\themedicon.h" />
-- <ClInclude Include="..\gio\giomm\threadedsocketservice.h" />
-- <ClInclude Include="..\gio\giomm\tlscertificate.h" />
-- <ClInclude Include="..\gio\giomm\tlsclientconnection.h" />
-- <ClInclude Include="..\gio\giomm\tlsconnection.h" />
-- <ClInclude Include="..\gio\giomm\tlsdatabase.h" />
-- <ClInclude Include="..\gio\giomm\tlsinteraction.h" />
-- <ClInclude Include="..\gio\giomm\tlspassword.h" />
-- <ClInclude Include="..\gio\giomm\tlsserverconnection.h" />
-- <ClInclude Include="..\gio\giomm\volume.h" />
-- <ClInclude Include="..\gio\giomm\volumemonitor.h" />
-- <ClInclude Include="..\gio\giomm\wrap_init.h" />
-- <ClInclude Include="..\gio\giomm\zlibcompressor.h" />
-- <ClInclude Include="..\gio\giomm\zlibdecompressor.h" />
-- </ItemGroup>
-- <ItemGroup>
-- <ResourceCompile Include=".\giomm\giomm.rc" />
-- </ItemGroup>
-- <ItemGroup>
-- <ProjectReference Include="glibmm.vcxproj">
-- <Project>{58b2b53c-c4ff-47fd-817b-095e45b7f7d4}</Project>
-- <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-- </ProjectReference>
-- </ItemGroup>
-- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-- <ImportGroup Label="ExtensionTargets">
-- </ImportGroup>
--</Project>
-\ No newline at end of file
-+ <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
-+ <OutputFile>$(OutDir)\$(ProjectName)$(ReleaseDllSuffix).dll</OutputFile>
-+ <ImportLibrary>$(TargetDir)$(ProjectName)$(ReleaseDllSuffix).lib</ImportLibrary>
-+ <ModuleDefinitionFile>$(IntDir)\$(ProjectName).def</ModuleDefinitionFile>
-+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
-+ <GenerateDebugInformation>true</GenerateDebugInformation>
-+ <ProgramDatabaseFile>$(OutDir)\$(ProjectName)$(ReleaseDllSuffix).pdb</ProgramDatabaseFile>
-+ <OptimizeReferences>true</OptimizeReferences>
-+ <DataExecutionPrevention>
-+ </DataExecutionPrevention>
-+ <TargetMachine>MachineX64</TargetMachine>
-+ </Link>
-+ </ItemDefinitionGroup>
-+ <ItemGroup>
-+ <ClCompile Include="..\gio\giomm\action.cc" />
-+ <ClCompile Include="..\gio\giomm\actiongroup.cc" />
-+ <ClCompile Include="..\gio\giomm\actionmap.cc" />
-+ <ClCompile Include="..\gio\giomm\appinfo.cc" />
-+ <ClCompile Include="..\gio\giomm\applaunchcontext.cc" />
-+ <ClCompile Include="..\gio\giomm\application.cc" />
-+ <ClCompile Include="..\gio\giomm\applicationcommandline.cc" />
-+ <ClCompile Include="..\gio\giomm\asyncresult.cc" />
-+ <ClCompile Include="..\gio\giomm\asyncinitable.cc" />
-+ <ClCompile Include="..\gio\giomm\bufferedinputstream.cc" />
-+ <ClCompile Include="..\gio\giomm\bufferedoutputstream.cc" />
-+ <ClCompile Include="..\gio\giomm\cancellable.cc" />
-+ <ClCompile Include="..\gio\giomm\charsetconverter.cc" />
-+ <ClCompile Include="..\gio\giomm\contenttype.cc" />
-+ <ClCompile Include="..\gio\giomm\converter.cc" />
-+ <ClCompile Include="..\gio\giomm\converterinputstream.cc" />
-+ <ClCompile Include="..\gio\giomm\converteroutputstream.cc" />
-+ <ClCompile Include="..\gio\giomm\credentials.cc" />
-+ <ClCompile Include="..\gio\giomm\datainputstream.cc" />
-+ <ClCompile Include="..\gio\giomm\dataoutputstream.cc" />
-+ <ClCompile Include="..\gio\giomm\dbusactiongroup.cc" />
-+ <ClCompile Include="..\gio\giomm\dbusaddress.cc" />
-+ <ClCompile Include="..\gio\giomm\dbusauthobserver.cc" />
-+ <ClCompile Include="..\gio\giomm\dbusconnection.cc" />
-+ <ClCompile Include="..\gio\giomm\dbuserror.cc" />
-+ <ClCompile Include="..\gio\giomm\dbuserrorutils.cc" />
-+ <ClCompile Include="..\gio\giomm\dbusinterface.cc" />
-+ <ClCompile Include="..\gio\giomm\dbusinterfaceskeleton.cc" />
-+ <ClCompile Include="..\gio\giomm\dbusinterfacevtable.cc" />
-+ <ClCompile Include="..\gio\giomm\dbusintrospection.cc" />
-+ <ClCompile Include="..\gio\giomm\dbusmenumodel.cc" />
-+ <ClCompile Include="..\gio\giomm\dbusmessage.cc" />
-+ <ClCompile Include="..\gio\giomm\dbusmethodinvocation.cc" />
-+ <ClCompile Include="..\gio\giomm\dbusobject.cc" />
-+ <ClCompile Include="..\gio\giomm\dbusownname.cc" />
-+ <ClCompile Include="..\gio\giomm\dbusproxy.cc" />
-+ <ClCompile Include="..\gio\giomm\dbusserver.cc" />
-+ <ClCompile Include="..\gio\giomm\dbussubtreevtable.cc" />
-+ <ClCompile Include="..\gio\giomm\dbusutils.cc" />
-+ <ClCompile Include="..\gio\giomm\dbuswatchname.cc" />
-+ <ClCompile Include="..\gio\giomm\drive.cc" />
-+ <ClCompile Include="..\gio\giomm\emblem.cc" />
-+ <ClCompile Include="..\gio\giomm\emblemedicon.cc" />
-+ <ClCompile Include="..\gio\giomm\enums.cc" />
-+ <ClCompile Include="..\gio\giomm\error.cc" />
-+ <ClCompile Include="..\gio\giomm\file.cc" />
-+ <ClCompile Include="..\gio\giomm\fileattributeinfo.cc" />
-+ <ClCompile Include="..\gio\giomm\fileattributeinfolist.cc" />
-+ <ClCompile Include="..\gio\giomm\fileenumerator.cc" />
-+ <ClCompile Include="..\gio\giomm\fileicon.cc" />
-+ <ClCompile Include="..\gio\giomm\fileinfo.cc" />
-+ <ClCompile Include="..\gio\giomm\fileinputstream.cc" />
-+ <ClCompile Include="..\gio\giomm\fileiostream.cc" />
-+ <ClCompile Include="..\gio\giomm\filemonitor.cc" />
-+ <ClCompile Include="..\gio\giomm\filenamecompleter.cc" />
-+ <ClCompile Include="..\gio\giomm\fileoutputstream.cc" />
-+ <ClCompile Include="..\gio\giomm\filterinputstream.cc" />
-+ <ClCompile Include="..\gio\giomm\filteroutputstream.cc" />
-+ <ClCompile Include="..\gio\giomm\icon.cc" />
-+ <ClCompile Include="..\gio\giomm\inetaddress.cc" />
-+ <ClCompile Include="..\gio\giomm\inetsocketaddress.cc" />
-+ <ClCompile Include="..\gio\giomm\init.cc" />
-+ <ClCompile Include="..\gio\giomm\initable.cc" />
-+ <ClCompile Include="..\gio\giomm\inputstream.cc" />
-+ <ClCompile Include="..\gio\giomm\iostream.cc" />
-+ <ClCompile Include="..\gio\giomm\listmodel.cc" />
-+ <ClCompile Include="..\gio\giomm\liststore.cc" />
-+ <ClCompile Include="..\gio\giomm\loadableicon.cc" />
-+ <ClCompile Include="..\gio\giomm\memoryinputstream.cc" />
-+ <ClCompile Include="..\gio\giomm\memoryoutputstream.cc" />
-+ <ClCompile Include="..\gio\giomm\menu.cc" />
-+ <ClCompile Include="..\gio\giomm\menuattributeiter.cc" />
-+ <ClCompile Include="..\gio\giomm\menuitem.cc" />
-+ <ClCompile Include="..\gio\giomm\menulinkiter.cc" />
-+ <ClCompile Include="..\gio\giomm\menumodel.cc" />
-+ <ClCompile Include="..\gio\giomm\mount.cc" />
-+ <ClCompile Include="..\gio\giomm\mountoperation.cc" />
-+ <ClCompile Include="..\gio\giomm\networkaddress.cc" />
-+ <ClCompile Include="..\gio\giomm\networkmonitor.cc" />
-+ <ClCompile Include="..\gio\giomm\networkservice.cc" />
-+ <ClCompile Include="..\gio\giomm\notification.cc" />
-+ <ClCompile Include="..\gio\giomm\outputstream.cc" />
-+ <ClCompile Include="..\gio\giomm\permission.cc" />
-+ <ClCompile Include="..\gio\giomm\pollableinputstream.cc" />
-+ <ClCompile Include="..\gio\giomm\pollableoutputstream.cc" />
-+ <ClCompile Include="..\gio\giomm\proxy.cc" />
-+ <ClCompile Include="..\gio\giomm\proxyaddress.cc" />
-+ <ClCompile Include="..\gio\giomm\proxyresolver.cc" />
-+ <ClCompile Include="..\gio\giomm\remoteactiongroup.cc" />
-+ <ClCompile Include="..\gio\giomm\resolver.cc" />
-+ <ClCompile Include="..\gio\giomm\resource.cc" />
-+ <ClCompile Include="..\gio\giomm\seekable.cc" />
-+ <ClCompile Include="..\gio\giomm\settings.cc" />
-+ <ClCompile Include="..\gio\giomm\settingsschema.cc" />
-+ <ClCompile Include="..\gio\giomm\settingsschemakey.cc" />
-+ <ClCompile Include="..\gio\giomm\settingsschemasource.cc" />
-+ <ClCompile Include="..\gio\giomm\simpleaction.cc" />
-+ <ClCompile Include="..\gio\giomm\simpleactiongroup.cc" />
-+ <ClCompile Include="..\gio\giomm\simpleiostream.cc" />
-+ <ClCompile Include="..\gio\giomm\simplepermission.cc" />
-+ <ClCompile Include="..\gio\giomm\slot_async.cc" />
-+ <ClCompile Include="..\gio\giomm\socket.cc" />
-+ <ClCompile Include="..\gio\giomm\socketaddress.cc" />
-+ <ClCompile Include="..\gio\giomm\socketaddressenumerator.cc" />
-+ <ClCompile Include="..\gio\giomm\socketclient.cc" />
-+ <ClCompile Include="..\gio\giomm\socketconnectable.cc" />
-+ <ClCompile Include="..\gio\giomm\socketconnection.cc" />
-+ <ClCompile Include="..\gio\giomm\socketcontrolmessage.cc" />
-+ <ClCompile Include="..\gio\giomm\socketlistener.cc" />
-+ <ClCompile Include="..\gio\giomm\socketservice.cc" />
-+ <ClCompile Include="..\gio\giomm\socketsource.cc" />
-+ <ClCompile Include="..\gio\giomm\srvtarget.cc" />
-+ <ClCompile Include="..\gio\giomm\tcpconnection.cc" />
-+ <ClCompile Include="..\gio\giomm\tcpwrapperconnection.cc" />
-+ <ClCompile Include="..\gio\giomm\themedicon.cc" />
-+ <ClCompile Include="..\gio\giomm\threadedsocketservice.cc" />
-+ <ClCompile Include="..\gio\giomm\tlscertificate.cc" />
-+ <ClCompile Include="..\gio\giomm\tlsclientconnection.cc" />
-+ <ClCompile Include="..\gio\giomm\tlsconnection.cc" />
-+ <ClCompile Include="..\gio\giomm\tlsdatabase.cc" />
-+ <ClCompile Include="..\gio\giomm\tlsinteraction.cc" />
-+ <ClCompile Include="..\gio\giomm\tlspassword.cc" />
-+ <ClCompile Include="..\gio\giomm\tlsserverconnection.cc" />
-+ <ClCompile Include="..\gio\giomm\volume.cc" />
-+ <ClCompile Include="..\gio\giomm\volumemonitor.cc" />
-+ <ClCompile Include="..\gio\giomm\wrap_init.cc" />
-+ <ClCompile Include="..\gio\giomm\zlibcompressor.cc" />
-+ <ClCompile Include="..\gio\giomm\zlibdecompressor.cc" />
-+ </ItemGroup>
-+ <ItemGroup>
-+ <ClInclude Include="..\gio\giomm\action.h" />
-+ <ClInclude Include="..\gio\giomm\actiongroup.h" />
-+ <ClInclude Include="..\gio\giomm\actionmap.h" />
-+ <ClInclude Include="..\gio\giomm\appinfo.h" />
-+ <ClInclude Include="..\gio\giomm\applaunchcontext.h" />
-+ <ClInclude Include="..\gio\giomm\application.h" />
-+ <ClInclude Include="..\gio\giomm\applicationcommandline.h" />
-+ <ClInclude Include="..\gio\giomm\asyncinitable.h" />
-+ <ClInclude Include="..\gio\giomm\asyncresult.h" />
-+ <ClInclude Include="..\gio\giomm\bufferedinputstream.h" />
-+ <ClInclude Include="..\gio\giomm\bufferedoutputstream.h" />
-+ <ClInclude Include="..\gio\giomm\cancellable.h" />
-+ <ClInclude Include="..\gio\giomm\charsetconverter.h" />
-+ <ClInclude Include="..\gio\giomm\contenttype.h" />
-+ <ClInclude Include="..\gio\giomm\converter.h" />
-+ <ClInclude Include="..\gio\giomm\converterinputstream.h" />
-+ <ClInclude Include="..\gio\giomm\converteroutputstream.h" />
-+ <ClInclude Include="..\gio\giomm\credentials.h" />
-+ <ClInclude Include="..\gio\giomm\datainputstream.h" />
-+ <ClInclude Include="..\gio\giomm\dataoutputstream.h" />
-+ <ClInclude Include="..\gio\giomm\dbusactiongroup.h" />
-+ <ClInclude Include="..\gio\giomm\dbusaddress.h" />
-+ <ClInclude Include="..\gio\giomm\dbusauthobserver.h" />
-+ <ClInclude Include="..\gio\giomm\dbusconnection.h" />
-+ <ClInclude Include="..\gio\giomm\dbuserror.h" />
-+ <ClInclude Include="..\gio\giomm\dbuserrorutils.h" />
-+ <ClInclude Include="..\gio\giomm\dbusinterface.h" />
-+ <ClInclude Include="..\gio\giomm\dbusinterfaceskeleton.h" />
-+ <ClInclude Include="..\gio\giomm\dbusinterfacevtable.h" />
-+ <ClInclude Include="..\gio\giomm\dbusintrospection.h" />
-+ <ClInclude Include="..\gio\giomm\dbusmenumodel.h" />
-+ <ClInclude Include="..\gio\giomm\dbusmessage.h" />
-+ <ClInclude Include="..\gio\giomm\dbusmethodinvocation.h" />
-+ <ClInclude Include="..\gio\giomm\dbusobject.h" />
-+ <ClInclude Include="..\gio\giomm\dbusownname.h" />
-+ <ClInclude Include="..\gio\giomm\dbusproxy.h" />
-+ <ClInclude Include="..\gio\giomm\dbusserver.h" />
-+ <ClInclude Include="..\gio\giomm\dbussubtreevtable.h" />
-+ <ClInclude Include="..\gio\giomm\dbusutils.h" />
-+ <ClInclude Include="..\gio\giomm\dbuswatchname.h" />
-+ <ClInclude Include="..\gio\giomm\drive.h" />
-+ <ClInclude Include="..\gio\giomm\emblem.h" />
-+ <ClInclude Include="..\gio\giomm\emblemedicon.h" />
-+ <ClInclude Include="..\gio\giomm\enums.h" />
-+ <ClInclude Include="..\gio\giomm\error.h" />
-+ <ClInclude Include="..\gio\giomm\file.h" />
-+ <ClInclude Include="..\gio\giomm\fileattributeinfo.h" />
-+ <ClInclude Include="..\gio\giomm\fileattributeinfolist.h" />
-+ <ClInclude Include="..\gio\giomm\fileenumerator.h" />
-+ <ClInclude Include="..\gio\giomm\fileicon.h" />
-+ <ClInclude Include="..\gio\giomm\fileinfo.h" />
-+ <ClInclude Include="..\gio\giomm\fileinputstream.h" />
-+ <ClInclude Include="..\gio\giomm\fileiostream.h" />
-+ <ClInclude Include="..\gio\giomm\filemonitor.h" />
-+ <ClInclude Include="..\gio\giomm\filenamecompleter.h" />
-+ <ClInclude Include="..\gio\giomm\fileoutputstream.h" />
-+ <ClInclude Include="..\gio\giomm\filterinputstream.h" />
-+ <ClInclude Include="..\gio\giomm\filteroutputstream.h" />
-+ <ClInclude Include="..\gio\giomm\icon.h" />
-+ <ClInclude Include="..\gio\giomm\inetaddress.h" />
-+ <ClInclude Include="..\gio\giomm\inetsocketaddress.h" />
-+ <ClInclude Include="..\gio\giomm\init.h" />
-+ <ClInclude Include="..\gio\giomm\initable.h" />
-+ <ClInclude Include="..\gio\giomm\inputstream.h" />
-+ <ClInclude Include="..\gio\giomm\iostream.h" />
-+ <ClInclude Include="..\gio\giomm\listmodel.h" />
-+ <ClInclude Include="..\gio\giomm\liststore.h" />
-+ <ClInclude Include="..\gio\giomm\loadableicon.h" />
-+ <ClInclude Include="..\gio\giomm\memoryinputstream.h" />
-+ <ClInclude Include="..\gio\giomm\memoryoutputstream.h" />
-+ <ClInclude Include="..\gio\giomm\menu.h" />
-+ <ClInclude Include="..\gio\giomm\menuattributeiter.h" />
-+ <ClInclude Include="..\gio\giomm\menuitem.h" />
-+ <ClInclude Include="..\gio\giomm\menulinkiter.h" />
-+ <ClInclude Include="..\gio\giomm\menumodel.h" />
-+ <ClInclude Include="..\gio\giomm\mount.h" />
-+ <ClInclude Include="..\gio\giomm\mountoperation.h" />
-+ <ClInclude Include="..\gio\giomm\networkaddress.h" />
-+ <ClInclude Include="..\gio\giomm\networkmonitor.h" />
-+ <ClInclude Include="..\gio\giomm\networkservice.h" />
-+ <ClInclude Include="..\gio\giomm\notification.h" />
-+ <ClInclude Include="..\gio\giomm\outputstream.h" />
-+ <ClInclude Include="..\gio\giomm\permission.h" />
-+ <ClInclude Include="..\gio\giomm\pollableinputstream.h" />
-+ <ClInclude Include="..\gio\giomm\pollableoutputstream.h" />
-+ <ClInclude Include="..\gio\giomm\proxy.h" />
-+ <ClInclude Include="..\gio\giomm\proxyaddress.h" />
-+ <ClInclude Include="..\gio\giomm\proxyresolver.h" />
-+ <ClInclude Include="..\gio\giomm\remoteactiongroup.h" />
-+ <ClInclude Include="..\gio\giomm\resolver.h" />
-+ <ClInclude Include="..\gio\giomm\resource.h" />
-+ <ClInclude Include="..\gio\giomm\seekable.h" />
-+ <ClInclude Include="..\gio\giomm\settings.h" />
-+ <ClInclude Include="..\gio\giomm\settingsschema.h" />
-+ <ClInclude Include="..\gio\giomm\settingsschemakey.h" />
-+ <ClInclude Include="..\gio\giomm\settingsschemasource.h" />
-+ <ClInclude Include="..\gio\giomm\simpleaction.h" />
-+ <ClInclude Include="..\gio\giomm\simpleactiongroup.h" />
-+ <ClInclude Include="..\gio\giomm\simpleiostream.h" />
-+ <ClInclude Include="..\gio\giomm\simplepermission.h" />
-+ <ClInclude Include="..\gio\giomm\slot_async.h" />
-+ <ClInclude Include="..\gio\giomm\socket.h" />
-+ <ClInclude Include="..\gio\giomm\socketaddress.h" />
-+ <ClInclude Include="..\gio\giomm\socketaddressenumerator.h" />
-+ <ClInclude Include="..\gio\giomm\socketclient.h" />
-+ <ClInclude Include="..\gio\giomm\socketconnectable.h" />
-+ <ClInclude Include="..\gio\giomm\socketconnection.h" />
-+ <ClInclude Include="..\gio\giomm\socketcontrolmessage.h" />
-+ <ClInclude Include="..\gio\giomm\socketlistener.h" />
-+ <ClInclude Include="..\gio\giomm\socketservice.h" />
-+ <ClInclude Include="..\gio\giomm\socketsource.h" />
-+ <ClInclude Include="..\gio\giomm\srvtarget.h" />
-+ <ClInclude Include="..\gio\giomm\tcpconnection.h" />
-+ <ClInclude Include="..\gio\giomm\tcpwrapperconnection.h" />
-+ <ClInclude Include="..\gio\giomm\themedicon.h" />
-+ <ClInclude Include="..\gio\giomm\threadedsocketservice.h" />
-+ <ClInclude Include="..\gio\giomm\tlscertificate.h" />
-+ <ClInclude Include="..\gio\giomm\tlsclientconnection.h" />
-+ <ClInclude Include="..\gio\giomm\tlsconnection.h" />
-+ <ClInclude Include="..\gio\giomm\tlsdatabase.h" />
-+ <ClInclude Include="..\gio\giomm\tlsinteraction.h" />
-+ <ClInclude Include="..\gio\giomm\tlspassword.h" />
-+ <ClInclude Include="..\gio\giomm\tlsserverconnection.h" />
-+ <ClInclude Include="..\gio\giomm\volume.h" />
-+ <ClInclude Include="..\gio\giomm\volumemonitor.h" />
-+ <ClInclude Include="..\gio\giomm\wrap_init.h" />
-+ <ClInclude Include="..\gio\giomm\zlibcompressor.h" />
-+ <ClInclude Include="..\gio\giomm\zlibdecompressor.h" />
-+ </ItemGroup>
-+ <ItemGroup>
-+ <ResourceCompile Include=".\giomm\giomm.rc" />
-+ </ItemGroup>
-+ <ItemGroup>
-+ <ProjectReference Include="glibmm.vcxproj">
-+ <Project>{58b2b53c-c4ff-47fd-817b-095e45b7f7d4}</Project>
-+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-+ </ProjectReference>
-+ </ItemGroup>
-+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-+ <ImportGroup Label="ExtensionTargets">
-+ </ImportGroup>
-+</Project>
-\ No newline at end of file
-diff --git a/MSVC_Net2013/giomm_simple.vcxproj b/MSVC_Net2013/giomm_simple.vcxproj
-index 1eb6124..2db412e 100644
---- a/MSVC_Net2013/giomm_simple.vcxproj
-+++ b/MSVC_Net2013/giomm_simple.vcxproj
-@@ -23,26 +23,27 @@
- <ProjectGuid>{F4F66980-51D4-4CC2-A529-9AD2C9F7D143}</ProjectGuid>
- <RootNamespace>tests_giomm_simple</RootNamespace>
- <Keyword>Win32Proj</Keyword>
-+ <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-@@ -189,4 +190,4 @@
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
--</Project>
-+</Project>
-\ No newline at end of file
-diff --git a/MSVC_Net2013/glibmm.vcxproj b/MSVC_Net2013/glibmm.vcxproj
-index cf86400..e3df6a8 100644
---- a/MSVC_Net2013/glibmm.vcxproj
-+++ b/MSVC_Net2013/glibmm.vcxproj
-@@ -1,362 +1,363 @@
--???<?xml version="1.0" encoding="utf-8"?>
--<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-- <ItemGroup Label="ProjectConfigurations">
-- <ProjectConfiguration Include="Debug|Win32">
-- <Configuration>Debug</Configuration>
-- <Platform>Win32</Platform>
-- </ProjectConfiguration>
-- <ProjectConfiguration Include="Debug|x64">
-- <Configuration>Debug</Configuration>
-- <Platform>x64</Platform>
-- </ProjectConfiguration>
-- <ProjectConfiguration Include="Release|Win32">
-- <Configuration>Release</Configuration>
-- <Platform>Win32</Platform>
-- </ProjectConfiguration>
-- <ProjectConfiguration Include="Release|x64">
-- <Configuration>Release</Configuration>
-- <Platform>x64</Platform>
-- </ProjectConfiguration>
-- </ItemGroup>
-- <PropertyGroup Label="Globals">
-- <ProjectName>glibmm</ProjectName>
-- <ProjectGuid>{58B2B53C-C4FF-47FD-817B-095E45B7F7D4}</ProjectGuid>
-- <RootNamespace>glibmm</RootNamespace>
-- <Keyword>Win32Proj</Keyword>
-- </PropertyGroup>
-- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-- <ConfigurationType>DynamicLibrary</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-- <PlatformToolset>v120</PlatformToolset>
-- </PropertyGroup>
-- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-- <ConfigurationType>DynamicLibrary</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-- <PlatformToolset>v120</PlatformToolset>
-- </PropertyGroup>
-- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-- <ConfigurationType>DynamicLibrary</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-- <PlatformToolset>v120</PlatformToolset>
-- </PropertyGroup>
-- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-- <ConfigurationType>DynamicLibrary</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-- <PlatformToolset>v120</PlatformToolset>
-- </PropertyGroup>
-- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-- <ImportGroup Label="ExtensionSettings">
-- </ImportGroup>
-- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-- <Import Project=".\glibmm-build-defines.props" />
-- </ImportGroup>
-- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-- <Import Project=".\glibmm-build-defines.props" />
-- </ImportGroup>
-- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-- <Import Project=".\glibmm-build-defines.props" />
-- </ImportGroup>
-- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-- <Import Project=".\glibmm-build-defines.props" />
-- </ImportGroup>
-- <PropertyGroup Label="UserMacros" />
-- <PropertyGroup>
-- <PreLinkEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</PreLinkEventUseInBuild>
-- <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</GenerateManifest>
-- <PreLinkEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</PreLinkEventUseInBuild>
-- <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</GenerateManifest>
-- <PreLinkEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</PreLinkEventUseInBuild>
-- <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</GenerateManifest>
-- <PreLinkEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</PreLinkEventUseInBuild>
-- <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</GenerateManifest>
-- </PropertyGroup>
-- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-- <ClCompile>
-- <AdditionalOptions>%(AdditionalOptions)</AdditionalOptions>
-- <Optimization>Disabled</Optimization>
-- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-- <PreprocessorDefinitions>_DEBUG;$(GLibMMBuildDefs);%(PreprocessorDefinitions)</PreprocessorDefinitions>
-- <MinimalRebuild>true</MinimalRebuild>
-- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-- <RuntimeTypeInfo>true</RuntimeTypeInfo>
-- <WarningLevel>Level3</WarningLevel>
-- <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-- </ClCompile>
-- <PreLinkEvent>
-- <Message>Generate glibmm def file</Message>
-- <Command>$(OutDir)\gendef.exe $(DefDir)\$(ProjectName).def $(ProjectName)$(DebugDllSuffix).dll $(IntDir)*.obj</Command>
-- </PreLinkEvent>
-- <Link>
-+???<?xml version="1.0" encoding="utf-8"?>
-+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-+ <ItemGroup Label="ProjectConfigurations">
-+ <ProjectConfiguration Include="Debug|Win32">
-+ <Configuration>Debug</Configuration>
-+ <Platform>Win32</Platform>
-+ </ProjectConfiguration>
-+ <ProjectConfiguration Include="Debug|x64">
-+ <Configuration>Debug</Configuration>
-+ <Platform>x64</Platform>
-+ </ProjectConfiguration>
-+ <ProjectConfiguration Include="Release|Win32">
-+ <Configuration>Release</Configuration>
-+ <Platform>Win32</Platform>
-+ </ProjectConfiguration>
-+ <ProjectConfiguration Include="Release|x64">
-+ <Configuration>Release</Configuration>
-+ <Platform>x64</Platform>
-+ </ProjectConfiguration>
-+ </ItemGroup>
-+ <PropertyGroup Label="Globals">
-+ <ProjectName>glibmm</ProjectName>
-+ <ProjectGuid>{58B2B53C-C4FF-47FD-817B-095E45B7F7D4}</ProjectGuid>
-+ <RootNamespace>glibmm</RootNamespace>
-+ <Keyword>Win32Proj</Keyword>
-+ <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
-+ </PropertyGroup>
-+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-+ <ConfigurationType>DynamicLibrary</ConfigurationType>
-+ <CharacterSet>Unicode</CharacterSet>
-+ <PlatformToolset>v120</PlatformToolset>
-+ </PropertyGroup>
-+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-+ <ConfigurationType>DynamicLibrary</ConfigurationType>
-+ <CharacterSet>Unicode</CharacterSet>
-+ <PlatformToolset>v120</PlatformToolset>
-+ </PropertyGroup>
-+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-+ <ConfigurationType>DynamicLibrary</ConfigurationType>
-+ <CharacterSet>Unicode</CharacterSet>
-+ <PlatformToolset>v120</PlatformToolset>
-+ </PropertyGroup>
-+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-+ <ConfigurationType>DynamicLibrary</ConfigurationType>
-+ <CharacterSet>Unicode</CharacterSet>
-+ <PlatformToolset>v120</PlatformToolset>
-+ </PropertyGroup>
-+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-+ <ImportGroup Label="ExtensionSettings">
-+ </ImportGroup>
-+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-+ <Import Project=".\glibmm-build-defines.props" />
-+ </ImportGroup>
-+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-+ <Import Project=".\glibmm-build-defines.props" />
-+ </ImportGroup>
-+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-+ <Import Project=".\glibmm-build-defines.props" />
-+ </ImportGroup>
-+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-+ <Import Project=".\glibmm-build-defines.props" />
-+ </ImportGroup>
-+ <PropertyGroup Label="UserMacros" />
-+ <PropertyGroup>
-+ <PreLinkEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</PreLinkEventUseInBuild>
-+ <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</GenerateManifest>
-+ <PreLinkEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</PreLinkEventUseInBuild>
-+ <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</GenerateManifest>
-+ <PreLinkEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</PreLinkEventUseInBuild>
-+ <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</GenerateManifest>
-+ <PreLinkEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</PreLinkEventUseInBuild>
-+ <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</GenerateManifest>
-+ </PropertyGroup>
-+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-+ <ClCompile>
-+ <AdditionalOptions>%(AdditionalOptions)</AdditionalOptions>
-+ <Optimization>Disabled</Optimization>
-+ <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-+ <PreprocessorDefinitions>_DEBUG;$(GLibMMBuildDefs);%(PreprocessorDefinitions)</PreprocessorDefinitions>
-+ <MinimalRebuild>true</MinimalRebuild>
-+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-+ <RuntimeTypeInfo>true</RuntimeTypeInfo>
-+ <WarningLevel>Level3</WarningLevel>
-+ <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-+ </ClCompile>
-+ <PreLinkEvent>
-+ <Message>Generate glibmm def file</Message>
-+ <Command>$(OutDir)\gendef.exe $(DefDir)\$(ProjectName).def $(ProjectName)$(DebugDllSuffix).dll $(IntDir)*.obj</Command>
-+ </PreLinkEvent>
-+ <Link>
- <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
-- <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
-- <OutputFile>$(OutDir)\$(ProjectName)$(DebugDllSuffix).dll</OutputFile>
-- <ImportLibrary>$(TargetDir)$(ProjectName)$(DebugDllSuffix).lib</ImportLibrary>
-- <ModuleDefinitionFile>$(IntDir)\$(ProjectName).def</ModuleDefinitionFile>
-- <GenerateDebugInformation>true</GenerateDebugInformation>
-- <RandomizedBaseAddress>false</RandomizedBaseAddress>
-- <DataExecutionPrevention>
-- </DataExecutionPrevention>
-- </Link>
-- </ItemDefinitionGroup>
-- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-- <Midl>
-- <TargetEnvironment>X64</TargetEnvironment>
-- </Midl>
-- <ClCompile>
-- <AdditionalOptions>%(AdditionalOptions)</AdditionalOptions>
-- <Optimization>Disabled</Optimization>
-- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-- <PreprocessorDefinitions>_DEBUG;$(GLibMMBuildDefs);%(PreprocessorDefinitions)</PreprocessorDefinitions>
-- <MinimalRebuild>true</MinimalRebuild>
-- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-- <RuntimeTypeInfo>true</RuntimeTypeInfo>
-- <WarningLevel>Level3</WarningLevel>
-- <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-- </ClCompile>
-- <PreLinkEvent>
-- <Message>Generate glibmm def file</Message>
-- <Command>$(OutDir)\gendef.exe $(DefDir)\$(ProjectName).def $(ProjectName)$(DebugDllSuffix).dll $(IntDir)*.obj</Command>
-- </PreLinkEvent>
-- <Link>
-+ <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
-+ <OutputFile>$(OutDir)\$(ProjectName)$(DebugDllSuffix).dll</OutputFile>
-+ <ImportLibrary>$(TargetDir)$(ProjectName)$(DebugDllSuffix).lib</ImportLibrary>
-+ <ModuleDefinitionFile>$(IntDir)\$(ProjectName).def</ModuleDefinitionFile>
-+ <GenerateDebugInformation>true</GenerateDebugInformation>
-+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
-+ <DataExecutionPrevention>
-+ </DataExecutionPrevention>
-+ </Link>
-+ </ItemDefinitionGroup>
-+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-+ <Midl>
-+ <TargetEnvironment>X64</TargetEnvironment>
-+ </Midl>
-+ <ClCompile>
-+ <AdditionalOptions>%(AdditionalOptions)</AdditionalOptions>
-+ <Optimization>Disabled</Optimization>
-+ <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-+ <PreprocessorDefinitions>_DEBUG;$(GLibMMBuildDefs);%(PreprocessorDefinitions)</PreprocessorDefinitions>
-+ <MinimalRebuild>true</MinimalRebuild>
-+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-+ <RuntimeTypeInfo>true</RuntimeTypeInfo>
-+ <WarningLevel>Level3</WarningLevel>
-+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-+ </ClCompile>
-+ <PreLinkEvent>
-+ <Message>Generate glibmm def file</Message>
-+ <Command>$(OutDir)\gendef.exe $(DefDir)\$(ProjectName).def $(ProjectName)$(DebugDllSuffix).dll $(IntDir)*.obj</Command>
-+ </PreLinkEvent>
-+ <Link>
- <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
-- <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
-- <OutputFile>$(OutDir)\$(ProjectName)$(DebugDllSuffix).dll</OutputFile>
-- <ImportLibrary>$(TargetDir)$(ProjectName)$(DebugDllSuffix).lib</ImportLibrary>
-- <ModuleDefinitionFile>$(IntDir)\$(ProjectName).def</ModuleDefinitionFile>
-- <GenerateDebugInformation>true</GenerateDebugInformation>
-- <RandomizedBaseAddress>false</RandomizedBaseAddress>
-- <DataExecutionPrevention>
-- </DataExecutionPrevention>
-- <TargetMachine>MachineX64</TargetMachine>
-- </Link>
-- </ItemDefinitionGroup>
-- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-- <ClCompile>
-- <AdditionalOptions>%(AdditionalOptions)</AdditionalOptions>
-- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-- <PreprocessorDefinitions>$(GLibMMBuildDefs);%(PreprocessorDefinitions)</PreprocessorDefinitions>
-- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-- <RuntimeTypeInfo>true</RuntimeTypeInfo>
-- <WarningLevel>Level3</WarningLevel>
-- <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-- </ClCompile>
-- <PreLinkEvent>
-- <Message>Generate glibmm def file</Message>
-- <Command>$(OutDir)\gendef.exe $(DefDir)\$(ProjectName).def $(ProjectName)$(ReleaseDllSuffix).dll $(IntDir)*.obj</Command>
-- </PreLinkEvent>
-- <Link>
-+ <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
-+ <OutputFile>$(OutDir)\$(ProjectName)$(DebugDllSuffix).dll</OutputFile>
-+ <ImportLibrary>$(TargetDir)$(ProjectName)$(DebugDllSuffix).lib</ImportLibrary>
-+ <ModuleDefinitionFile>$(IntDir)\$(ProjectName).def</ModuleDefinitionFile>
-+ <GenerateDebugInformation>true</GenerateDebugInformation>
-+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
-+ <DataExecutionPrevention>
-+ </DataExecutionPrevention>
-+ <TargetMachine>MachineX64</TargetMachine>
-+ </Link>
-+ </ItemDefinitionGroup>
-+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-+ <ClCompile>
-+ <AdditionalOptions>%(AdditionalOptions)</AdditionalOptions>
-+ <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-+ <PreprocessorDefinitions>$(GLibMMBuildDefs);%(PreprocessorDefinitions)</PreprocessorDefinitions>
-+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-+ <RuntimeTypeInfo>true</RuntimeTypeInfo>
-+ <WarningLevel>Level3</WarningLevel>
-+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-+ </ClCompile>
-+ <PreLinkEvent>
-+ <Message>Generate glibmm def file</Message>
-+ <Command>$(OutDir)\gendef.exe $(DefDir)\$(ProjectName).def $(ProjectName)$(ReleaseDllSuffix).dll $(IntDir)*.obj</Command>
-+ </PreLinkEvent>
-+ <Link>
- <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
-- <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
-- <OutputFile>$(OutDir)\$(ProjectName)$(ReleaseDllSuffix).dll</OutputFile>
-- <ImportLibrary>$(TargetDir)$(ProjectName)$(ReleaseDllSuffix).lib</ImportLibrary>
-- <ModuleDefinitionFile>$(IntDir)\$(ProjectName).def</ModuleDefinitionFile>
-- <GenerateDebugInformation>true</GenerateDebugInformation>
-- <ProgramDatabaseFile>$(OutDir)\$(ProjectName)$(ReleaseDllSuffix).pdb</ProgramDatabaseFile>
-- <RandomizedBaseAddress>false</RandomizedBaseAddress>
-- <OptimizeReferences>true</OptimizeReferences>
-- <DataExecutionPrevention>
-- </DataExecutionPrevention>
-- </Link>
-- </ItemDefinitionGroup>
-- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-- <Midl>
-- <TargetEnvironment>X64</TargetEnvironment>
-- </Midl>
-- <ClCompile>
-- <AdditionalOptions>%(AdditionalOptions)</AdditionalOptions>
-- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-- <PreprocessorDefinitions>$(GLibMMBuildDefs);%(PreprocessorDefinitions)</PreprocessorDefinitions>
-- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-- <RuntimeTypeInfo>true</RuntimeTypeInfo>
-- <WarningLevel>Level3</WarningLevel>
-- <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-- </ClCompile>
-- <PreLinkEvent>
-- <Message>Generate glibmm def file</Message>
-- <Command>$(OutDir)\gendef.exe $(DefDir)\$(ProjectName).def $(ProjectName)$(ReleaseDllSuffix).dll $(IntDir)*.obj</Command>
-- </PreLinkEvent>
-- <Link>
-+ <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
-+ <OutputFile>$(OutDir)\$(ProjectName)$(ReleaseDllSuffix).dll</OutputFile>
-+ <ImportLibrary>$(TargetDir)$(ProjectName)$(ReleaseDllSuffix).lib</ImportLibrary>
-+ <ModuleDefinitionFile>$(IntDir)\$(ProjectName).def</ModuleDefinitionFile>
-+ <GenerateDebugInformation>true</GenerateDebugInformation>
-+ <ProgramDatabaseFile>$(OutDir)\$(ProjectName)$(ReleaseDllSuffix).pdb</ProgramDatabaseFile>
-+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
-+ <OptimizeReferences>true</OptimizeReferences>
-+ <DataExecutionPrevention>
-+ </DataExecutionPrevention>
-+ </Link>
-+ </ItemDefinitionGroup>
-+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-+ <Midl>
-+ <TargetEnvironment>X64</TargetEnvironment>
-+ </Midl>
-+ <ClCompile>
-+ <AdditionalOptions>%(AdditionalOptions)</AdditionalOptions>
-+ <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-+ <PreprocessorDefinitions>$(GLibMMBuildDefs);%(PreprocessorDefinitions)</PreprocessorDefinitions>
-+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-+ <RuntimeTypeInfo>true</RuntimeTypeInfo>
-+ <WarningLevel>Level3</WarningLevel>
-+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-+ </ClCompile>
-+ <PreLinkEvent>
-+ <Message>Generate glibmm def file</Message>
-+ <Command>$(OutDir)\gendef.exe $(DefDir)\$(ProjectName).def $(ProjectName)$(ReleaseDllSuffix).dll $(IntDir)*.obj</Command>
-+ </PreLinkEvent>
-+ <Link>
- <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
-- <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
-- <OutputFile>$(OutDir)\$(ProjectName)$(ReleaseDllSuffix).dll</OutputFile>
-- <ImportLibrary>$(TargetDir)$(ProjectName)$(ReleaseDllSuffix).lib</ImportLibrary>
-- <ModuleDefinitionFile>$(IntDir)\$(ProjectName).def</ModuleDefinitionFile>
-- <GenerateDebugInformation>true</GenerateDebugInformation>
-- <ProgramDatabaseFile>$(OutDir)\$(ProjectName)$(ReleaseDllSuffix).pdb</ProgramDatabaseFile>
-- <RandomizedBaseAddress>false</RandomizedBaseAddress>
-- <OptimizeReferences>true</OptimizeReferences>
-- <DataExecutionPrevention>
-- </DataExecutionPrevention>
-- <TargetMachine>MachineX64</TargetMachine>
-- </Link>
-- </ItemDefinitionGroup>
-- <ItemGroup>
-- <ClCompile Include="..\glib\glibmm\arrayhandle.cc" />
-- <ClCompile Include="..\glib\glibmm\balancedtree.cc" />
-- <ClCompile Include="..\glib\glibmm\base64.cc" />
-- <ClCompile Include="..\glib\glibmm\binding.cc" />
-- <ClCompile Include="..\glib\glibmm\bytes.cc" />
-- <ClCompile Include="..\glib\glibmm\bytearray.cc" />
-- <ClCompile Include="..\glib\glibmm\checksum.cc" />
-- <ClCompile Include="..\glib\glibmm\class.cc" />
-- <ClCompile Include="..\glib\glibmm\containers.cc" />
-- <ClCompile Include="..\glib\glibmm\convert.cc" />
-- <ClCompile Include="..\glib\glibmm\date.cc" />
-- <ClCompile Include="..\glib\glibmm\datetime.cc" />
-- <ClCompile Include="..\glib\glibmm\debug.cc" />
-- <ClCompile Include="..\glib\glibmm\dispatcher.cc" />
-- <ClCompile Include="..\glib\glibmm\enums.cc" />
-- <ClCompile Include="..\glib\glibmm\error.cc" />
-- <ClCompile Include="..\glib\glibmm\exception.cc" />
-- <ClCompile Include="..\glib\glibmm\exceptionhandler.cc" />
-- <ClCompile Include="..\glib\glibmm\fileutils.cc" />
-- <ClCompile Include="..\glib\glibmm\init.cc" />
-- <ClCompile Include="..\glib\glibmm\interface.cc" />
-- <ClCompile Include="..\glib\glibmm\iochannel.cc" />
-- <ClCompile Include="..\glib\glibmm\keyfile.cc" />
-- <ClCompile Include="..\glib\glibmm\main.cc" />
-- <ClCompile Include="..\glib\glibmm\markup.cc" />
-- <ClCompile Include="..\glib\glibmm\miscutils.cc" />
-- <ClCompile Include="..\glib\glibmm\module.cc" />
-- <ClCompile Include="..\glib\glibmm\nodetree.cc" />
-- <ClCompile Include="..\glib\glibmm\object.cc" />
-- <ClCompile Include="..\glib\glibmm\objectbase.cc" />
-- <ClCompile Include="..\glib\glibmm\optioncontext.cc" />
-- <ClCompile Include="..\glib\glibmm\optionentry.cc" />
-- <ClCompile Include="..\glib\glibmm\optiongroup.cc" />
-- <ClCompile Include="..\glib\glibmm\pattern.cc" />
-- <ClCompile Include="..\glib\glibmm\property.cc" />
-- <ClCompile Include="..\glib\glibmm\propertyproxy.cc" />
-- <ClCompile Include="..\glib\glibmm\propertyproxy_base.cc" />
-- <ClCompile Include="..\glib\glibmm\quark.cc" />
-- <ClCompile Include="..\glib\glibmm\random.cc" />
-- <ClCompile Include="..\glib\glibmm\regex.cc" />
-- <ClCompile Include="..\glib\glibmm\sarray.cc" />
-- <ClCompile Include="..\glib\glibmm\shell.cc" />
-- <ClCompile Include="..\glib\glibmm\signalproxy.cc" />
-- <ClCompile Include="..\glib\glibmm\signalproxy_connectionnode.cc" />
-- <ClCompile Include="..\glib\glibmm\spawn.cc" />
-- <ClCompile Include="..\glib\glibmm\streamiochannel.cc" />
-- <ClCompile Include="..\glib\glibmm\stringutils.cc" />
-- <ClCompile Include="..\glib\glibmm\thread.cc" />
-- <ClCompile Include="..\glib\glibmm\threadpool.cc" />
-- <ClCompile Include="..\glib\glibmm\threads.cc" />
-- <ClCompile Include="..\glib\glibmm\timer.cc" />
-- <ClCompile Include="..\glib\glibmm\timeval.cc" />
-- <ClCompile Include="..\glib\glibmm\timezone.cc" />
-- <ClCompile Include="..\glib\glibmm\unicode.cc" />
-- <ClCompile Include="..\glib\glibmm\uriutils.cc" />
-- <ClCompile Include="..\glib\glibmm\ustring.cc" />
-- <ClCompile Include="..\glib\glibmm\utility.cc" />
-- <ClCompile Include="..\glib\glibmm\value.cc" />
-- <ClCompile Include="..\glib\glibmm\value_basictypes.cc" />
-- <ClCompile Include="..\glib\glibmm\value_custom.cc" />
-- <ClCompile Include="..\glib\glibmm\valuearray.cc" />
-- <ClCompile Include="..\glib\glibmm\variant.cc" />
-- <ClCompile Include="..\glib\glibmm\variantdict.cc" />
-- <ClCompile Include="..\glib\glibmm\variantiter.cc" />
-- <ClCompile Include="..\glib\glibmm\varianttype.cc" />
-- <ClCompile Include="..\glib\glibmm\variant_basictypes.cc" />
-- <ClCompile Include="..\glib\glibmm\vectorutils.cc" />
-- <ClCompile Include="..\glib\glibmm\wrap.cc" />
-- <ClCompile Include="..\glib\glibmm\wrap_init.cc" />
-- </ItemGroup>
-- <ItemGroup>
-- <ClInclude Include="..\glib\glibmm\arrayhandle.h" />
-- <ClInclude Include="..\glib\glibmm\balancedtree.h" />
-- <ClInclude Include="..\glib\glibmm\base64.h" />
-- <ClInclude Include="..\glib\glibmm\binding.h" />
-- <ClInclude Include="..\glib\glibmm\bytes.h" />
-- <ClInclude Include="..\glib\glibmm\bytearray.h" />
-- <ClInclude Include="..\glib\glibmm\checksum.h" />
-- <ClInclude Include="..\glib\glibmm\class.h" />
-- <ClInclude Include="..\glib\glibmm\containerhandle_shared.h" />
-- <ClInclude Include="..\glib\glibmm\containers.h" />
-- <ClInclude Include="..\glib\glibmm\convert.h" />
-- <ClInclude Include="..\glib\glibmm\date.h" />
-- <ClInclude Include="..\glib\glibmm\datetime.h" />
-- <ClInclude Include="..\glib\glibmm\debug.h" />
-- <ClInclude Include="..\glib\glibmm\dispatcher.h" />
-- <ClInclude Include="..\glib\glibmm\enums.h" />
-- <ClInclude Include="..\glib\glibmm\error.h" />
-- <ClInclude Include="..\glib\glibmm\exception.h" />
-- <ClInclude Include="..\glib\glibmm\exceptionhandler.h" />
-- <ClInclude Include="..\glib\glibmm\fileutils.h" />
-- <ClInclude Include="..\glib\glibmm\helperlist.h" />
-- <ClInclude Include="..\glib\glibmm\i18n-lib.h" />
-- <ClInclude Include="..\glib\glibmm\i18n.h" />
-- <ClInclude Include="..\glib\glibmm\init.h" />
-- <ClInclude Include="..\glib\glibmm\interface.h" />
-- <ClInclude Include="..\glib\glibmm\iochannel.h" />
-- <ClInclude Include="..\glib\glibmm\keyfile.h" />
-- <ClInclude Include="..\glib\glibmm\listhandle.h" />
-- <ClInclude Include="..\glib\glibmm\main.h" />
-- <ClInclude Include="..\glib\glibmm\markup.h" />
-- <ClInclude Include="..\glib\glibmm\miscutils.h" />
-- <ClInclude Include="..\glib\glibmm\module.h" />
-- <ClInclude Include="..\glib\glibmm\nodetree.h" />
-- <ClInclude Include="..\glib\glibmm\object.h" />
-- <ClInclude Include="..\glib\glibmm\objectbase.h" />
-- <ClInclude Include="..\glib\glibmm\optioncontext.h" />
-- <ClInclude Include="..\glib\glibmm\optionentry.h" />
-- <ClInclude Include="..\glib\glibmm\optiongroup.h" />
-- <ClInclude Include="..\glib\glibmm\pattern.h" />
-- <ClInclude Include="..\glib\glibmm\property.h" />
-- <ClInclude Include="..\glib\glibmm\propertyproxy.h" />
-- <ClInclude Include="..\glib\glibmm\propertyproxy_base.h" />
-- <ClInclude Include="..\glib\glibmm\quark.h" />
-- <ClInclude Include="..\glib\glibmm\random.h" />
-- <ClInclude Include="..\glib\glibmm\refptr.h" />
-- <ClInclude Include="..\glib\glibmm\regex.h" />
-- <ClInclude Include="..\glib\glibmm\sarray.h" />
-- <ClInclude Include="..\glib\glibmm\shell.h" />
-- <ClInclude Include="..\glib\glibmm\signalproxy.h" />
-- <ClInclude Include="..\glib\glibmm\signalproxy_connectionnode.h" />
-- <ClInclude Include="..\glib\glibmm\slisthandle.h" />
-- <ClInclude Include="..\glib\glibmm\spawn.h" />
-- <ClInclude Include="..\glib\glibmm\streamiochannel.h" />
-- <ClInclude Include="..\glib\glibmm\stringutils.h" />
-- <ClInclude Include="..\glib\glibmm\thread.h" />
-- <ClInclude Include="..\glib\glibmm\threadpool.h" />
-- <ClInclude Include="..\glib\glibmm\threads.h" />
-- <ClInclude Include="..\glib\glibmm\timer.h" />
-- <ClInclude Include="..\glib\glibmm\timeval.h" />
-- <ClInclude Include="..\glib\glibmm\timezone.h" />
-- <ClInclude Include="..\glib\glibmm\unicode.h" />
-- <ClInclude Include="..\glib\glibmm\uriutils.h" />
-- <ClInclude Include="..\glib\glibmm\ustring.h" />
-- <ClInclude Include="..\glib\glibmm\utility.h" />
-- <ClInclude Include="..\glib\glibmm\value.h" />
-- <ClInclude Include="..\glib\glibmm\value_basictypes.h" />
-- <ClInclude Include="..\glib\glibmm\value_custom.h" />
-- <ClInclude Include="..\glib\glibmm\valuearray.h" />
-- <ClInclude Include="..\glib\glibmm\variant.h" />
-- <ClInclude Include="..\glib\glibmm\variantdict.h" />
-- <ClInclude Include="..\glib\glibmm\variantiter.h" />
-- <ClInclude Include="..\glib\glibmm\varianttype.h" />
-- <ClInclude Include="..\glib\glibmm\variant_basictypes.h" />
-- <ClInclude Include="..\glib\glibmm\vectorutils.h" />
-- <ClInclude Include="..\glib\glibmm\weakref.h" />
-- <ClInclude Include="..\glib\glibmm\wrap.h" />
-- <ClInclude Include="..\glib\glibmm\wrap_init.h" />
-- </ItemGroup>
-- <ItemGroup>
-- <ResourceCompile Include=".\glibmm\glibmm.rc" />
-- </ItemGroup>
-- <ItemGroup>
-- <ProjectReference Include="gendef.vcxproj">
-- <Project>{07324745-c9be-4d65-b08a-9c88188c0c28}</Project>
-- <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-- </ProjectReference>
-- </ItemGroup>
-- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-- <ImportGroup Label="ExtensionTargets">
-- </ImportGroup>
--</Project>
-\ No newline at end of file
-+ <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
-+ <OutputFile>$(OutDir)\$(ProjectName)$(ReleaseDllSuffix).dll</OutputFile>
-+ <ImportLibrary>$(TargetDir)$(ProjectName)$(ReleaseDllSuffix).lib</ImportLibrary>
-+ <ModuleDefinitionFile>$(IntDir)\$(ProjectName).def</ModuleDefinitionFile>
-+ <GenerateDebugInformation>true</GenerateDebugInformation>
-+ <ProgramDatabaseFile>$(OutDir)\$(ProjectName)$(ReleaseDllSuffix).pdb</ProgramDatabaseFile>
-+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
-+ <OptimizeReferences>true</OptimizeReferences>
-+ <DataExecutionPrevention>
-+ </DataExecutionPrevention>
-+ <TargetMachine>MachineX64</TargetMachine>
-+ </Link>
-+ </ItemDefinitionGroup>
-+ <ItemGroup>
-+ <ClCompile Include="..\glib\glibmm\arrayhandle.cc" />
-+ <ClCompile Include="..\glib\glibmm\balancedtree.cc" />
-+ <ClCompile Include="..\glib\glibmm\base64.cc" />
-+ <ClCompile Include="..\glib\glibmm\binding.cc" />
-+ <ClCompile Include="..\glib\glibmm\bytes.cc" />
-+ <ClCompile Include="..\glib\glibmm\bytearray.cc" />
-+ <ClCompile Include="..\glib\glibmm\checksum.cc" />
-+ <ClCompile Include="..\glib\glibmm\class.cc" />
-+ <ClCompile Include="..\glib\glibmm\containers.cc" />
-+ <ClCompile Include="..\glib\glibmm\convert.cc" />
-+ <ClCompile Include="..\glib\glibmm\date.cc" />
-+ <ClCompile Include="..\glib\glibmm\datetime.cc" />
-+ <ClCompile Include="..\glib\glibmm\debug.cc" />
-+ <ClCompile Include="..\glib\glibmm\dispatcher.cc" />
-+ <ClCompile Include="..\glib\glibmm\enums.cc" />
-+ <ClCompile Include="..\glib\glibmm\error.cc" />
-+ <ClCompile Include="..\glib\glibmm\exception.cc" />
-+ <ClCompile Include="..\glib\glibmm\exceptionhandler.cc" />
-+ <ClCompile Include="..\glib\glibmm\fileutils.cc" />
-+ <ClCompile Include="..\glib\glibmm\init.cc" />
-+ <ClCompile Include="..\glib\glibmm\interface.cc" />
-+ <ClCompile Include="..\glib\glibmm\iochannel.cc" />
-+ <ClCompile Include="..\glib\glibmm\keyfile.cc" />
-+ <ClCompile Include="..\glib\glibmm\main.cc" />
-+ <ClCompile Include="..\glib\glibmm\markup.cc" />
-+ <ClCompile Include="..\glib\glibmm\miscutils.cc" />
-+ <ClCompile Include="..\glib\glibmm\module.cc" />
-+ <ClCompile Include="..\glib\glibmm\nodetree.cc" />
-+ <ClCompile Include="..\glib\glibmm\object.cc" />
-+ <ClCompile Include="..\glib\glibmm\objectbase.cc" />
-+ <ClCompile Include="..\glib\glibmm\optioncontext.cc" />
-+ <ClCompile Include="..\glib\glibmm\optionentry.cc" />
-+ <ClCompile Include="..\glib\glibmm\optiongroup.cc" />
-+ <ClCompile Include="..\glib\glibmm\pattern.cc" />
-+ <ClCompile Include="..\glib\glibmm\property.cc" />
-+ <ClCompile Include="..\glib\glibmm\propertyproxy.cc" />
-+ <ClCompile Include="..\glib\glibmm\propertyproxy_base.cc" />
-+ <ClCompile Include="..\glib\glibmm\quark.cc" />
-+ <ClCompile Include="..\glib\glibmm\random.cc" />
-+ <ClCompile Include="..\glib\glibmm\regex.cc" />
-+ <ClCompile Include="..\glib\glibmm\sarray.cc" />
-+ <ClCompile Include="..\glib\glibmm\shell.cc" />
-+ <ClCompile Include="..\glib\glibmm\signalproxy.cc" />
-+ <ClCompile Include="..\glib\glibmm\signalproxy_connectionnode.cc" />
-+ <ClCompile Include="..\glib\glibmm\spawn.cc" />
-+ <ClCompile Include="..\glib\glibmm\streamiochannel.cc" />
-+ <ClCompile Include="..\glib\glibmm\stringutils.cc" />
-+ <ClCompile Include="..\glib\glibmm\thread.cc" />
-+ <ClCompile Include="..\glib\glibmm\threadpool.cc" />
-+ <ClCompile Include="..\glib\glibmm\threads.cc" />
-+ <ClCompile Include="..\glib\glibmm\timer.cc" />
-+ <ClCompile Include="..\glib\glibmm\timeval.cc" />
-+ <ClCompile Include="..\glib\glibmm\timezone.cc" />
-+ <ClCompile Include="..\glib\glibmm\unicode.cc" />
-+ <ClCompile Include="..\glib\glibmm\uriutils.cc" />
-+ <ClCompile Include="..\glib\glibmm\ustring.cc" />
-+ <ClCompile Include="..\glib\glibmm\utility.cc" />
-+ <ClCompile Include="..\glib\glibmm\value.cc" />
-+ <ClCompile Include="..\glib\glibmm\value_basictypes.cc" />
-+ <ClCompile Include="..\glib\glibmm\value_custom.cc" />
-+ <ClCompile Include="..\glib\glibmm\valuearray.cc" />
-+ <ClCompile Include="..\glib\glibmm\variant.cc" />
-+ <ClCompile Include="..\glib\glibmm\variantdict.cc" />
-+ <ClCompile Include="..\glib\glibmm\variantiter.cc" />
-+ <ClCompile Include="..\glib\glibmm\varianttype.cc" />
-+ <ClCompile Include="..\glib\glibmm\variant_basictypes.cc" />
-+ <ClCompile Include="..\glib\glibmm\vectorutils.cc" />
-+ <ClCompile Include="..\glib\glibmm\wrap.cc" />
-+ <ClCompile Include="..\glib\glibmm\wrap_init.cc" />
-+ </ItemGroup>
-+ <ItemGroup>
-+ <ClInclude Include="..\glib\glibmm\arrayhandle.h" />
-+ <ClInclude Include="..\glib\glibmm\balancedtree.h" />
-+ <ClInclude Include="..\glib\glibmm\base64.h" />
-+ <ClInclude Include="..\glib\glibmm\binding.h" />
-+ <ClInclude Include="..\glib\glibmm\bytes.h" />
-+ <ClInclude Include="..\glib\glibmm\bytearray.h" />
-+ <ClInclude Include="..\glib\glibmm\checksum.h" />
-+ <ClInclude Include="..\glib\glibmm\class.h" />
-+ <ClInclude Include="..\glib\glibmm\containerhandle_shared.h" />
-+ <ClInclude Include="..\glib\glibmm\containers.h" />
-+ <ClInclude Include="..\glib\glibmm\convert.h" />
-+ <ClInclude Include="..\glib\glibmm\date.h" />
-+ <ClInclude Include="..\glib\glibmm\datetime.h" />
-+ <ClInclude Include="..\glib\glibmm\debug.h" />
-+ <ClInclude Include="..\glib\glibmm\dispatcher.h" />
-+ <ClInclude Include="..\glib\glibmm\enums.h" />
-+ <ClInclude Include="..\glib\glibmm\error.h" />
-+ <ClInclude Include="..\glib\glibmm\exception.h" />
-+ <ClInclude Include="..\glib\glibmm\exceptionhandler.h" />
-+ <ClInclude Include="..\glib\glibmm\fileutils.h" />
-+ <ClInclude Include="..\glib\glibmm\helperlist.h" />
-+ <ClInclude Include="..\glib\glibmm\i18n-lib.h" />
-+ <ClInclude Include="..\glib\glibmm\i18n.h" />
-+ <ClInclude Include="..\glib\glibmm\init.h" />
-+ <ClInclude Include="..\glib\glibmm\interface.h" />
-+ <ClInclude Include="..\glib\glibmm\iochannel.h" />
-+ <ClInclude Include="..\glib\glibmm\keyfile.h" />
-+ <ClInclude Include="..\glib\glibmm\listhandle.h" />
-+ <ClInclude Include="..\glib\glibmm\main.h" />
-+ <ClInclude Include="..\glib\glibmm\markup.h" />
-+ <ClInclude Include="..\glib\glibmm\miscutils.h" />
-+ <ClInclude Include="..\glib\glibmm\module.h" />
-+ <ClInclude Include="..\glib\glibmm\nodetree.h" />
-+ <ClInclude Include="..\glib\glibmm\object.h" />
-+ <ClInclude Include="..\glib\glibmm\objectbase.h" />
-+ <ClInclude Include="..\glib\glibmm\optioncontext.h" />
-+ <ClInclude Include="..\glib\glibmm\optionentry.h" />
-+ <ClInclude Include="..\glib\glibmm\optiongroup.h" />
-+ <ClInclude Include="..\glib\glibmm\pattern.h" />
-+ <ClInclude Include="..\glib\glibmm\property.h" />
-+ <ClInclude Include="..\glib\glibmm\propertyproxy.h" />
-+ <ClInclude Include="..\glib\glibmm\propertyproxy_base.h" />
-+ <ClInclude Include="..\glib\glibmm\quark.h" />
-+ <ClInclude Include="..\glib\glibmm\random.h" />
-+ <ClInclude Include="..\glib\glibmm\refptr.h" />
-+ <ClInclude Include="..\glib\glibmm\regex.h" />
-+ <ClInclude Include="..\glib\glibmm\sarray.h" />
-+ <ClInclude Include="..\glib\glibmm\shell.h" />
-+ <ClInclude Include="..\glib\glibmm\signalproxy.h" />
-+ <ClInclude Include="..\glib\glibmm\signalproxy_connectionnode.h" />
-+ <ClInclude Include="..\glib\glibmm\slisthandle.h" />
-+ <ClInclude Include="..\glib\glibmm\spawn.h" />
-+ <ClInclude Include="..\glib\glibmm\streamiochannel.h" />
-+ <ClInclude Include="..\glib\glibmm\stringutils.h" />
-+ <ClInclude Include="..\glib\glibmm\thread.h" />
-+ <ClInclude Include="..\glib\glibmm\threadpool.h" />
-+ <ClInclude Include="..\glib\glibmm\threads.h" />
-+ <ClInclude Include="..\glib\glibmm\timer.h" />
-+ <ClInclude Include="..\glib\glibmm\timeval.h" />
-+ <ClInclude Include="..\glib\glibmm\timezone.h" />
-+ <ClInclude Include="..\glib\glibmm\unicode.h" />
-+ <ClInclude Include="..\glib\glibmm\uriutils.h" />
-+ <ClInclude Include="..\glib\glibmm\ustring.h" />
-+ <ClInclude Include="..\glib\glibmm\utility.h" />
-+ <ClInclude Include="..\glib\glibmm\value.h" />
-+ <ClInclude Include="..\glib\glibmm\value_basictypes.h" />
-+ <ClInclude Include="..\glib\glibmm\value_custom.h" />
-+ <ClInclude Include="..\glib\glibmm\valuearray.h" />
-+ <ClInclude Include="..\glib\glibmm\variant.h" />
-+ <ClInclude Include="..\glib\glibmm\variantdict.h" />
-+ <ClInclude Include="..\glib\glibmm\variantiter.h" />
-+ <ClInclude Include="..\glib\glibmm\varianttype.h" />
-+ <ClInclude Include="..\glib\glibmm\variant_basictypes.h" />
-+ <ClInclude Include="..\glib\glibmm\vectorutils.h" />
-+ <ClInclude Include="..\glib\glibmm\weakref.h" />
-+ <ClInclude Include="..\glib\glibmm\wrap.h" />
-+ <ClInclude Include="..\glib\glibmm\wrap_init.h" />
-+ </ItemGroup>
-+ <ItemGroup>
-+ <ResourceCompile Include=".\glibmm\glibmm.rc" />
-+ </ItemGroup>
-+ <ItemGroup>
-+ <ProjectReference Include="gendef.vcxproj">
-+ <Project>{07324745-c9be-4d65-b08a-9c88188c0c28}</Project>
-+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-+ </ProjectReference>
-+ </ItemGroup>
-+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-+ <ImportGroup Label="ExtensionTargets">
-+ </ImportGroup>
-+</Project>
-\ No newline at end of file
-diff --git a/MSVC_Net2013/glibmm_value.vcxproj b/MSVC_Net2013/glibmm_value.vcxproj
-index 9639003..7e12415 100644
---- a/MSVC_Net2013/glibmm_value.vcxproj
-+++ b/MSVC_Net2013/glibmm_value.vcxproj
-@@ -23,26 +23,27 @@
- <ProjectGuid>{22277003-3228-486E-A6A8-994B8B13AF30}</ProjectGuid>
- <RootNamespace>tests_glibmm_value</RootNamespace>
- <Keyword>Win32Proj</Keyword>
-+ <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-@@ -186,4 +187,4 @@
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
--</Project>
-+</Project>
-\ No newline at end of file
-diff --git a/MSVC_Net2013/install.vcxproj b/MSVC_Net2013/install.vcxproj
-index 059ceec..b6f2843 100644
---- a/MSVC_Net2013/install.vcxproj
-+++ b/MSVC_Net2013/install.vcxproj
-@@ -22,28 +22,29 @@
- <ProjectGuid>{2093D218-190E-4194-9421-3BA7CBF33B10}</ProjectGuid>
- <RootNamespace>install</RootNamespace>
- <Keyword>Win32Proj</Keyword>
-+ <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Utility</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <WholeProgramOptimization>true</WholeProgramOptimization>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Utility</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Utility</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <WholeProgramOptimization>true</WholeProgramOptimization>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Utility</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-@@ -113,4 +114,4 @@
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
--</Project>
-+</Project>
-\ No newline at end of file
-diff --git a/MSVC_Net2013/keyfile.vcxproj b/MSVC_Net2013/keyfile.vcxproj
-index 0993e6a..ee23bae 100644
---- a/MSVC_Net2013/keyfile.vcxproj
-+++ b/MSVC_Net2013/keyfile.vcxproj
-@@ -23,26 +23,27 @@
- <ProjectGuid>{569A24AB-8D81-4427-B40D-85485AA7F3CD}</ProjectGuid>
- <RootNamespace>dispatcher</RootNamespace>
- <Keyword>Win32Proj</Keyword>
-+ <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-@@ -189,4 +190,4 @@
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
--</Project>
-+</Project>
-\ No newline at end of file
-diff --git a/MSVC_Net2013/markup.vcxproj b/MSVC_Net2013/markup.vcxproj
-index 03b3295..db2dfab 100644
---- a/MSVC_Net2013/markup.vcxproj
-+++ b/MSVC_Net2013/markup.vcxproj
-@@ -22,26 +22,27 @@
- <ProjectName>markup</ProjectName>
- <ProjectGuid>{6300FCFA-97F1-4967-802E-E354D95DB0EB}</ProjectGuid>
- <Keyword>Win32Proj</Keyword>
-+ <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-@@ -188,4 +189,4 @@
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
--</Project>
-+</Project>
-\ No newline at end of file
-diff --git a/MSVC_Net2013/options.vcxproj b/MSVC_Net2013/options.vcxproj
-index f627c4e..dda25b9 100644
---- a/MSVC_Net2013/options.vcxproj
-+++ b/MSVC_Net2013/options.vcxproj
-@@ -23,26 +23,27 @@
- <ProjectGuid>{46962B9A-C5E9-4863-9408-97514D63F420}</ProjectGuid>
- <RootNamespace>dispatcher</RootNamespace>
- <Keyword>Win32Proj</Keyword>
-+ <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-@@ -189,4 +190,4 @@
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
--</Project>
-+</Project>
-\ No newline at end of file
-diff --git a/MSVC_Net2013/properties.vcxproj b/MSVC_Net2013/properties.vcxproj
-index 6858140..d8a95c2 100644
---- a/MSVC_Net2013/properties.vcxproj
-+++ b/MSVC_Net2013/properties.vcxproj
-@@ -23,26 +23,27 @@
- <ProjectGuid>{206CC821-8BE3-4455-B09E-63F93E30F20C}</ProjectGuid>
- <RootNamespace>dispatcher</RootNamespace>
- <Keyword>Win32Proj</Keyword>
-+ <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-@@ -189,4 +190,4 @@
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
--</Project>
-+</Project>
-\ No newline at end of file
-diff --git a/MSVC_Net2013/regex.vcxproj b/MSVC_Net2013/regex.vcxproj
-index 84418df..c4c0cf0 100644
---- a/MSVC_Net2013/regex.vcxproj
-+++ b/MSVC_Net2013/regex.vcxproj
-@@ -23,26 +23,27 @@
- <ProjectGuid>{7374A5A1-4E74-44BD-918C-FDF80B97FA3F}</ProjectGuid>
- <RootNamespace>dispatcher</RootNamespace>
- <Keyword>Win32Proj</Keyword>
-+ <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-@@ -189,4 +190,4 @@
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
--</Project>
-+</Project>
-\ No newline at end of file
-diff --git a/MSVC_Net2013/resolver.vcxproj b/MSVC_Net2013/resolver.vcxproj
-index 113d86a..9fa59a4 100644
---- a/MSVC_Net2013/resolver.vcxproj
-+++ b/MSVC_Net2013/resolver.vcxproj
-@@ -23,26 +23,27 @@
- <ProjectGuid>{E4D320F1-7D2D-43AF-874F-14524220EF92}</ProjectGuid>
- <RootNamespace>resolver</RootNamespace>
- <Keyword>Win32Proj</Keyword>
-+ <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-@@ -193,4 +194,4 @@
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
--</Project>
-+</Project>
-\ No newline at end of file
-diff --git a/MSVC_Net2013/socket-client.vcxproj b/MSVC_Net2013/socket-client.vcxproj
-index 3743708..bfb8330 100644
---- a/MSVC_Net2013/socket-client.vcxproj
-+++ b/MSVC_Net2013/socket-client.vcxproj
-@@ -23,26 +23,27 @@
- <ProjectGuid>{1E38D900-90AC-4E18-B34C-7B08E3383087}</ProjectGuid>
- <RootNamespace>socket-client</RootNamespace>
- <Keyword>Win32Proj</Keyword>
-+ <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-@@ -193,4 +194,4 @@
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
--</Project>
-+</Project>
-\ No newline at end of file
-diff --git a/MSVC_Net2013/socket-client.vcxproj.filters b/MSVC_Net2013/socket-client.vcxproj.filters
-index edb14c1..8d41b33 100644
---- a/MSVC_Net2013/socket-client.vcxproj.filters
-+++ b/MSVC_Net2013/socket-client.vcxproj.filters
-@@ -15,6 +15,6 @@
- </Filter>
- </ItemGroup>
- <ItemGroup>
-- <ClCompile Include="..\examples\network\socket-client.cc"><Filter>Source Files</Filter></ClCompile>
-+ <ClCompile Include="..\examples\network\resolver.cc" />
- </ItemGroup>
--</Project>
-+</Project>
-\ No newline at end of file
-diff --git a/MSVC_Net2013/socket-server.vcxproj b/MSVC_Net2013/socket-server.vcxproj
-index 4116263..e6744af 100644
---- a/MSVC_Net2013/socket-server.vcxproj
-+++ b/MSVC_Net2013/socket-server.vcxproj
-@@ -23,26 +23,27 @@
- <ProjectGuid>{7A4EB8C4-4784-4E9E-96E6-CA6FF4CE1D20}</ProjectGuid>
- <RootNamespace>socket-server</RootNamespace>
- <Keyword>Win32Proj</Keyword>
-+ <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-@@ -193,4 +194,4 @@
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
--</Project>
-+</Project>
-\ No newline at end of file
-diff --git a/MSVC_Net2013/socket-server.vcxproj.filters b/MSVC_Net2013/socket-server.vcxproj.filters
-index 66a88d3..8d41b33 100644
---- a/MSVC_Net2013/socket-server.vcxproj.filters
-+++ b/MSVC_Net2013/socket-server.vcxproj.filters
-@@ -15,6 +15,6 @@
- </Filter>
- </ItemGroup>
- <ItemGroup>
-- <ClCompile Include="..\examples\network\socket-server.cc"><Filter>Source Files</Filter></ClCompile>
-+ <ClCompile Include="..\examples\network\resolver.cc" />
- </ItemGroup>
--</Project>
-+</Project>
-\ No newline at end of file
-diff --git a/MSVC_Net2013/thread.vcxproj b/MSVC_Net2013/thread.vcxproj
-index 9950bbb..d1824e8 100644
---- a/MSVC_Net2013/thread.vcxproj
-+++ b/MSVC_Net2013/thread.vcxproj
-@@ -22,26 +22,27 @@
- <ProjectName>thread</ProjectName>
- <ProjectGuid>{5357AB2B-A5F9-463C-92D8-00357CCC3ECE}</ProjectGuid>
- <Keyword>Win32Proj</Keyword>
-+ <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-@@ -184,4 +185,4 @@
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
--</Project>
-+</Project>
-\ No newline at end of file
-diff --git a/MSVC_Net2013/threadpool.vcxproj b/MSVC_Net2013/threadpool.vcxproj
-index 9ab9748..d0a0d15 100644
---- a/MSVC_Net2013/threadpool.vcxproj
-+++ b/MSVC_Net2013/threadpool.vcxproj
-@@ -22,26 +22,27 @@
- <ProjectName>threadpool</ProjectName>
- <ProjectGuid>{962484DB-2111-48A4-BEF0-194433719D0D}</ProjectGuid>
- <Keyword>Win32Proj</Keyword>
-+ <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
-- <CharacterSet>MultiByte</CharacterSet>
-+ <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-@@ -192,4 +193,4 @@
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
--</Project>
-+</Project>
-\ No newline at end of file
diff --git a/ports/glibmm/fix_properties.patch b/ports/glibmm/fix_properties.patch
deleted file mode 100644
index 51044a27f..000000000
--- a/ports/glibmm/fix_properties.patch
+++ /dev/null
@@ -1,1721 +0,0 @@
-diff --git a/MSVC_Net2013/gendef.vcxproj b/MSVC_Net2013/gendef.vcxproj
-index 62dbcc8..7da2fbd 100644
---- a/MSVC_Net2013/gendef.vcxproj
-+++ b/MSVC_Net2013/gendef.vcxproj
-@@ -91,6 +91,7 @@
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
-+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-@@ -109,6 +110,7 @@
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
-+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-@@ -132,6 +134,7 @@
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
-+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-@@ -153,6 +156,7 @@
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
-+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
-@@ -161,4 +165,4 @@
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
--</Project>
-+</Project>
-\ No newline at end of file
-diff --git a/MSVC_Net2013/giomm.vcxproj b/MSVC_Net2013/giomm.vcxproj
-index bc4fc3d..078fcb2 100644
---- a/MSVC_Net2013/giomm.vcxproj
-+++ b/MSVC_Net2013/giomm.vcxproj
-@@ -69,7 +69,7 @@
- <ClCompile>
- <AdditionalOptions>%(AdditionalOptions)</AdditionalOptions>
- <Optimization>Disabled</Optimization>
-- <AdditionalIncludeDirectories>.\giomm;..\gio;$(GlibEtcInstallRoot)\include\gio-win32-2.0;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-+ <AdditionalIncludeDirectories>.\giomm;..\gio;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_DEBUG;$(GioMMBuildDefs);%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-@@ -82,7 +82,7 @@
- <Command>$(OutDir)\gendef.exe $(DefDir)\$(ProjectName).def $(ProjectName)$(DebugDllSuffix).dll $(IntDir)*.obj</Command>
- </PreLinkEvent>
- <Link>
-- <AdditionalDependencies>gio-2.0.lib;$(CPPDepLibsDebug);%(AdditionalDependencies)</AdditionalDependencies>
-+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
- <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- <OutputFile>$(OutDir)\$(ProjectName)$(DebugDllSuffix).dll</OutputFile>
- <ImportLibrary>$(TargetDir)$(ProjectName)$(DebugDllSuffix).lib</ImportLibrary>
-@@ -100,7 +100,7 @@
- <ClCompile>
- <AdditionalOptions>%(AdditionalOptions)</AdditionalOptions>
- <Optimization>Disabled</Optimization>
-- <AdditionalIncludeDirectories>.;../..;../../glib;../../gio;$(SolutionDir)\glibmm;..\..\..\vs10\x64\include\gio-win32-2.0;..\..\..\vs10\x64\include\glib-2.0;..\..\..\vs10\x64\lib\glib-2.0\include;..\..\..\vs10\x64\include\sigc++-2.0;..\..\..\vs10\x64\lib\sigc++-2.0\include;..\..\..\vs10\x64\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-+ <AdditionalIncludeDirectories>.\giomm;..\gio;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_DEBUG;$(GioMMBuildDefs);%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-@@ -113,7 +113,7 @@
- <Command>$(OutDir)\gendef.exe $(DefDir)\$(ProjectName).def $(ProjectName)$(DebugDllSuffix).dll $(IntDir)*.obj</Command>
- </PreLinkEvent>
- <Link>
-- <AdditionalDependencies>gio-2.0.lib;$(CPPDepLibsDebug);%(AdditionalDependencies)</AdditionalDependencies>
-+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
- <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- <OutputFile>$(OutDir)\$(ProjectName)$(DebugDllSuffix).dll</OutputFile>
- <ImportLibrary>$(TargetDir)$(ProjectName)$(DebugDllSuffix).lib</ImportLibrary>
-@@ -128,7 +128,7 @@
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <AdditionalOptions>%(AdditionalOptions)</AdditionalOptions>
-- <AdditionalIncludeDirectories>.\giomm;..\gio;$(GlibEtcInstallRoot)\include\gio-win32-2.0;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-+ <AdditionalIncludeDirectories>.\giomm;..\gio;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>$(GioMMBuildDefs);%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <WarningLevel>Level3</WarningLevel>
-@@ -139,7 +139,7 @@
- <Command>$(OutDir)\gendef.exe $(DefDir)\$(ProjectName).def $(ProjectName)$(ReleaseDllSuffix).dll $(IntDir)*.obj</Command>
- </PreLinkEvent>
- <Link>
-- <AdditionalDependencies>gio-2.0.lib;$(CPPDepLibsRelease);%(AdditionalDependencies)</AdditionalDependencies>
-+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
- <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- <OutputFile>$(OutDir)\$(ProjectName)$(ReleaseDllSuffix).dll</OutputFile>
- <ImportLibrary>$(TargetDir)$(ProjectName)$(ReleaseDllSuffix).lib</ImportLibrary>
-@@ -158,7 +158,7 @@
- </Midl>
- <ClCompile>
- <AdditionalOptions>%(AdditionalOptions)</AdditionalOptions>
-- <AdditionalIncludeDirectories>.\giomm;..\gio;$(GlibEtcInstallRoot)\include\gio-win32-2.0;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-+ <AdditionalIncludeDirectories>.\giomm;..\gio;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>$(GioMMBuildDefs);%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <WarningLevel>Level3</WarningLevel>
-@@ -169,7 +169,7 @@
- <Command>$(OutDir)\gendef.exe $(DefDir)\$(ProjectName).def $(ProjectName)$(ReleaseDllSuffix).dll $(IntDir)*.obj</Command>
- </PreLinkEvent>
- <Link>
-- <AdditionalDependencies>gio-2.0.lib;$(CPPDepLibsRelease);%(AdditionalDependencies)</AdditionalDependencies>
-+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
- <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- <OutputFile>$(OutDir)\$(ProjectName)$(ReleaseDllSuffix).dll</OutputFile>
- <ImportLibrary>$(TargetDir)$(ProjectName)$(ReleaseDllSuffix).lib</ImportLibrary>
-@@ -455,4 +455,4 @@
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
--</Project>
-+</Project>
-\ No newline at end of file
-diff --git a/MSVC_Net2013/giomm.vcxproj.filters b/MSVC_Net2013/giomm.vcxproj.filters
-index 4f01b13..934eddc 100644
---- a/MSVC_Net2013/giomm.vcxproj.filters
-+++ b/MSVC_Net2013/giomm.vcxproj.filters
-@@ -15,266 +15,780 @@
- </Filter>
- </ItemGroup>
- <ItemGroup>
-- <ClCompile Include="..\gio\giomm\action.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\actiongroup.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\actionmap.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\appinfo.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\applaunchcontext.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\application.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\applicationcommandline.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\asyncinitable.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\asyncresult.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\bufferedinputstream.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\bufferedoutputstream.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\cancellable.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\charsetconverter.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\contenttype.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\converter.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\converterinputstream.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\converteroutputstream.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\credentials.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\datainputstream.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\dataoutputstream.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\dbusactiongroup.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\dbusaddress.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\dbusauthobserver.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\dbusconnection.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\dbuserror.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\dbuserrorutils.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\dbusinterface.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\dbusinterfaceskeleton.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\dbusinterfacevtable.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\dbusintrospection.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\dbusmenumodel.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\dbusmessage.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\dbusmethodinvocation.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\dbusobject.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\dbusownname.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\dbusproxy.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\dbusserver.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\dbussubtreevtable.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\dbusutils.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\dbuswatchname.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\drive.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\emblem.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\emblemedicon.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\enums.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\error.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\file.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\fileattributeinfo.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\fileattributeinfolist.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\fileenumerator.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\fileicon.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\fileinfo.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\fileinputstream.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\fileiostream.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\filemonitor.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\filenamecompleter.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\fileoutputstream.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\filterinputstream.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\filteroutputstream.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\icon.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\inetaddress.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\inetsocketaddress.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\init.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\initable.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\inputstream.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\iostream.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\listmodel.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\liststore.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\loadableicon.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\memoryinputstream.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\memoryoutputstream.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\menu.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\menuattributeiter.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\menuitem.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\menulinkiter.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\menumodel.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\mount.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\mountoperation.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\networkaddress.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\networkmonitor.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\networkservice.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\notification.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\outputstream.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\permission.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\pollableinputstream.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\pollableoutputstream.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\proxy.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\proxyaddress.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\proxyresolver.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\remoteactiongroup.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\resolver.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\resource.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\seekable.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\settings.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\settingsschema.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\settingsschemakey.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\settingsschemasource.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\simpleaction.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\simpleactiongroup.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\simpleiostream.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\simplepermission.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\slot_async.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\socket.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\socketaddress.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\socketaddressenumerator.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\socketclient.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\socketconnectable.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\socketconnection.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\socketcontrolmessage.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\socketlistener.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\socketservice.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\socketsource.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\srvtarget.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\tcpconnection.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\tcpwrapperconnection.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\themedicon.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\tlscertificate.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\tlsclientconnection.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\tlsconnection.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\tlsdatabase.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\tlsinteraction.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\tlspassword.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\tlsserverconnection.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\volume.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\volumemonitor.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\wrap_init.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\zlibcompressor.cc"><Filter>Source Files</Filter></ClCompile>
-- <ClCompile Include="..\gio\giomm\zlibdecompressor.cc"><Filter>Source Files</Filter></ClCompile>
-+ <ClCompile Include="..\gio\giomm\action.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\actiongroup.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\actionmap.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\appinfo.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\applaunchcontext.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\application.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\applicationcommandline.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\asyncinitable.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\asyncresult.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\bufferedinputstream.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\bufferedoutputstream.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\cancellable.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\charsetconverter.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\contenttype.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\converter.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\converterinputstream.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\converteroutputstream.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\credentials.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\datainputstream.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\dataoutputstream.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\dbusactiongroup.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\dbusaddress.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\dbusauthobserver.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\dbusconnection.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\dbuserror.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\dbuserrorutils.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\dbusinterface.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\dbusinterfaceskeleton.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\dbusinterfacevtable.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\dbusintrospection.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\dbusmenumodel.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\dbusmessage.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\dbusmethodinvocation.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\dbusobject.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\dbusownname.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\dbusproxy.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\dbusserver.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\dbussubtreevtable.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\dbusutils.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\dbuswatchname.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\drive.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\emblem.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\emblemedicon.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\enums.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\error.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\file.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\fileattributeinfo.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\fileattributeinfolist.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\fileenumerator.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\fileicon.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\fileinfo.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\fileinputstream.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\fileiostream.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\filemonitor.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\filenamecompleter.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\fileoutputstream.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\filterinputstream.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\filteroutputstream.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\icon.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\inetaddress.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\inetsocketaddress.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\init.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\initable.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\inputstream.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\iostream.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\listmodel.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\liststore.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\loadableicon.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\memoryinputstream.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\memoryoutputstream.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\menu.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\menuattributeiter.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\menuitem.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\menulinkiter.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\menumodel.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\mount.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\mountoperation.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\networkaddress.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\networkmonitor.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\networkservice.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\notification.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\outputstream.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\permission.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\pollableinputstream.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\pollableoutputstream.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\proxy.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\proxyaddress.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\proxyresolver.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\remoteactiongroup.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\resolver.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\resource.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\seekable.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\settings.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\settingsschema.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\settingsschemakey.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\settingsschemasource.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\simpleaction.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\simpleactiongroup.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\simpleiostream.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\simplepermission.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\slot_async.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\socket.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\socketaddress.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\socketaddressenumerator.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\socketclient.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\socketconnectable.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\socketconnection.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\socketcontrolmessage.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\socketlistener.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\socketservice.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\socketsource.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\srvtarget.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\tcpconnection.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\tcpwrapperconnection.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\themedicon.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\tlscertificate.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\tlsclientconnection.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\tlsconnection.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\tlsdatabase.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\tlsinteraction.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\tlspassword.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\tlsserverconnection.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\volume.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\volumemonitor.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\wrap_init.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\zlibcompressor.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\zlibdecompressor.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
-+ <ClCompile Include="..\gio\giomm\threadedsocketservice.cc">
-+ <Filter>Source Files</Filter>
-+ </ClCompile>
- </ItemGroup>
- <ItemGroup>
-- <ClInclude Include="..\gio\giomm\action.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\actiongroup.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\actionmap.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\appinfo.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\applaunchcontext.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\application.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\applicationcommandline.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\asyncinitable.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\asyncresult.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\bufferedinputstream.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\bufferedoutputstream.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\cancellable.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\charsetconverter.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\contenttype.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\converter.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\converterinputstream.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\converteroutputstream.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\credentials.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\datainputstream.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\dataoutputstream.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\dbusactiongroup.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\dbusaddress.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\dbusauthobserver.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\dbusconnection.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\dbuserror.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\dbuserrorutils.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\dbusinterface.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\dbusinterfaceskeleton.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\dbusinterfacevtable.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\dbusintrospection.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\dbusmenumodel.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\dbusmessage.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\dbusmethodinvocation.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\dbusobject.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\dbusownname.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\dbusproxy.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\dbusserver.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\dbussubtreevtable.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\dbusutils.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\dbuswatchname.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\drive.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\emblem.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\emblemedicon.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\enums.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\error.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\file.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\fileattributeinfo.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\fileattributeinfolist.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\fileenumerator.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\fileicon.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\fileinfo.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\fileinputstream.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\fileiostream.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\filemonitor.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\filenamecompleter.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\fileoutputstream.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\filterinputstream.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\filteroutputstream.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\icon.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\inetaddress.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\inetsocketaddress.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\init.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\initable.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\inputstream.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\iostream.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\listmodel.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\liststore.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\loadableicon.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\memoryinputstream.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\memoryoutputstream.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\menu.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\menuattributeiter.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\menuitem.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\menulinkiter.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\menumodel.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\mount.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\mountoperation.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\networkaddress.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\networkmonitor.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\networkservice.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\notification.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\outputstream.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\permission.h"><Filter>Source Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\pollableinputstream.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\pollableoutputstream.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\proxy.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\proxyaddress.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\proxyresolver.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\remoteactiongroup.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\resolver.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\resource.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\seekable.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\settings.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\settingsschema.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\settingsschemakey.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\settingsschemasource.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\simpleaction.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\simpleactiongroup.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\simpleiostream.h"><Filter>Source Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\simplepermission.h"><Filter>Source Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\slot_async.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\socket.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\socketaddress.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\socketaddressenumerator.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\socketclient.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\socketconnectable.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\socketconnection.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\socketcontrolmessage.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\socketlistener.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\socketservice.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\socketsource.h"><Filter>Source Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\srvtarget.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\tcpconnection.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\tcpwrapperconnection.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\themedicon.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\threadedsocketservice.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\tlscertificate.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\tlsclientconnection.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\tlsconnection.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\tlsdatabase.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\tlsinteraction.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\tlspassword.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\tlsserverconnection.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\volume.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\volumemonitor.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\wrap_init.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\zlibcompressor.h"><Filter>Header Files</Filter></ClInclude>
-- <ClInclude Include="..\gio\giomm\zlibdecompressor.h"><Filter>Header Files</Filter></ClInclude>
-+ <ClInclude Include="..\gio\giomm\action.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\actiongroup.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\actionmap.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\appinfo.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\applaunchcontext.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\application.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\applicationcommandline.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\asyncinitable.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\asyncresult.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\bufferedinputstream.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\bufferedoutputstream.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\cancellable.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\charsetconverter.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\contenttype.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\converter.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\converterinputstream.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\converteroutputstream.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\credentials.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\datainputstream.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\dataoutputstream.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\dbusactiongroup.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\dbusaddress.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\dbusauthobserver.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\dbusconnection.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\dbuserror.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\dbuserrorutils.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\dbusinterface.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\dbusinterfaceskeleton.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\dbusinterfacevtable.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\dbusintrospection.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\dbusmenumodel.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\dbusmessage.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\dbusmethodinvocation.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\dbusobject.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\dbusownname.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\dbusproxy.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\dbusserver.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\dbussubtreevtable.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\dbusutils.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\dbuswatchname.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\drive.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\emblem.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\emblemedicon.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\enums.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\error.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\file.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\fileattributeinfo.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\fileattributeinfolist.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\fileenumerator.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\fileicon.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\fileinfo.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\fileinputstream.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\fileiostream.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\filemonitor.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\filenamecompleter.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\fileoutputstream.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\filterinputstream.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\filteroutputstream.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\icon.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\inetaddress.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\inetsocketaddress.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\init.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\initable.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\inputstream.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\iostream.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\listmodel.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\liststore.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\loadableicon.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\memoryinputstream.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\memoryoutputstream.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\menu.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\menuattributeiter.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\menuitem.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\menulinkiter.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\menumodel.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\mount.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\mountoperation.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\networkaddress.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\networkmonitor.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\networkservice.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\notification.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\outputstream.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\permission.h">
-+ <Filter>Source Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\pollableinputstream.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\pollableoutputstream.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\proxy.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\proxyaddress.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\proxyresolver.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\remoteactiongroup.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\resolver.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\resource.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\seekable.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\settings.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\settingsschema.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\settingsschemakey.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\settingsschemasource.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\simpleaction.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\simpleactiongroup.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\simpleiostream.h">
-+ <Filter>Source Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\simplepermission.h">
-+ <Filter>Source Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\slot_async.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\socket.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\socketaddress.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\socketaddressenumerator.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\socketclient.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\socketconnectable.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\socketconnection.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\socketcontrolmessage.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\socketlistener.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\socketservice.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\socketsource.h">
-+ <Filter>Source Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\srvtarget.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\tcpconnection.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\tcpwrapperconnection.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\themedicon.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\threadedsocketservice.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\tlscertificate.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\tlsclientconnection.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\tlsconnection.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\tlsdatabase.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\tlsinteraction.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\tlspassword.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\tlsserverconnection.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\volume.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\volumemonitor.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\wrap_init.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\zlibcompressor.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
-+ <ClInclude Include="..\gio\giomm\zlibdecompressor.h">
-+ <Filter>Header Files</Filter>
-+ </ClInclude>
- </ItemGroup>
- <ItemGroup>
-- <ResourceCompile Include=".\giomm\giomm.rc"><Filter>Resource Files</Filter>
-+ <ResourceCompile Include=".\giomm\giomm.rc">
-+ <Filter>Resource Files</Filter>
- </ResourceCompile>
- </ItemGroup>
--</Project>
-+</Project>
-\ No newline at end of file
-diff --git a/MSVC_Net2013/glibmm-build-defines.props b/MSVC_Net2013/glibmm-build-defines.props
-index 5cbde3c..9a027c5 100644
---- a/MSVC_Net2013/glibmm-build-defines.props
-+++ b/MSVC_Net2013/glibmm-build-defines.props
-@@ -6,8 +6,8 @@
- <PropertyGroup Label="UserMacros">
- <GLibMMBuildDefs>SIZEOF_WCHAR_T=2;GLIBMM_BUILD</GLibMMBuildDefs>
- <GioMMBuildDefs>GIOMM_BUILD</GioMMBuildDefs>
-- <CPPDepLibsRelease>sigc-vc$(VSVer)0-2_0.lib</CPPDepLibsRelease>
-- <CPPDepLibsDebug>sigc-vc$(VSVer)0-d-2_0.lib</CPPDepLibsDebug>
-+ <CPPDepLibsRelease>sigc-2_0.lib</CPPDepLibsRelease>
-+ <CPPDepLibsDebug>sigc-2_0.lib</CPPDepLibsDebug>
- </PropertyGroup>
- <PropertyGroup>
- <_PropertySheetDisplayName>glibmmbuilddefinesprops</_PropertySheetDisplayName>
-@@ -16,28 +16,10 @@
- </PropertyGroup>
- <ItemDefinitionGroup>
- <ClCompile>
-- <AdditionalIncludeDirectories>.\glibmm;..;..\glib;$(GlibEtcInstallRoot)\include\sigc++-2.0;$(GlibEtcInstallRoot)\lib\sigc++-2.0\include;$(GlibEtcInstallRoot)\include\gio-win32-2.0;$(GlibEtcInstallRoot)\include\glib-2.0;$(GlibEtcInstallRoot)\lib\glib-2.0\include;$(GlibEtcInstallRoot)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-+ <AdditionalIncludeDirectories>.\glibmm;..;.;..\glib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <ForcedIncludeFiles>msvc_recommended_pragmas.h;%(ForcedIncludeFiles)</ForcedIncludeFiles>
- <MultiProcessorCompilation>true</MultiProcessorCompilation>
- <AdditionalOptions>/d2Zi+ %(AdditionalOptions)</AdditionalOptions>
- </ClCompile>
-- <Link>
-- <AdditionalDependencies>glib-2.0.lib;gobject-2.0.lib;gmodule-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
-- <AdditionalLibraryDirectories>$(GlibEtcInstallRoot)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
-- </Link>
- </ItemDefinitionGroup>
-- <ItemGroup>
-- <BuildMacro Include="GLibMMBuildDefs">
-- <Value>$(GLibMMBuildDefs)</Value>
-- </BuildMacro>
-- <BuildMacro Include="GioMMBuildDefs">
-- <Value>$(GioMMBuildDefs)</Value>
-- </BuildMacro>
-- <BuildMacro Include="CPPDepLibsRelease">
-- <Value>$(CPPDepLibsRelease)</Value>
-- </BuildMacro>
-- <BuildMacro Include="CPPDepLibsDebug">
-- <Value>$(CPPDepLibsDebug)</Value>
-- </BuildMacro>
-- </ItemGroup>
--</Project>
-+</Project>
-\ No newline at end of file
-diff --git a/MSVC_Net2013/glibmm-install.props b/MSVC_Net2013/glibmm-install.props
-index f28a0c8..9283a7b 100644
---- a/MSVC_Net2013/glibmm-install.props
-+++ b/MSVC_Net2013/glibmm-install.props
-@@ -3,410 +3,4 @@
- <ImportGroup Label="PropertySheets">
- <Import Project="glibmm-build-defines.props" />
- </ImportGroup>
-- <PropertyGroup Label="UserMacros">
-- <BinDir>$(SolutionDir)$(Configuration)\$(Platform)\bin</BinDir>
-- <InstalledReleaseDlls>$(BinDir)\glibmm$(ReleaseDllSuffix).dll;$(BinDir)\giomm$(ReleaseDllSuffix).dll</InstalledReleaseDlls>
-- <InstalledDebugDlls>$(BinDir)\glibmm$(DebugDllSuffix).dll;$(BinDir)\giomm$(DebugDllSuffix).dll</InstalledDebugDlls>
-- <GLibmmDoInstall>
--mkdir $(CopyDir)
--mkdir $(CopyDir)\bin
--copy $(BinDir)\glibmm-vc$(VSVer)0-$(ApiMajorVersion)_$(ApiMinorVersion).dll $(CopyDir)\bin
--copy $(BinDir)\glibmm-vc$(VSVer)0-$(ApiMajorVersion)_$(ApiMinorVersion).pdb $(CopyDir)\bin
--copy $(BinDir)\giomm-vc$(VSVer)0-$(ApiMajorVersion)_$(ApiMinorVersion).dll $(CopyDir)\bin
--copy $(BinDir)\giomm-vc$(VSVer)0-$(ApiMajorVersion)_$(ApiMinorVersion).pdb $(CopyDir)\bin
--
--mkdir $(CopyDir)\lib\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\include
--mkdir $(CopyDir)\lib\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\include
--copy $(BinDir)\glibmm-vc$(VSVer)0-$(ApiMajorVersion)_$(ApiMinorVersion).lib $(CopyDir)\lib
--copy $(BinDir)\giomm-vc$(VSVer)0-$(ApiMajorVersion)_$(ApiMinorVersion).lib $(CopyDir)\lib
--
--mkdir $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm\private
--mkdir $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\glib\glibmm.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)
--copy ..\gio\giomm.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)
--
--copy ..\glib\glibmm\arrayhandle.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\balancedtree.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\base64.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\binding.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\bytes.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\bytearray.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\checksum.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\class.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\containerhandle_shared.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\containers.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\convert.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\date.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\datetime.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\debug.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\enums.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\dispatcher.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\error.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\exception.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\exceptionhandler.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\fileutils.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\helperlist.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\i18n-lib.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\i18n.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\init.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\interface.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\iochannel.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\keyfile.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\listhandle.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\main.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\markup.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\miscutils.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\module.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\nodetree.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\object.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\objectbase.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\optioncontext.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\optionentry.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\optiongroup.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\pattern.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\priorities.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\property.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\propertyproxy.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\propertyproxy_base.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\quark.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\random.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\refptr.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\regex.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\sarray.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\shell.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\signalproxy.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\signalproxy_connectionnode.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\slisthandle.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\spawn.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\streamiochannel.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\stringutils.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\threadpool.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\threads.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\timer.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\timeval.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\timezone.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\unicode.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\uriutils.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\ustring.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\utility.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\variant.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\variantdict.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\variantiter.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\varianttype.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\variant_basictypes.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\thread.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\value.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\valuearray.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\value_basictypes.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\value_custom.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\vectorutils.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\weakref.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\wrap.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--copy ..\glib\glibmm\wrap_init.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm
--
--copy ..\glib\glibmm\private\balancedtree_p.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm\private
--copy ..\glib\glibmm\private\binding_p.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm\private
--copy ..\glib\glibmm\private\bytes_p.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm\private
--copy ..\glib\glibmm\private\bytearray_p.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm\private
--copy ..\glib\glibmm\private\checksum_p.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm\private
--copy ..\glib\glibmm\private\convert_p.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm\private
--copy ..\glib\glibmm\private\date_p.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm\private
--copy ..\glib\glibmm\private\datetime_p.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm\private
--copy ..\glib\glibmm\private\enums_p.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm\private
--copy ..\glib\glibmm\private\fileutils_p.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm\private
--copy ..\glib\glibmm\private\interface_p.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm\private
--copy ..\glib\glibmm\private\iochannel_p.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm\private
--copy ..\glib\glibmm\private\keyfile_p.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm\private
--copy ..\glib\glibmm\private\markup_p.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm\private
--copy ..\glib\glibmm\private\miscutils_p.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm\private
--copy ..\glib\glibmm\private\module_p.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm\private
--copy ..\glib\glibmm\private\nodetree_p.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm\private
--copy ..\glib\glibmm\private\object_p.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm\private
--copy ..\glib\glibmm\private\optioncontext_p.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm\private
--copy ..\glib\glibmm\private\optionentry_p.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm\private
--copy ..\glib\glibmm\private\optiongroup_p.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm\private
--copy ..\glib\glibmm\private\regex_p.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm\private
--copy ..\glib\glibmm\private\shell_p.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm\private
--copy ..\glib\glibmm\private\spawn_p.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm\private
--copy ..\glib\glibmm\private\threads_p.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm\private
--copy ..\glib\glibmm\private\timezone_p.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm\private
--copy ..\glib\glibmm\private\unicode_p.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm\private
--copy ..\glib\glibmm\private\uriutils_p.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm\private
--copy ..\glib\glibmm\private\variant_p.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm\private
--copy ..\glib\glibmm\private\variantdict_p.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm\private
--copy ..\glib\glibmm\private\variantiter_p.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm\private
--copy ..\glib\glibmm\private\varianttype_p.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm\private
--copy ..\glib\glibmm\private\thread_p.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm\private
--copy ..\glib\glibmm\private\valuearray_p.h $(CopyDir)\include\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\glibmm\private
--
--copy ..\gio\giomm\action.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\actiongroup.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\actionmap.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\applaunchcontext.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\appinfo.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\application.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\applicationcommandline.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\asyncinitable.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\asyncresult.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\bufferedinputstream.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\bufferedoutputstream.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\cancellable.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\charsetconverter.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\contenttype.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\converter.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\converterinputstream.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\converteroutputstream.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\credentials.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\datainputstream.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\dataoutputstream.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\dbusactiongroup.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\dbusaddress.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\dbusauthobserver.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\dbusconnection.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\dbuserror.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\dbuserrorutils.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\dbusinterface.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\dbusinterfaceskeleton.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\dbusinterfacevtable.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\dbusintrospection.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\dbusmenumodel.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\dbusmessage.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\dbusmethodinvocation.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\dbusobject.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\dbusownname.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\dbusproxy.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\dbusserver.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\dbussubtreevtable.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\dbusutils.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\dbuswatchname.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\drive.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\emblem.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\emblemedicon.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\enums.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\error.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\file.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\fileattributeinfo.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\fileattributeinfolist.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\fileenumerator.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\fileicon.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\fileinfo.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\fileinputstream.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\fileiostream.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\filemonitor.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\filenamecompleter.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\fileoutputstream.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\filterinputstream.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\filteroutputstream.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\icon.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\inetaddress.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\inetsocketaddress.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\init.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\initable.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\inputstream.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\iostream.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\listmodel.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\liststore.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\loadableicon.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\memoryinputstream.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\memoryoutputstream.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\menuattributeiter.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\menulinkiter.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\menu.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\menuitem.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\menumodel.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\mount.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\mountoperation.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\networkaddress.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\networkmonitor.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\networkservice.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\notification.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\outputstream.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\permission.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\pollableinputstream.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\pollableoutputstream.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\proxy.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\proxyaddress.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\proxyresolver.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\remoteactiongroup.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\resolver.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\resource.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\seekable.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\settings.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\settingsschema.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\settingsschemakey.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\settingsschemasource.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\simpleaction.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\simpleactiongroup.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\simpleiostream.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\simplepermission.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\socket.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\socketaddress.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\socketaddressenumerator.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\socketclient.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\socketconnectable.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\socketconnection.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\socketcontrolmessage.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\socketlistener.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\socketservice.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\socketsource.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\srvtarget.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\tcpconnection.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\tcpwrapperconnection.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\threadedsocketservice.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\themedicon.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\tlscertificate.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\tlsclientconnection.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\tlsconnection.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\tlsdatabase.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\tlsinteraction.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\tlspassword.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\tlsserverconnection.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\volume.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\volumemonitor.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\wrap_init.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\zlibdecompressor.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--copy ..\gio\giomm\zlibcompressor.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm
--
--copy ..\gio\giomm\private\action_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\actiongroup_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\actionmap_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\appinfo_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\applaunchcontext_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\application_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\applicationcommandline_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\asyncinitable_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\asyncresult_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\bufferedinputstream_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\bufferedoutputstream_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\cancellable_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\charsetconverter_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\converter_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\converterinputstream_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\converteroutputstream_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\credentials_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\datainputstream_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\dataoutputstream_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\dbusactiongroup_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\dbusaddress_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\dbusauthobserver_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\dbusconnection_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\dbuserror_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\dbuserrorutils_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\dbusinterface_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\dbusinterfaceskeleton_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\dbusinterfacevtable_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\dbusintrospection_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\dbusmenumodel_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\dbusmessage_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\dbusmethodinvocation_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\dbusobject_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\dbusownname_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\dbusproxy_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\dbusserver_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\dbussubtreevtable_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\dbusutils_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\dbuswatchname_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\drive_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\emblem_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\emblemedicon_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\enums_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\error_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\file_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\fileattributeinfo_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\fileattributeinfolist_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\fileenumerator_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\fileicon_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\fileinfo_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\fileinputstream_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\fileiostream_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\filemonitor_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\filenamecompleter_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\fileoutputstream_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\filterinputstream_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\filteroutputstream_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\icon_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\inetaddress_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\inetsocketaddress_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\initable_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\inputstream_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\iostream_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\listmodel_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\liststore_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\loadableicon_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\memoryinputstream_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\memoryoutputstream_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\menu_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\menuattributeiter_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\menuitem_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\menulinkiter_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\menumodel_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\mount_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\mountoperation_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\networkaddress_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\networkmonitor_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\networkservice_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\notification_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\outputstream_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\pollableinputstream_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\pollableoutputstream_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\proxy_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\proxyaddress_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\proxyresolver_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\remoteactiongroup_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\resolver_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\resource_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\seekable_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\settings_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\settingsschema_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\settingsschemakey_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\settingsschemasource_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\simpleaction_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\simpleactiongroup_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\simpleiostream_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\socket_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\socketaddress_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\socketaddressenumerator_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\socketclient_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\socketconnectable_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\socketconnection_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\socketcontrolmessage_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\socketlistener_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\socketservice_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\srvtarget_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\tcpconnection_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\tcpwrapperconnection_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\themedicon_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\threadedsocketservice_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\tlscertificate_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\tlsclientconnection_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\tlsconnection_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\tlsdatabase_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\tlsinteraction_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\tlspassword_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\tlsserverconnection_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\volume_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\volumemonitor_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\zlibcompressor_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy ..\gio\giomm\private\zlibdecompressor_p.h $(CopyDir)\include\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\giomm\private
--copy .\glibmm\glibmmconfig.h $(CopyDir)\lib\glibmm-$(ApiMajorVersion).$(ApiMinorVersion)\include
--copy .\giomm\giommconfig.h $(CopyDir)\lib\giomm-$(ApiMajorVersion).$(ApiMinorVersion)\include
--</GLibmmDoInstall>
-- </PropertyGroup>
-- <PropertyGroup>
-- <_PropertySheetDisplayName>glibmminstallprops</_PropertySheetDisplayName>
-- </PropertyGroup>
-- <ItemGroup>
-- <BuildMacro Include="BinDir">
-- <Value>$(BinDir)</Value>
-- </BuildMacro>
-- <BuildMacro Include="InstalledReleaseDlls">
-- <Value>$(InstalledReleaseDlls)</Value>
-- </BuildMacro>
-- <BuildMacro Include="InstalledDebugDlls">
-- <Value>$(InstalledDebugDlls)</Value>
-- </BuildMacro>
-- <BuildMacro Include="GLibmmDoInstall">
-- <Value>$(GLibmmDoInstall)</Value>
-- </BuildMacro>
-- </ItemGroup>
- </Project>
-diff --git a/MSVC_Net2013/glibmm-version-paths.props b/MSVC_Net2013/glibmm-version-paths.props
-index 216731b..e5f0f6a 100644
---- a/MSVC_Net2013/glibmm-version-paths.props
-+++ b/MSVC_Net2013/glibmm-version-paths.props
-@@ -2,13 +2,9 @@
- <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup Label="UserMacros">
- <VSVer>12</VSVer>
-- <GlibEtcInstallRoot>$(SolutionDir)\..\..\vs$(VSVer)\$(Platform)</GlibEtcInstallRoot>
-- <CopyDir>$(GlibEtcInstallRoot)</CopyDir>
- <DefDir>$(SolutionDir)$(Configuration)\$(Platform)\obj\$(ProjectName)\</DefDir>
- <ApiMajorVersion>2</ApiMajorVersion>
- <ApiMinorVersion>4</ApiMinorVersion>
-- <ReleaseDllSuffix>-vc$(VSVer)0-$(ApiMajorVersion)_$(ApiMinorVersion)</ReleaseDllSuffix>
-- <DebugDllSuffix>-vc$(VSVer)0-d-$(ApiMajorVersion)_$(ApiMinorVersion)</DebugDllSuffix>
- </PropertyGroup>
- <PropertyGroup>
- <_PropertySheetDisplayName>glibmmversionpathsprops</_PropertySheetDisplayName>
-@@ -17,12 +13,6 @@
- <BuildMacro Include="VSVer">
- <Value>$(VSVer)</Value>
- </BuildMacro>
-- <BuildMacro Include="GlibEtcInstallRoot">
-- <Value>$(GlibEtcInstallRoot)</Value>
-- </BuildMacro>
-- <BuildMacro Include="CopyDir">
-- <Value>$(CopyDir)</Value>
-- </BuildMacro>
- <BuildMacro Include="DefDir">
- <Value>$(DefDir)</Value>
- </BuildMacro>
-@@ -32,11 +22,5 @@
- <BuildMacro Include="ApiMinorVersion">
- <Value>$(ApiMinorVersion)</Value>
- </BuildMacro>
-- <BuildMacro Include="ReleaseDllSuffix">
-- <Value>$(ReleaseDllSuffix)</Value>
-- </BuildMacro>
-- <BuildMacro Include="DebugDllSuffix">
-- <Value>$(DebugDllSuffix)</Value>
-- </BuildMacro>
- </ItemGroup>
- </Project>
-diff --git a/MSVC_Net2013/glibmm.vcxproj b/MSVC_Net2013/glibmm.vcxproj
-index 6594edc..c611561 100644
---- a/MSVC_Net2013/glibmm.vcxproj
-+++ b/MSVC_Net2013/glibmm.vcxproj
-@@ -93,7 +93,7 @@
- <Command>$(OutDir)\gendef.exe $(DefDir)\$(ProjectName).def $(ProjectName)$(DebugDllSuffix).dll $(IntDir)*.obj</Command>
- </PreLinkEvent>
- <Link>
-- <AdditionalDependencies>$(CPPDepLibsDebug);%(AdditionalDependencies)</AdditionalDependencies>
-+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
- <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- <OutputFile>$(OutDir)\$(ProjectName)$(DebugDllSuffix).dll</OutputFile>
- <ImportLibrary>$(TargetDir)$(ProjectName)$(DebugDllSuffix).lib</ImportLibrary>
-@@ -125,7 +125,7 @@
- <Command>$(OutDir)\gendef.exe $(DefDir)\$(ProjectName).def $(ProjectName)$(DebugDllSuffix).dll $(IntDir)*.obj</Command>
- </PreLinkEvent>
- <Link>
-- <AdditionalDependencies>$(CPPDepLibsDebug);%(AdditionalDependencies)</AdditionalDependencies>
-+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
- <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- <OutputFile>$(OutDir)\$(ProjectName)$(DebugDllSuffix).dll</OutputFile>
- <ImportLibrary>$(TargetDir)$(ProjectName)$(DebugDllSuffix).lib</ImportLibrary>
-@@ -152,7 +152,7 @@
- <Command>$(OutDir)\gendef.exe $(DefDir)\$(ProjectName).def $(ProjectName)$(ReleaseDllSuffix).dll $(IntDir)*.obj</Command>
- </PreLinkEvent>
- <Link>
-- <AdditionalDependencies>$(CPPDepLibsRelease);%(AdditionalDependencies)</AdditionalDependencies>
-+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
- <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- <OutputFile>$(OutDir)\$(ProjectName)$(ReleaseDllSuffix).dll</OutputFile>
- <ImportLibrary>$(TargetDir)$(ProjectName)$(ReleaseDllSuffix).lib</ImportLibrary>
-@@ -183,7 +183,7 @@
- <Command>$(OutDir)\gendef.exe $(DefDir)\$(ProjectName).def $(ProjectName)$(ReleaseDllSuffix).dll $(IntDir)*.obj</Command>
- </PreLinkEvent>
- <Link>
-- <AdditionalDependencies>$(CPPDepLibsRelease);%(AdditionalDependencies)</AdditionalDependencies>
-+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
- <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- <OutputFile>$(OutDir)\$(ProjectName)$(ReleaseDllSuffix).dll</OutputFile>
- <ImportLibrary>$(TargetDir)$(ProjectName)$(ReleaseDllSuffix).lib</ImportLibrary>
-@@ -359,4 +359,4 @@
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
--</Project>
-+</Project>
-\ No newline at end of file
diff --git a/ports/glibmm/glibmm-api-variant.patch b/ports/glibmm/glibmm-api-variant.patch
new file mode 100644
index 000000000..bb00ac3f5
--- /dev/null
+++ b/ports/glibmm/glibmm-api-variant.patch
@@ -0,0 +1,84 @@
+diff --git a/glib/glibmm/varianttype.h b/glib/glibmm/varianttype.h
+index a232e70..64eb4a1 100644
+--- a/glib/glibmm/varianttype.h
++++ b/glib/glibmm/varianttype.h
+@@ -500,54 +500,79 @@ public:
+
+ };
+
++GLIBMM_API
+ extern const VariantType VARIANT_TYPE_BOOL;
+
++GLIBMM_API
+ extern const VariantType VARIANT_TYPE_BYTE;
+
++GLIBMM_API
+ extern const VariantType VARIANT_TYPE_INT16;
+
++GLIBMM_API
+ extern const VariantType VARIANT_TYPE_UINT16;
+
++GLIBMM_API
+ extern const VariantType VARIANT_TYPE_INT32;
+
++GLIBMM_API
+ extern const VariantType VARIANT_TYPE_UINT32;
+
++GLIBMM_API
+ extern const VariantType VARIANT_TYPE_INT64;
+
++GLIBMM_API
+ extern const VariantType VARIANT_TYPE_UINT64;
+
++GLIBMM_API
+ extern const VariantType VARIANT_TYPE_DOUBLE;
+
++GLIBMM_API
+ extern const VariantType VARIANT_TYPE_STRING;
+
++GLIBMM_API
+ extern const VariantType VARIANT_TYPE_OBJECT_PATH;
+
++GLIBMM_API
+ extern const VariantType VARIANT_TYPE_SIGNATURE;
+
++GLIBMM_API
+ extern const VariantType VARIANT_TYPE_VARIANT;
+
++GLIBMM_API
+ extern const VariantType VARIANT_TYPE_HANDLE;
+
++GLIBMM_API
+ extern const VariantType VARIANT_TYPE_UNIT;
+
++GLIBMM_API
+ extern const VariantType VARIANT_TYPE_ANY;
+
++GLIBMM_API
+ extern const VariantType VARIANT_TYPE_BASIC;
+
++GLIBMM_API
+ extern const VariantType VARIANT_TYPE_MAYBE;
+
++GLIBMM_API
+ extern const VariantType VARIANT_TYPE_ARRAY;
+
++GLIBMM_API
+ extern const VariantType VARIANT_TYPE_TUPLE;
+
++GLIBMM_API
+ extern const VariantType VARIANT_TYPE_DICT_ENTRY;
+
++GLIBMM_API
+ extern const VariantType VARIANT_TYPE_DICTIONARY;
+
++GLIBMM_API
+ extern const VariantType VARIANT_TYPE_STRING_ARRAY;
+
++GLIBMM_API
+ extern const VariantType VARIANT_TYPE_BYTESTRING;
+
++GLIBMM_API
+ extern const VariantType VARIANT_TYPE_BYTESTRING_ARRAY;
+
+
diff --git a/ports/glibmm/portfile.cmake b/ports/glibmm/portfile.cmake
index fd4853f55..792bf3dde 100644
--- a/ports/glibmm/portfile.cmake
+++ b/ports/glibmm/portfile.cmake
@@ -1,15 +1,8 @@
-# Glib uses winapi functions not available in WindowsStore, so glibmm
-# also
+# Glib uses winapi functions not available in WindowsStore, so glibmm also
if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore)
message(FATAL_ERROR "Error: UWP builds are currently not supported.")
endif()
-# Glib relies on DllMain, so glibmm also
-if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
- message(STATUS "Warning: Static building not supported. Building dynamic.")
- set(VCPKG_LIBRARY_LINKAGE dynamic)
-endif()
-
include(vcpkg_common_functions)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/glibmm-2.52.1)
vcpkg_download_distfile(ARCHIVE
@@ -21,82 +14,21 @@ vcpkg_extract_source_archive(${ARCHIVE})
vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
- PATCHES ${CMAKE_CURRENT_LIST_DIR}/fix_properties.patch ${CMAKE_CURRENT_LIST_DIR}/fix_charset.patch
+ PATCHES ${CMAKE_CURRENT_LIST_DIR}/glibmm-api-variant.patch
)
-file(COPY ${CMAKE_CURRENT_LIST_DIR}/msvc_recommended_pragmas.h DESTINATION ${SOURCE_PATH}/MSVC_Net2013)
-
-set(VS_PLATFORM ${VCPKG_TARGET_ARCHITECTURE})
-if(${VCPKG_TARGET_ARCHITECTURE} STREQUAL x86)
- set(VS_PLATFORM "Win32")
-endif(${VCPKG_TARGET_ARCHITECTURE} STREQUAL x86)
-vcpkg_build_msbuild(
- PROJECT_PATH ${SOURCE_PATH}/MSVC_Net2013/glibmm.sln
- TARGET giomm
- PLATFORM ${VS_PLATFORM}
- # Need this for it to pick up xerces-c port: https://github.com/Microsoft/vcpkg/issues/891
- OPTIONS /p:ForceImportBeforeCppTargets=${VCPKG_ROOT_DIR}/scripts/buildsystems/msbuild/vcpkg.targets
-)
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
-# Handle headers
-file(COPY ${SOURCE_PATH}/MSVC_Net2013/giomm/giommconfig.h DESTINATION ${CURRENT_PACKAGES_DIR}/include)
-file(COPY ${SOURCE_PATH}/gio/giomm.h DESTINATION ${CURRENT_PACKAGES_DIR}/include)
-file(
- COPY
- ${SOURCE_PATH}/gio/giomm
- DESTINATION ${CURRENT_PACKAGES_DIR}/include
- FILES_MATCHING PATTERN *.h
-)
-file(COPY ${SOURCE_PATH}/MSVC_Net2013/glibmm/glibmmconfig.h DESTINATION ${CURRENT_PACKAGES_DIR}/include)
-file(COPY ${SOURCE_PATH}/glib/glibmm.h DESTINATION ${CURRENT_PACKAGES_DIR}/include)
-file(
- COPY
- ${SOURCE_PATH}/glib/glibmm
- DESTINATION ${CURRENT_PACKAGES_DIR}/include
- FILES_MATCHING PATTERN *.h
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DWARNINGS_HEADER=${CMAKE_CURRENT_LIST_DIR}/msvc_recommended_pragmas.h
+ OPTIONS_DEBUG
+ -DDISABLE_INSTALL_HEADERS=ON
)
-# Handle libraries
-file(
- COPY
- ${SOURCE_PATH}/MSVC_Net2013/Release/${VS_PLATFORM}/bin/giomm.dll
- DESTINATION ${CURRENT_PACKAGES_DIR}/bin
-)
-file(
- COPY
- ${SOURCE_PATH}/MSVC_Net2013/Release/${VS_PLATFORM}/bin/giomm.lib
- DESTINATION ${CURRENT_PACKAGES_DIR}/lib
-)
-file(
- COPY
- ${SOURCE_PATH}/MSVC_Net2013/Release/${VS_PLATFORM}/bin/glibmm.dll
- DESTINATION ${CURRENT_PACKAGES_DIR}/bin
-)
-file(
- COPY
- ${SOURCE_PATH}/MSVC_Net2013/Release/${VS_PLATFORM}/bin/glibmm.lib
- DESTINATION ${CURRENT_PACKAGES_DIR}/lib
-)
-file(
- COPY
- ${SOURCE_PATH}/MSVC_Net2013/Debug/${VS_PLATFORM}/bin/giomm.dll
- DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin
-)
-file(
- COPY
- ${SOURCE_PATH}/MSVC_Net2013/Debug/${VS_PLATFORM}/bin/giomm.lib
- DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib
-)
-file(
- COPY
- ${SOURCE_PATH}/MSVC_Net2013/Debug/${VS_PLATFORM}/bin/glibmm.dll
- DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin
-)
-file(
- COPY
- ${SOURCE_PATH}/MSVC_Net2013/Debug/${VS_PLATFORM}/bin/glibmm.lib
- DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib
-)
+vcpkg_install_cmake()
vcpkg_copy_pdbs()
diff --git a/ports/google-cloud-cpp/CONTROL b/ports/google-cloud-cpp/CONTROL
new file mode 100644
index 000000000..e44b2e5e6
--- /dev/null
+++ b/ports/google-cloud-cpp/CONTROL
@@ -0,0 +1,4 @@
+Source: google-cloud-cpp
+Version: 0.1.0
+Build-Depends: grpc, gtest
+Description: C++ Client Libraries for Google Cloud Platform APIs.
diff --git a/ports/google-cloud-cpp/portfile.cmake b/ports/google-cloud-cpp/portfile.cmake
new file mode 100644
index 000000000..701d94ae5
--- /dev/null
+++ b/ports/google-cloud-cpp/portfile.cmake
@@ -0,0 +1,44 @@
+if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ message(STATUS "Warning: Dynamic building not supported yet. Building static.")
+ set(VCPKG_LIBRARY_LINKAGE static)
+endif()
+
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO GoogleCloudPlatform/google-cloud-cpp
+ REF v0.1.0
+ SHA512 3947cc24ca1ed97309f055f17945afe2d6b22ae8f54f86d3395f8c491b7409d4b7bb12206889d04d07f51236e9fd5afd65b904c8c80521a3313588d8069545c2
+ HEAD_REF master
+)
+
+set(GOOGLEAPIS_VERSION 92f10d7033c6fa36e1a5a369ab5aa8bafd564009)
+vcpkg_download_distfile(GOOGLEAPIS
+ URLS "https://github.com/google/googleapis/archive/92f10d7033c6fa36e1a5a369ab5aa8bafd564009.zip"
+ FILENAME "googleapis-${GOOGLEAPIS_VERSION}.zip"
+ SHA512 4280ece965a231f6a0bb3ea38a961d15babd9eac517f9b0d57e12f186481bbab6a27e4f0ee03ba3c587c9aa93d3c2e6c95f67f50365c65bb10594f0229279287
+)
+
+file(REMOVE_RECURSE ${SOURCE_PATH}/third_party)
+vcpkg_extract_source_archive(${GOOGLEAPIS} ${SOURCE_PATH}/third_party)
+file(RENAME ${SOURCE_PATH}/third_party/googleapis-${GOOGLEAPIS_VERSION} ${SOURCE_PATH}/third_party/googleapis)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DGOOGLE_CLOUD_CPP_GRPC_PROVIDER=vcpkg
+ -DGOOGLE_CLOUD_CPP_GMOCK_PROVIDER=vcpkg
+)
+
+vcpkg_install_cmake(ADD_BIN_TO_PATH)
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/bigtable/client/testing)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake TARGET_PATH share/bigtable_client)
+
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/google-cloud-cpp RENAME copyright)
+
+vcpkg_copy_pdbs()
diff --git a/ports/graphicsmagick/CMakeLists.txt b/ports/graphicsmagick/CMakeLists.txt
index 035a193cc..27f9fb109 100644
--- a/ports/graphicsmagick/CMakeLists.txt
+++ b/ports/graphicsmagick/CMakeLists.txt
@@ -77,7 +77,7 @@ add_library(graphicsmagick coders/art.c coders/avs.c
coders/tiff.c coders/tile.c coders/tim.c coders/topol.c
coders/ttf.c coders/txt.c coders/uil.c coders/url.c
coders/uyvy.c coders/vicar.c coders/vid.c coders/viff.c
- coders/wbmp.c coders/webp.c coders/wmf.c coders/wpg.c
+ coders/wbmp.c coders/wmf.c coders/wpg.c
coders/x.c coders/xbm.c coders/xc.c coders/xcf.c
coders/xpm.c coders/xtrn.c coders/xwd.c coders/yuv.c
filters/analyze.c
diff --git a/ports/graphicsmagick/CONTROL b/ports/graphicsmagick/CONTROL
index 17f2a635d..275bae92f 100644
--- a/ports/graphicsmagick/CONTROL
+++ b/ports/graphicsmagick/CONTROL
@@ -1,4 +1,4 @@
Source: graphicsmagick
-Version: 1.3.26-2
+Version: 1.3.28
Build-Depends: zlib, bzip2, freetype, libjpeg-turbo, libpng, tiff
Description: Image processing library
diff --git a/ports/graphicsmagick/portfile.cmake b/ports/graphicsmagick/portfile.cmake
index 6636802cf..12630d346 100644
--- a/ports/graphicsmagick/portfile.cmake
+++ b/ports/graphicsmagick/portfile.cmake
@@ -1,12 +1,12 @@
include(vcpkg_common_functions)
-set(GM_VERSION 1.3.26)
+set(GM_VERSION 1.3.28)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/graphicsmagick-${GM_VERSION}-windows-source)
vcpkg_download_distfile(ARCHIVE
URLS "https://sourceforge.net/projects/graphicsmagick/files/graphicsmagick/${GM_VERSION}/GraphicsMagick-${GM_VERSION}-windows-source.7z"
FILENAME "GraphicsMagick-${GM_VERSION}-windows-source.7z"
- SHA512 c45a054d082d9a7a2889a2235dd5b96bd564acf55bd581426ecd32c426f9797d7d56d6e5f25a5a7da8ebd26bf0d962372b5d48d86532dc6c57522d27c0d18ec8
+ SHA512 0271c187634580204dcc3173553bae9e3cd799203d621ad9e2ba64be778760ac307f25af54859b10e60f8e2589287ad98062548f1c3c94f229e68e7c83878419
)
vcpkg_extract_source_archive(${ARCHIVE})
diff --git a/ports/graphite2/disable-tests-docs.patch b/ports/graphite2/disable-tests-docs.patch
new file mode 100644
index 000000000..ff92caa16
--- /dev/null
+++ b/ports/graphite2/disable-tests-docs.patch
@@ -0,0 +1,19 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 3466c5f..6d5c6bd 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -63,9 +63,13 @@ endif (GRAPHITE2_VM_TYPE STREQUAL "direct" AND NOT (CMAKE_COMPILER_IS_GNUCXX OR
+ message(STATUS "Using vm machine type: ${GRAPHITE2_VM_TYPE}")
+
+ add_subdirectory(src)
++if(NOT DISABLE_TESTS)
+ add_subdirectory(tests)
++endif()
++if(NOT DISABLE_DOCS)
+ add_subdirectory(doc)
+-if (NOT (GRAPHITE2_NSEGCACHE OR GRAPHITE2_NFILEFACE))
++endif()
++if (NOT (GRAPHITE2_NSEGCACHE OR GRAPHITE2_NFILEFACE) AND NOT DISABLE_TESTS)
+ add_subdirectory(gr2fonttest)
+ endif (NOT (GRAPHITE2_NSEGCACHE OR GRAPHITE2_NFILEFACE))
+
diff --git a/ports/graphite2/portfile.cmake b/ports/graphite2/portfile.cmake
index 000817449..eb017e9d8 100644
--- a/ports/graphite2/portfile.cmake
+++ b/ports/graphite2/portfile.cmake
@@ -9,16 +9,24 @@ vcpkg_from_github(
HEAD_REF master
)
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES "${CMAKE_CURRENT_LIST_DIR}/disable-tests-docs.patch"
+)
+
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
+ OPTIONS
+ -DDISABLE_TESTS=ON
+ -DDISABLE_DOCS=ON
)
vcpkg_install_cmake()
vcpkg_copy_pdbs()
-# file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/gr2fonttest.exe)
-# file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/gr2fonttest.exe)
+vcpkg_fixup_cmake_targets(CONFIG_PATH share/graphite2)
+
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
diff --git a/ports/grpc/CONTROL b/ports/grpc/CONTROL
index 707c8cb8b..6f8f18467 100644
--- a/ports/grpc/CONTROL
+++ b/ports/grpc/CONTROL
@@ -1,4 +1,4 @@
Source: grpc
-Version: 1.10.0
+Version: 1.10.1-1
Build-Depends: zlib, openssl, protobuf, c-ares
Description: An RPC library and framework
diff --git a/ports/grpc/disable-csharp-ext-2.patch b/ports/grpc/disable-csharp-ext-2.patch
new file mode 100644
index 000000000..1bc863105
--- /dev/null
+++ b/ports/grpc/disable-csharp-ext-2.patch
@@ -0,0 +1,20 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 0dc0bd3..7f702cc 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -4699,6 +4699,7 @@ endif (gRPC_BUILD_TESTS)
+
+ option(gRPC_INSTALL_CSHARP_EXT "" ON)
+
++if(gRPC_INSTALL_CSHARP_EXT)
+ add_library(grpc_csharp_ext SHARED
+ src/csharp/ext/grpc_csharp_ext.c
+ )
+@@ -4741,6 +4742,7 @@ if (gRPC_INSTALL AND gRPC_INSTALL_CSHARP_EXT)
+ ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR}
+ )
+ endif()
++endif()
+
+ if (gRPC_BUILD_TESTS)
+
diff --git a/ports/grpc/portfile.cmake b/ports/grpc/portfile.cmake
index abab22925..54f294896 100644
--- a/ports/grpc/portfile.cmake
+++ b/ports/grpc/portfile.cmake
@@ -12,8 +12,8 @@ endif()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO grpc/grpc
- REF v1.10.0
- SHA512 52a3e2710fd51b92fb6345cddb9fd64a9b826bcb85dba86075b5e8465abf6dbc26a9245c9f79dd68b0c11a4fa3b983513091000991b61d77761b7debcdac3703
+ REF v1.10.1
+ SHA512 2221d902c60eada6dd1547a63d26bd3b30cb6710247b5e48523bacde498a3691cc177f1dbe9db8a007b8ae341a5b0c8ec999539e26a9bcff480a8d0b02140997
HEAD_REF master
)
@@ -22,6 +22,7 @@ vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
PATCHES
${CMAKE_CURRENT_LIST_DIR}/disable-csharp-ext.patch
+ ${CMAKE_CURRENT_LIST_DIR}/disable-csharp-ext-2.patch
)
if(VCPKG_CRT_LINKAGE STREQUAL static)
@@ -66,8 +67,12 @@ if(TOOLS)
vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/grpc)
endif()
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin)
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin)
+if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin)
+else()
+ SET(VCPKG_POLICY_EMPTY_PACKAGE enabled) # Leave the executable files in bin/ and debug/bin
+endif()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
vcpkg_copy_pdbs()
diff --git a/ports/gtest/0002-Fix-z7-override.patch b/ports/gtest/0002-Fix-z7-override.patch
new file mode 100644
index 000000000..c8de56d09
--- /dev/null
+++ b/ports/gtest/0002-Fix-z7-override.patch
@@ -0,0 +1,13 @@
+diff --git a/googletest/cmake/internal_utils.cmake b/googletest/cmake/internal_utils.cmake
+index 777b91e..75a13c9 100644
+--- a/googletest/cmake/internal_utils.cmake
++++ b/googletest/cmake/internal_utils.cmake
+@@ -55,7 +55,7 @@ macro(config_compiler_and_linker)
+ if (MSVC)
+ # Newlines inside flags variables break CMake's NMake generator.
+ # TODO(vladl@google.com): Add -RTCs and -RTCu to debug builds.
+- set(cxx_base_flags "-GS -W4 -WX -wd4251 -wd4275 -nologo -J -Zi")
++ set(cxx_base_flags "-GS -W4 -WX -wd4251 -wd4275 -nologo -J")
+ if (MSVC_VERSION LESS 1400) # 1400 is Visual Studio 2005
+ # Suppress spurious warnings MSVC 7.1 sometimes issues.
+ # Forcing value to bool.
diff --git a/ports/gtest/CONTROL b/ports/gtest/CONTROL
index e76e815c4..2fa32ae3c 100644
--- a/ports/gtest/CONTROL
+++ b/ports/gtest/CONTROL
@@ -1,3 +1,3 @@
Source: gtest
-Version: 1.8.0-7
+Version: 1.8.0-8
Description: GoogleTest and GoogleMock testing frameworks.
diff --git a/ports/gtest/portfile.cmake b/ports/gtest/portfile.cmake
index b5f3e58c8..72fe5813e 100644
--- a/ports/gtest/portfile.cmake
+++ b/ports/gtest/portfile.cmake
@@ -15,6 +15,7 @@ vcpkg_from_github(
vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
PATCHES ${CMAKE_CURRENT_LIST_DIR}/0001-Enable-C-11-features-for-VS2015-fix-appveyor-fail.patch
+ ${CMAKE_CURRENT_LIST_DIR}/0002-Fix-z7-override.patch
)
string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "dynamic" GTEST_FORCE_SHARED_CRT)
diff --git a/ports/gtkmm/portfile.cmake b/ports/gtkmm/portfile.cmake
index c82bc597d..707e64a9b 100644
--- a/ports/gtkmm/portfile.cmake
+++ b/ports/gtkmm/portfile.cmake
@@ -34,8 +34,7 @@ vcpkg_build_msbuild(
PROJECT_PATH ${SOURCE_PATH}/MSVC_Net2013/gtkmm.sln
TARGET gtkmm
PLATFORM ${VS_PLATFORM}
- # Need this for it to pick up xerces-c port: https://github.com/Microsoft/vcpkg/issues/891
- OPTIONS /p:ForceImportBeforeCppTargets=${VCPKG_ROOT_DIR}/scripts/buildsystems/msbuild/vcpkg.targets
+ USE_VCPKG_INTEGRATION
)
# Handle headers
diff --git a/ports/harfbuzz/CONTROL b/ports/harfbuzz/CONTROL
index f03f52187..e6cf6a8e5 100644
--- a/ports/harfbuzz/CONTROL
+++ b/ports/harfbuzz/CONTROL
@@ -1,4 +1,4 @@
Source: harfbuzz
-Version: 1.7.6
+Version: 1.7.6-1
Description: HarfBuzz OpenType text shaping engine
Build-Depends: freetype, ragel, glib (windows)
diff --git a/ports/harfbuzz/find-package-freetype.patch b/ports/harfbuzz/find-package-freetype-2.patch
index a556d1377..85dbbdeec 100644
--- a/ports/harfbuzz/find-package-freetype.patch
+++ b/ports/harfbuzz/find-package-freetype-2.patch
@@ -1,13 +1,13 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 24ccb6f..21df836 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -201,7 +201,7 @@ set(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 b1c91aa91..906e42d95 100644
--- a/ports/harfbuzz/portfile.cmake
+++ b/ports/harfbuzz/portfile.cmake
@@ -12,10 +12,10 @@ vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
PATCHES
"${CMAKE_CURRENT_LIST_DIR}/0001-fix-uwp-build.patch"
- "${CMAKE_CURRENT_LIST_DIR}/find-package-freetype.patch"
+ "${CMAKE_CURRENT_LIST_DIR}/find-package-freetype-2.patch"
)
-if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_CMAKE_SYSTEM_NAME)
SET(HAVE_GLIB "OFF")
SET(BUILTIN_UCDN "ON")
else()
diff --git a/ports/hpx/CONTROL b/ports/hpx/CONTROL
index 471b64986..ff6801a42 100644
--- a/ports/hpx/CONTROL
+++ b/ports/hpx/CONTROL
@@ -1,5 +1,5 @@
-Source: hpx
-Version: 1.0.0-8
-Build-Depends: hwloc, boost-chrono, boost-date-time, boost-filesystem, boost-program-options, boost-regex, boost-system, boost-thread, boost-context, boost-iostreams, boost-random, boost-atomic, boost-asio, boost-dynamic-bitset, boost-assign, boost-format, boost-signals2, boost-parameter, boost-bimap, boost-accumulators, boost-lockfree, boost-icl
-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.
+Source: hpx
+Version: 1.1.0-1
+Build-Depends: hwloc, boost-accumulators, boost-algorithm, boost-asio, boost-assign, boost-atomic, boost-bimap, boost-chrono, boost-config, boost-context, boost-date-time, boost-dynamic-bitset, boost-exception, boost-filesystem, boost-format, boost-iostreams, boost-lockfree, boost-parameter, boost-program-options, boost-range, boost-regex, boost-signals2, boost-smart-ptr, boost-spirit, boost-system, boost-thread, 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/boost-1-66.patch b/ports/hpx/boost-1-66.patch
deleted file mode 100644
index 6f98a48aa..000000000
--- a/ports/hpx/boost-1-66.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-diff --git a/src/util/asio_util.cpp b/src/util/asio_util.cpp
-index e2207de..48a35b9 100644
---- a/src/util/asio_util.cpp
-+++ b/src/util/asio_util.cpp
-@@ -231,7 +231,7 @@ namespace hpx { namespace util
- tcp::endpoint ep;
- if (util::get_endpoint(address, port, ep))
- {
-- return endpoint_iterator_type(tcp::resolver::iterator::create(
-+ return endpoint_iterator_type(tcp::resolver::results_type::create(
- ep, address, port_str));
- }
- }
-@@ -283,7 +283,7 @@ namespace hpx { namespace util
- if (util::get_endpoint(address, port, ep))
- {
- return endpoint_iterator_type(
-- tcp::resolver::iterator::create(ep, address, port_str));
-+ tcp::resolver::results_type::create(ep, address, port_str));
- }
- }
- catch (boost::system::system_error const&) {
-diff --git a/src/util/serialize_exception.cpp b/src/util/serialize_exception.cpp
-index 935e575..22bcf37 100644
---- a/src/util/serialize_exception.cpp
-+++ b/src/util/serialize_exception.cpp
-@@ -341,11 +341,7 @@ namespace hpx { namespace serialization
- case hpx::util::boost_system_error:
- e = hpx::detail::construct_exception(
- boost::system::system_error(err_value,
--#ifndef BOOST_SYSTEM_NO_DEPRECATED
-- boost::system::get_system_category()
--#else
- boost::system::system_category()
--#endif
- , err_message
- )
- , throw_function_, throw_file_, throw_line_, throw_back_trace_,
diff --git a/ports/hpx/portfile.cmake b/ports/hpx/portfile.cmake
index e03d566e8..c200a6278 100644
--- a/ports/hpx/portfile.cmake
+++ b/ports/hpx/portfile.cmake
@@ -1,119 +1,94 @@
-include(vcpkg_common_functions)
-
-if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
- message(STATUS "Warning: Static building of HPX not supported yet. Building dynamic.")
- set(VCPKG_LIBRARY_LINKAGE dynamic)
-endif()
-
-vcpkg_from_github(
- OUT_SOURCE_PATH SOURCE_PATH
- REPO STEllAR-GROUP/hpx
- REF 1.0.0
- SHA512 1bb985ad8ab031a7ac034d4597a8bd26eae83fba5aed207c444211954079e10e2d5d83965a1f4ce52d1b29ecc72586c561b984c2c628673a262c07214fd1abb5
- HEAD_REF master
-)
-
-if(NOT VCPKG_USE_HEAD_VERSION)
- # apply hotfix to enable building with vcpkg
- vcpkg_download_distfile(DIFF1
- URLS "http://stellar-group.org/files/hpx-Build-system-changes-to-make-HPX-compile-when-built-with-vcpkg.diff"
- FILENAME "hpx-Build-system-changes-to-make-HPX-compile-when-built-with-vcpkg.diff"
- SHA512 86df311a120686139955e1c0fdca55379594be3fa8d46d69ee59d83da351ce3bed487ab946c80f7127aab9699e470e24e545b112f92be9f971f41d95c429d01d
- )
-
- # apply hotfix to fix issues with building 32bit version
- vcpkg_download_distfile(DIFF2
- URLS "http://stellar-group.org/files/hpx-Fixing-32bit-MSVC-compilation.diff"
- FILENAME "hpx-Fixing-32bit-MSVC-compilation.diff"
- SHA512 31c904d317b4c24eddd819e4856f8326ff3850a5a196c7648c46a11dbb85f35e972e077957b3c4aec67c8b043816fe1cebc92cfe28ed815f682537dfc3421b8b
- )
-
- # apply hotfix to fix issues when building with UNICODE enabled
- vcpkg_download_distfile(DIFF3
- URLS "http://stellar-group.org/files/hpx-Making-sure-UNICODE-on-Windows-does-not-break-by-default.diff"
- FILENAME "hpx-Making-sure-UNICODE-on-Windows-does-not-break-by-default.diff"
- SHA512 8fcdb36307702d64b9d2b26920374a6c5a29a50d125305dc95926c4cbc91215cb0c72ede83b06d0fc007fe7b2283845e08351bd45f11f3677f0d3db4ac8f9424
- )
-
- vcpkg_apply_patches(
- SOURCE_PATH ${SOURCE_PATH}
- PATCHES
- ${DIFF1}
- ${DIFF2}
- ${DIFF3}
- ${CMAKE_CURRENT_LIST_DIR}/boost-1-66.patch
- )
-endif()
-
-SET(BOOST_PATH "${CURRENT_INSTALLED_DIR}/share/boost")
-SET(HWLOC_PATH "${CURRENT_INSTALLED_DIR}/share/hwloc")
-
-vcpkg_configure_cmake(
- SOURCE_PATH ${SOURCE_PATH}
- PREFER_NINJA
- OPTIONS
- -DBOOST_ROOT=${BOOST_PATH}
- -DHWLOC_ROOT=${HWLOC_ROOT}
- -DHPX_WITH_VCPKG=ON
- -DHPX_WITH_HWLOC=ON
- -DHPX_WITH_TESTS=OFF
- -DHPX_WITH_EXAMPLES=OFF
- -DHPX_WITH_TOOLS=OFF
- -DHPX_WITH_RUNTIME=OFF
-)
-
-vcpkg_install_cmake()
-
-# post build cleanup
-if(NOT VCPKG_USE_HEAD_VERSION)
- file(RENAME ${CURRENT_PACKAGES_DIR}/share/hpx-1.0.0 ${CURRENT_PACKAGES_DIR}/share/hpx)
-else()
- file(RENAME ${CURRENT_PACKAGES_DIR}/share/hpx-1.1.0 ${CURRENT_PACKAGES_DIR}/share/hpx)
-endif()
-
-file(INSTALL
- ${SOURCE_PATH}/LICENSE_1_0.txt
- DESTINATION ${CURRENT_PACKAGES_DIR}/share/hpx RENAME copyright)
-
-file(GLOB __hpx_cmakes ${CURRENT_PACKAGES_DIR}/lib/cmake/HPX/*.*)
-foreach(__hpx_cmake ${__hpx_cmakes})
- file(COPY ${__hpx_cmake} DESTINATION ${CURRENT_PACKAGES_DIR}/share/hpx/cmake)
- file(REMOVE ${__hpx_cmake})
-endforeach()
-
-file(GLOB __hpx_dlls ${CURRENT_PACKAGES_DIR}/lib/*.dll)
-foreach(__hpx_dll ${__hpx_dlls})
- file(COPY ${__hpx_dll} DESTINATION ${CURRENT_PACKAGES_DIR}/bin)
- file(REMOVE ${__hpx_dll})
-endforeach()
-
-file(GLOB __hpx_dlls ${CURRENT_PACKAGES_DIR}/lib/hpx/*.dll)
-foreach(__hpx_dll ${__hpx_dlls})
- file(COPY ${__hpx_dll} DESTINATION ${CURRENT_PACKAGES_DIR}/bin/hpx)
- file(REMOVE ${__hpx_dll})
-endforeach()
-
-file(GLOB __hpx_dlls ${CURRENT_PACKAGES_DIR}/debug/lib/*.dll)
-foreach(__hpx_dll ${__hpx_dlls})
- file(COPY ${__hpx_dll} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
- file(REMOVE ${__hpx_dll})
-endforeach()
-
-file(GLOB __hpx_dlls ${CURRENT_PACKAGES_DIR}/debug/lib/hpx/*.dll)
-foreach(__hpx_dll ${__hpx_dlls})
- file(COPY ${__hpx_dll} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin/hpx)
- file(REMOVE ${__hpx_dll})
-endforeach()
-
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/bazel)
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/cmake)
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/pkgconfig)
-
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/bazel)
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake)
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig)
-
-vcpkg_copy_pdbs()
-
+include(vcpkg_common_functions)
+
+if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ message(STATUS "Warning: Static building of HPX not supported yet. Building dynamic.")
+ set(VCPKG_LIBRARY_LINKAGE dynamic)
+endif()
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO STEllAR-GROUP/hpx
+ REF 1.1.0
+ SHA512 435250143ddbd2608995fe3dc5c229a096312d7ac930925ae56d0abd2d5689886126f6e81bc7e37b84ca9bc99f951ef1f39580168a359c48788ac8d008bc7078
+ HEAD_REF master
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ "-DBOOST_ROOT=${CURRENT_INSTALLED_DIR}/share/boost"
+ "-DHWLOC_ROOT=${CURRENT_INSTALLED_DIR}/share/hwloc"
+ -DHPX_WITH_VCPKG=ON
+ -DHPX_WITH_HWLOC=ON
+ -DHPX_WITH_TESTS=OFF
+ -DHPX_WITH_EXAMPLES=OFF
+ -DHPX_WITH_TOOLS=OFF
+ -DHPX_WITH_RUNTIME=OFF
+)
+
+vcpkg_install_cmake()
+
+# post build cleanup
+file(GLOB SHARE_DIR ${CURRENT_PACKAGES_DIR}/share/hpx-*)
+file(RENAME ${SHARE_DIR} ${CURRENT_PACKAGES_DIR}/share/hpx)
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/HPX)
+
+file(GLOB_RECURSE CMAKE_FILES "${CURRENT_PACKAGES_DIR}/share/hpx/*.cmake")
+foreach(CMAKE_FILE IN LISTS CMAKE_FILES)
+ file(READ ${CMAKE_FILE} _contents)
+ string(REGEX REPLACE
+ "lib/([A-Za-z0-9_.-]+\\.dll)"
+ "bin/\\1"
+ _contents "${_contents}")
+ string(REGEX REPLACE
+ "lib/hpx/([A-Za-z0-9_.-]+\\.dll)"
+ "bin/\\1"
+ _contents "${_contents}")
+ file(WRITE ${CMAKE_FILE} "${_contents}")
+endforeach()
+
+file(READ "${CURRENT_PACKAGES_DIR}/share/hpx/HPXMacros.cmake" _contents)
+string(REPLACE "set(CMAKE_MODULE_PATH \${CMAKE_MODULE_PATH} \"\${CMAKE_CURRENT_LIST_DIR}/../../lib/cmake/HPX\")" "list(APPEND CMAKE_MODULE_PATH \"\${CMAKE_CURRENT_LIST_DIR}\")" _contents "${_contents}")
+file(WRITE "${CURRENT_PACKAGES_DIR}/share/hpx/HPXMacros.cmake" "${_contents}")
+
+file(INSTALL
+ ${SOURCE_PATH}/LICENSE_1_0.txt
+ DESTINATION ${CURRENT_PACKAGES_DIR}/share/hpx RENAME copyright)
+
+file(GLOB DLLS ${CURRENT_PACKAGES_DIR}/lib/*.dll)
+if(DLLS)
+ file(COPY ${DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/bin)
+ file(REMOVE ${DLLS})
+endif()
+
+file(GLOB DLLS ${CURRENT_PACKAGES_DIR}/lib/hpx/*.dll)
+if(DLLS)
+ file(COPY ${DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/bin)
+ file(REMOVE ${DLLS})
+endif()
+
+file(GLOB DLLS ${CURRENT_PACKAGES_DIR}/debug/lib/*.dll)
+if(DLLS)
+ file(COPY ${DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
+ file(REMOVE ${DLLS})
+endif()
+
+file(GLOB DLLS ${CURRENT_PACKAGES_DIR}/debug/lib/hpx/*.dll)
+if(DLLS)
+ file(COPY ${DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
+ file(REMOVE ${DLLS})
+endif()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/bazel)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/cmake)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/pkgconfig)
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/bazel)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig)
+
+vcpkg_copy_pdbs()
diff --git a/ports/http-parser/CMakeLists.txt b/ports/http-parser/CMakeLists.txt
index d959fff79..284c8e903 100644
--- a/ports/http-parser/CMakeLists.txt
+++ b/ports/http-parser/CMakeLists.txt
@@ -1,8 +1,8 @@
-cmake_minimum_required (VERSION 3.4)
-project (http-parser)
+cmake_minimum_required(VERSION 3.4)
+project(http-parser C)
-if (BUILD_SHARED_LIBS)
- SET(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
+if(BUILD_SHARED_LIBS)
+ set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
endif()
if(CMAKE_BUILD_TYPE MATCHES "Release")
@@ -11,11 +11,21 @@ endif()
add_library(http_parser http_parser.c http_parser.h)
-install(TARGETS http_parser
- RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}/bin"
- ARCHIVE DESTINATION "${CMAKE_INSTALL_PREFIX}/lib"
+target_include_directories(http_parser PUBLIC $<INSTALL_INTERFACE:include>)
+
+install(
+ TARGETS http_parser
+ EXPORT NODEJS_HTTP_PARSER_ALL_TARGETS
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib
+ RUNTIME DESTINATION bin
+)
+
+install(
+ EXPORT NODEJS_HTTP_PARSER_ALL_TARGETS
+ NAMESPACE unofficial::http_parser::
+ FILE unofficial-http-parser-config.cmake
+ DESTINATION share/unofficial-http-parser
)
-if (NOT SKIP_INSTALL_HEADERS)
- install(FILES http_parser.h DESTINATION "${CMAKE_INSTALL_PREFIX}/include")
-endif() \ No newline at end of file
+install(FILES http_parser.h DESTINATION include)
diff --git a/ports/http-parser/CONTROL b/ports/http-parser/CONTROL
index a9edf4071..26b9f8d34 100644
--- a/ports/http-parser/CONTROL
+++ b/ports/http-parser/CONTROL
@@ -1,3 +1,3 @@
Source: http-parser
-Version: 2.7.1-2
+Version: 2.7.1-3
Description: HTTP Parser.
diff --git a/ports/http-parser/portfile.cmake b/ports/http-parser/portfile.cmake
index 728293eed..49f829a53 100644
--- a/ports/http-parser/portfile.cmake
+++ b/ports/http-parser/portfile.cmake
@@ -1,29 +1,25 @@
-# Common Ambient Variables:
-# VCPKG_ROOT_DIR = <C:\path\to\current\vcpkg>
-# TARGET_TRIPLET is the current triplet (x86-windows, etc)
-# PORT is the current port name (zlib, etc)
-# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT}
-# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET}
-#
include(vcpkg_common_functions)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/http-parser-2.7.1)
-vcpkg_download_distfile(ARCHIVE_FILE
- URLS "https://github.com/nodejs/http-parser/archive/v2.7.1.zip"
- FILENAME "http-parser-2.7.1.zip"
- SHA512 9fb8b855ba7edb47628c91ac062d7ffce9c4bb8d6b8237d861d7926af989fb3e354c113821bdab1b8ac910f5f1064ca1339947aa20d56f6806b919b0cd6b6eae
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO nodejs/http-parser
+ REF v2.7.1
+ SHA512 c0fe86455db1a563a5c668f118dfa9a27b9a637ee1c0e2f2f18a5b816352436ed90435ea978e3f3d85b037d3c630234e47d609dc3b7086b898286c4e54d9f031
+ HEAD_REF master
)
-vcpkg_extract_source_archive(${ARCHIVE_FILE})
+
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
- OPTIONS_DEBUG
- -DSKIP_INSTALL_HEADERS=ON
+ PREFER_NINJA
)
vcpkg_install_cmake()
vcpkg_copy_pdbs()
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+vcpkg_fixup_cmake_targets(CONFIG_PATH "share/unofficial-http-parser" TARGET_PATH "share/unofficial-http-parser")
+
# Handle copyright
file(COPY ${SOURCE_PATH}/LICENSE-MIT DESTINATION ${CURRENT_PACKAGES_DIR}/share/http-parser)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/http-parser/LICENSE-MIT ${CURRENT_PACKAGES_DIR}/share/http-parser/copyright) \ No newline at end of file
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/http-parser/LICENSE-MIT ${CURRENT_PACKAGES_DIR}/share/http-parser/copyright)
diff --git a/ports/icu/CONTROL b/ports/icu/CONTROL
index 3553238f9..9d8320762 100644
--- a/ports/icu/CONTROL
+++ b/ports/icu/CONTROL
@@ -1,3 +1,3 @@
Source: icu
-Version: 59.1-1
+Version: 61.1-1
Description: Mature and widely used Unicode and localization library.
diff --git a/ports/icu/portfile.cmake b/ports/icu/portfile.cmake
index dcf9efda5..afacc076c 100644
--- a/ports/icu/portfile.cmake
+++ b/ports/icu/portfile.cmake
@@ -1,15 +1,31 @@
+# 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)
+#
if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore)
message(FATAL_ERROR "Error: UWP builds are currently not supported.")
endif()
include(vcpkg_common_functions)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/icu-59.1/icu)
-set(ICU_VERSION 59)
-vcpkg_download_distfile(ARCHIVE
- URLS "http://download.icu-project.org/files/icu4c/59.1/icu4c-59_1-src.zip"
- FILENAME "icu4c-59_1-src.zip"
- SHA512 1d3b39678e7cc4e9794e724982886a4918642231048eb76b9f683aad5a19e0b7c52b3b9c7107cb1a3879464682c4a3a97b58ab012d082bd9e5a80c67adf8ce8b)
-vcpkg_extract_source_archive(${ARCHIVE} ${CURRENT_BUILDTREES_DIR}/src/icu-59.1)
+set(VERSION 61.1)
+set(VERSION2 61_1)
+set(ICU_VERSION_MAJOR 61)
+
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/icu-${VERSION}/icu)
+vcpkg_download_distfile(
+ ARCHIVE
+ URLS "http://download.icu-project.org/files/icu4c/${VERSION}/icu4c-${VERSION2}-src.zip"
+ FILENAME "icu4c-${VERSION2}-src.zip"
+ SHA512 60fed25976b8c2fe2df0b0ab745ded24da237711ec8c1e1dbdfe6eaf2014fb6b3a4bcaa488174cf770737a1c159a2d3f48a86a139cbb277163f064e607b8928f
+ )
+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)
@@ -109,8 +125,8 @@ file(REMOVE ${TEST_LIBS})
if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
# copy icu dlls from lib to bin
- file(GLOB RELEASE_DLLS ${CURRENT_PACKAGES_DIR}/lib/icu*${ICU_VERSION}.dll)
- file(GLOB DEBUG_DLLS ${CURRENT_PACKAGES_DIR}/debug/lib/icu*d${ICU_VERSION}.dll)
+ file(GLOB RELEASE_DLLS ${CURRENT_PACKAGES_DIR}/lib/icu*${ICU_VERSION_MAJOR}.dll)
+ file(GLOB DEBUG_DLLS ${CURRENT_PACKAGES_DIR}/debug/lib/icu*d${ICU_VERSION_MAJOR}.dll)
file(COPY ${RELEASE_DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/bin)
file(COPY ${DEBUG_DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
else()
@@ -139,5 +155,6 @@ endif()
# This is expected because ICU database contains no executable code
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)
diff --git a/ports/imgui/CONTROL b/ports/imgui/CONTROL
index 6b6a82476..640dece87 100644
--- a/ports/imgui/CONTROL
+++ b/ports/imgui/CONTROL
@@ -1,3 +1,3 @@
Source: imgui
-Version: 1.53
+Version: 1.60
Description: Bloat-free Immediate Mode Graphical User interface for C++ with minimal dependencies.
diff --git a/ports/imgui/portfile.cmake b/ports/imgui/portfile.cmake
index 1ca99841d..7b18fc9ed 100644
--- a/ports/imgui/portfile.cmake
+++ b/ports/imgui/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO ocornut/imgui
- REF v1.53
- SHA512 3e1ebf3844eaca3471064fa3d5792525c696b39f502c75235fae469038b73ae0eff198f13d5e1a35f86c011903cd379066afe1e22b6df769b9b16dc390f8b0c3
+ REF v1.60
+ SHA512 405b79ced59b4e4e45eebdbf278435f325a553e04338702dbdd3f30c7a39cb52a4dad91443bd99d19f61e60cd78d544fc1436ae2d10fef7c3a8a46cbb62685d9
HEAD_REF master
)
diff --git a/ports/inja/CONTROL b/ports/inja/CONTROL
new file mode 100644
index 000000000..a905ab796
--- /dev/null
+++ b/ports/inja/CONTROL
@@ -0,0 +1,4 @@
+Source: inja
+Version: 1.0.0
+Build-Depends: nlohmann-json
+Description: Inja - A Template Engine for Modern C++
diff --git a/ports/inja/portfile.cmake b/ports/inja/portfile.cmake
new file mode 100644
index 000000000..dc9dc1a6b
--- /dev/null
+++ b/ports/inja/portfile.cmake
@@ -0,0 +1,11 @@
+include(vcpkg_common_functions)
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO pantor/inja
+ REF v1.0.0
+ SHA512 39598df84766a0d2a28dc92e083e27b7072600372e0313727cd5dd1fe6ad1efc055dc98055247f5cb1fc4096ffb37b59995107f3456a4495bd01381ac6c74a2b
+ HEAD_REF master
+)
+file(INSTALL ${SOURCE_PATH}/src/inja.hpp DESTINATION ${CURRENT_PACKAGES_DIR}/include)
+file(INSTALL ${SOURCE_PATH}/src/inja.hpp DESTINATION ${CURRENT_PACKAGES_DIR}/share/inja RENAME copyright)
+vcpkg_copy_pdbs()
diff --git a/ports/ismrmrd/CONTROL b/ports/ismrmrd/CONTROL
index 7aaa5a42b..3fe989da9 100644
--- a/ports/ismrmrd/CONTROL
+++ b/ports/ismrmrd/CONTROL
@@ -1,4 +1,4 @@
Source: ismrmrd
-Version: 1.3.2-1
+Version: 1.3.2-2
Description: ISMRM Raw Data Format
Build-Depends: pugixml
diff --git a/ports/ismrmrd/portfile.cmake b/ports/ismrmrd/portfile.cmake
index a3557f0d2..1fda781b2 100644
--- a/ports/ismrmrd/portfile.cmake
+++ b/ports/ismrmrd/portfile.cmake
@@ -41,7 +41,7 @@ file(COPY ${CURRENT_PACKAGES_DIR}/bin/ismrmrd_info.exe DESTINATION ${CURRENT_PAC
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin/ismrmrd_info.exe)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin/ismrmrd_info.exe)
-file(COPY ${CURRENT_BUILDTREES_DIR}/src/ismrmrd-1.3.2/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/ismrmrd)
+file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/ismrmrd)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/ismrmrd/LICENSE ${CURRENT_PACKAGES_DIR}/share/ismrmrd/copyright)
vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/ismrmrd)
diff --git a/ports/jemalloc/fix-cmakelists.patch b/ports/jemalloc/fix-cmakelists.patch
index a19cb4050..3ba70544c 100644
--- a/ports/jemalloc/fix-cmakelists.patch
+++ b/ports/jemalloc/fix-cmakelists.patch
@@ -35,7 +35,7 @@ index 06e83ef..229e17a 100644
${PROJECT_BINARY_DIR}/Debug
CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY_RELEASE
@@ -754,6 +752,9 @@ if(WIN32)
- COMPILE_PDB_NAME
+ COMPILE_PDB_NAME
${LIBJEMALLOCLIB}
)
+ if(NOT BUILD_SHARED_LIBS)
diff --git a/ports/jemalloc/portfile.cmake b/ports/jemalloc/portfile.cmake
index 3fe6fdbb7..527891666 100644
--- a/ports/jemalloc/portfile.cmake
+++ b/ports/jemalloc/portfile.cmake
@@ -20,6 +20,7 @@ vcpkg_apply_patches(
)
vcpkg_configure_cmake(
+ DISABLE_PARALLEL_CONFIGURE
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS -DGIT_FOUND=OFF -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON
diff --git a/ports/jsonnet/CONTROL b/ports/jsonnet/CONTROL
index fafb3c255..d559187f3 100644
--- a/ports/jsonnet/CONTROL
+++ b/ports/jsonnet/CONTROL
@@ -1,3 +1,3 @@
Source: jsonnet
-Version: 2018-03-11
+Version: 2018-04-25
Description: Jsonnet - The data templating language
diff --git a/ports/jsonnet/portfile.cmake b/ports/jsonnet/portfile.cmake
index ca5df8b29..6314800dc 100644
--- a/ports/jsonnet/portfile.cmake
+++ b/ports/jsonnet/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO google/jsonnet
- REF c03e3e7f40bcf6f2f62168ad0f0fe21137e0c972
- SHA512 b4bad7591b1a23fcb88e58377f472016177581f9256b9e721eab6e762ad2ec947c432cd1b2f659de54cd9ef4d7a67e6c190152365f6093610697a4e720be2a89
+ REF 33dd1c612d1026466cd37e04d3ea7d61ae07241e
+ SHA512 656939e57ed47a1ccb0656751176c58f575570d00a84c7b256898e25dd67f734b3cea014d328f63ece21b62f62d807643986dad65ca8cc3a7bda53f8b01f8a51
HEAD_REF master
)
diff --git a/ports/lcm/CONTROL b/ports/lcm/CONTROL
index e6b9803fe..0cca68404 100644
--- a/ports/lcm/CONTROL
+++ b/ports/lcm/CONTROL
@@ -1,5 +1,5 @@
Source: lcm
-Version: 1.3.95
+Version: 1.3.95-1
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/only-install-one-flavor.patch b/ports/lcm/only-install-one-flavor.patch
new file mode 100644
index 000000000..d22b83c23
--- /dev/null
+++ b/ports/lcm/only-install-one-flavor.patch
@@ -0,0 +1,19 @@
+diff --git a/lcm/CMakeLists.txt b/lcm/CMakeLists.txt
+index a706a85..639ec12 100644
+--- a/lcm/CMakeLists.txt
++++ b/lcm/CMakeLists.txt
+@@ -76,8 +76,12 @@ endif()
+ target_include_directories(lcm-coretypes INTERFACE
+ $<BUILD_INTERFACE:${lcm_SOURCE_DIR}>
+ )
+-
+-install(TARGETS lcm-coretypes lcm-static lcm
++if(BUILD_SHARED_LIBS)
++ set(INSTALL_TARGETS lcm)
++else()
++ set(INSTALL_TARGETS lcm-static)
++endif()
++install(TARGETS lcm-coretypes ${INSTALL_TARGETS}
+ EXPORT lcmTargets
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib${LIB_SUFFIX}
diff --git a/ports/lcm/portfile.cmake b/ports/lcm/portfile.cmake
index 98f34e2ca..b50139f62 100644
--- a/ports/lcm/portfile.cmake
+++ b/ports/lcm/portfile.cmake
@@ -8,15 +8,24 @@ vcpkg_from_github(
HEAD_REF master
)
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES ${CMAKE_CURRENT_LIST_DIR}/only-install-one-flavor.patch
+)
+
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS
+ -DLCM_ENABLE_JAVA=OFF
+ -DLCM_ENABLE_LUA=OFF
+ -DLCM_ENABLE_PYTHON=OFF
-DLCM_ENABLE_TESTS=OFF
+ -DLCM_INSTALL_M4MACROS=OFF
+ -DLCM_INSTALL_PKGCONFIG=OFF
)
vcpkg_install_cmake()
-vcpkg_copy_pdbs()
vcpkg_fixup_cmake_targets(CONFIG_PATH cmake)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
@@ -25,9 +34,22 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share/aclocal)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share/java)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share/man)
-file(COPY ${CURRENT_PACKAGES_DIR}/bin/lcm-gen.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools/lcm)
+file(GLOB EXES ${CURRENT_PACKAGES_DIR}/bin/*.exe)
+if(EXES)
+ file(COPY ${EXES} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/lcm)
+ file(REMOVE ${EXES})
+endif()
+file(GLOB DEBUG_EXES ${CURRENT_PACKAGES_DIR}/debug/bin/*.exe)
+if(DEBUG_EXES)
+ file(REMOVE ${DEBUG_EXES})
+endif()
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
+endif()
+
vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/lcm)
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin)
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin)
file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/lcm RENAME copyright)
+
+vcpkg_copy_pdbs()
diff --git a/ports/leveldb/CONTROL b/ports/leveldb/CONTROL
index 5953bc35d..515d7dfea 100644
--- a/ports/leveldb/CONTROL
+++ b/ports/leveldb/CONTROL
@@ -1,3 +1,3 @@
Source: leveldb
-Version: 2017-10-25-8b1cd3753b184341e837b30383832645135d3d73-1
+Version: 2017-10-25-8b1cd3753b184341e837b30383832645135d3d73-2
Description: LevelDB is a fast key-value storage library written at Google that provides an ordered mapping from string keys to string values.
diff --git a/ports/leveldb/portfile.cmake b/ports/leveldb/portfile.cmake
index 387cfd96e..9d6892977 100644
--- a/ports/leveldb/portfile.cmake
+++ b/ports/leveldb/portfile.cmake
@@ -1,23 +1,20 @@
include(vcpkg_common_functions)
-set(VCPKG_LIBRARY_LINKAGE static)
-
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/leveldb-8b1cd3753b184341e837b30383832645135d3d73)
+if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ message(STATUS "Warning: Dynamic building not supported yet. Building static.")
+ set(VCPKG_LIBRARY_LINKAGE static)
+endif()
vcpkg_from_github(
- OUT_SOURCE_PATH "leveldb"
- BRANCH "bitcoin-fork"
- REPO "bitcoin-core/leveldb"
- REF "8b1cd3753b184341e837b30383832645135d3d73"
+ OUT_SOURCE_PATH SOURCE_PATH
+ BRANCH "bitcoin-fork"
+ REPO "bitcoin-core/leveldb"
+ REF "8b1cd3753b184341e837b30383832645135d3d73"
SHA512 f5ad5fd21fb28ee052a4f3873abd58dab508c71621bcd482ab9e6ef4b57eca182c81502ddfe59736f5b2a54f2d05b397dd15982b3bd5d9039cd481eae3c7b958
)
-message(STATUS "Patching")
-
vcpkg_apply_patches(SOURCE_PATH ${SOURCE_PATH}
PATCHES ${CMAKE_CURRENT_LIST_DIR}/msvc_code_fix.diff)
-
-message(STATUS "Building")
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
diff --git a/ports/libffi/CMakeLists.txt b/ports/libffi/CMakeLists.txt
index 79e9e671d..1f8e2d332 100644
--- a/ports/libffi/CMakeLists.txt
+++ b/ports/libffi/CMakeLists.txt
@@ -1,13 +1,40 @@
-cmake_minimum_required(VERSION 3.0)
-project(libffi)
+cmake_minimum_required(VERSION 3.9)
+project(libffi C ASM)
+
+set(CMAKE_SHARED_LIBRARY_PREFIX)
+set(CMAKE_STATIC_LIBRARY_PREFIX)
+
+if(NOT CMAKE_SYSTEM_PROCESSOR)
+ set(CMAKE_SYSTEM_PROCESSOR "${CMAKE_HOST_SYSTEM_PROCESSOR}")
+endif()
# config variables for ffi.h.in
set(VERSION 3.1)
-if(CMAKE_SIZEOF_VOID_P EQUAL 4)
+
+set(KNOWN_PROCESSORS x86 x86_64 AMD64 ARM ARM64 i386)
+
+if(NOT CMAKE_SYSTEM_PROCESSOR IN_LIST KNOWN_PROCESSORS)
+ message(FATAL_ERROR "Unknown processor: ${CMAKE_SYSTEM_PROCESSOR}")
+endif()
+
+if(CMAKE_SYSTEM_PROCESSOR MATCHES "ARM")
+ set(TARGET ARM)
+elseif(CMAKE_SYSTEM_NAME MATCHES "BSD" AND CMAKE_SIZEOF_VOID_P EQUAL 4)
+ set(TARGET X86_FREEBSD)
+elseif(CMAKE_SYSTEM_NAME MATCHES "Windows" AND CMAKE_SIZEOF_VOID_P EQUAL 4)
set(TARGET X86_WIN32)
-else()
+elseif(CMAKE_SYSTEM_NAME MATCHES "Windows" AND CMAKE_SIZEOF_VOID_P EQUAL 8)
set(TARGET X86_WIN64)
+elseif(CMAKE_SYSTEM_NAME MATCHES "Darwin")
+ set(TARGET X86_DARWIN)
+elseif(CMAKE_SIZEOF_VOID_P EQUAL 8)
+ set(TARGET X86_64)
+elseif(CMAKE_SIZEOF_VOID_P EQUAL 4)
+ set(TARGET X86)
+else()
+ message(FATAL_ERROR "Cannot determine target. Please consult ${CMAKE_CURRENT_SOURCE_DIR}/configure.ac and add your platform to this CMake file.")
endif()
+
set(HAVE_LONG_DOUBLE 0)
set(HAVE_LONG_DOUBLE_VARIANT 0)
set(FFI_EXEC_TRAMPOLINE_TABLE 0)
@@ -24,33 +51,13 @@ include_directories(include)
add_definitions(-DHAVE_CONFIG_H)
add_definitions(-DFFI_BUILDING)
if(BUILD_SHARED_LIBS)
- add_definitions(-DFFI_EXPORT_DATA)
+ if(WIN32)
+ add_definitions(-DFFI_EXPORT_DATA)
+ endif()
set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
endif()
-if(CMAKE_SIZEOF_VOID_P EQUAL 4)
- set(ARCH_ASM_NAME win32)
- set(ARCH_ASSEMBLER ml /safeseh)
-else()
- set(ARCH_ASM_NAME win64)
- set(ARCH_ASSEMBLER ml64)
-endif()
-
-execute_process(
- COMMAND cl /nologo /EP /I. /Iinclude ${CMAKE_SOURCE_DIR}/src/x86/${ARCH_ASM_NAME}.S
- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
- OUTPUT_FILE ${ARCH_ASM_NAME}.asm)
-
-# Produced *.asm file could be just added to sources.
-# It works in x64 mode, but for some strange reason MASM returns error code when in x86,
-# (even though it didn't report any errors and correctly generated object file)
-# which in turn causes MSBUILD to stop.
-execute_process(
- COMMAND ${ARCH_ASSEMBLER} /c /Zi ${ARCH_ASM_NAME}.asm
- WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
-
set(FFI_SOURCES
- ${CMAKE_BINARY_DIR}/${ARCH_ASM_NAME}.obj
src/x86/ffi.c
src/closures.c
src/java_raw_api.c
@@ -58,6 +65,57 @@ set(FFI_SOURCES
src/raw_api.c
src/types.c)
+macro(add_assembly ASMFILE)
+ get_filename_component(ASMFILE_FULL "${ASMFILE}" ABSOLUTE)
+ if(MSVC)
+ if(CMAKE_SIZEOF_VOID_P EQUAL 4)
+ set(ARCH_ASSEMBLER ml /safeseh)
+ else()
+ set(ARCH_ASSEMBLER ml64)
+ endif()
+
+ get_filename_component(ARCH_ASM_NAME "${ASMFILE_FULL}" NAME_WE)
+
+ execute_process(
+ COMMAND ${CMAKE_C_COMPILER} /nologo /EP /I. /Iinclude ${ASMFILE_FULL}
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
+ OUTPUT_FILE ${ARCH_ASM_NAME}.asm
+ )
+
+ # Produced *.asm file could be just added to sources.
+ # It works in x64 mode, but for some strange reason MASM returns error code when in x86,
+ # (even though it didn't report any errors and correctly generated object file)
+ # which in turn causes MSBUILD to stop.
+ execute_process(
+ COMMAND ${ARCH_ASSEMBLER} /c /Zi ${ARCH_ASM_NAME}.asm
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
+ )
+
+ list(APPEND FFI_SOURCES ${CMAKE_BINARY_DIR}/${ARCH_ASM_NAME}.obj)
+ else()
+ list(APPEND FFI_SOURCES ${ASMFILE})
+ endif()
+endmacro()
+
+if("${TARGET}" STREQUAL "X86")
+ add_assembly(src/x86/sysv.S)
+ add_assembly(src/x86/win32.S)
+elseif("${TARGET}" STREQUAL "X86_64")
+ list(APPEND FFI_SOURCES src/x86/ffi64.c)
+ add_assembly(src/x86/unix64.S)
+ add_assembly(src/x86/sysv.S)
+elseif("${TARGET}" STREQUAL "X86_WIN32")
+ add_assembly(src/x86/win32.S)
+elseif("${TARGET}" STREQUAL "X86_WIN64")
+ add_assembly(src/x86/win64.S)
+elseif("${TARGET}" STREQUAL "X86_DARWIN")
+ list(APPEND FFI_SOURCES src/x86/ffi64.c)
+ add_assembly(src/x86/darwin.S)
+ add_assembly(src/x86/darwin64.S)
+else()
+ message(FATAL_ERROR "Target not implemented")
+endif()
+
if(CMAKE_BUILD_TYPE STREQUAL Debug)
list(APPEND FFI_SOURCES src/debug.c)
add_definitions(-DFFI_DEBUG)
diff --git a/ports/libffi/fficonfig.h b/ports/libffi/fficonfig.h
index b5cd2368f..ff8b0ca44 100644
--- a/ports/libffi/fficonfig.h
+++ b/ports/libffi/fficonfig.h
@@ -1,209 +1,46 @@
-/* fficonfig.h. Generated from fficonfig.h.in by configure. */
-/* fficonfig.h.in. Generated from configure.ac by autoheader. */
-
-/* Define if building universal (internal helper macro) */
-/* #undef AC_APPLE_UNIVERSAL_BUILD */
-
-/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
- systems. This function is required for `alloca.c' support on those systems.
- */
-/* #undef CRAY_STACKSEG_END */
-
-/* Define to 1 if using `alloca.c'. */
-/* #undef C_ALLOCA */
-
-/* Define to the flags needed for the .section .eh_frame directive. */
-/* #undef EH_FRAME_FLAGS */
-
-/* Define this if you want extra debugging. */
-/* #undef FFI_DEBUG */
-
-/* Cannot use PROT_EXEC on this target, so, we revert to alternative means */
-/* #undef FFI_EXEC_TRAMPOLINE_TABLE */
-
-/* Define this if you want to enable pax emulated trampolines */
-/* #undef FFI_MMAP_EXEC_EMUTRAMP_PAX */
-
-/* Cannot use malloc on this target, so, we revert to alternative means */
-/* #undef FFI_MMAP_EXEC_WRIT */
-
-/* Define this if you do not want support for the raw API. */
-/* #undef FFI_NO_RAW_API */
-
-/* Define this if you do not want support for aggregate types. */
-/* #undef FFI_NO_STRUCTS */
-
-/* Define to 1 if you have `alloca', as a function or macro. */
#define HAVE_ALLOCA 1
-
-/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
- */
-/* #undef HAVE_ALLOCA_H */
-
-/* Define if your assembler supports .ascii. */
#ifndef _WIN64
#define HAVE_AS_ASCII_PSEUDO_OP 1
#endif
-
-/* Define if your assembler supports .cfi_* directives. */
-/* #undef HAVE_AS_CFI_PSEUDO_OP */
-
-/* Define if your assembler supports .register. */
-/* #undef HAVE_AS_REGISTER_PSEUDO_OP */
-
-/* Define if your assembler and linker support unaligned PC relative relocs.
- */
-/* #undef HAVE_AS_SPARC_UA_PCREL */
-
-/* Define if your assembler supports .string. */
#ifndef _WIN64
#define HAVE_AS_STRING_PSEUDO_OP 1
#endif
-
-/* Define if your assembler supports unwind section type. */
-/* #undef HAVE_AS_X86_64_UNWIND_SECTION_TYPE */
-
-/* Define if your assembler supports PC relative relocs. */
#ifndef _WIN64
#define HAVE_AS_X86_PCREL 1
#endif
-
-/* Define to 1 if you have the <dlfcn.h> header file. */
-/* #undef HAVE_DLFCN_H */
-
-/* Define if __attribute__((visibility("hidden"))) is supported. */
-/* #undef HAVE_HIDDEN_VISIBILITY_ATTRIBUTE */
-
-/* Define to 1 if you have the <inttypes.h> header file. */
#define HAVE_INTTYPES_H 1
-
-/* Define if you have the long double type and it is bigger than a double */
-/* #undef HAVE_LONG_DOUBLE */
-
-/* Define if you support more than one size of the long double type */
-/* #undef HAVE_LONG_DOUBLE_VARIANT */
-
-/* Define to 1 if you have the `memcpy' function. */
-/* #undef HAVE_MEMCPY */
-
-/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
-
-/* Define to 1 if you have the `mmap' function. */
-/* #undef HAVE_MMAP */
-
-/* Define if mmap with MAP_ANON(YMOUS) works. */
-/* #undef HAVE_MMAP_ANON */
-
-/* Define if mmap of /dev/zero works. */
-/* #undef HAVE_MMAP_DEV_ZERO */
-
-/* Define if read-only mmap of a plain file works. */
-/* #undef HAVE_MMAP_FILE */
-
-/* Define if .eh_frame sections should be read-only. */
-/* #undef HAVE_RO_EH_FRAME */
-
-/* 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. */
-/* #undef HAVE_STRINGS_H */
-
-/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
-
-/* Define to 1 if you have the <sys/mman.h> header file. */
-/* #undef HAVE_SYS_MMAN_H */
-
-/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_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. */
-/* #undef HAVE_UNISTD_H */
-
-/* Define to the sub-directory where libtool stores uninstalled libraries. */
#define LT_OBJDIR ".libs/"
-
-/* Name of package */
#define PACKAGE "libffi"
-
-/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT "http://github.com/atgreen/libffi/issues"
-
-/* Define to the full name of this package. */
#define PACKAGE_NAME "libffi"
-
-/* Define to the full name and version of this package. */
#define PACKAGE_STRING "libffi 3.1"
-
-/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "libffi"
-
-/* Define to the home page for this package. */
#define PACKAGE_URL ""
-
-/* Define to the version of this package. */
#define PACKAGE_VERSION "3.1"
-
-/* The size of `double', as computed by sizeof. */
#define SIZEOF_DOUBLE 8
-
-/* The size of `long double', as computed by sizeof. */
#define SIZEOF_LONG_DOUBLE 8
-
-/* The size of `size_t', as computed by sizeof. */
#ifndef _WIN64
#define SIZEOF_SIZE_T 4
#else
#define SIZEOF_SIZE_T 8
#endif
-
-/* If using the C implementation of alloca, define if you know the
- direction of stack growth for your system; otherwise it will be
- automatically deduced at runtime.
- STACK_DIRECTION > 0 => grows toward higher addresses
- STACK_DIRECTION < 0 => grows toward lower addresses
- STACK_DIRECTION = 0 => direction of growth unknown */
-/* #undef STACK_DIRECTION */
-
-/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1
-
-/* Define if symbols are underscored. */
#ifndef _WIN64
#define SYMBOL_UNDERSCORE 1
#endif
-
-/* Define this if you are using Purify and want to suppress spurious messages.
- */
-/* #undef USING_PURIFY */
-
-/* Version number of package */
#define VERSION "3.1"
-
-/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
- significant byte first (like Motorola and SPARC, unlike Intel). */
#if defined AC_APPLE_UNIVERSAL_BUILD
# if defined __BIG_ENDIAN__
# define WORDS_BIGENDIAN 1
# endif
-#else
-# ifndef WORDS_BIGENDIAN
-/* # undef WORDS_BIGENDIAN */
-# endif
#endif
-/* Define to `unsigned int' if <sys/types.h> does not define. */
-/* #undef size_t */
-
-
#ifdef HAVE_HIDDEN_VISIBILITY_ATTRIBUTE
#ifdef LIBFFI_ASM
#define FFI_HIDDEN(name) .hidden name
diff --git a/ports/libffi/portfile.cmake b/ports/libffi/portfile.cmake
index 4240ddc54..8799e23a8 100644
--- a/ports/libffi/portfile.cmake
+++ b/ports/libffi/portfile.cmake
@@ -16,14 +16,16 @@ file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
PATCHES
- ${CMAKE_CURRENT_LIST_DIR}/export-global-data.patch)
+ ${CMAKE_CURRENT_LIST_DIR}/export-global-data.patch
+)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
OPTIONS
-DFFI_CONFIG_FILE=${CMAKE_CURRENT_LIST_DIR}/fficonfig.h
OPTIONS_DEBUG
- -DFFI_SKIP_HEADERS=ON)
+ -DFFI_SKIP_HEADERS=ON
+)
vcpkg_install_cmake()
vcpkg_copy_pdbs()
@@ -32,7 +34,8 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
vcpkg_apply_patches(
SOURCE_PATH ${CURRENT_PACKAGES_DIR}/include
PATCHES
- ${CMAKE_CURRENT_LIST_DIR}/auto-define-static-macro.patch)
+ ${CMAKE_CURRENT_LIST_DIR}/auto-define-static-macro.patch
+ )
endif()
file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libffi)
diff --git a/ports/libflac/CMakeLists.txt b/ports/libflac/CMakeLists.txt
index 518419c4f..d6f01399a 100644
--- a/ports/libflac/CMakeLists.txt
+++ b/ports/libflac/CMakeLists.txt
@@ -7,15 +7,22 @@ if(NOT DEFINED LIBFLAC_ARCHITECTURE)
message(FATAL_ERROR "Target architecture not specified")
endif()
-file(GLOB LIBFLAC_SOURCES
- ${PROJECT_SOURCE_DIR}/src/libFLAC/*.c
- ${PROJECT_SOURCE_DIR}/src/share/win_utf8_io/win_utf8_io.c)
+file(GLOB LIBFLAC_SOURCES src/libFLAC/*.c)
-file(GLOB LIBFLACXX_SOURCES
- ${PROJECT_SOURCE_DIR}/src/libFLAC++/*.cpp)
+if(WIN32)
+ list(APPEND LIBFLAC_SOURCES src/share/win_utf8_io/win_utf8_io.c)
+else()
+ list(FILTER LIBFLAC_SOURCES EXCLUDE REGEX "windows[^/]*$")
+
+ file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/config.h "#include <inttypes.h>")
+ include_directories(${CMAKE_CURRENT_BINARY_DIR})
+ add_definitions(-DHAVE_CONFIG_H)
+endif()
+
+file(GLOB LIBFLACXX_SOURCES src/libFLAC++/*.cpp)
-include_directories(${PROJECT_SOURCE_DIR}/include)
-include_directories(${PROJECT_SOURCE_DIR}/src/libFLAC/include)
+include_directories(include)
+include_directories(src/libFLAC/include)
if(NOT LIBFLAC_ARCHITECTURE MATCHES arm)
add_definitions(-DFLAC__SSE_OS)
@@ -44,14 +51,15 @@ endif()
add_definitions(-DPACKAGE_VERSION="1.3.2")
add_definitions(-DFLAC__HAS_OGG)
add_definitions(-DFLAC__ALIGN_MALLOC_DATA) # 32 byte boundary
+add_definitions(-DHAVE_LROUND)
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
add_definitions(-D_CRT_NONSTDC_NO_WARNINGS)
add_library(libFLAC ${LIBFLAC_SOURCES})
add_library(libFLACXX ${LIBFLACXX_SOURCES})
-set_target_properties(libFLAC PROPERTIES OUTPUT_NAME flac)
-set_target_properties(libFLACXX PROPERTIES OUTPUT_NAME flac++)
+set_target_properties(libFLAC PROPERTIES OUTPUT_NAME FLAC)
+set_target_properties(libFLACXX PROPERTIES OUTPUT_NAME FLAC++)
find_library(OGG_LIBRARY ogg)
find_path(OGG_INCLUDE_DIR ogg/ogg.h)
@@ -73,10 +81,10 @@ install(TARGETS libFLAC libFLACXX
LIBRARY DESTINATION lib)
if(NOT DEFINED LIBFLAC_SKIP_HEADERS)
- install(DIRECTORY ${PROJECT_SOURCE_DIR}/include/FLAC/
+ install(DIRECTORY include/FLAC/
DESTINATION include/FLAC
FILES_MATCHING PATTERN "*.h")
- install(DIRECTORY ${PROJECT_SOURCE_DIR}/include/FLAC++/
+ install(DIRECTORY include/FLAC++/
DESTINATION include/FLAC++
FILES_MATCHING PATTERN "*.h")
endif()
diff --git a/ports/libflac/CONTROL b/ports/libflac/CONTROL
index ca2995d68..1a16c7a6a 100644
--- a/ports/libflac/CONTROL
+++ b/ports/libflac/CONTROL
@@ -1,4 +1,4 @@
Source: libflac
-Version: 1.3.2-4
+Version: 1.3.2-5
Description: Library for manipulating FLAC files
Build-Depends: libogg
diff --git a/ports/libgo/CONTROL b/ports/libgo/CONTROL
new file mode 100644
index 000000000..5764d77fb
--- /dev/null
+++ b/ports/libgo/CONTROL
@@ -0,0 +1,3 @@
+Source: libgo
+Version: 2.7
+Description: The best stackful coroutine by c++11.
diff --git a/ports/libgo/cmake.patch b/ports/libgo/cmake.patch
new file mode 100644
index 000000000..f6fd5fef8
--- /dev/null
+++ b/ports/libgo/cmake.patch
@@ -0,0 +1,38 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 0d291e4..0f6cc38 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -158,7 +158,7 @@ if (UNIX)
+ set(CMAKE_CXX_FLAGS "-std=c++11 -fPIC -Wall -pthread ${CMAKE_CXX_FLAGS}")
+ set(CMAKE_CXX_FLAGS_DEBUG "-g -pg ${CMAKE_CXX_FLAGS} -Werror")
+ set(CMAKE_CXX_FLAGS_RELEASE "-g -O3 ${CMAKE_CXX_FLAGS} -Werror")
+-else ()
++elseif (NOT DISABLE_ADJUST_COMMAND_LINE_FLAGS)
+ if (NOT DISABLE_DYNAMIC_LIB)
+ set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MDd")
+ set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MD")
+@@ -180,7 +180,7 @@ set(STATIC_T "libgo_static")
+ add_library("${STATIC_T}" STATIC ${CO_SRC_LIST})
+ set_target_properties("${STATIC_T}" PROPERTIES OUTPUT_NAME "${TARGET}")
+
+-if (UNIX)
++if (UNIX OR FORCE_UNIX_TARGETS)
+ add_subdirectory(${PROJECT_SOURCE_DIR}/libgo/main)
+
+ if (NOT DISABLE_DYNAMIC_LIB)
+@@ -201,9 +201,15 @@ if (UNIX)
+ PATTERN "ctx_boost_coroutine" EXCLUDE
+ PATTERN "ctx_ucontext" EXCLUDE
+ PATTERN "*.h")
++ if(UNIX)
+ install(DIRECTORY ${PROJECT_SOURCE_DIR}/libgo/linux/ DESTINATION "include/libgo" FILES_MATCHING PATTERN "*.h")
++ else()
++ install(DIRECTORY ${PROJECT_SOURCE_DIR}/libgo/windows/ DESTINATION "include/libgo" FILES_MATCHING PATTERN "*.h")
++ endif()
++ if(NOT DISABLE_SYSTEMWIDE)
+ file(WRITE ${PROJECT_SOURCE_DIR}/tools/libgo.conf "${CMAKE_INSTALL_PREFIX}/lib")
+ install(FILES ${PROJECT_SOURCE_DIR}/tools/libgo.conf DESTINATION "/etc/ld.so.conf.d")
++ endif()
+ if (DEPEND_BOOST)
+ install(DIRECTORY ${PROJECT_SOURCE_DIR}/libgo/ctx_boost_coroutine/ DESTINATION "include/libgo/ctx_boost_coroutine" FILES_MATCHING PATTERN "*.h")
+ install(DIRECTORY ${PROJECT_SOURCE_DIR}/libgo/ctx_boost_context/ DESTINATION "include/libgo/ctx_boost_context" FILES_MATCHING PATTERN "*.h")
diff --git a/ports/libgo/libgo-config.cmake b/ports/libgo/libgo-config.cmake
new file mode 100644
index 000000000..fd52f8dd3
--- /dev/null
+++ b/ports/libgo/libgo-config.cmake
@@ -0,0 +1,25 @@
+get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
+
+if(NOT LIBGO_FIND_COMPONENTS)
+ set(LIBGO_FIND_COMPONENTS libgo libgo)
+ if(LIBGO_FIND_REQUIRED)
+ set(LIBGO_FIND_REQUIRED_libgo TRUE)
+ endif()
+
+ set(LIBGO_FOUND TRUE)
+endif()
+
+set(LIBGO_INCLUDE_DIRS ${_DIR}/../../include)
+set(LIBGO_LIBRARIES)
+if (EXISTS ${_DIR}/../../lib/liblibgo.a)
+ list(APPEND LIBGO_LIBRARIES optimized ${_DIR}/../../lib/liblibgo.a)
+endif()
+if (EXISTS ${_DIR}/../../debug/lib/liblibgo.a)
+ list(APPEND LIBGO_LIBRARIES debug ${_DIR}/../../debug/lib/liblibgo.a)
+endif()
+if (EXISTS ${_DIR}/../../lib/libgo.lib)
+ list(APPEND LIBGO_LIBRARIES optimized ${_DIR}/../../lib/libgo.lib)
+endif()
+if (EXISTS ${_DIR}/../../debug/lib/libgo.lib)
+ list(APPEND LIBGO_LIBRARIES debug ${_DIR}/../../debug/lib/libgo.lib)
+endif()
diff --git a/ports/libgo/portfile.cmake b/ports/libgo/portfile.cmake
new file mode 100644
index 000000000..6807aabfb
--- /dev/null
+++ b/ports/libgo/portfile.cmake
@@ -0,0 +1,62 @@
+include(vcpkg_common_functions)
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
+ message("libgo currently only supports static linkage")
+ set(VCPKG_LIBRARY_LINKAGE static)
+endif()
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO yyzybb537/libgo
+ REF v2.7
+ SHA512 eb83b87cf06464be8fc9632b69c14fd6e0612bedbf5b2e04c0a9c178d554ece85e3673b4e6076d7d8801d308d5975f6347662f2c2c4682cc8583b3096cced574
+ HEAD_REF master
+ PATCHES ${CMAKE_CURRENT_LIST_DIR}/cmake.patch
+)
+
+vcpkg_download_distfile(ARCHIVE
+ URLS "https://github.com/XBased/xhook/archive/e18c450541892212ca4f11dc91fa269fabf9646f.tar.gz"
+ FILENAME "xhook-e18c450541892212ca4f11dc91fa269fabf9646f.tar.gz"
+ SHA512 1bcf320f50cff13d92013a9f0ab5c818c2b6b63e9c1ac18c5dd69189e448d7a848f1678389d8b2c08c65f907afb3909e743f6c593d9cfb21e2bb67d5c294a166
+)
+
+file(REMOVE_RECURSE ${SOURCE_PATH}/third_party)
+
+vcpkg_extract_source_archive(${ARCHIVE} ${SOURCE_PATH}/third_party)
+file(RENAME ${SOURCE_PATH}/third_party/xhook-e18c450541892212ca4f11dc91fa269fabf9646f ${SOURCE_PATH}/third_party/xhook)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DDISABLE_ADJUST_COMMAND_LINE_FLAGS=ON
+ -DDISABLE_DYNAMIC_LIB=ON
+ -DFORCE_UNIX_TARGETS=ON
+ -DDISABLE_SYSTEMWIDE=ON
+)
+
+vcpkg_install_cmake()
+
+# remove duplicated include files
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/libgo/disable_hook)
+
+file(GLOB REL_MAIN ${CURRENT_PACKAGES_DIR}/lib/libgo_main.lib ${CURRENT_PACKAGES_DIR}/lib/liblibgo_main.a)
+if(REL_MAIN)
+ file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/lib/manual-link)
+ file(COPY ${REL_MAIN} DESTINATION ${CURRENT_PACKAGES_DIR}/lib/manual-link)
+ file(REMOVE ${REL_MAIN})
+endif()
+
+file(GLOB DBG_MAIN ${CURRENT_PACKAGES_DIR}/debug/lib/libgo_main.lib ${CURRENT_PACKAGES_DIR}/debug/lib/liblibgo_main.a)
+if(DBG_MAIN)
+ file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link)
+ file(COPY ${DBG_MAIN} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link)
+ file(REMOVE ${DBG_MAIN})
+endif()
+
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libgo RENAME copyright)
+file(INSTALL ${CURRENT_PORT_DIR}/libgo-config.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/libgo)
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
diff --git a/ports/libgo/usage b/ports/libgo/usage
new file mode 100644
index 000000000..a8f072947
--- /dev/null
+++ b/ports/libgo/usage
@@ -0,0 +1,5 @@
+The package libgo provides CMake integration:
+
+ find_package(libgo REQUIRED)
+ target_include_directories(main PRIVATE ${LIBGO_INCLUDE_DIRS})
+ target_link_libraries(main PRIVATE ${LIBGO_LIBRARIES})
diff --git a/ports/libiconv/CONTROL b/ports/libiconv/CONTROL
index 8bb9625b9..852156dc6 100644
--- a/ports/libiconv/CONTROL
+++ b/ports/libiconv/CONTROL
@@ -1,3 +1,3 @@
Source: libiconv
-Version: 1.15-2
+Version: 1.15-4
Description: GNU Unicode text conversion
diff --git a/ports/libiconv/portfile.cmake b/ports/libiconv/portfile.cmake
index bded180db..f1ee147f9 100644
--- a/ports/libiconv/portfile.cmake
+++ b/ports/libiconv/portfile.cmake
@@ -1,7 +1,7 @@
if(VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
set(VCPKG_POLICY_EMPTY_PACKAGE enabled)
- file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/libiconv)
- file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-iconv-config.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/libiconv)
+ file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/unofficial-iconv)
+ file(COPY ${CMAKE_CURRENT_LIST_DIR}/unofficial-iconv-config.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/unofficial-iconv)
return()
endif()
diff --git a/ports/libiconv/unofficial-iconv-config.cmake b/ports/libiconv/unofficial-iconv-config.cmake
new file mode 100644
index 000000000..7d08ff5f5
--- /dev/null
+++ b/ports/libiconv/unofficial-iconv-config.cmake
@@ -0,0 +1,6 @@
+add_library(unofficial::iconv::libcharset INTERFACE IMPORTED)
+add_library(unofficial::iconv::libiconv INTERFACE IMPORTED)
+if(APPLE)
+ set_property(TARGET unofficial::iconv::libcharset PROPERTY INTERFACE_LINK_LIBRARIES "charset;unofficial::iconv::libiconv")
+ set_property(TARGET unofficial::iconv::libiconv PROPERTY INTERFACE_LINK_LIBRARIES "iconv")
+endif() \ No newline at end of file
diff --git a/ports/libiconv/vcpkg-iconv-config.cmake b/ports/libiconv/vcpkg-iconv-config.cmake
deleted file mode 100644
index 4befd4d15..000000000
--- a/ports/libiconv/vcpkg-iconv-config.cmake
+++ /dev/null
@@ -1,2 +0,0 @@
-add_library(unofficial::vcpkg::libcharset UNKNOWN IMPORTED)
-add_library(unofficial::vcpkg::libiconv UNKNOWN IMPORTED)
diff --git a/ports/libjpeg-turbo/CONTROL b/ports/libjpeg-turbo/CONTROL
index 2bb119dbc..fa72d68b0 100644
--- a/ports/libjpeg-turbo/CONTROL
+++ b/ports/libjpeg-turbo/CONTROL
@@ -1,3 +1,3 @@
Source: libjpeg-turbo
-Version: 1.5.3
+Version: 1.5.3-1
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/portfile.cmake b/ports/libjpeg-turbo/portfile.cmake
index 2c8c20f92..7f6bc4973 100644
--- a/ports/libjpeg-turbo/portfile.cmake
+++ b/ports/libjpeg-turbo/portfile.cmake
@@ -7,13 +7,20 @@ vcpkg_from_github(
HEAD_REF master
)
+vcpkg_download_distfile(GETENV_PATCH
+ URLS "https://github.com/libjpeg-turbo/libjpeg-turbo/commit/bd96b30b74fe166fc94218cfc64a097fafdcc05f.diff"
+ FILENAME "libjpeg-turbo-bd96b30b74fe166fc94218cfc64a097fafdcc05f.diff"
+ SHA512 4cd064521b5e4baba4adf972f9f574f6dd43a2cd3e3ad143ca2cdf0f165024406d4fd2ed094124d0c17c5370394140e82fdd892d3cdc49609acdf8f79db1758c
+)
+
vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
PATCHES "${CMAKE_CURRENT_LIST_DIR}/add-options-for-exes-docs-headers.patch"
"${CMAKE_CURRENT_LIST_DIR}/linux-cmake.patch"
+ "${GETENV_PATCH}"
)
-if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux")
+if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64" OR (VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore"))
set(LIBJPEGTURBO_SIMD -DWITH_SIMD=OFF)
else()
set(LIBJPEGTURBO_SIMD -DWITH_SIMD=ON)
@@ -22,6 +29,10 @@ else()
set(ENV{PATH} "$ENV{PATH};${NASM_EXE_PATH}")
endif()
+if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ set(ENV{_CL_} "-DNO_GETENV -DNO_PUTENV")
+endif()
+
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" ENABLE_SHARED)
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" ENABLE_STATIC)
string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "dynamic" WITH_CRT_DLL)
diff --git a/ports/liblinear/CMakeLists.txt b/ports/liblinear/CMakeLists.txt
new file mode 100644
index 000000000..6e6928a91
--- /dev/null
+++ b/ports/liblinear/CMakeLists.txt
@@ -0,0 +1,47 @@
+cmake_minimum_required(VERSION 3.9)
+project(liblinear)
+
+add_definitions(-D_CRT_SECURE_NO_DEPRECATE)
+
+add_library(blas OBJECT
+ blas/daxpy.c
+ blas/ddot.c
+ blas/dnrm2.c
+ blas/dscal.c
+)
+
+add_library(liblinear
+ linear.cpp
+ tron.cpp
+ $<TARGET_OBJECTS:blas>
+)
+target_include_directories(liblinear PRIVATE .)
+if(BUILD_SHARED_LIBS)
+ target_link_libraries(liblinear PRIVATE "-DEF:${CMAKE_CURRENT_SOURCE_DIR}/linear.def")
+endif()
+
+add_executable(train train.c $<TARGET_OBJECTS:blas>)
+target_link_libraries(train liblinear)
+
+add_executable(predict predict.c $<TARGET_OBJECTS:blas>)
+target_link_libraries(predict liblinear)
+
+install(
+ TARGETS liblinear
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib
+)
+
+if(NOT DISABLE_INSTALL_TOOLS)
+ install(
+ TARGETS train predict
+ RUNTIME DESTINATION tools/liblinear
+ )
+endif()
+
+if(NOT DISABLE_INSTALL_HEADERS)
+ install(
+ FILES linear.h tron.h
+ DESTINATION include/liblinear)
+endif() \ No newline at end of file
diff --git a/ports/liblinear/CONTROL b/ports/liblinear/CONTROL
new file mode 100644
index 000000000..3e83e601d
--- /dev/null
+++ b/ports/liblinear/CONTROL
@@ -0,0 +1,3 @@
+Source: liblinear
+Version: 2.20
+Description: A Library for Large Linear Classification
diff --git a/ports/liblinear/portfile.cmake b/ports/liblinear/portfile.cmake
new file mode 100644
index 000000000..4d662d0a5
--- /dev/null
+++ b/ports/liblinear/portfile.cmake
@@ -0,0 +1,26 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO cjlin1/liblinear
+ REF v220
+ SHA512 cde798b7cb221513cf2b8bbe134d6c3dce1ed26c43504d8c09dbed93b82ca47bfd271d4dd3d03384187273906ce140d4ce4418a4a8c21410015ec1631c1042c6
+ HEAD_REF master
+)
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS_DEBUG
+ -DDISABLE_INSTALL_HEADERS=ON
+ -DDISABLE_INSTALL_TOOLS=ON
+)
+
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/liblinear)
+
+file(INSTALL ${SOURCE_PATH}/COPYRIGHT DESTINATION ${CURRENT_PACKAGES_DIR}/share/liblinear RENAME copyright)
+file(INSTALL ${SOURCE_PATH}/README DESTINATION ${CURRENT_PACKAGES_DIR}/share/liblinear)
diff --git a/ports/libmariadb/portfile.cmake b/ports/libmariadb/portfile.cmake
index 3aca7afb3..4486564f6 100644
--- a/ports/libmariadb/portfile.cmake
+++ b/ports/libmariadb/portfile.cmake
@@ -1,24 +1,24 @@
-if (EXISTS "${CURRENT_INSTALLED_DIR}/include/mysql/mysql.h")
- message(FATAL_ERROR "FATAL ERROR: libmysql and libmariadb are incompatible.")
+if (EXISTS "${CURRENT_INSTALLED_DIR}/share/libmysql")
+ message(FATAL_ERROR "FATAL ERROR: libmysql and libmariadb are incompatible.")
endif()
include(vcpkg_common_functions)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/mariadb-connector-c-3.0.2)
-vcpkg_download_distfile(ARCHIVE
- URLS "https://github.com/MariaDB/mariadb-connector-c/archive/v3.0.2.tar.gz"
- FILENAME "mariadb-connector-c-3.0.2.tar.gz"
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO MariaDB/mariadb-connector-c
+ REF v3.0.2
SHA512 a5086ff149b1ca0e1b652013475c5f3793824416a60ec35018b6dcd502bd38b50fa040271ff8d308520dadecc9601671fccf67046fcda2425f1d7c59e1c6c52f
+ HEAD_REF master
)
-vcpkg_extract_source_archive(${ARCHIVE})
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
- OPTIONS
- -DWITH_UNITTEST=OFF
- -DWITH_SSL=OFF
- -DWITH_CURL=OFF
+ OPTIONS
+ -DWITH_UNITTEST=OFF
+ -DWITH_SSL=OFF
+ -DWITH_CURL=OFF
)
vcpkg_install_cmake()
@@ -28,47 +28,47 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
# fix libmariadb lib & dll directory.
if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
- file(RENAME
- ${CURRENT_PACKAGES_DIR}/lib/mariadb/mariadbclient.lib
- ${CURRENT_PACKAGES_DIR}/lib/mariadbclient.lib)
- file(RENAME
- ${CURRENT_PACKAGES_DIR}/debug/lib/mariadb/mariadbclient.lib
- ${CURRENT_PACKAGES_DIR}/debug/lib/mariadbclient.lib)
+ file(RENAME
+ ${CURRENT_PACKAGES_DIR}/lib/mariadb/mariadbclient.lib
+ ${CURRENT_PACKAGES_DIR}/lib/mariadbclient.lib)
+ file(RENAME
+ ${CURRENT_PACKAGES_DIR}/debug/lib/mariadb/mariadbclient.lib
+ ${CURRENT_PACKAGES_DIR}/debug/lib/mariadbclient.lib)
else()
- file(MAKE_DIRECTORY
- ${CURRENT_PACKAGES_DIR}/bin
- ${CURRENT_PACKAGES_DIR}/debug/bin)
- file(RENAME
- ${CURRENT_PACKAGES_DIR}/lib/mariadb/libmariadb.dll
- ${CURRENT_PACKAGES_DIR}/bin/libmariadb.dll)
- file(RENAME
- ${CURRENT_PACKAGES_DIR}/debug/lib/mariadb/libmariadb.dll
- ${CURRENT_PACKAGES_DIR}/debug/bin/libmariadb.dll)
- file(RENAME
- ${CURRENT_PACKAGES_DIR}/lib/mariadb/libmariadb.lib
- ${CURRENT_PACKAGES_DIR}/lib/libmariadb.lib)
- file(RENAME
- ${CURRENT_PACKAGES_DIR}/debug/lib/mariadb/libmariadb.lib
- ${CURRENT_PACKAGES_DIR}/debug/lib/libmariadb.lib)
+ file(MAKE_DIRECTORY
+ ${CURRENT_PACKAGES_DIR}/bin
+ ${CURRENT_PACKAGES_DIR}/debug/bin)
+ file(RENAME
+ ${CURRENT_PACKAGES_DIR}/lib/mariadb/libmariadb.dll
+ ${CURRENT_PACKAGES_DIR}/bin/libmariadb.dll)
+ file(RENAME
+ ${CURRENT_PACKAGES_DIR}/debug/lib/mariadb/libmariadb.dll
+ ${CURRENT_PACKAGES_DIR}/debug/bin/libmariadb.dll)
+ file(RENAME
+ ${CURRENT_PACKAGES_DIR}/lib/mariadb/libmariadb.lib
+ ${CURRENT_PACKAGES_DIR}/lib/libmariadb.lib)
+ file(RENAME
+ ${CURRENT_PACKAGES_DIR}/debug/lib/mariadb/libmariadb.lib
+ ${CURRENT_PACKAGES_DIR}/debug/lib/libmariadb.lib)
endif()
# remove plugin folder
file(REMOVE_RECURSE
- ${CURRENT_PACKAGES_DIR}/lib/plugin
- ${CURRENT_PACKAGES_DIR}/debug/lib/plugin
- ${CURRENT_PACKAGES_DIR}/lib/mariadb
- ${CURRENT_PACKAGES_DIR}/debug/lib/mariadb)
+ ${CURRENT_PACKAGES_DIR}/lib/plugin
+ ${CURRENT_PACKAGES_DIR}/debug/lib/plugin
+ ${CURRENT_PACKAGES_DIR}/lib/mariadb
+ ${CURRENT_PACKAGES_DIR}/debug/lib/mariadb)
# copy & remove header files
file(GLOB HEADER_FILES ${CURRENT_PACKAGES_DIR}/include/mariadb/*)
file(REMOVE
- ${CURRENT_PACKAGES_DIR}/include/mariadb/my_config.h.in
- ${CURRENT_PACKAGES_DIR}/include/mariadb/mysql_version.h.in
- ${CURRENT_PACKAGES_DIR}/include/mariadb/CMakeLists.txt
- ${CURRENT_PACKAGES_DIR}/include/mariadb/Makefile.am)
+ ${CURRENT_PACKAGES_DIR}/include/mariadb/my_config.h.in
+ ${CURRENT_PACKAGES_DIR}/include/mariadb/mysql_version.h.in
+ ${CURRENT_PACKAGES_DIR}/include/mariadb/CMakeLists.txt
+ ${CURRENT_PACKAGES_DIR}/include/mariadb/Makefile.am)
file(RENAME
- ${CURRENT_PACKAGES_DIR}/include/mariadb
- ${CURRENT_PACKAGES_DIR}/include/mysql)
+ ${CURRENT_PACKAGES_DIR}/include/mariadb
+ ${CURRENT_PACKAGES_DIR}/include/mysql)
# copy license file
file(COPY ${SOURCE_PATH}/COPYING.LIB DESTINATION ${CURRENT_PACKAGES_DIR}/share/libmariadb)
diff --git a/ports/libmysql/CONTROL b/ports/libmysql/CONTROL
index 8350014e4..6f856c607 100644
--- a/ports/libmysql/CONTROL
+++ b/ports/libmysql/CONTROL
@@ -1,3 +1,4 @@
Source: libmysql
-Version: 5.7.17-3
+Version: 8.0.4-2
+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/boost_and_build.patch b/ports/libmysql/boost_and_build.patch
deleted file mode 100644
index 7fce8ffc5..000000000
--- a/ports/libmysql/boost_and_build.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 44842d3..e34ab24 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -452,7 +452,7 @@ ELSE()
- SET(DEFAULT_TMPDIR "\"${TMPDIR}\"")
- ENDIF()
-
--INCLUDE(cmake/boost.cmake)
-+#INCLUDE(cmake/boost.cmake)
-
- IF (CMAKE_SYSTEM_NAME MATCHES "Linux")
- OPTION(WITH_SYSTEMD "Enable installation of systemd support files" OFF)
-diff --git a/client/dump/CMakeLists.txt b/client/dump/CMakeLists.txt
-index bae2ce7..4e11516 100644
---- a/client/dump/CMakeLists.txt
-+++ b/client/dump/CMakeLists.txt
-@@ -21,12 +21,12 @@ INCLUDE_DIRECTORIES(
- ${CMAKE_SOURCE_DIR}/dump
- )
-
--IF (CMAKE_CXX_COMPILER_ID STREQUAL "SunPro")
-+#IF (CMAKE_CXX_COMPILER_ID STREQUAL "SunPro")
- IF (WITHOUT_SERVER)
- MESSAGE(STATUS "Not building mysqlpump")
- RETURN()
- ENDIF()
--ENDIF()
-+#ENDIF()
-
- # Prevent Boost from including external precompiled Boost libraries, use
- # threading (not implemented for older Solaris Studio compilers)
-diff --git a/mysys/mysys_priv.h b/mysys/mysys_priv.h
-index 8b7a554..4353037 100644
---- a/mysys/mysys_priv.h
-+++ b/mysys/mysys_priv.h
-@@ -18,6 +18,7 @@
-
- #include "my_global.h"
- #include "mysql/psi/mysql_thread.h"
-+#include "my_sys.h"
-
- #ifdef HAVE_PSI_INTERFACE
-
diff --git a/ports/libmysql/ignore-boost-version.patch b/ports/libmysql/ignore-boost-version.patch
new file mode 100644
index 000000000..ea7111ded
--- /dev/null
+++ b/ports/libmysql/ignore-boost-version.patch
@@ -0,0 +1,13 @@
+diff --git a/cmake/boost.cmake b/cmake/boost.cmake
+index 2851181..8788322 100644
+--- a/cmake/boost.cmake
++++ b/cmake/boost.cmake
+@@ -280,7 +280,7 @@ IF(NOT BOOST_MAJOR_VERSION EQUAL 10)
+ COULD_NOT_FIND_BOOST()
+ ENDIF()
+
+-IF(NOT BOOST_MINOR_VERSION EQUAL 65)
++IF(NOT BOOST_MINOR_VERSION EQUAL 65 AND NOT IGNORE_BOOST_VERSION)
+ MESSAGE(WARNING "Boost minor version found is ${BOOST_MINOR_VERSION} "
+ "we need 65"
+ )
diff --git a/ports/libmysql/portfile.cmake b/ports/libmysql/portfile.cmake
index dee383a81..0e7b69edf 100644
--- a/ports/libmysql/portfile.cmake
+++ b/ports/libmysql/portfile.cmake
@@ -6,22 +6,29 @@ if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
message(FATAL_ERROR "libmysql cannot currently be cross-compiled for UWP")
endif()
+if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" AND NOT CMAKE_SYSTEM_NAME OR CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ message(FATAL_ERROR "Oracle has dropped support in libmysql for 32-bit Windows.")
+endif()
+
include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO mysql/mysql-server
- REF mysql-5.7.17
- SHA512 31488972e08a6b83f88e6e3f7923aca91e01eac702f4942fdae92e13f66d92ac86c24dfe7a65a001db836c900147d1c3871b36af8cbb281a0e6c555617cac12c
+ REF mysql-8.0.4
+ SHA512 8d9129e7670e88df14238299052a5fe6d4f3e40bf27ef7a3ca8f4f91fb40507b13463e9bd24435b34e5d06c5d056dfb259fb04e77cc251b188eea734db5642be
HEAD_REF master
)
vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
PATCHES
- ${CMAKE_CURRENT_LIST_DIR}/boost_and_build.patch
+ ${CMAKE_CURRENT_LIST_DIR}/ignore-boost-version.patch
+ ${CMAKE_CURRENT_LIST_DIR}/system-libs.patch
)
+file(REMOVE_RECURSE ${SOURCE_PATH}/include/boost_1_65_0)
+
set(STACK_DIRECTION)
if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
set(STACK_DIRECTION -DSTACK_DIRECTION=-1)
@@ -29,6 +36,7 @@ endif()
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
OPTIONS
-DWITHOUT_SERVER=ON
-DWITH_UNIT_TESTS=OFF
@@ -37,9 +45,16 @@ vcpkg_configure_cmake(
-DHAVE_LLVM_LIBCPP_EXITCODE=1
${STACK_DIRECTION}
-DWINDOWS_RUNTIME_MD=ON # Note: this disables _replacement_ of /MD with /MT. If /MT is specified, it will be preserved.
+ -DIGNORE_BOOST_VERSION=ON
+ -DWITH_SSL=system
+ -DWITH_ICU=system
+ -DWITH_LIBEVENT=system
+ -DWITH_LZMA=system
+ -DWITH_LZ4=system
+ -DWITH_ZLIB=system
)
-vcpkg_install_cmake()
+vcpkg_install_cmake(ADD_BIN_TO_PATH)
# delete debug headers
file(REMOVE_RECURSE
@@ -62,9 +77,9 @@ file(REMOVE_RECURSE
# remove misc files
file(REMOVE
- ${CURRENT_PACKAGES_DIR}/COPYING
+ ${CURRENT_PACKAGES_DIR}/LICENSE
${CURRENT_PACKAGES_DIR}/README
- ${CURRENT_PACKAGES_DIR}/debug/COPYING
+ ${CURRENT_PACKAGES_DIR}/debug/LICENSE
${CURRENT_PACKAGES_DIR}/debug/README)
# remove not-related libs
@@ -94,6 +109,10 @@ else()
file (RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/libmysql.pdb ${CURRENT_PACKAGES_DIR}/debug/bin/libmysql.pdb)
endif()
+file(READ ${CURRENT_PACKAGES_DIR}/include/mysql/mysql_com.h _contents)
+string(REPLACE "#include <mysql/udf_registration_types.h>" "#include \"mysql/udf_registration_types.h\"" _contents "${_contents}")
+file(WRITE ${CURRENT_PACKAGES_DIR}/include/mysql/mysql_com.h "${_contents}")
+
# copy license
-file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libmysql)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/libmysql/COPYING ${CURRENT_PACKAGES_DIR}/share/libmysql/copyright) \ No newline at end of file
+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
diff --git a/ports/libmysql/system-libs.patch b/ports/libmysql/system-libs.patch
new file mode 100644
index 000000000..b5c1cba0d
--- /dev/null
+++ b/ports/libmysql/system-libs.patch
@@ -0,0 +1,150 @@
+diff --git a/cmake/icu.cmake b/cmake/icu.cmake
+index ce9cc67..64445c5 100644
+--- a/cmake/icu.cmake
++++ b/cmake/icu.cmake
+@@ -40,49 +40,10 @@ SET(DEFAULT_ICU "bundled")
+ # install_root is either 'system' or is assumed to be a path.
+ #
+ MACRO (FIND_ICU install_root)
+- IF("${install_root}" STREQUAL "system")
+- SET(EXTRA_FIND_LIB_ARGS)
+- SET(EXTRA_FIND_INC_ARGS)
+- ELSE()
+- SET(EXTRA_FIND_LIB_ARGS HINTS "${install_root}"
+- PATH_SUFFIXES "lib" "lib64" NO_DEFAULT_PATH)
+- SET(EXTRA_FIND_INC_ARGS HINTS "${install_root}"
+- PATH_SUFFIXES "include" NO_DEFAULT_PATH)
+- ENDIF()
+-
+- FIND_PATH(ICU_INCLUDE_DIR NAMES unicode/regex.h ${EXTRA_FIND_INC_ARGS})
+- IF (NOT ICU_INCLUDE_DIR)
+- MESSAGE(FATAL_ERROR "Cannot find ICU regular expression headers")
+- ENDIF()
+-
+- IF(WIN32)
+- SET(ICU_LIBS icuuc icuio icudt icuin)
+- ELSE()
+- SET(ICU_LIBS icuuc icuio icudata icui18n)
+- ENDIF()
+-
+- SET(ICU_SYSTEM_LIBRARIES)
+- FOREACH(ICU_LIB ${ICU_LIBS})
+- UNSET(ICU_LIB_PATH CACHE)
+- FIND_LIBRARY(ICU_LIB_PATH NAMES ${ICU_LIB} ${EXTRA_FIND_LIB_ARGS})
+- IF(NOT ICU_LIB_PATH)
+- MESSAGE(FATAL_ERROR "Cannot find the ICU library ${ICU_LIB}")
+- ENDIF()
+- LIST(APPEND ICU_SYSTEM_LIBRARIES ${ICU_LIB_PATH})
+- ENDFOREACH()
+-
+- # To do: If we include the path in ICU_INCLUDE_DIR, it leads to GUnit
+- # picking up the wrong regex.h header. And it looks like we don't need it;
+- # at least on Linux, the header gets installed in an OS path anyway.
+- IF(NOT "${install_root}" STREQUAL "system")
+- SET(ICU_INCLUDE_DIRS ${ICU_INCLUDE_DIR})
+- ENDIF()
+-
+- SET(ICU_LIBRARIES ${ICU_SYSTEM_LIBRARIES})
+-
+- # Needed for version information.
+- SET(ICU_COMMON_DIR ${ICU_INCLUDE_DIR})
+-
++ find_package(ICU REQUIRED COMPONENTS uc io dt in)
++ set(ICU_SYSTEM_LIBRARIES ICU::uc ICU::io ICU::dt ICU::in)
++ set(ICU_COMMON_DIR ${ICU_INCLUDE_DIR})
++ SET(ICU_INCLUDE_DIRS ${ICU_INCLUDE_DIR})
+ ENDMACRO()
+
+ MACRO (MYSQL_USE_BUNDLED_ICU)
+diff --git a/cmake/lz4.cmake b/cmake/lz4.cmake
+index 6e576c3..60cb8ba 100644
+--- a/cmake/lz4.cmake
++++ b/cmake/lz4.cmake
+@@ -25,7 +25,7 @@
+
+ MACRO (FIND_SYSTEM_LZ4)
+ FIND_PATH(PATH_TO_LZ4 NAMES lz4frame.h)
+- FIND_LIBRARY(LZ4_SYSTEM_LIBRARY NAMES lz4)
++ FIND_LIBRARY(LZ4_SYSTEM_LIBRARY NAMES lz4d lz4)
+ IF (PATH_TO_LZ4 AND LZ4_SYSTEM_LIBRARY)
+ SET(SYSTEM_LZ4_FOUND 1)
+ INCLUDE_DIRECTORIES(SYSTEM ${PATH_TO_LZ4})
+diff --git a/cmake/lzma.cmake b/cmake/lzma.cmake
+index ac8aaa7..78d8e8d 100644
+--- a/cmake/lzma.cmake
++++ b/cmake/lzma.cmake
+@@ -24,15 +24,10 @@
+ # bundled is the default
+
+ MACRO (FIND_SYSTEM_LZMA)
+- FIND_PATH(PATH_TO_LZMA NAMES lzma/lzma.h)
+- FIND_LIBRARY(LZMA_SYSTEM_LIBRARY NAMES lzma)
+- IF (PATH_TO_LZMA AND LZMA_SYSTEM_LIBRARY)
+- SET(SYSTEM_LZMA_FOUND 1)
+- SET(LZMA_INCLUDE_DIR ${PATH_TO_LZMA})
+- SET(LZMA_LIBRARY ${LZMA_SYSTEM_LIBRARY})
+- MESSAGE(STATUS "LZMA_INCLUDE_DIR ${LZMA_INCLUDE_DIR}")
+- MESSAGE(STATUS "LZMA_LIBRARY ${LZMA_LIBRARY}")
+- ENDIF()
++ find_package(LibLZMA REQUIRED)
++ set(LZMA_INCLUDE_DIR ${LZMA_INCLUDE_DIRS})
++ set(LZMA_LIBRARY ${LZMA_LIBRARIES})
++ set(SYSTEM_LZMA_FOUND 1)
+ ENDMACRO()
+
+ MACRO (MYSQL_USE_BUNDLED_LZMA)
+diff --git a/cmake/ssl.cmake b/cmake/ssl.cmake
+index 8af9699..2bdfe14 100644
+--- a/cmake/ssl.cmake
++++ b/cmake/ssl.cmake
+@@ -104,6 +104,16 @@ ENDMACRO()
+ # Provides the following configure options:
+ # WITH_SSL=[yes|bundled|system|<path/to/custom/installation>]
+ MACRO (MYSQL_CHECK_SSL)
++ find_package(OpenSSL REQUIRED)
++ set(OPENSSL_LIBRARY ${OPENSSL_SSL_LIBRARY} CACHE STRING "")
++ set(CRYPTO_LIBRARY ${OPENSSL_CRYPTO_LIBRARY} CACHE STRING "")
++ FIND_PROGRAM(OPENSSL_EXECUTABLE openssl
++ DOC "path to the openssl executable")
++ SET(SSL_DEFINES "-DHAVE_OPENSSL")
++ set(SSL_LIBRARIES ${OPENSSL_LIBRARIES})
++ENDMACRO()
++
++MACRO (MYSQL_CHECK_SSL_OLD)
+ IF(NOT WITH_SSL)
+ IF(WIN32)
+ CHANGE_SSL_SETTINGS("bundled")
+diff --git a/cmake/zlib.cmake b/cmake/zlib.cmake
+index e74b8c9..6695075 100644
+--- a/cmake/zlib.cmake
++++ b/cmake/zlib.cmake
+@@ -51,27 +51,7 @@ MACRO (MYSQL_CHECK_ZLIB_WITH_COMPRESS)
+ IF(WITH_ZLIB STREQUAL "bundled")
+ MYSQL_USE_BUNDLED_ZLIB()
+ ELSE()
+- SET(ZLIB_FIND_QUIETLY TRUE)
+- INCLUDE(FindZLIB)
+- IF(ZLIB_FOUND)
+- INCLUDE(CheckFunctionExists)
+- SET(CMAKE_REQUIRED_LIBRARIES z)
+- CHECK_FUNCTION_EXISTS(crc32 HAVE_CRC32)
+- CHECK_FUNCTION_EXISTS(compressBound HAVE_COMPRESSBOUND)
+- CHECK_FUNCTION_EXISTS(deflateBound HAVE_DEFLATEBOUND)
+- SET(CMAKE_REQUIRED_LIBRARIES)
+- IF(HAVE_CRC32 AND HAVE_COMPRESSBOUND AND HAVE_DEFLATEBOUND)
+- SET(ZLIB_LIBRARY ${ZLIB_LIBRARIES} CACHE INTERNAL "System zlib library")
+- SET(WITH_ZLIB "system" CACHE STRING
+- "Which zlib to use (possible values are 'bundled' or 'system')")
+- SET(ZLIB_SOURCES "")
+- ELSE()
+- SET(ZLIB_FOUND FALSE CACHE INTERNAL "Zlib found but not usable")
+- MESSAGE(STATUS "system zlib found but not usable")
+- ENDIF()
+- ENDIF()
+- IF(NOT ZLIB_FOUND)
+- MYSQL_USE_BUNDLED_ZLIB()
+- ENDIF()
++ find_package(ZLIB REQUIRED)
++ SET(ZLIB_LIBRARY ZLIB::ZLIB CACHE INTERNAL "System zlib library")
+ ENDIF()
+ ENDMACRO()
diff --git a/ports/libpng/portfile.cmake b/ports/libpng/portfile.cmake
index 1ac8ef3cb..0c9f8ab0b 100644
--- a/ports/libpng/portfile.cmake
+++ b/ports/libpng/portfile.cmake
@@ -40,9 +40,13 @@ vcpkg_configure_cmake(
vcpkg_install_cmake()
-if(VCPKG_LIBRARY_LINKAGE STREQUAL "static" AND EXISTS ${CURRENT_PACKAGES_DIR}/lib/libpng16_static.lib)
- file(RENAME ${CURRENT_PACKAGES_DIR}/lib/libpng16_static.lib ${CURRENT_PACKAGES_DIR}/lib/libpng16.lib)
- file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/libpng16_staticd.lib ${CURRENT_PACKAGES_DIR}/debug/lib/libpng16d.lib)
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/libpng16_static.lib)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/lib/libpng16_static.lib ${CURRENT_PACKAGES_DIR}/lib/libpng16.lib)
+ endif()
+ if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/libpng16_staticd.lib)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/libpng16_staticd.lib ${CURRENT_PACKAGES_DIR}/debug/lib/libpng16d.lib)
+ endif()
endif()
# Remove CMake config files as they are incorrectly generated and everyone uses built-in FindPNG anyway.
diff --git a/ports/libpq/CMakeLists.txt b/ports/libpq/CMakeLists.txt
index 54e929a5b..57b86e255 100644
--- a/ports/libpq/CMakeLists.txt
+++ b/ports/libpq/CMakeLists.txt
@@ -1,39 +1,98 @@
cmake_minimum_required(VERSION 3.5)
project(libpq VERSION 9.6.1 LANGUAGES C)
+if(NOT CMAKE_SYSTEM_PROCESSOR)
+ set(CMAKE_SYSTEM_PROCESSOR ${CMAKE_HOST_SYSTEM_PROCESSOR})
+endif()
+
find_package(OpenSSL REQUIRED)
+find_program(PERL NAMES perl)
+
+set(CMAKE_STATIC_LIBRARY_PREFIX)
+set(CMAKE_SHARED_LIBRARY_PREFIX)
set(CMAKE_DEBUG_POSTFIX "d")
-configure_file(${CMAKE_CURRENT_LIST_DIR}/src/include/pg_config.h.win32 ${CMAKE_CURRENT_LIST_DIR}/src/include/pg_config.h)
-configure_file(${CMAKE_CURRENT_LIST_DIR}/src/include/pg_config_ext.h.win32 ${CMAKE_CURRENT_LIST_DIR}/src/include/pg_config_ext.h)
-configure_file(${CMAKE_CURRENT_LIST_DIR}/src/include/port/win32.h ${CMAKE_CURRENT_LIST_DIR}/src/include/pg_config_os.h)
-file(WRITE src/interfaces/libpq/pg_config_paths.h "#define SYSCONFDIR \"\"")
+
+file(REMOVE
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/include/pg_config.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/include/pg_config_ext.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/include/pg_config_os.h
+)
+
+if(WIN32)
+ configure_file(src/include/pg_config.h.win32 include/pg_config.h)
+ configure_file(src/include/pg_config_ext.h.win32 include/pg_config_ext.h)
+ configure_file(src/include/port/win32.h include/pg_config_os.h)
+elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
+ file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/include/pg_config_ext.h" "#include <stdint.h>\n#define PG_INT64_TYPE int64_t")
+ configure_file("${PORT_DIR}/pg_config.darwin.h" include/pg_config.h COPYONLY)
+ configure_file(src/include/port/darwin.h include/pg_config_os.h COPYONLY)
+ configure_file(src/backend/port/dynloader/darwin.h include/dynloader.h COPYONLY)
+elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
+ file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/include/pg_config_ext.h" "#include <stdint.h>\n#define PG_INT64_TYPE int64_t")
+ configure_file(src/include/port/linux.h include/pg_config_os.h COPYONLY)
+ configure_file("${PORT_DIR}/pg_config.linux.h" include/pg_config.h COPYONLY)
+ configure_file(src/backend/port/dynloader/linux.h include/dynloader.h COPYONLY)
+else()
+ message(FATAL_ERROR "Unknown system: ${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR}")
+endif()
+file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/include/pg_config_paths.h "#define SYSCONFDIR \"\"")
+
set(INSTALL_INCLUDES ON CACHE BOOL "Install include files")
+
set(pg_port_src
- src/port/getaddrinfo.c
src/port/pgstrcasecmp.c
src/port/pqsignal.c
src/port/thread.c
- src/port/inet_aton.c
src/port/crypt.c
src/port/noblock.c
src/port/chklocale.c
- src/port/inet_net_ntop.c
src/port/snprintf.c
- src/port/strlcpy.c
- src/port/dirent.c
src/port/dirmod.c
src/port/pgsleep.c
src/port/open.c
src/port/system.c
- src/port/win32error.c
- src/port/win32setlocale.c
)
+if(WIN32)
+ list(APPEND pg_port_src
+ src/port/dirent.c
+ src/port/inet_aton.c
+ src/port/inet_net_ntop.c
+ src/port/win32error.c
+ src/port/win32setlocale.c
+ src/port/getaddrinfo.c
+ src/port/strlcpy.c
+ )
+ include_directories(src/include/port/win32 src/include/port/win32_msvc)
+elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
+ list(APPEND pg_port_src
+ src/port/strlcpy.c
+ )
+endif()
+
set(pg_backend_src
src/backend/libpq/md5.c
src/backend/libpq/ip.c
src/backend/utils/mb/wchar.c
src/backend/utils/mb/encnames.c
)
+if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
+ list(APPEND pg_backend_src
+ src/backend/port/dynloader/linux.c
+ src/backend/port/sysv_sema.c
+ src/backend/port/sysv_shmem.c
+ )
+endif()
+if(NOT WIN32)
+ add_custom_command(
+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/include/utils/errcodes.h
+ COMMAND "${PERL}" "${CMAKE_CURRENT_SOURCE_DIR}/src/backend/utils/generate-errcodes.pl" "${CMAKE_CURRENT_SOURCE_DIR}/src/backend/utils/errcodes.txt" > "${CMAKE_CURRENT_BINARY_DIR}/include/utils/errcodes.h"
+ VERBATIM
+ )
+ list(APPEND pg_backend_src
+ ${CMAKE_CURRENT_BINARY_DIR}/include/utils/errcodes.h
+ )
+endif()
+
set(pg_libpq_src
src/interfaces/libpq/fe-auth.c
src/interfaces/libpq/fe-connect.c
@@ -47,16 +106,21 @@ set(pg_libpq_src
src/interfaces/libpq/fe-secure.c
src/interfaces/libpq/libpq-events.c
src/interfaces/libpq/pqexpbuffer.c
- src/interfaces/libpq/pthread-win32.c
- src/interfaces/libpq/win32.c
src/interfaces/libpq/libpq-dist.rc
)
+
+if(WIN32)
+ list(APPEND pg_libpq_src
+ src/interfaces/libpq/pthread-win32.c
+ src/interfaces/libpq/win32.c
+ )
+endif()
set(pg_libpq_interface
src/include/postgres_ext.h
- src/include/pg_config_ext.h
- src/include/pg_config.h
+ ${CMAKE_CURRENT_BINARY_DIR}/include/pg_config_ext.h
+ ${CMAKE_CURRENT_BINARY_DIR}/include/pg_config.h
src/interfaces/libpq/libpq-fe.h
- )
+)
set(pg_libpq_catalog_interface
src/include/catalog/pg_type.h
src/include/catalog/genbki.h
@@ -66,15 +130,19 @@ set(CMAKE_DEBUG_POSTFIX "d")
set(CMAKE_INCLUDE_CURRENT_DIR ON)
add_library(libpq ${pg_port_src} ${pg_backend_src} ${pg_libpq_src})
target_compile_definitions(libpq PRIVATE -DFRONTEND -DENABLE_THREAD_SAFETY -DUSE_OPENSSL -D_CRT_SECURE_NO_WARNINGS)
-target_link_libraries(libpq PRIVATE OpenSSL::SSL ws2_32 secur32 advapi32 shell32)
-target_include_directories(libpq PRIVATE src/include src/include/port/win32 src/include/port/win32_msvc src/port)
+target_link_libraries(libpq PRIVATE OpenSSL::SSL)
+if(WIN32)
+ target_link_libraries(libpq PRIVATE ws2_32 secur32 advapi32 shell32)
+endif()
+target_include_directories(libpq PRIVATE src/include src/port ${CMAKE_CURRENT_BINARY_DIR}/include)
set_target_properties(libpq PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON)
install(TARGETS libpq
ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib
RUNTIME DESTINATION bin
- )
+)
+
if(INSTALL_INCLUDES)
install(FILES ${pg_libpq_interface} DESTINATION include)
install(DIRECTORY src/include/libpq DESTINATION include)
diff --git a/ports/libpq/CONTROL b/ports/libpq/CONTROL
index b91e08526..225d886de 100644
--- a/ports/libpq/CONTROL
+++ b/ports/libpq/CONTROL
@@ -1,4 +1,4 @@
Source: libpq
-Version: 9.6.1-1
+Version: 9.6.1-4
Description: The official database access API of postgresql
-Build-Depends: openssl
+Build-Depends: openssl, zlib (linux)
diff --git a/ports/libpq/pg_config.darwin.h b/ports/libpq/pg_config.darwin.h
new file mode 100644
index 000000000..5db9f84d2
--- /dev/null
+++ b/ports/libpq/pg_config.darwin.h
@@ -0,0 +1,191 @@
+#define ACCEPT_TYPE_ARG1 int
+#define ACCEPT_TYPE_ARG2 struct sockaddr *
+#define ACCEPT_TYPE_ARG3 socklen_t
+#define ACCEPT_TYPE_RETURN int
+#define ALIGNOF_DOUBLE 8
+#define ALIGNOF_INT 4
+#define ALIGNOF_LONG 8
+#define ALIGNOF_SHORT 2
+#define BLCKSZ 8192
+#define DEF_PGPORT 5432
+#define DEF_PGPORT_STR "5432"
+#define ENABLE_THREAD_SAFETY 1
+#define FLEXIBLE_ARRAY_MEMBER /**/
+#define FLOAT4PASSBYVAL true
+#define FLOAT8PASSBYVAL true
+#ifdef GETTIMEOFDAY_1ARG
+# define gettimeofday(a,b) gettimeofday(a)
+#endif
+#define HAVE_ATOMICS 1
+#define HAVE_CBRT 1
+#define HAVE_CRYPT 1
+#define HAVE_DECL_FDATASYNC 0
+#define HAVE_DECL_F_FULLFSYNC 1
+#define HAVE_DECL_POSIX_FADVISE 0
+#define HAVE_DECL_SNPRINTF 1
+#define HAVE_DECL_STRLCAT 1
+#define HAVE_DECL_STRLCPY 1
+#define HAVE_DECL_SYS_SIGLIST 1
+#define HAVE_DECL_VSNPRINTF 1
+#define HAVE_DLOPEN 1
+#define HAVE_FDATASYNC 1
+#define HAVE_FLS 1
+#define HAVE_FSEEKO 1
+#define HAVE_FUNCNAME__FUNC 1
+#define HAVE_GCC__ATOMIC_INT32_CAS 1
+#define HAVE_GCC__ATOMIC_INT64_CAS 1
+#define HAVE_GCC__SYNC_CHAR_TAS 1
+#define HAVE_GCC__SYNC_INT32_CAS 1
+#define HAVE_GCC__SYNC_INT32_TAS 1
+#define HAVE_GCC__SYNC_INT64_CAS 1
+#define HAVE_GETADDRINFO 1
+#define HAVE_GETIFADDRS 1
+#define HAVE_GETOPT 1
+#define HAVE_GETOPT_H 1
+#define HAVE_GETOPT_LONG 1
+#define HAVE_GETPEEREID 1
+#define HAVE_GETPWUID_R 1
+#define HAVE_GETRLIMIT 1
+#define HAVE_GETRUSAGE 1
+#define HAVE_HISTORY_TRUNCATE_FILE 1
+#define HAVE_IFADDRS_H 1
+#define HAVE_INET_ATON 1
+#define HAVE_INTPTR_T 1
+#define HAVE_INTTYPES_H 1
+#define HAVE_INT_OPTERR 1
+#define HAVE_INT_OPTRESET 1
+#define HAVE_INT_TIMEZONE 1
+#define HAVE_IPV6 1
+#define HAVE_ISINF 1
+#define HAVE_LANGINFO_H 1
+#define HAVE_LIBM 1
+#define HAVE_LIBREADLINE 1
+#define HAVE_LIBZ 1
+#define HAVE_LOCALE_T 1
+#define HAVE_LONG_INT_64 1
+#define HAVE_LONG_LONG_INT 1
+#define HAVE_MBSTOWCS_L 1
+#define HAVE_MEMMOVE 1
+#define HAVE_MEMORY_H 1
+#define HAVE_MKDTEMP 1
+#define HAVE_NETINET_IN_H 1
+#define HAVE_NETINET_TCP_H 1
+#define HAVE_NET_IF_H 1
+#define HAVE_POLL 1
+#define HAVE_POLL_H 1
+#define HAVE_PTHREAD 1
+#define HAVE_PTHREAD_IS_THREADED_NP 1
+#define HAVE_PTHREAD_PRIO_INHERIT 1
+#define HAVE_PWD_H 1
+#define HAVE_RANDOM 1
+#define HAVE_READLINE_HISTORY_H 1
+#define HAVE_READLINE_READLINE_H 1
+#define HAVE_READLINK 1
+#define HAVE_RINT 1
+#define HAVE_RL_COMPLETION_APPEND_CHARACTER 1
+#define HAVE_RL_COMPLETION_MATCHES 1
+#define HAVE_RL_FILENAME_COMPLETION_FUNCTION 1
+#define HAVE_SETSID 1
+#define HAVE_SHM_OPEN 1
+#define HAVE_SNPRINTF 1
+#define HAVE_SPINLOCKS 1
+#define HAVE_SRANDOM 1
+#define HAVE_SSL_GET_CURRENT_COMPRESSION 1
+#define HAVE_STDINT_H 1
+#define HAVE_STDLIB_H 1
+#define HAVE_STRERROR 1
+#define HAVE_STRERROR_R 1
+#define HAVE_STRINGS_H 1
+#define HAVE_STRING_H 1
+#define HAVE_STRLCAT 1
+#define HAVE_STRLCPY 1
+#define HAVE_STRTOLL 1
+#define HAVE_STRTOULL 1
+#define HAVE_STRUCT_ADDRINFO 1
+#define HAVE_STRUCT_OPTION 1
+#define HAVE_STRUCT_SOCKADDR_SA_LEN 1
+#define HAVE_STRUCT_SOCKADDR_STORAGE 1
+#define HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY 1
+#define HAVE_STRUCT_SOCKADDR_STORAGE_SS_LEN 1
+#define HAVE_STRUCT_TM_TM_ZONE 1
+#define HAVE_SYMLINK 1
+#define HAVE_SYSLOG 1
+#define HAVE_SYS_IOCTL_H 1
+#define HAVE_SYS_IPC_H 1
+#define HAVE_SYS_POLL_H 1
+#define HAVE_SYS_RESOURCE_H 1
+#define HAVE_SYS_SELECT_H 1
+#define HAVE_SYS_SEM_H 1
+#define HAVE_SYS_SHM_H 1
+#define HAVE_SYS_SOCKET_H 1
+#define HAVE_SYS_SOCKIO_H 1
+#define HAVE_SYS_STAT_H 1
+#define HAVE_SYS_TIME_H 1
+#define HAVE_SYS_TYPES_H 1
+#define HAVE_SYS_UCRED_H 1
+#define HAVE_SYS_UN_H 1
+#define HAVE_TERMIOS_H 1
+#define HAVE_TM_ZONE 1
+#define HAVE_TOWLOWER 1
+#define HAVE_TZNAME 1
+#define HAVE_UINTPTR_T 1
+#define HAVE_UNION_SEMUN 1
+#define HAVE_UNISTD_H 1
+#define HAVE_UNIX_SOCKETS 1
+#define HAVE_UNSETENV 1
+#define HAVE_UNSIGNED_LONG_LONG_INT 1
+#define HAVE_UTIME 1
+#define HAVE_UTIMES 1
+#define HAVE_UTIME_H 1
+#define HAVE_VSNPRINTF 1
+#define HAVE_WCHAR_H 1
+#define HAVE_WCSTOMBS 1
+#define HAVE_WCSTOMBS_L 1
+#define HAVE_WCTYPE_H 1
+#define HAVE__BUILTIN_BSWAP32 1
+#define HAVE__BUILTIN_BSWAP64 1
+#define HAVE__BUILTIN_CONSTANT_P 1
+#define HAVE__BUILTIN_TYPES_COMPATIBLE_P 1
+#define HAVE__BUILTIN_UNREACHABLE 1
+#define HAVE__GET_CPUID 1
+#define HAVE__STATIC_ASSERT 1
+#define HAVE__VA_ARGS 1
+#define INT64_MODIFIER "l"
+#define LOCALE_T_IN_XLOCALE 1
+#define MAXIMUM_ALIGNOF 8
+#define MEMSET_LOOP_LIMIT 1024
+#define PACKAGE_BUGREPORT "pgsql-bugs@postgresql.org"
+#define PACKAGE_NAME "PostgreSQL"
+#define PACKAGE_STRING "PostgreSQL 9.6.3"
+#define PACKAGE_TARNAME "postgresql"
+#define PACKAGE_URL ""
+#define PACKAGE_VERSION "9.6.3"
+#define PG_INT128_TYPE __int128
+#define PG_INT64_TYPE long int
+#define PG_KRB_SRVNAM "postgres"
+#define PG_MAJORVERSION "9.6"
+#define PG_PRINTF_ATTRIBUTE printf
+#define PG_VERSION "9.6.3"
+#define PG_VERSION_NUM 90603
+#define PG_VERSION_STR "PostgreSQL 9.6.3 on x86_64-apple-darwin15.6.0, compiled by Apple LLVM version 7.0.2 (clang-700.1.81), 64-bit"
+#define RELSEG_SIZE 131072
+#define SIZEOF_LONG 8
+#define SIZEOF_OFF_T 8
+#define SIZEOF_SIZE_T 8
+#define SIZEOF_VOID_P 8
+#define STDC_HEADERS 1
+#define STRERROR_R_INT 1
+#define USE_FLOAT4_BYVAL 1
+#define USE_FLOAT8_BYVAL 1
+#define USE_INTEGER_DATETIMES 1
+#define USE_SSE42_CRC32C_WITH_RUNTIME_CHECK 1
+#define USE_SYSV_SEMAPHORES 1
+#define USE_SYSV_SHARED_MEMORY 1
+#define WCSTOMBS_L_IN_XLOCALE 1
+#if defined AC_APPLE_UNIVERSAL_BUILD
+# if defined __BIG_ENDIAN__
+# define WORDS_BIGENDIAN 1
+# endif
+#endif
+#define XLOG_BLCKSZ 8192
+#define XLOG_SEG_SIZE (16 * 1024 * 1024)
diff --git a/ports/libpq/pg_config.linux.h b/ports/libpq/pg_config.linux.h
new file mode 100644
index 000000000..d3758bb95
--- /dev/null
+++ b/ports/libpq/pg_config.linux.h
@@ -0,0 +1,173 @@
+#define ACCEPT_TYPE_ARG1 int
+#define ACCEPT_TYPE_ARG2 struct sockaddr *
+#define ACCEPT_TYPE_ARG3 socklen_t
+#define ACCEPT_TYPE_RETURN int
+#define ALIGNOF_DOUBLE 8
+#define ALIGNOF_INT 4
+#define ALIGNOF_LONG 8
+#define ALIGNOF_SHORT 2
+#define BLCKSZ 8192
+#define DEF_PGPORT 5432
+#define DEF_PGPORT_STR "5432"
+#define ENABLE_THREAD_SAFETY 1
+#define FLEXIBLE_ARRAY_MEMBER /**/
+#define FLOAT4PASSBYVAL true
+#define FLOAT8PASSBYVAL true
+#ifdef GETTIMEOFDAY_1ARG
+# define gettimeofday(a,b) gettimeofday(a)
+#endif
+#define HAVE_ATOMICS 1
+#define HAVE_CBRT 1
+#define HAVE_CRYPT 1
+#define HAVE_CRYPT_H 1
+#define HAVE_DECL_FDATASYNC 1
+#define HAVE_DECL_F_FULLFSYNC 0
+#define HAVE_DECL_POSIX_FADVISE 1
+#define HAVE_DECL_SNPRINTF 1
+#define HAVE_DECL_STRLCAT 0
+#define HAVE_DECL_STRLCPY 0
+#define HAVE_DECL_SYS_SIGLIST 1
+#define HAVE_DECL_VSNPRINTF 1
+#define HAVE_DLOPEN 1
+#define HAVE_FDATASYNC 1
+#define HAVE_FSEEKO 1
+#define HAVE_FUNCNAME__FUNC 1
+#define HAVE_GCC__ATOMIC_INT32_CAS 1
+#define HAVE_GCC__ATOMIC_INT64_CAS 1
+#define HAVE_GCC__SYNC_CHAR_TAS 1
+#define HAVE_GCC__SYNC_INT32_CAS 1
+#define HAVE_GCC__SYNC_INT32_TAS 1
+#define HAVE_GCC__SYNC_INT64_CAS 1
+#define HAVE_GETADDRINFO 1
+#define HAVE_GETHOSTBYNAME_R 1
+#define HAVE_GETIFADDRS 1
+#define HAVE_GETOPT 1
+#define HAVE_GETOPT_H 1
+#define HAVE_GETOPT_LONG 1
+#define HAVE_GETPWUID_R 1
+#define HAVE_GETRLIMIT 1
+#define HAVE_GETRUSAGE 1
+#define HAVE_IFADDRS_H 1
+#define HAVE_INET_ATON 1
+#define HAVE_INTPTR_T 1
+#define HAVE_INTTYPES_H 1
+#define HAVE_INT_OPTERR 1
+#define HAVE_INT_TIMEZONE 1
+#define HAVE_IPV6 1
+#define HAVE_ISINF 1
+#define HAVE_LANGINFO_H 1
+#define HAVE_LIBM 1
+#define HAVE_LIBZ 1
+#define HAVE_LOCALE_T 1
+#define HAVE_LONG_INT_64 1
+#define HAVE_LONG_LONG_INT 1
+#define HAVE_MEMMOVE 1
+#define HAVE_MEMORY_H 1
+#define HAVE_MKDTEMP 1
+#define HAVE_NETINET_IN_H 1
+#define HAVE_NETINET_TCP_H 1
+#define HAVE_NET_IF_H 1
+#define HAVE_POLL 1
+#define HAVE_POLL_H 1
+#define HAVE_POSIX_FADVISE 1
+#define HAVE_PTHREAD 1
+#define HAVE_PTHREAD_PRIO_INHERIT 1
+#define HAVE_PWD_H 1
+#define HAVE_RANDOM 1
+#define HAVE_READLINK 1
+#define HAVE_RINT 1
+#define HAVE_SETSID 1
+#define HAVE_SHM_OPEN 1
+#define HAVE_SNPRINTF 1
+#define HAVE_SPINLOCKS 1
+#define HAVE_SRANDOM 1
+#define HAVE_SSL_GET_CURRENT_COMPRESSION 1
+#define HAVE_STDINT_H 1
+#define HAVE_STDLIB_H 1
+#define HAVE_STRERROR 1
+#define HAVE_STRERROR_R 1
+#define HAVE_STRINGS_H 1
+#define HAVE_STRING_H 1
+#define HAVE_STRTOLL 1
+#define HAVE_STRTOULL 1
+#define HAVE_STRUCT_ADDRINFO 1
+#define HAVE_STRUCT_OPTION 1
+#define HAVE_STRUCT_SOCKADDR_STORAGE 1
+#define HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY 1
+#define HAVE_STRUCT_TM_TM_ZONE 1
+#define HAVE_SYMLINK 1
+#define HAVE_SYNC_FILE_RANGE 1
+#define HAVE_SYSLOG 1
+#define HAVE_SYS_EPOLL_H 1
+#define HAVE_SYS_IOCTL_H 1
+#define HAVE_SYS_IPC_H 1
+#define HAVE_SYS_POLL_H 1
+#define HAVE_SYS_RESOURCE_H 1
+#define HAVE_SYS_SELECT_H 1
+#define HAVE_SYS_SEM_H 1
+#define HAVE_SYS_SHM_H 1
+#define HAVE_SYS_SOCKET_H 1
+#define HAVE_SYS_STAT_H 1
+#define HAVE_SYS_TIME_H 1
+#define HAVE_SYS_TYPES_H 1
+#define HAVE_SYS_UN_H 1
+#define HAVE_TERMIOS_H 1
+#define HAVE_TM_ZONE 1
+#define HAVE_TOWLOWER 1
+#define HAVE_TZNAME 1
+#define HAVE_UINTPTR_T 1
+#define HAVE_UNISTD_H 1
+#define HAVE_UNIX_SOCKETS 1
+#define HAVE_UNSETENV 1
+#define HAVE_UNSIGNED_LONG_LONG_INT 1
+#define HAVE_UTIME 1
+#define HAVE_UTIMES 1
+#define HAVE_UTIME_H 1
+#define HAVE_VSNPRINTF 1
+#define HAVE_WCHAR_H 1
+#define HAVE_WCSTOMBS 1
+#define HAVE_WCTYPE_H 1
+#define HAVE__BUILTIN_BSWAP32 1
+#define HAVE__BUILTIN_BSWAP64 1
+#define HAVE__BUILTIN_CONSTANT_P 1
+#define HAVE__BUILTIN_TYPES_COMPATIBLE_P 1
+#define HAVE__BUILTIN_UNREACHABLE 1
+#define HAVE__GET_CPUID 1
+#define HAVE__STATIC_ASSERT 1
+#define HAVE__VA_ARGS 1
+#define INT64_MODIFIER "l"
+#define MAXIMUM_ALIGNOF 8
+#define MEMSET_LOOP_LIMIT 1024
+#define PACKAGE_BUGREPORT "pgsql-bugs@postgresql.org"
+#define PACKAGE_NAME "PostgreSQL"
+#define PACKAGE_STRING "PostgreSQL 9.6.3"
+#define PACKAGE_TARNAME "postgresql"
+#define PACKAGE_URL ""
+#define PACKAGE_VERSION "9.6.3"
+#define PG_INT128_TYPE __int128
+#define PG_INT64_TYPE long int
+#define PG_KRB_SRVNAM "postgres"
+#define PG_MAJORVERSION "9.6"
+#define PG_PRINTF_ATTRIBUTE gnu_printf
+#define PG_VERSION "9.6.3"
+#define PG_VERSION_NUM 90603
+#define PG_VERSION_STR "PostgreSQL 9.6.3 on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 5.4.1-2ubuntu1~16.04) 5.4.1 20160904, 64-bit"
+#define RELSEG_SIZE 131072
+#define SIZEOF_LONG 8
+#define SIZEOF_OFF_T 8
+#define SIZEOF_SIZE_T 8
+#define SIZEOF_VOID_P 8
+#define STDC_HEADERS 1
+#define USE_FLOAT4_BYVAL 1
+#define USE_FLOAT8_BYVAL 1
+#define USE_INTEGER_DATETIMES 1
+#define USE_SSE42_CRC32C_WITH_RUNTIME_CHECK 1
+#define USE_SYSV_SEMAPHORES 1
+#define USE_SYSV_SHARED_MEMORY 1
+#if defined AC_APPLE_UNIVERSAL_BUILD
+# if defined __BIG_ENDIAN__
+# define WORDS_BIGENDIAN 1
+# endif
+#endif
+#define XLOG_BLCKSZ 8192
+#define XLOG_SEG_SIZE (16 * 1024 * 1024)
diff --git a/ports/libpq/portfile.cmake b/ports/libpq/portfile.cmake
index d98ce9a8a..7b23aed32 100644
--- a/ports/libpq/portfile.cmake
+++ b/ports/libpq/portfile.cmake
@@ -6,10 +6,16 @@ vcpkg_download_distfile(ARCHIVE
SHA512 97141972e154e6b0e756ee6a4e20f26e82022a9fd4c56305314a3a5567a79ece638e4ac3d513b46138737ae6bd27a098f30013a94767db151181aac9c01290a1
)
vcpkg_extract_source_archive(${ARCHIVE})
+
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
- OPTIONS_DEBUG -DINSTALL_INCLUDES=OFF
+ PREFER_NINJA
+ OPTIONS
+ "-DPORT_DIR=${CMAKE_CURRENT_LIST_DIR}"
+ OPTIONS_DEBUG
+ -DINSTALL_INCLUDES=OFF
)
vcpkg_install_cmake()
diff --git a/ports/libqrencode/CONTROL b/ports/libqrencode/CONTROL
index 0e96c99a9..056d6a92b 100644
--- a/ports/libqrencode/CONTROL
+++ b/ports/libqrencode/CONTROL
@@ -1,4 +1,4 @@
Source: libqrencode
-Version: 4.0.0-1
+Version: 4.0.0-2
Build-Depends: libpng, libiconv
Description: libqrencode - a fast and compact QR Code encoding library
diff --git a/ports/libqrencode/portfile.cmake b/ports/libqrencode/portfile.cmake
index ff0c2302b..72af0103e 100644
--- a/ports/libqrencode/portfile.cmake
+++ b/ports/libqrencode/portfile.cmake
@@ -39,7 +39,7 @@ if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/qrencoded.dll)
endif()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
-file(COPY ${CURRENT_BUILDTREES_DIR}/src/libqrencode-4.0.0/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libqrencode)
+file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libqrencode)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/libqrencode/COPYING ${CURRENT_PACKAGES_DIR}/share/libqrencode/copyright)
vcpkg_copy_pdbs()
diff --git a/ports/librsync/CONTROL b/ports/librsync/CONTROL
new file mode 100644
index 000000000..b51be6105
--- /dev/null
+++ b/ports/librsync/CONTROL
@@ -0,0 +1,3 @@
+Source: librsync
+Version: 2.0.2
+Description: librsync is a library for calculating and applying network deltas, with an interface designed to ease integration into diverse network applications.
diff --git a/ports/librsync/portfile.cmake b/ports/librsync/portfile.cmake
new file mode 100644
index 000000000..0f9cfad55
--- /dev/null
+++ b/ports/librsync/portfile.cmake
@@ -0,0 +1,39 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO librsync/librsync
+ REF v2.0.2
+ SHA512 5d2bc1d62b37e9ed7416203615d0a0e3c05c4c884b5da63eda10dd5c985845b500331bce226e4d45676729382c85b41528282e25d491afda31ba434ac0fefad7
+ HEAD_REF master
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS -DBUILD_RDIFF:BOOL=OFF
+ -DENABLE_COMPRESSION:BOOL=OFF
+ -DENABLE_TRACE:BOOL=OFF
+ -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS:BOOL=ON
+)
+
+vcpkg_install_cmake()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
+
+if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/rsync.dll)
+ file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/bin)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/lib/rsync.dll ${CURRENT_PACKAGES_DIR}/bin/rsync.dll)
+endif()
+if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/rsync.dll)
+ file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/bin)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/rsync.dll ${CURRENT_PACKAGES_DIR}/debug/bin/rsync.dll)
+endif()
+
+file(INSTALL
+ ${SOURCE_PATH}/COPYING
+ DESTINATION ${CURRENT_PACKAGES_DIR}/share/librsync RENAME copyright
+)
+
+vcpkg_copy_pdbs()
diff --git a/ports/librtmp/CMakeLists.txt b/ports/librtmp/CMakeLists.txt
index f0f78e5f1..9751f3d73 100644
--- a/ports/librtmp/CMakeLists.txt
+++ b/ports/librtmp/CMakeLists.txt
@@ -2,8 +2,8 @@ cmake_minimum_required(VERSION 3.8)
project(librtmp C)
-find_package(zlib REQUIRED)
-find_package(openssl REQUIRED)
+find_package(ZLIB REQUIRED)
+find_package(OpenSSL REQUIRED)
include_directories(${ZLIB_INCLUDE_DIRS})
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
diff --git a/ports/librtmp/CONTROL b/ports/librtmp/CONTROL
index 9a93c8b47..957f5ee16 100644
--- a/ports/librtmp/CONTROL
+++ b/ports/librtmp/CONTROL
@@ -1,4 +1,4 @@
Source: librtmp
-Version: 2.4
+Version: 2.4-1
Build-Depends: zlib, openssl
Description: RTMPDump Real-Time Messaging Protocol API
diff --git a/ports/libsigcpp/CMakeLists.txt b/ports/libsigcpp/CMakeLists.txt
index 7a669a24e..9c43b1a1b 100644
--- a/ports/libsigcpp/CMakeLists.txt
+++ b/ports/libsigcpp/CMakeLists.txt
@@ -1,6 +1,8 @@
cmake_minimum_required(VERSION 3.0)
project(libsigc++)
+set(CMAKE_CXX_STANDARD 17)
+
set(SIGCPP_API_VERSION 2.0)
add_definitions(-DSIGC_BUILD)
diff --git a/ports/libsigcpp/CONTROL b/ports/libsigcpp/CONTROL
index 02b2e4b83..c0393066b 100644
--- a/ports/libsigcpp/CONTROL
+++ b/ports/libsigcpp/CONTROL
@@ -1,3 +1,3 @@
Source: libsigcpp
-Version: 2.10
+Version: 2.10-1
Description: Typesafe callback framework for C++
diff --git a/ports/libspatialite/portfile.cmake b/ports/libspatialite/portfile.cmake
index 2a2834096..59a1499f4 100644
--- a/ports/libspatialite/portfile.cmake
+++ b/ports/libspatialite/portfile.cmake
@@ -24,14 +24,14 @@ if(VCPKG_CRT_LINKAGE STREQUAL dynamic)
set(CL_FLAGS_DBG "/MDd /Zi")
set(CL_FLAGS_REL "/MD /Ox")
set(GEOS_LIBS_REL "${CURRENT_INSTALLED_DIR}/lib/geos_c.lib")
- set(GEOS_LIBS_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/geos_c.lib")
+ set(GEOS_LIBS_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/geos_cd.lib")
set(LIBXML2_LIBS_REL "${CURRENT_INSTALLED_DIR}/lib/libxml2.lib")
set(LIBXML2_LIBS_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/libxml2.lib")
else()
set(CL_FLAGS_DBG "/MTd /Zi")
set(CL_FLAGS_REL "/MT /Ox")
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_c.lib ${CURRENT_INSTALLED_DIR}/debug/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")
endif()
@@ -60,32 +60,36 @@ set(LIBS_ALL_REL
################
# Debug build
################
-message(STATUS "Building ${TARGET_TRIPLET}-dbg")
+if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
+ message(STATUS "Building ${TARGET_TRIPLET}-dbg")
-file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}/debug" INST_DIR_DBG)
+ file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}/debug" INST_DIR_DBG)
-vcpkg_execute_required_process(
- COMMAND ${NMAKE} -f makefile.vc clean install
- "INST_DIR=\"${INST_DIR_DBG}\"" INSTALLED_ROOT=${CURRENT_INSTALLED_DIR} "LINK_FLAGS=/debug" "CL_FLAGS=${CL_FLAGS_DBG}" "LIBS_ALL=${LIBS_ALL_DBG}"
- WORKING_DIRECTORY ${SOURCE_PATH}
- LOGNAME nmake-build-${TARGET_TRIPLET}-debug
-)
-message(STATUS "Building ${TARGET_TRIPLET}-dbg done")
-vcpkg_copy_pdbs()
+ vcpkg_execute_required_process(
+ COMMAND ${NMAKE} -f makefile.vc clean install
+ "INST_DIR=\"${INST_DIR_DBG}\"" INSTALLED_ROOT=${CURRENT_INSTALLED_DIR} "LINK_FLAGS=/debug" "CL_FLAGS=${CL_FLAGS_DBG}" "LIBS_ALL=${LIBS_ALL_DBG}"
+ WORKING_DIRECTORY ${SOURCE_PATH}
+ LOGNAME nmake-build-${TARGET_TRIPLET}-debug
+ )
+ message(STATUS "Building ${TARGET_TRIPLET}-dbg done")
+ vcpkg_copy_pdbs()
+endif()
################
# Release build
################
-message(STATUS "Building ${TARGET_TRIPLET}-rel")
+if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
+ message(STATUS "Building ${TARGET_TRIPLET}-rel")
-file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}" INST_DIR_REL)
-vcpkg_execute_required_process(
- COMMAND ${NMAKE} -f makefile.vc clean install
- "INST_DIR=\"${INST_DIR_REL}\"" INSTALLED_ROOT=${CURRENT_INSTALLED_DIR} "LINK_FLAGS=" "CL_FLAGS=${CL_FLAGS_REL}" "LIBS_ALL=${LIBS_ALL_REL}"
- WORKING_DIRECTORY ${SOURCE_PATH}
- LOGNAME nmake-build-${TARGET_TRIPLET}-release
-)
-message(STATUS "Building ${TARGET_TRIPLET}-rel done")
+ file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}" INST_DIR_REL)
+ vcpkg_execute_required_process(
+ COMMAND ${NMAKE} -f makefile.vc clean install
+ "INST_DIR=\"${INST_DIR_REL}\"" INSTALLED_ROOT=${CURRENT_INSTALLED_DIR} "LINK_FLAGS=" "CL_FLAGS=${CL_FLAGS_REL}" "LIBS_ALL=${LIBS_ALL_REL}"
+ WORKING_DIRECTORY ${SOURCE_PATH}
+ LOGNAME nmake-build-${TARGET_TRIPLET}-release
+ )
+ message(STATUS "Building ${TARGET_TRIPLET}-rel done")
+endif()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
@@ -99,8 +103,12 @@ if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
else()
file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/spatialite.lib)
file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/spatialite.lib)
- file(RENAME ${CURRENT_PACKAGES_DIR}/lib/spatialite_i.lib ${CURRENT_PACKAGES_DIR}/lib/spatialite.lib)
- file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/spatialite_i.lib ${CURRENT_PACKAGES_DIR}/debug/lib/spatialite.lib)
+ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
+ file(RENAME ${CURRENT_PACKAGES_DIR}/lib/spatialite_i.lib ${CURRENT_PACKAGES_DIR}/lib/spatialite.lib)
+ endif()
+ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
+ file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/spatialite_i.lib ${CURRENT_PACKAGES_DIR}/debug/lib/spatialite.lib)
+ endif()
endif()
message(STATUS "Packaging ${TARGET_TRIPLET} done")
diff --git a/ports/libssh/CONTROL b/ports/libssh/CONTROL
index 9ae256937..5f3c8a0db 100644
--- a/ports/libssh/CONTROL
+++ b/ports/libssh/CONTROL
@@ -1,4 +1,4 @@
Source: libssh
-Version: 0.7.5-1
-Description:libssh is a multiplatform C library implementing the SSHv2 and SSHv1 protocol on client and server side
+Version: 0.7.5-4
+Description: libssh is a multiplatform C library implementing the SSHv2 and SSHv1 protocol on client and server side
Build-Depends: zlib, openssl
diff --git a/ports/libssh/build-one-flavor.patch b/ports/libssh/build-one-flavor.patch
new file mode 100644
index 000000000..96e20ba98
--- /dev/null
+++ b/ports/libssh/build-one-flavor.patch
@@ -0,0 +1,20 @@
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 1012ddf..612f0ba 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -225,6 +225,7 @@ include_directories(
+ ${LIBSSH_PRIVATE_INCLUDE_DIRS}
+ )
+
++if (NOT WITH_STATIC_LIB)
+ add_library(${LIBSSH_SHARED_LIBRARY} SHARED ${libssh_SRCS})
+
+ target_link_libraries(${LIBSSH_SHARED_LIBRARY} ${LIBSSH_LINK_LIBRARIES})
+@@ -259,6 +260,7 @@ install(
+ ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
+ COMPONENT libraries
+ )
++endif()
+
+ if (WITH_STATIC_LIB)
+ add_library(${LIBSSH_STATIC_LIBRARY} STATIC ${libssh_SRCS})
diff --git a/ports/libssh/only-one-flavor-threads.patch b/ports/libssh/only-one-flavor-threads.patch
new file mode 100644
index 000000000..31b3e1f36
--- /dev/null
+++ b/ports/libssh/only-one-flavor-threads.patch
@@ -0,0 +1,21 @@
+diff --git a/src/threads/CMakeLists.txt b/src/threads/CMakeLists.txt
+index 2ab4e1b..a47620b 100644
+--- a/src/threads/CMakeLists.txt
++++ b/src/threads/CMakeLists.txt
+@@ -59,6 +59,7 @@ include_directories(
+ if (libssh_threads_SRCS)
+ set(LIBSSH_THREADS ON CACHE "libssh threads lib" INTERNAL)
+
++ if (NOT WITH_STATIC_LIB)
+ add_library(${LIBSSH_THREADS_SHARED_LIBRARY} SHARED ${libssh_threads_SRCS})
+
+ target_link_libraries(${LIBSSH_THREADS_SHARED_LIBRARY} ${LIBSSH_THREADS_LINK_LIBRARIES})
+@@ -89,7 +90,7 @@ if (libssh_threads_SRCS)
+ COMPONENT libraries
+ )
+
+- if (WITH_STATIC_LIB)
++ else (WITH_STATIC_LIB)
+ add_library(${LIBSSH_THREADS_STATIC_LIBRARY} STATIC ${libssh_threads_SRCS})
+
+ if (MSVC)
diff --git a/ports/libssh/portfile.cmake b/ports/libssh/portfile.cmake
index 8cac84063..49c927c22 100644
--- a/ports/libssh/portfile.cmake
+++ b/ports/libssh/portfile.cmake
@@ -1,7 +1,7 @@
include(vcpkg_common_functions)
if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore)
- message(FATAL_ERROR "WindowsStore not supported")
+ message(FATAL_ERROR "WindowsStore not supported")
endif()
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libssh-0.7.5)
vcpkg_download_distfile(ARCHIVE
@@ -11,24 +11,48 @@ vcpkg_download_distfile(ARCHIVE
)
vcpkg_extract_source_archive(${ARCHIVE})
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES
+ ${CMAKE_CURRENT_LIST_DIR}/build-one-flavor.patch
+ ${CMAKE_CURRENT_LIST_DIR}/only-one-flavor-threads.patch
+)
+
+string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" WITH_STATIC_LIB)
+
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
- OPTIONS -DWITH_STATIC_LIB=ON
-
+ OPTIONS
+ -DWITH_STATIC_LIB=${WITH_STATIC_LIB}
+ -DWITH_EXAMPLES=OFF
+ -DWITH_TESTING=OFF
+ -DWITH_NACL=OFF
+ -DWITH_GSSAPI=OFF
)
vcpkg_install_cmake()
vcpkg_copy_pdbs()
-vcpkg_fixup_cmake_targets(CONFIG_PATH "cmake/libssh")
-
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
- file(INSTALL ${CURRENT_PACKAGES_DIR}/lib/static/ssh.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
- file(INSTALL ${CURRENT_PACKAGES_DIR}/debug/lib/static/ssh.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
- file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
+ if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/static/ssh.lib)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/lib/static/ssh.lib ${CURRENT_PACKAGES_DIR}/lib/ssh.lib)
+ endif()
+ if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/static/ssh.lib)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/static/ssh.lib ${CURRENT_PACKAGES_DIR}/debug/lib/ssh.lib)
+ endif()
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
+
+ file(READ ${CURRENT_PACKAGES_DIR}/include/libssh/libssh.h _contents)
+ string(REPLACE "#ifdef LIBSSH_STATIC" "#if 1" _contents "${_contents}")
+ file(WRITE ${CURRENT_PACKAGES_DIR}/include/libssh/libssh.h "${_contents}")
endif()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/static ${CURRENT_PACKAGES_DIR}/debug/lib/static)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+# The installed cmake config files are nonfunctional (0.7.5)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/cmake ${CURRENT_PACKAGES_DIR}/cmake)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake ${CURRENT_PACKAGES_DIR}/lib/cmake)
+
file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libssh RENAME copyright)
diff --git a/ports/libtorrent/CONTROL b/ports/libtorrent/CONTROL
index e0de70962..815a53497 100644
--- a/ports/libtorrent/CONTROL
+++ b/ports/libtorrent/CONTROL
@@ -1,4 +1,4 @@
Source: libtorrent
-Version: 1.1.6
+Version: 1.1.6-1
Description: An efficient feature complete C++ BitTorrent implementation
-Build-Depends: openssl, boost-system, boost-date-time, boost-chrono, boost-random, boost-asio, boost-crc, boost-config
+Build-Depends: openssl, boost-system, boost-date-time, boost-chrono, boost-random, boost-asio, boost-crc, boost-config, boost-iterator
diff --git a/ports/libtorrent/boost-167.patch b/ports/libtorrent/boost-167.patch
new file mode 100644
index 000000000..279d517d5
--- /dev/null
+++ b/ports/libtorrent/boost-167.patch
@@ -0,0 +1,48 @@
+diff --git a/include/libtorrent/ip_filter.hpp b/include/libtorrent/ip_filter.hpp
+index dac1cab..0b29c64 100644
+--- a/include/libtorrent/ip_filter.hpp
++++ b/include/libtorrent/ip_filter.hpp
+@@ -42,6 +42,7 @@ POSSIBILITY OF SUCH DAMAGE.
+
+ #include <boost/limits.hpp>
+ #include <boost/utility.hpp>
++#include <boost/next_prior.hpp>
+ #include <boost/cstdint.hpp>
+ #include <boost/tuple/tuple.hpp>
+
+diff --git a/src/kademlia/routing_table.cpp b/src/kademlia/routing_table.cpp
+index 1ac00de..1d11617 100644
+--- a/src/kademlia/routing_table.cpp
++++ b/src/kademlia/routing_table.cpp
+@@ -53,6 +53,7 @@ POSSIBILITY OF SUCH DAMAGE.
+
+ #include <boost/cstdint.hpp>
+ #include <boost/bind.hpp>
++#include <boost/next_prior.hpp>
+
+ #include "libtorrent/aux_/disable_warnings_pop.hpp"
+
+diff --git a/src/torrent.cpp b/src/torrent.cpp
+index feacfa4..7b2b920 100644
+--- a/src/torrent.cpp
++++ b/src/torrent.cpp
+@@ -46,6 +46,7 @@ POSSIBILITY OF SUCH DAMAGE.
+
+ #include <boost/bind.hpp>
+ #include <boost/make_shared.hpp>
++#include <boost/next_prior.hpp>
+ #if TORRENT_USE_I2P
+ # include <boost/algorithm/string/predicate.hpp>
+ #endif
+diff --git a/test/test_ip_filter.cpp b/test/test_ip_filter.cpp
+index 21ac404..40e3cd5 100644
+--- a/test/test_ip_filter.cpp
++++ b/test/test_ip_filter.cpp
+@@ -32,6 +32,7 @@ POSSIBILITY OF SUCH DAMAGE.
+
+ #include "libtorrent/ip_filter.hpp"
+ #include <boost/utility.hpp>
++#include <boost/next_prior.hpp>
+
+ #include "test.hpp"
+ #include "settings.hpp"
diff --git a/ports/libtorrent/portfile.cmake b/ports/libtorrent/portfile.cmake
index bf0d851b9..792fe1dee 100644
--- a/ports/libtorrent/portfile.cmake
+++ b/ports/libtorrent/portfile.cmake
@@ -10,7 +10,9 @@ vcpkg_from_github(
vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
- PATCHES ${CMAKE_CURRENT_LIST_DIR}/add-datetime-to-boost-libs.patch
+ PATCHES
+ ${CMAKE_CURRENT_LIST_DIR}/add-datetime-to-boost-libs.patch
+ ${CMAKE_CURRENT_LIST_DIR}/boost-167.patch
)
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" LIBTORRENT_SHARED)
diff --git a/ports/libuuid/CMakeLists.txt b/ports/libuuid/CMakeLists.txt
new file mode 100644
index 000000000..ff1edd0ef
--- /dev/null
+++ b/ports/libuuid/CMakeLists.txt
@@ -0,0 +1,35 @@
+cmake_minimum_required(VERSION 3.0)
+project(libuuid C)
+
+configure_file(config.linux.h config.h COPYONLY)
+
+include_directories(${CMAKE_CURRENT_BINARY_DIR})
+
+add_library(uuid STATIC
+ clear.c
+ compare.c
+ copy.c
+ gen_uuid.c
+ isnull.c
+ pack.c
+ parse.c
+ randutils.c
+ unpack.c
+ unparse.c
+ uuid_time.c
+)
+target_compile_options(uuid PRIVATE -include "${CMAKE_CURRENT_BINARY_DIR}/config.h")
+
+add_executable(test_uuid test_uuid.c)
+target_link_libraries(test_uuid uuid)
+
+if(CMAKE_BUILD_TYPE STREQUAL "Release")
+ install(FILES uuid.h DESTINATION include/uuid)
+endif()
+
+install(
+ TARGETS uuid
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib
+)
diff --git a/ports/libuuid/CONTROL b/ports/libuuid/CONTROL
new file mode 100644
index 000000000..04bfbe47b
--- /dev/null
+++ b/ports/libuuid/CONTROL
@@ -0,0 +1,3 @@
+Source: libuuid
+Version: 1.0.3-1
+Description: Universally unique id library
diff --git a/ports/libuuid/config.linux.h b/ports/libuuid/config.linux.h
new file mode 100644
index 000000000..38b53cac1
--- /dev/null
+++ b/ports/libuuid/config.linux.h
@@ -0,0 +1,13 @@
+#define HAVE_DECL__SC_HOST_NAME_MAX 1
+#define HAVE_INTTYPES_H 1
+#define HAVE_NETINET_IN_H 1
+#define HAVE_SRANDOM 1
+#define HAVE_STDINT_H 1
+#define HAVE_STDLIB_H 1
+#define HAVE_SYS_FILE_H 1
+#define HAVE_SYS_IOCTL_H 1
+#define HAVE_SYS_SOCKET_H 1
+#define HAVE_SYS_TIME_H 1
+#define HAVE_UNISTD_H 1
+#define HAVE_USLEEP 1
+#define PACKAGE_STRING "libuuid 1.0.3"
diff --git a/ports/libuuid/portfile.cmake b/ports/libuuid/portfile.cmake
new file mode 100644
index 000000000..7989e830d
--- /dev/null
+++ b/ports/libuuid/portfile.cmake
@@ -0,0 +1,29 @@
+include(vcpkg_common_functions)
+
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libuuid-1.0.3)
+vcpkg_download_distfile(ARCHIVE
+ URLS "http://sourceforge.net/projects/libuuid/files/libuuid-1.0.3.tar.gz"
+ FILENAME libuuid-1.0.3.tar.gz
+ SHA512 77488caccc66503f6f2ded7bdfc4d3bc2c20b24a8dc95b2051633c695e99ec27876ffbafe38269b939826e1fdb06eea328f07b796c9e0aaca12331a787175507
+)
+
+vcpkg_extract_source_archive(${ARCHIVE})
+
+file(COPY
+ ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt
+ ${CMAKE_CURRENT_LIST_DIR}/config.linux.h
+ DESTINATION ${SOURCE_PATH}
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+)
+
+vcpkg_install_cmake()
+
+file(INSTALL
+ ${SOURCE_PATH}/COPYING
+ DESTINATION ${CURRENT_PACKAGES_DIR}/share/libuuid RENAME copyright)
+
+vcpkg_copy_pdbs()
diff --git a/ports/libuv/CONTROL b/ports/libuv/CONTROL
index 2f7647489..bcb1ccb3e 100644
--- a/ports/libuv/CONTROL
+++ b/ports/libuv/CONTROL
@@ -1,3 +1,3 @@
Source: libuv
-Version: 1.19.2
+Version: 1.20.2
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 4a79096c2..2e3d12fa5 100644
--- a/ports/libuv/portfile.cmake
+++ b/ports/libuv/portfile.cmake
@@ -2,8 +2,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO libuv/libuv
- REF v1.19.2
- SHA512 4fa879e34c51ae428ebf72ce80873b8d12994ae1560f9d3577a693653bfd5bd4b4fda7ff457b98b5e60fc82546658300401d6545d677f31d2cd66be3d82e02da
+ REF v1.20.2
+ SHA512 449dfd15e2953d2a8b9c6160ab39728a87799b3e8595f9e3013467daf69d3561e2c5602172a0596e7c884237cf0d52d3b0f00edde03a7b037dc90b61bce2057c
HEAD_REF v1.x)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
diff --git a/ports/libvpx/CONTROL b/ports/libvpx/CONTROL
index b4cfa55f4..fa1522629 100644
--- a/ports/libvpx/CONTROL
+++ b/ports/libvpx/CONTROL
@@ -1,3 +1,3 @@
Source: libvpx
-Version: 1.6.1-1
+Version: 1.7.0
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 31630332a..d253008e7 100644
--- a/ports/libvpx/portfile.cmake
+++ b/ports/libvpx/portfile.cmake
@@ -5,8 +5,8 @@ endif()
include(vcpkg_common_functions)
-set(LIBVPX_VERSION 1.6.1)
-set(LIBVPX_HASH 13b7eb515d026b302b8c484d6f06df067feb5aed4ceac953d85fe84fd684dab07e89ddbf80b4f395c6d9127709422156287e5754f49246050b2e18930adb3970)
+set(LIBVPX_VERSION 1.7.0)
+set(LIBVPX_HASH 8b3b766b550f8d86907628d7ed88035f9a2612aac21542e0fd5ad35b905eb82cbe1be02a1a24afce7a3bcc4766f62611971f72724761996b392136c40a1e7ff0)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libvpx-${LIBVPX_VERSION})
@@ -14,7 +14,7 @@ string(REGEX REPLACE "\\\\" "/" SOURCE_PATH_UNIX ${SOURCE_PATH})
string(REGEX REPLACE "\\\\" "/" CURRENT_PACKAGES_DIR_UNIX ${CURRENT_PACKAGES_DIR})
vcpkg_download_distfile(ARCHIVE
- URLS "https://github.com/webmproject/libvpx/archive/v${LIBVPX_VERSION}.tar.gz"
+ URLS "https://github.com/webmproject/libvpx/archive/v${LIBVPX_VERSION}/libvpx-${LIBVPX_VERSION}.tar.gz"
FILENAME "libvpx-${LIBVPX_VERSION}.tar.gz"
SHA512 ${LIBVPX_HASH}
)
@@ -23,8 +23,11 @@ vcpkg_extract_source_archive(${ARCHIVE})
vcpkg_find_acquire_program(YASM)
vcpkg_find_acquire_program(PERL)
vcpkg_acquire_msys(MSYS_ROOT PACKAGES make)
+vcpkg_acquire_msys(MSYS_ROOT PACKAGES diffutils)
get_filename_component(YASM_EXE_PATH ${YASM} DIRECTORY)
get_filename_component(PERL_EXE_PATH ${PERL} DIRECTORY)
+
+message(STATUS "PERL_EXE_PATH ; ${PERL_EXE_PATH}")
set(ENV{PATH} "${YASM_EXE_PATH};${MSYS_ROOT}/usr/bin;$ENV{PATH};${PERL_EXE_PATH}")
set(BASH ${MSYS_ROOT}/usr/bin/bash.exe)
@@ -48,7 +51,7 @@ elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL arm)
set(LIBVPX_ARCH_DIR "ARM")
endif()
-set(LIBVPX_TARGET_VS "vs14")
+set(LIBVPX_TARGET_VS "vs15")
message(STATUS "Generating makefile")
file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET})
diff --git a/ports/libxml2/CMakeLists.txt b/ports/libxml2/CMakeLists.txt
index 96ecb901d..3d49985ee 100644
--- a/ports/libxml2/CMakeLists.txt
+++ b/ports/libxml2/CMakeLists.txt
@@ -3,60 +3,16 @@ project(libxml2 C)
option(INSTALL_HEADERS "Install public header files" ON)
+set(CMAKE_SHARED_LIBRARY_PREFIX)
+set(CMAKE_STATIC_LIBRARY_PREFIX)
+
find_package(ZLIB REQUIRED)
find_package(LibLZMA REQUIRED)
-if(WIN32)
- find_library(ICONV NAMES libiconv)
- find_library(ICONV_CHARSET NAMES libcharset)
-endif()
+find_package(unofficial-iconv REQUIRED)
-set(SOURCES
- buf.c
- c14n.c
- catalog.c
- chvalid.c
- debugXML.c
- dict.c
- DOCBparser.c
- encoding.c
- entities.c
- error.c
- globals.c
- hash.c
- HTMLparser.c
- HTMLtree.c
- legacy.c
- list.c
- nanoftp.c
- nanohttp.c
- parser.c
- parserInternals.c
- pattern.c
- relaxng.c
- SAX.c
- SAX2.c
- schematron.c
- threads.c
- tree.c
- uri.c
- valid.c
- xinclude.c
- xlink.c
- xmlIO.c
- xmlmemory.c
- xmlreader.c
- xmlregexp.c
- xmlmodule.c
- xmlsave.c
- xmlschemas.c
- xmlschemastypes.c
- xmlstring.c
- xmlunicode.c
- xmlwriter.c
- xpath.c
- xpointer.c
- xzlib.c
-)
+file(GLOB SOURCES *.c)
+list(FILTER SOURCES EXCLUDE REGEX "/(run|test|trio)[^/]*$")
+list(FILTER SOURCES EXCLUDE REGEX "xml(lint|catalog).c$")
# Generate xmlexports with fixed definition of LIBXML_STATIC
file(READ include/libxml/xmlexports.h XMLEXPORTS_H)
@@ -67,25 +23,33 @@ else()
endif()
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/xmlexports.h "${XMLEXPORTS_H}")
-file(GLOB PUBLIC_HEADERS include/libxml/*.h)
-list(FILTER PUBLIC_HEADERS EXCLUDE REGEX "xmlexports\\.h$")
-list(APPEND PUBLIC_HEADERS ${CMAKE_CURRENT_BINARY_DIR}/xmlexports.h)
-
-configure_file(include/win32config.h config.h COPYONLY)
+if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
+ configure_file(include/win32config.h config.h COPYONLY)
+elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
+ configure_file("${PORT_DIR}/config.osx.h" config.h COPYONLY)
+elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
+ configure_file("${PORT_DIR}/config.linux.h" config.h COPYONLY)
+else()
+ message(FATAL_ERROR "No config.h checked in for the target platform. Please run ./configure for libxml2 and add the resulting config.h into this port.")
+endif()
add_library(libxml2 ${SOURCES})
if(INSTALL_HEADERS)
+ file(GLOB PUBLIC_HEADERS include/libxml/*.h)
+ list(FILTER PUBLIC_HEADERS EXCLUDE REGEX "xmlexports\\.h$")
+ list(APPEND PUBLIC_HEADERS ${CMAKE_CURRENT_BINARY_DIR}/xmlexports.h)
+
set_target_properties(libxml2 PROPERTIES PUBLIC_HEADER "${PUBLIC_HEADERS}")
endif()
-target_include_directories(libxml2 PRIVATE ${CMAKE_CURRENT_BINARY_DIR} win32/vc10 include ${LIBLZMA_INCLUDE_DIRS})
+target_include_directories(libxml2 PRIVATE ${CMAKE_CURRENT_BINARY_DIR} include ${LIBLZMA_INCLUDE_DIRS})
target_link_libraries(libxml2 PRIVATE
+ unofficial::iconv::libcharset unofficial::iconv::libiconv
ZLIB::ZLIB
${LIBLZMA_LIBRARIES}
)
-if(WIN32)
+if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
+ target_include_directories(libxml2 PRIVATE win32/vc10)
target_link_libraries(libxml2 PRIVATE
- ${ICONV}
- ${ICONV_CHARSET}
wsock32.lib
ws2_32.lib
)
diff --git a/ports/libxml2/CONTROL b/ports/libxml2/CONTROL
index b8552e48e..f005d2367 100644
--- a/ports/libxml2/CONTROL
+++ b/ports/libxml2/CONTROL
@@ -1,4 +1,4 @@
Source: libxml2
-Version: 2.9.4-4
+Version: 2.9.4-5
Description: Libxml2 is the XML C parser and toolkit developed for the Gnome project (but usable outside of the Gnome platform)
Build-Depends: zlib, libiconv, liblzma
diff --git a/ports/libxml2/config.linux.h b/ports/libxml2/config.linux.h
new file mode 100644
index 000000000..d029e95cf
--- /dev/null
+++ b/ports/libxml2/config.linux.h
@@ -0,0 +1,56 @@
+#define GETHOSTBYNAME_ARG_CAST /**/
+#define HAVE_ANSIDECL_H 1
+#define HAVE_ARPA_INET_H 1
+#define HAVE_ARPA_NAMESER_H 1
+#define HAVE_CTYPE_H 1
+#define HAVE_DIRENT_H 1
+#define HAVE_DLFCN_H 1
+#define HAVE_DLOPEN /**/
+#define HAVE_ERRNO_H 1
+#define HAVE_FCNTL_H 1
+#define HAVE_FLOAT_H 1
+#define HAVE_FTIME 1
+#define HAVE_GETADDRINFO /**/
+#define HAVE_GETTIMEOFDAY 1
+#define HAVE_INTTYPES_H 1
+#define HAVE_ISASCII 1
+#define HAVE_LIMITS_H 1
+#define HAVE_LOCALTIME 1
+#define HAVE_LZMA_H 1
+#define HAVE_MALLOC_H 1
+#define HAVE_MATH_H 1
+#define HAVE_MMAP 1
+#define HAVE_NETDB_H 1
+#define HAVE_NETINET_IN_H 1
+#define HAVE_POLL_H 1
+#define HAVE_PTHREAD_H /**/
+#define HAVE_PUTENV 1
+#define HAVE_RAND 1
+#define HAVE_RAND_R 1
+#define HAVE_RESOLV_H 1
+#define HAVE_SIGNAL_H 1
+#define HAVE_SRAND 1
+#define HAVE_STAT 1
+#define HAVE_STDARG_H 1
+#define HAVE_STDINT_H 1
+#define HAVE_STDLIB_H 1
+#define HAVE_STRFTIME 1
+#define HAVE_STRINGS_H 1
+#define HAVE_STRING_H 1
+#define HAVE_SYS_MMAN_H 1
+#define HAVE_SYS_SELECT_H 1
+#define HAVE_SYS_SOCKET_H 1
+#define HAVE_SYS_STAT_H 1
+#define HAVE_SYS_TIMEB_H 1
+#define HAVE_SYS_TIME_H 1
+#define HAVE_SYS_TYPES_H 1
+#define HAVE_TIME 1
+#define HAVE_TIME_H 1
+#define HAVE_UNISTD_H 1
+#define HAVE_VA_COPY 1
+#define HAVE_ZLIB_H 1
+#define ICONV_CONST
+#define SEND_ARG2_CAST /**/
+#define SUPPORT_IP6 /**/
+#define VA_LIST_IS_ARRAY 1
+#define XML_SOCKLEN_T socklen_t
diff --git a/ports/libxml2/config.osx.h b/ports/libxml2/config.osx.h
new file mode 100644
index 000000000..95d83edc1
--- /dev/null
+++ b/ports/libxml2/config.osx.h
@@ -0,0 +1,54 @@
+#define GETHOSTBYNAME_ARG_CAST /**/
+#define HAVE_ARPA_INET_H 1
+#define HAVE_ARPA_NAMESER_H 1
+#define HAVE_CTYPE_H 1
+#define HAVE_DIRENT_H 1
+#define HAVE_DLFCN_H 1
+#define HAVE_DLOPEN /**/
+#define HAVE_ERRNO_H 1
+#define HAVE_FCNTL_H 1
+#define HAVE_FLOAT_H 1
+#define HAVE_FTIME 1
+#define HAVE_GETADDRINFO /**/
+#define HAVE_GETTIMEOFDAY 1
+#define HAVE_INTTYPES_H 1
+#define HAVE_ISASCII 1
+#define HAVE_LIMITS_H 1
+#define HAVE_LOCALTIME 1
+#define HAVE_LZMA_H 1
+#define HAVE_MATH_H 1
+#define HAVE_MMAP 1
+#define HAVE_NETDB_H 1
+#define HAVE_NETINET_IN_H 1
+#define HAVE_POLL_H 1
+#define HAVE_PTHREAD_H /**/
+#define HAVE_PUTENV 1
+#define HAVE_RAND 1
+#define HAVE_RAND_R 1
+#define HAVE_RESOLV_H 1
+#define HAVE_SIGNAL_H 1
+#define HAVE_SRAND 1
+#define HAVE_STAT 1
+#define HAVE_STDARG_H 1
+#define HAVE_STDINT_H 1
+#define HAVE_STDLIB_H 1
+#define HAVE_STRFTIME 1
+#define HAVE_STRINGS_H 1
+#define HAVE_STRING_H 1
+#define HAVE_SYS_MMAN_H 1
+#define HAVE_SYS_SELECT_H 1
+#define HAVE_SYS_SOCKET_H 1
+#define HAVE_SYS_STAT_H 1
+#define HAVE_SYS_TIMEB_H 1
+#define HAVE_SYS_TIME_H 1
+#define HAVE_SYS_TYPES_H 1
+#define HAVE_TIME 1
+#define HAVE_TIME_H 1
+#define HAVE_UNISTD_H 1
+#define HAVE_VA_COPY 1
+#define HAVE_ZLIB_H 1
+#define ICONV_CONST
+#define SEND_ARG2_CAST /**/
+#define SUPPORT_IP6 /**/
+#define VA_LIST_IS_ARRAY 1
+#define XML_SOCKLEN_T socklen_t
diff --git a/ports/libxml2/portfile.cmake b/ports/libxml2/portfile.cmake
index a300fcaf5..d55d4052d 100644
--- a/ports/libxml2/portfile.cmake
+++ b/ports/libxml2/portfile.cmake
@@ -12,13 +12,14 @@ file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
+ OPTIONS -DPORT_DIR=${CMAKE_CURRENT_LIST_DIR}
OPTIONS_DEBUG -DINSTALL_HEADERS=OFF
)
vcpkg_install_cmake()
# Handle copyright
-file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libxml2)
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libxml2)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/libxml2/COPYING ${CURRENT_PACKAGES_DIR}/share/libxml2/copyright)
vcpkg_copy_pdbs()
diff --git a/ports/libxml2/usage b/ports/libxml2/usage
new file mode 100644
index 000000000..fd94c4b4e
--- /dev/null
+++ b/ports/libxml2/usage
@@ -0,0 +1,5 @@
+The package libxml2 is compatible with built-in CMake targets:
+
+ find_package(LibXml2 REQUIRED)
+ target_include_directories(main PRIVATE ${LIBXML2_INCLUDE_DIR})
+ target_link_libraries(main PRIVATE ${LIBXML2_LIBRARIES})
diff --git a/ports/libxml2/vcpkg-cmake-wrapper.cmake b/ports/libxml2/vcpkg-cmake-wrapper.cmake
index 6452af426..68bed6547 100644
--- a/ports/libxml2/vcpkg-cmake-wrapper.cmake
+++ b/ports/libxml2/vcpkg-cmake-wrapper.cmake
@@ -1,11 +1,13 @@
_find_package(${ARGS})
-if(LibXml2_FOUND AND (CMAKE_SYSTEM_NAME STREQUAL "Windows" OR CMAKE_SYSTEM_NAME STREQUAL "WindowsStore"))
+if(LibXml2_FOUND)
find_package(LibLZMA)
- list(APPEND LIBXML2_LIBRARIES
- ${LIBLZMA_LIBRARIES}
- debug ${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/lib/libiconv.lib
- optimized ${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib/libiconv.lib
- debug ${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/lib/libcharset.lib
- optimized ${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib/libcharset.lib
- ws2_32)
+ list(APPEND LIBXML2_LIBRARIES ${LIBLZMA_LIBRARIES})
+ if(CMAKE_SYSTEM_NAME STREQUAL "Windows" OR CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ list(APPEND LIBXML2_LIBRARIES
+ debug ${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/lib/libiconv.lib
+ optimized ${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib/libiconv.lib
+ debug ${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/lib/libcharset.lib
+ optimized ${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib/libcharset.lib
+ ws2_32)
+ endif()
endif()
diff --git a/ports/libxmlpp/CMakeLists.txt b/ports/libxmlpp/CMakeLists.txt
new file mode 100644
index 000000000..697d6bbc2
--- /dev/null
+++ b/ports/libxmlpp/CMakeLists.txt
@@ -0,0 +1,97 @@
+cmake_minimum_required(VERSION 3.9)
+project(libxmlpp)
+
+set(CMAKE_CXX_STANDARD 17)
+
+set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS TRUE)
+
+find_path(GLIBMM_INCLUDE_DIR NAMES glibmm.h)
+find_library(GLIBMM_LIBRARY NAMES glibmm)
+find_library(GIOMM_LIBRARY NAMES giomm)
+find_library(GLIB_LIBRARY NAMES glib glib-2.0)
+find_library(GIO_LIBRARY NAMES gio gio-2.0)
+find_library(GMODULE_LIBRARY NAMES gmodule gmodule-2.0)
+find_library(GOBJECT_LIBRARY NAMES gobject gobject-2.0)
+find_library(SIGCPP_LIBRARY NAMES sigc sigc-2.0)
+find_library(FFI_LIBRARY NAMES ffi libffi)
+find_library(PCRE_LIBRARY NAMES pcre libpcre)
+find_package(LibXml2 REQUIRED)
+find_package(LibLZMA REQUIRED)
+find_package(ZLIB REQUIRED)
+
+if(APPLE)
+ find_library(LIBINTL_LIBRARY NAMES intl)
+endif()
+
+find_package(unofficial-iconv REQUIRED)
+link_libraries(${LIBINTL_LIBRARY} unofficial::iconv::libiconv)
+
+if(APPLE)
+ find_library(COREFOUNDATION_LIBRARY CoreFoundation)
+ find_library(CORESERVICES_LIBRARY CoreServices)
+ find_library(FOUNDATION_LIBRARY Foundation)
+ link_libraries(${COREFOUNDATION_LIBRARY} ${CORESERVICES_LIBRARY} ${FOUNDATION_LIBRARY})
+endif()
+
+link_libraries(
+ ${GIOMM_LIBRARY}
+ ${GLIBMM_LIBRARY}
+ ${GMODULE_LIBRARY}
+ ${GOBJECT_LIBRARY}
+ ${GIO_LIBRARY}
+ ${GLIB_LIBRARY}
+ ${SIGCPP_LIBRARY}
+ ${FFI_LIBRARY}
+ ${LIBXML2_LIBRARIES}
+ ${PCRE_LIBRARY}
+ ${LIBLZMA_LIBRARIES}
+ ZLIB::ZLIB
+)
+include_directories(${GLIBMM_INCLUDE_DIR} ${LIBXML2_INCLUDE_DIRS} ${LIBLZMA_INCLUDE_DIRS})
+include_directories(. ${CMAKE_BINARY_DIR}/config)
+if(NOT WIN32)
+ set(THREADS_PREFER_PTHREAD_FLAG ON)
+ find_package(Threads REQUIRED)
+ link_libraries(Threads::Threads ${CMAKE_DL_LIBS})
+endif()
+
+# config file
+if(WIN32)
+ configure_file(MSVC_Net2010/libxml++/libxml++config.h ${CMAKE_BINARY_DIR}/config/libxml++config.h COPYONLY)
+else()
+ set(ENV{GLIBMM_CFLAGS} -I${GLIBMM_INCLUDE_DIR})
+ set(ENV{GLIBMM_LIBS} "${GLIBMM_LIBRARY}")
+ set(ENV{GIOMM_CFLAGS} -I${GLIBMM_INCLUDE_DIR})
+ set(ENV{GIOMM_LIBS} "${GIOMM_LIBRARY}")
+ set(ENV{PKG_CONFIG} "echo")
+
+ file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/config)
+ execute_process(
+ COMMAND "${CMAKE_SOURCE_DIR}/configure"
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/config
+ RESULT_VARIABLE res
+ )
+ if(NOT res EQUAL 0)
+ message(FATAL_ERROR "Configure failed.")
+ endif()
+endif()
+
+file(GLOB_RECURSE SOURCES libxml++/*.cc)
+add_library(xml++ ${SOURCES})
+target_compile_definitions(xml++ PRIVATE -DLIBXMLPP_BUILD)
+
+if(NOT DISABLE_INSTALL_HEADERS)
+ install(FILES ${CMAKE_BINARY_DIR}/config/libxml++config.h DESTINATION include)
+ install(DIRECTORY libxml++ DESTINATION include FILES_MATCHING PATTERN *.h)
+endif()
+install(
+ TARGETS xml++
+ RUNTIME DESTINATION bin
+ ARCHIVE DESTINATION lib
+ LIBRARY DESTINATION lib
+)
+
+if(NOT DISABLE_EXAMPLES)
+ add_executable(dom_build examples/dom_build/main.cc)
+ target_link_libraries(dom_build xml++)
+endif()
diff --git a/ports/libxmlpp/CONTROL b/ports/libxmlpp/CONTROL
new file mode 100644
index 000000000..890d1471d
--- /dev/null
+++ b/ports/libxmlpp/CONTROL
@@ -0,0 +1,4 @@
+Source: libxmlpp
+Version: 2.40.1-2
+Description: a C++ wrapper for the libxml XML parser library.
+Build-Depends: libxml2, glibmm
diff --git a/ports/libxmlpp/fixAutoPtrExpired.patch b/ports/libxmlpp/fixAutoPtrExpired.patch
new file mode 100644
index 000000000..98d4df6bc
--- /dev/null
+++ b/ports/libxmlpp/fixAutoPtrExpired.patch
@@ -0,0 +1,114 @@
+diff --git a/libxml++/parsers/saxparser.h b/libxml++/parsers/saxparser.h
+index 1362ca3..0bd36d2 100644
+--- a/libxml++/parsers/saxparser.h
++++ b/libxml++/parsers/saxparser.h
+@@ -221,7 +221,7 @@ private:
+ //TODO: Remove the virtual when we can break ABI?
+ virtual void parse();
+
+- std::auto_ptr<_xmlSAXHandler> sax_handler_;
++ std::unique_ptr<_xmlSAXHandler> sax_handler_;
+
+ // A separate xmlpp::Document that is just used for entity resolution,
+ // and never seen in the API:
+diff --git a/libxml++/parsers/textreader.h b/libxml++/parsers/textreader.h
+index 48901b2..17f0737 100644
+--- a/libxml++/parsers/textreader.h
++++ b/libxml++/parsers/textreader.h
+@@ -257,7 +257,7 @@ class TextReader: NonCopyable
+ void * locator);
+ void check_for_exceptions() const;
+
+- std::auto_ptr<PropertyReader> propertyreader;
++ std::unique_ptr<PropertyReader> propertyreader;
+ _xmlTextReader* impl_;
+ int severity_;
+ Glib::ustring error_;
+diff --git a/libxml++/relaxngschema.h b/libxml++/relaxngschema.h
+index 8df7089..ffe2eaa 100644
+--- a/libxml++/relaxngschema.h
++++ b/libxml++/relaxngschema.h
+@@ -23,7 +23,7 @@
+
+ #include <libxml++/schemabase.h>
+ #include <libxml++/document.h>
+-#include <memory> // std::auto_ptr
++#include <memory> // std::unique_ptr
+
+ #ifndef DOXYGEN_SHOULD_SKIP_THIS
+ extern "C" {
+@@ -105,7 +105,7 @@ protected:
+
+ private:
+ struct Impl;
+- std::auto_ptr<Impl> pimpl_;
++ std::unique_ptr<Impl> pimpl_;
+ };
+
+ } // namespace xmlpp
+diff --git a/libxml++/validators/relaxngvalidator.h b/libxml++/validators/relaxngvalidator.h
+index 5cd5ad7..cd29393 100644
+--- a/libxml++/validators/relaxngvalidator.h
++++ b/libxml++/validators/relaxngvalidator.h
+@@ -22,7 +22,7 @@
+ #define __LIBXMLPP_VALIDATOR_RELAXNGVALIDATOR_H
+
+ #include <libxml++/validators/schemavalidatorbase.h>
+-#include <memory> // std::auto_ptr
++#include <memory> // std::unique_ptr
+
+ namespace Glib
+ {
+@@ -156,7 +156,7 @@ protected:
+
+ private:
+ struct Impl;
+- std::auto_ptr<Impl> pimpl_;
++ std::unique_ptr<Impl> pimpl_;
+ };
+
+ } // namespace xmlpp
+diff --git a/libxml++/validators/xsdvalidator.h b/libxml++/validators/xsdvalidator.h
+index 941d7f1..d64b971 100644
+--- a/libxml++/validators/xsdvalidator.h
++++ b/libxml++/validators/xsdvalidator.h
+@@ -20,7 +20,7 @@
+ #define __LIBXMLPP_VALIDATOR_XSDVALIDATOR_H
+
+ #include <libxml++/validators/schemavalidatorbase.h>
+-#include <memory> // std::auto_ptr
++#include <memory> // std::unique_ptr
+
+ namespace Glib
+ {
+@@ -146,7 +146,7 @@ protected:
+
+ private:
+ struct Impl;
+- std::auto_ptr<Impl> pimpl_;
++ std::unique_ptr<Impl> pimpl_;
+ };
+
+ } // namespace xmlpp
+diff --git a/libxml++/xsdschema.h b/libxml++/xsdschema.h
+index 1333025..8220e4e 100644
+--- a/libxml++/xsdschema.h
++++ b/libxml++/xsdschema.h
+@@ -21,7 +21,7 @@
+
+ #include <libxml++/schemabase.h>
+ #include <libxml++/document.h>
+-#include <memory> // std::auto_ptr
++#include <memory> // std::unique_ptr
+
+ #ifndef DOXYGEN_SHOULD_SKIP_THIS
+ extern "C" {
+@@ -96,7 +96,7 @@ protected:
+
+ private:
+ struct Impl;
+- std::auto_ptr<Impl> pimpl_;
++ std::unique_ptr<Impl> pimpl_;
+ };
+
+ } // namespace xmlpp
diff --git a/ports/libxmlpp/portfile.cmake b/ports/libxmlpp/portfile.cmake
new file mode 100644
index 000000000..9c39d6397
--- /dev/null
+++ b/ports/libxmlpp/portfile.cmake
@@ -0,0 +1,31 @@
+include(vcpkg_common_functions)
+set(LIBXMLPP_VERSION 2.40.1)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libxml++-${LIBXMLPP_VERSION})
+vcpkg_download_distfile(ARCHIVE
+ URLS "http://ftp.gnome.org/pub/GNOME/sources/libxml++/2.40/libxml++-${LIBXMLPP_VERSION}.tar.xz"
+ FILENAME "libxml++-${LIBXMLPP_VERSION}.tar.xz"
+ SHA512 a4ec2e8182d981c57bdcb8f0a203a3161f8c735ceb59fd212408b7a539d1dc826adf6717bed8f4d544ab08afd9c2fc861efe518e24bbd3a1c4b158e2ca48183a
+)
+vcpkg_extract_source_archive(${ARCHIVE})
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+
+vcpkg_apply_patches(
+ SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libxml++-${LIBXMLPP_VERSION}
+ PATCHES "${CMAKE_CURRENT_LIST_DIR}/fixAutoPtrExpired.patch"
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS_DEBUG
+ -DDISABLE_INSTALL_HEADERS=ON
+)
+
+vcpkg_install_cmake()
+
+vcpkg_copy_pdbs()
+
+# Handle copyright and readme
+file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libxmlpp RENAME copyright)
+file(INSTALL ${SOURCE_PATH}/README DESTINATION ${CURRENT_PACKAGES_DIR}/share/libxmlpp)
diff --git a/ports/libzip/CONTROL b/ports/libzip/CONTROL
index 450687f4f..e82f0fee2 100644
--- a/ports/libzip/CONTROL
+++ b/ports/libzip/CONTROL
@@ -1,4 +1,4 @@
Source: libzip
-Version: rel-1-5-0
+Version: rel-1-5-1
Build-Depends: zlib
Description: A library for reading, creating, and modifying zip archives.
diff --git a/ports/libzip/portfile.cmake b/ports/libzip/portfile.cmake
index dee085f6c..b509c5eb0 100644
--- a/ports/libzip/portfile.cmake
+++ b/ports/libzip/portfile.cmake
@@ -2,8 +2,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO nih-at/libzip
- REF rel-1-5-0
- SHA512 d8267dd86231d82e0d14fc3e47c7deed3f54bccbc734dff12a7e2522422653f64ebdb76b35b9eb4326227ae89e06bd4cad263558c8312220ff5979b3b2299460
+ REF rel-1-5-1
+ SHA512 778f438f6354f030656baa5497b3154ad8fb764011d2a6925136f32e06dc0dcd1ed93fe05dbf7be619004a68cdabe5e34a83b988c1501ed67e9cfa4fa540350f
)
# Patch cmake and configuration to allow static builds
diff --git a/ports/llvm/CONTROL b/ports/llvm/CONTROL
index ecc6346ca..37368dbc7 100644
--- a/ports/llvm/CONTROL
+++ b/ports/llvm/CONTROL
@@ -1,4 +1,4 @@
-Source: llvm
-Version: 5.0.1
-Description: The LLVM Compiler Infrastructure
-Build-Depends: atlmfc
+Source: llvm
+Version: 6.0.0-1
+Description: The LLVM Compiler Infrastructure
+Build-Depends: atlmfc
diff --git a/ports/llvm/portfile.cmake b/ports/llvm/portfile.cmake
index 60580947e..650e2ae92 100644
--- a/ports/llvm/portfile.cmake
+++ b/ports/llvm/portfile.cmake
@@ -1,82 +1,83 @@
-# LLVM documentation recommends always using static library linkage when
-# building with Microsoft toolchain; it's also the default on other platforms
-set(VCPKG_LIBRARY_LINKAGE static)
-
-if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
- message(FATAL_ERROR "llvm cannot currently be built for UWP")
-endif()
-
-include(vcpkg_common_functions)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/llvm-5.0.1.src)
-vcpkg_download_distfile(ARCHIVE
- URLS "http://releases.llvm.org/5.0.1/llvm-5.0.1.src.tar.xz"
- FILENAME "llvm-5.0.1.src.tar.xz"
- SHA512 bee1d45fca15ce725b1f2b1339b13eb6f750a3a321cfd099075477ec25835a8ca55b5366172c4aad46592dfd8afe372349ecf264f581463d017f9cee2d63c1cb
-)
-vcpkg_extract_source_archive(${ARCHIVE})
-
-vcpkg_download_distfile(CLANG_ARCHIVE
- URLS "http://releases.llvm.org/5.0.1/cfe-5.0.1.src.tar.xz"
- FILENAME "cfe-5.0.1.src.tar.xz"
- SHA512 6619177a2ff9934fe8b15d6aa229abb8e34d0b1a75228d9efba9393daf71d6419a7256de57b31e2f9f829f71f842118556f996e86ee076f1e0a7cd394dfd31a2
-)
-vcpkg_extract_source_archive(${CLANG_ARCHIVE} ${SOURCE_PATH}/tools)
-
-if(NOT EXISTS ${SOURCE_PATH}/tools/clang)
- file(RENAME ${SOURCE_PATH}/tools/cfe-5.0.1.src ${SOURCE_PATH}/tools/clang)
-endif()
-
-vcpkg_apply_patches(
- SOURCE_PATH ${SOURCE_PATH}
- PATCHES ${CMAKE_CURRENT_LIST_DIR}/install-cmake-modules-to-share.patch
-)
-
-vcpkg_find_acquire_program(PYTHON3)
-get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY)
-set(ENV{PATH} "$ENV{PATH};${PYTHON3_DIR}")
-
-vcpkg_configure_cmake(
- SOURCE_PATH ${SOURCE_PATH}
- PREFER_NINJA
- OPTIONS
- -DLLVM_TARGETS_TO_BUILD=X86
- -DLLVM_INCLUDE_TOOLS=ON
- -DLLVM_INCLUDE_UTILS=OFF
- -DLLVM_INCLUDE_EXAMPLES=OFF
- -DLLVM_INCLUDE_TESTS=OFF
- -DLLVM_ABI_BREAKING_CHECKS=FORCE_OFF
- -DLLVM_TOOLS_INSTALL_DIR=tools/llvm
-)
-
-vcpkg_install_cmake()
-
-file(GLOB EXE ${CURRENT_PACKAGES_DIR}/bin/*)
-file(GLOB DEBUG_EXE ${CURRENT_PACKAGES_DIR}/debug/bin/*)
-file(COPY ${EXE} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/llvm)
-file(COPY ${DEBUG_EXE} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/tools/llvm)
-file(REMOVE ${EXE})
-file(REMOVE ${DEBUG_EXE})
-
-vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/clang TARGET_PATH share/clang)
-vcpkg_fixup_cmake_targets(CONFIG_PATH share/llvm)
-vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/llvm)
-
-file(REMOVE_RECURSE
- ${CURRENT_PACKAGES_DIR}/debug/include
- ${CURRENT_PACKAGES_DIR}/debug/tools
- ${CURRENT_PACKAGES_DIR}/debug/share
- ${CURRENT_PACKAGES_DIR}/debug/bin
- ${CURRENT_PACKAGES_DIR}/debug/msbuild-bin
- ${CURRENT_PACKAGES_DIR}/bin
- ${CURRENT_PACKAGES_DIR}/msbuild-bin
- ${CURRENT_PACKAGES_DIR}/tools/msbuild-bin
-)
-
-# Remove one empty include subdirectory if it is indeed empty
-file(GLOB MCANALYSISFILES ${CURRENT_PACKAGES_DIR}/include/llvm/MC/MCAnalysis/*)
-if(NOT MCANALYSISFILES)
- file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/llvm/MC/MCAnalysis)
-endif()
-
-# Handle copyright
-file(INSTALL ${SOURCE_PATH}/LICENSE.TXT DESTINATION ${CURRENT_PACKAGES_DIR}/share/llvm RENAME copyright)
+# LLVM documentation recommends always using static library linkage when
+# building with Microsoft toolchain; it's also the default on other platforms
+set(VCPKG_LIBRARY_LINKAGE static)
+
+if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ message(FATAL_ERROR "llvm cannot currently be built for UWP")
+endif()
+
+include(vcpkg_common_functions)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/llvm-6.0.0.src)
+vcpkg_download_distfile(ARCHIVE
+ URLS "http://releases.llvm.org/6.0.0/llvm-6.0.0.src.tar.xz"
+ FILENAME "llvm-6.0.0.src.tar.xz"
+ SHA512 a71fdd5ddc46f01327ad891cfcc198febdbe10769c57f14d8a4fb7d514621ee4080e1a641200d3353c16a16731d390270499ec6cd3dc98fadc570f3eb6b52b8c
+)
+vcpkg_extract_source_archive(${ARCHIVE})
+
+vcpkg_download_distfile(CLANG_ARCHIVE
+ URLS "http://releases.llvm.org/6.0.0/cfe-6.0.0.src.tar.xz"
+ FILENAME "cfe-6.0.0.src.tar.xz"
+ SHA512 e886dd27448503bbfc7fd4f68eb089c19b2f2be4f0e5b26d3df253833f60b91d70b472a6b530063386e2252075b110ce9f5942800feddf6c34b94a75cf7bd5c6
+)
+vcpkg_extract_source_archive(${CLANG_ARCHIVE} ${SOURCE_PATH}/tools)
+
+if(NOT EXISTS ${SOURCE_PATH}/tools/clang)
+ file(RENAME ${SOURCE_PATH}/tools/cfe-6.0.0.src ${SOURCE_PATH}/tools/clang)
+endif()
+
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES ${CMAKE_CURRENT_LIST_DIR}/install-cmake-modules-to-share.patch
+)
+
+vcpkg_find_acquire_program(PYTHON3)
+get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY)
+set(ENV{PATH} "$ENV{PATH};${PYTHON3_DIR}")
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DLLVM_TARGETS_TO_BUILD=X86
+ -DLLVM_INCLUDE_TOOLS=ON
+ -DLLVM_INCLUDE_UTILS=OFF
+ -DLLVM_INCLUDE_EXAMPLES=OFF
+ -DLLVM_INCLUDE_TESTS=OFF
+ -DLLVM_ABI_BREAKING_CHECKS=FORCE_OFF
+ -DLLVM_TOOLS_INSTALL_DIR=tools/llvm
+)
+
+vcpkg_install_cmake()
+
+file(GLOB EXE ${CURRENT_PACKAGES_DIR}/bin/*)
+file(GLOB DEBUG_EXE ${CURRENT_PACKAGES_DIR}/debug/bin/*)
+file(COPY ${EXE} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/llvm)
+file(COPY ${DEBUG_EXE} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/tools/llvm)
+file(REMOVE ${EXE})
+file(REMOVE ${DEBUG_EXE})
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/clang TARGET_PATH share/clang)
+vcpkg_fixup_cmake_targets(CONFIG_PATH share/llvm)
+vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/llvm)
+
+file(REMOVE_RECURSE
+ ${CURRENT_PACKAGES_DIR}/debug/include
+ ${CURRENT_PACKAGES_DIR}/debug/tools
+ ${CURRENT_PACKAGES_DIR}/debug/share
+ ${CURRENT_PACKAGES_DIR}/debug/bin
+ ${CURRENT_PACKAGES_DIR}/debug/msbuild-bin
+ ${CURRENT_PACKAGES_DIR}/bin
+ ${CURRENT_PACKAGES_DIR}/msbuild-bin
+ ${CURRENT_PACKAGES_DIR}/tools/msbuild-bin
+ ${CURRENT_PACKAGES_DIR}/include/llvm/BinaryFormat/WasmRelocs
+)
+
+# Remove one empty include subdirectory if it is indeed empty
+file(GLOB MCANALYSISFILES ${CURRENT_PACKAGES_DIR}/include/llvm/MC/MCAnalysis/*)
+if(NOT MCANALYSISFILES)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/llvm/MC/MCAnalysis)
+endif()
+
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/LICENSE.TXT DESTINATION ${CURRENT_PACKAGES_DIR}/share/llvm RENAME copyright)
diff --git a/ports/lz4/portfile.cmake b/ports/lz4/portfile.cmake
index 6150a35e6..bbeee708f 100644
--- a/ports/lz4/portfile.cmake
+++ b/ports/lz4/portfile.cmake
@@ -2,8 +2,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO lz4/lz4
- REF v1.8.1.2
- SHA512 f4ed450bc05477cc6c2b42e6fe1fbb1fb0907f1d05b68b1d69d975b555ddb385550f204258e6d91642e14ce373815141dc218cda03b711793935d5458bc45c7f
+ REF v1.8.2
+ SHA512 5fadc79334d37739c947d6dfc24f48ce82989fc5ee4f2bb8201ccf7ee3230b9e6e7c8488beb64050a035369f4247161d258bdb539578bec224ccebfef1b8a763
HEAD_REF dev)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
diff --git a/ports/magnum-extras/CONTROL b/ports/magnum-extras/CONTROL
index d0f9f32d0..752f7333b 100644
--- a/ports/magnum-extras/CONTROL
+++ b/ports/magnum-extras/CONTROL
@@ -1,9 +1,9 @@
-Source: magnum-extras
-Version: 2018.02-2
-Build-Depends: magnum
-Description: Extras for magnum, C++11/C++14 graphics middleware for games and data visualization http://magnum.graphics/
-Default-Features:
-
-Feature: ui
-Description: Ui library
-Build-Depends: corrade[interconnect], magnum[text]
+Source: magnum-extras
+Version: 2018.04-1
+Build-Depends: magnum
+Description: Extras for magnum, C++11/C++14 graphics middleware for games and data visualization http://magnum.graphics/
+Default-Features:
+
+Feature: ui
+Description: Ui library
+Build-Depends: corrade[interconnect], magnum[text]
diff --git a/ports/magnum-extras/portfile.cmake b/ports/magnum-extras/portfile.cmake
index 402c1aa1f..61aa619cd 100644
--- a/ports/magnum-extras/portfile.cmake
+++ b/ports/magnum-extras/portfile.cmake
@@ -2,16 +2,12 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO mosra/magnum-extras
- REF v2018.02
- SHA512 62c0832d19a36e0f89ffcd958356130c81f577b1091a9232d43307868caf51a1fd186c4aa196bd456d3c37cb887c9802d80eb0b332893bafa812298dbc39d7b7
+ REF v2018.04
+ SHA512 2c933d0cad6f0b6580a84dba22bfdadf120a302246cab404a99749e0ba7bb0d799ee606ca43cc1c39f85ae37a00dcc7374b9fd05eb2bb07945c9371a9c8a8492
HEAD_REF master
)
-if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
- set(BUILD_STATIC 1)
-else()
- set(BUILD_STATIC 0)
-endif()
+string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC)
# Handle features
set(_COMPONENT_FLAGS "")
@@ -48,14 +44,14 @@ if("ui" IN_LIST FEATURES)
message(WARNING "It is recommended to install one of magnum-plugins[freetypefont,harfbuzzfont,stbtruetypefont] to have the UI library working out of the box")
endif()
-
# Debug includes and share are the same as release
file(REMOVE_RECURSE
${CURRENT_PACKAGES_DIR}/debug/include
- ${CURRENT_PACKAGES_DIR}/debug/share)
+ ${CURRENT_PACKAGES_DIR}/debug/share
+)
# Clean up empty directories
-if("${FEATURES}" STREQUAL "")
+if("${FEATURES}" STREQUAL "core")
file(REMOVE_RECURSE
${CURRENT_PACKAGES_DIR}/bin
${CURRENT_PACKAGES_DIR}/lib
diff --git a/ports/magnum-integration/CONTROL b/ports/magnum-integration/CONTROL
index a791e5718..a7fbebb5b 100644
--- a/ports/magnum-integration/CONTROL
+++ b/ports/magnum-integration/CONTROL
@@ -1,5 +1,5 @@
Source: magnum-integration
-Version: 2018.02-1
+Version: 2018.04-1
Build-Depends: magnum
Description: Integrations for magnum, C++11/C++14 graphics middleware for games and data visualization http://magnum.graphics/
Default-Features:
diff --git a/ports/magnum-integration/portfile.cmake b/ports/magnum-integration/portfile.cmake
index 8ef1899fd..4790d07d5 100644
--- a/ports/magnum-integration/portfile.cmake
+++ b/ports/magnum-integration/portfile.cmake
@@ -2,16 +2,12 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO mosra/magnum-integration
- REF v2018.02
- SHA512 b2db442d5e29c117ee30ee2c37f5087c3d360158a52eb6bc19e5c1a0388a0ec1338c53e3fdad618bb6f4aba5d88fe10d20bb1539e5f21a309b8f06f2e195279c
+ REF v2018.04
+ SHA512 ef22309dea452de8cf63d62f4b99f3e7b5b12b3580455e8fc1d53eabd921e24ec3824ce238a2b74cf0b6fd137e238b67c6b4653e750072b1105c6571e352d9fe
HEAD_REF master
)
-if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
- set(BUILD_STATIC 1)
-else()
- set(BUILD_STATIC 0)
-endif()
+string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC)
# Handle features
set(_COMPONENT_FLAGS "")
@@ -44,14 +40,16 @@ vcpkg_install_cmake()
# Debug includes and share are the same as release
file(REMOVE_RECURSE
${CURRENT_PACKAGES_DIR}/debug/include
- ${CURRENT_PACKAGES_DIR}/debug/share)
+ ${CURRENT_PACKAGES_DIR}/debug/share
+)
# Clean up empty directories
-if(NOT FEATURES)
+if("${FEATURES}" STREQUAL "core")
file(REMOVE_RECURSE
${CURRENT_PACKAGES_DIR}/bin
${CURRENT_PACKAGES_DIR}/lib
- ${CURRENT_PACKAGES_DIR}/debug)
+ ${CURRENT_PACKAGES_DIR}/debug
+ )
set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled)
endif()
diff --git a/ports/magnum-plugins/CONTROL b/ports/magnum-plugins/CONTROL
index 12a444e2d..9722245f6 100644
--- a/ports/magnum-plugins/CONTROL
+++ b/ports/magnum-plugins/CONTROL
@@ -1,31 +1,23 @@
Source: magnum-plugins
-Version: 2018.02-1
+Version: 2018.04-1
Build-Depends: magnum
Description: Plugins for magnum, C++11/C++14 graphics middleware for games and data visualization http://magnum.graphics/
-Default-Features: anyimageimporter, anysceneimporter, anyimageconverter, ddsimporter, miniexrimageconverter, opengeximporter, stanfordimporter, stbimageconverter, stbimageimporter
-
-Feature: anyimageimporter
-Description: AnyImageImporter plugin
-
-Feature: anyaudioimporter
-Description: AnyAudioImporter plugin
-
-Feature: anyimageconverter
-Description: AnyImageConverter plugin
-
-Feature: anysceneimporter
-Description: AnySceneImporter plugin
+Default-Features: ddsimporter, miniexrimageconverter, opengeximporter, stanfordimporter, stbimageconverter, stbimageimporter
Feature: assimpimporter
Description: AssimpImporter plugin
-Build-Depends: assimp, magnum-plugins[anyimageimporter]
+Build-Depends: assimp, magnum[anyimageimporter], magnum[trade]
+
+Feature: openddl
+Description: OpenDdl library
Feature: ddsimporter
Description: DdsImporter plugin
+Build-Depends: magnum[trade]
Feature: devilimageimporter
Description: DevIlImageImporter plugin
-Build-Depends: devil
+Build-Depends: devil, magnum[trade]
Feature: drflacaudioimporter
Description: DrFlacAudioImporter plugin
@@ -45,31 +37,35 @@ Build-Depends: harfbuzz, magnum-plugins[freetypefont]
Feature: jpegimporter
Description: JpegImporter plugin
-Build-Depends: libjpeg-turbo
+Build-Depends: libjpeg-turbo, magnum[trade]
Feature: miniexrimageconverter
Description: MiniExrImageConverter plugin
+Build-Depends: magnum[trade]
Feature: opengeximporter
Description: OpenGexImporter plugin
-Build-Depends: magnum-plugins[anyimageimporter]
+Build-Depends: magnum[anyimageimporter], magnum[trade], magnum-plugins[openddl]
Feature: pngimageconverter
Description: PngImageConverter plugin
-Build-Depends: libpng
+Build-Depends: libpng, magnum[trade]
Feature: pngimporter
Description: PngImporter plugin
-Build-Depends: libpng
+Build-Depends: libpng, magnum[trade]
Feature: stanfordimporter
Description: StanfordImporter plugin
+Build-Depends: magnum[trade]
Feature: stbimageconverter
Description: StbImageConverter plugin
+Build-Depends: magnum[trade]
Feature: stbimageimporter
Description: StbImageImporter plugin
+Build-Depends: magnum[trade]
Feature: stbtruetypefont
Description: StbTrueTypeFont plugin
@@ -79,3 +75,6 @@ Feature: stbvorbisaudioimporter
Description: StbVorbisAudioImporter plugin
Build-Depends: magnum[audio]
+Feature: tinygltfimporter
+Description: TinyGltfImporter plugin
+Build-Depends: magnum[anyimageimporter], magnum-plugins[stbimageimporter], magnum[trade]
diff --git a/ports/magnum-plugins/portfile.cmake b/ports/magnum-plugins/portfile.cmake
index 86e5622d5..54ea7659c 100644
--- a/ports/magnum-plugins/portfile.cmake
+++ b/ports/magnum-plugins/portfile.cmake
@@ -2,8 +2,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO mosra/magnum-plugins
- REF v2018.02
- SHA512 650d3ec26b3c72aa98ffa242b072e382445de49d4849042faf5dac800d5e4cce223cac3fa1cc079fcb230632730af1d90ac7d347d152a1f31d224732499e96b4
+ REF v2018.04
+ SHA512 0b8ae1488e210d111826532299d1e29c5eba32c75f7c210caff088a9a57459b6354474c7a53fccd0c78553d67d79bf041d471b5822c59cb2c9612126cf3e49ef
HEAD_REF master
)
@@ -14,9 +14,9 @@ vcpkg_apply_patches(
)
if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
- set(BUILD_STATIC 1)
+ set(BUILD_PLUGINS_STATIC 1)
else()
- set(BUILD_STATIC 0)
+ set(BUILD_PLUGINS_STATIC 0)
endif()
# Handle features
@@ -40,7 +40,8 @@ vcpkg_configure_cmake(
PREFER_NINJA # Disable this option if project cannot be built with Ninja
OPTIONS
${_COMPONENT_FLAGS}
- -DBUILD_STATIC=${BUILD_STATIC}
+ -DBUILD_STATIC=${BUILD_PLUGINS_STATIC}
+ -DBUILD_PLUGINS_STATIC=${BUILD_PLUGINS_STATIC}
-DMAGNUM_PLUGINS_DEBUG_DIR=${CURRENT_INSTALLED_DIR}/debug/bin/magnum-d
-DMAGNUM_PLUGINS_RELEASE_DIR=${CURRENT_INSTALLED_DIR}/bin/magnum
)
@@ -52,8 +53,9 @@ file(REMOVE_RECURSE
${CURRENT_PACKAGES_DIR}/debug/include
${CURRENT_PACKAGES_DIR}/debug/share)
-# Clean up empty directories
-if(NOT FEATURES)
+# Clean up empty directories, if not building anything.
+# FEATURES may only contain "core", but that does not build anything.
+if(NOT FEATURES OR FEATURES STREQUAL "core")
file(REMOVE_RECURSE
${CURRENT_PACKAGES_DIR}/bin
${CURRENT_PACKAGES_DIR}/lib
@@ -62,26 +64,19 @@ if(NOT FEATURES)
endif()
if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
- file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin)
- file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin)
- # move plugin libs to conventional place
- file(GLOB_RECURSE LIB_TO_MOVE ${CURRENT_PACKAGES_DIR}/lib/magnum/*)
- file(COPY ${LIB_TO_MOVE} DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
- file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/magnum)
- file(GLOB_RECURSE LIB_TO_MOVE_DBG ${CURRENT_PACKAGES_DIR}/debug/lib/magnum/*)
- file(COPY ${LIB_TO_MOVE_DBG} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
- file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/magnum)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin)
+ # move plugin libs to conventional place
+ file(GLOB_RECURSE LIB_TO_MOVE ${CURRENT_PACKAGES_DIR}/lib/magnum/*)
+ file(COPY ${LIB_TO_MOVE} DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/magnum)
+ file(GLOB_RECURSE LIB_TO_MOVE_DBG ${CURRENT_PACKAGES_DIR}/debug/lib/magnum/*)
+ file(COPY ${LIB_TO_MOVE_DBG} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/magnum)
else()
- # remove headers and libs for plugins
- file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include)
- file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib)
- file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib)
- # hint vcpkg
- set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled)
- set(VCPKG_POLICY_DLLS_WITHOUT_LIBS enabled)
- file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/MagnumPlugins)
- file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/magnum)
- file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/magnum-d)
+ set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/magnum)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/magnum-d)
endif()
# Handle copyright
diff --git a/ports/magnum/CONTROL b/ports/magnum/CONTROL
index dcf86f079..c34339938 100644
--- a/ports/magnum/CONTROL
+++ b/ports/magnum/CONTROL
@@ -1,42 +1,62 @@
Source: magnum
-Version: 2018.02-1
+Version: 2018.04-1
Build-Depends: corrade[pluginmanager], corrade[utility]
Description: C++11/C++14 graphics middleware for games and data visualization http://magnum.graphics/
-Default-Features: debugtools, meshtools, primitives, scenegraph, shaders, shapes, text, texturetools, sdl2application, windowlesswglapplication
+Default-Features: anyimageimporter, anyaudioimporter, anyimageconverter, anysceneimporter, debugtools, gl, meshtools, primitives, scenegraph, shaders, shapes, text, texturetools, trade, sdl2application, windowlesswglapplication
-Feature: sdl2application
-Description: Sdl2Application library
-Build-Depends: sdl2
+Feature: al-info
+Description: magnum-al-info utility
+Build-Depends: magnum[audio]
-Feature: glfwapplication
-Description: GlfwApplication library
-Build-Depends: glfw3
+Feature: anyimageimporter
+Description: AnyImageImporter plugin
+Build-Depends: magnum[trade]
-Feature: glutapplication
-Description: GlutApplication library
-Build-Depends: freeglut
+Feature: anyaudioimporter
+Description: AnyAudioImporter plugin
+Build-Depends: magnum[audio]
+
+Feature: anyimageconverter
+Description: AnyImageConverter plugin
+Build-Depends: magnum[trade]
+
+Feature: anysceneimporter
+Description: AnySceneImporter plugin
+Build-Depends: magnum[trade]
Feature: audio
Description: Audio library
Build-Depends: openal-soft
-Feature: magnuminfo
-Description: magnum-info utility
+Feature: debugtools
+Description: DebugTools library
+
+Feature: distancefieldconverter
+Description: magnum-distancefieldconverter utility
+Build-Depends: magnum[texturetools], magnum[gl]
Feature: fontconverter
Description: magnum-fontconverter utility
-Build-Depends: magnum[text]
+Build-Depends: magnum[text], magnum[gl]
-Feature: distancefieldconverter
-Description: magnum-distancefieldconverter utility
-Build-Depends: magnum[texturetools]
+Feature: gl
+Description: GL library
+
+Feature: gl-info
+Description: gl-info utility
+Build-Depends: magnum[gl]
+
+Feature: glfwapplication
+Description: GlfwApplication library
+Build-Depends: glfw3
+
+Feature: glutapplication
+Description: GlutApplication library
+Build-Depends: freeglut, magnum[gl]
Feature: imageconverter
Description: magnum-imageconverter utility
-
-Feature: wavaudioimporter
-Description: WavAudioImporter plugin
-Build-Depends: magnum[audio]
+Build-Depends: magnum[trade]
Feature: magnumfont
Description: MagnumFont plugin
@@ -46,23 +66,29 @@ Feature: magnumfontconverter
Description: MagnumFontConverter plugin
Build-Depends: magnum[text], magnum[tgaimageconverter]
+Feature: meshtools
+Description: MeshTools library
+Build-Depends: magnum[trade]
+
Feature: objimporter
Description: ObjImporter plugin
+Build-Depends: magnum[trade]
Feature: tgaimageconverter
Description: TgaImageConverter plugin
+Build-Depends: magnum[trade]
-Feature: tgaimporter
-Description: TgaImporter plugin
-
-Feature: debugtools
-Description: DebugTools library
-
-Feature: meshtools
-Description: MeshTools library
+Feature: opengltester
+Description: OpenGLTester library
+Build-Depends: corrade[testsuite], magnum[gl]
Feature: primitives
Description: Primitives library
+Build-Depends: magnum[trade]
+
+Feature: sdl2application
+Description: Sdl2Application library
+Build-Depends: sdl2
Feature: shapes
Description: Shapes library
@@ -72,24 +98,30 @@ Description: SceneGraph library
Feature: shaders
Description: Shaders library
+Build-Depends: magnum[gl]
Feature: text
Description: Text library
-Build-Depends: magnum[texturetools]
+Build-Depends: magnum[texturetools], magnum[gl]
Feature: texturetools
Description: TextureTools library
-Feature: al-info
-Description: magnum-al-info utility
+Feature: tgaimporter
+Description: TgaImporter plugin
+Build-Depends: magnum[trade]
+
+Feature: trade
+Description: Trade library
+
+Feature: wavaudioimporter
+Description: WavAudioImporter plugin
Build-Depends: magnum[audio]
Feature: windowlesswglapplication
Description: WindowlessWglApplication library
+Build-Depends: magnum[gl]
Feature: wglcontext
Description: WglContext library
-
-Feature: opengltester
-Description: OpenGLTester library
-Build-Depends: corrade[testsuite]
+Build-Depends: magnum[gl]
diff --git a/ports/magnum/magnumdeploy.ps1 b/ports/magnum/magnumdeploy.ps1
new file mode 100644
index 000000000..203f2bac3
--- /dev/null
+++ b/ports/magnum/magnumdeploy.ps1
@@ -0,0 +1,38 @@
+# Magnum's plugin deployment strategy is that each Magnum module has a hardcoded
+# set of plugin directories. Each of these directories is deployed in
+# full if that Module is referenced.
+#
+# Note: this function signature and behavior is depended upon by applocal.ps1
+function deployPluginsIfMagnum([string]$targetBinaryDir, [string]$MagnumPluginsDir, [string]$targetBinaryName) {
+ Write-Verbose "Deploying magnum plugins"
+
+ $baseDir = Split-Path $MagnumPluginsDir -parent
+ $pluginsBase = Split-Path $MagnumPluginsDir -Leaf
+ $binDir = "$baseDir\bin"
+
+ function deployPlugins([string]$pluginSubdirName) {
+ if (Test-Path "$MagnumPluginsDir\$pluginSubdirName") {
+ Write-Verbose " Deploying plugins directory '$pluginSubdirName'"
+ New-Item "$targetBinaryDir\$pluginsBase\$pluginSubdirName" -ItemType Directory -ErrorAction SilentlyContinue | Out-Null
+ Get-ChildItem -Path "$MagnumPluginsDir\$pluginSubdirName\*" -Include "*.dll", "*.conf", "*.pdb" | % {
+ deployBinary "$targetBinaryDir\$pluginsBase\$pluginSubdirName" "$MagnumPluginsDir\$pluginSubdirName" $_.Name
+ resolve $_
+ }
+ } else {
+ Write-Verbose " Skipping plugins directory '$pluginSubdirName': doesn't exist"
+ }
+ }
+
+ # We detect Magnum modules in use via the DLLs themselves.
+ # Rather than checking for Magnum*.dll, we check for Magnum.dll and
+ # Magnum-d.dll to avoid falsly matching MagnumTextureTools.dll for example.
+ if ($targetBinaryName -like "MagnumAudio.dll" -or $targetBinaryName -like "MagnumAudio-d.dll") {
+ deployPlugins "audioimporters"
+ } elseif ($targetBinaryName -like "MagnumText.dll" -or $targetBinaryName -like "MagnumText-d.dll") {
+ deployPlugins "fonts"
+ deployPlugins "fontconverters"
+ } elseif ($targetBinaryName -like "Magnum.dll" -or $targetBinaryName -like "Magnum-d.dll") {
+ deployPlugins "importers"
+ deployPlugins "imageconverters"
+ }
+}
diff --git a/ports/magnum/portfile.cmake b/ports/magnum/portfile.cmake
index 10d7f02fc..e6b501e5a 100644
--- a/ports/magnum/portfile.cmake
+++ b/ports/magnum/portfile.cmake
@@ -2,8 +2,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO mosra/magnum
- REF v2018.02
- SHA512 aeb0cab91ae0a7cca79c15ce98d9b2f8d46f5bc11bb90718e59188bf233154fb51668e0241112b65103f40e675736d74c86a2e5ccffcb698780ccedb1b3fb8bd
+ REF v2018.04
+ SHA512 6ad50e782c8cb10157cf969a571f8c0c0c91161de60ac25cf86eda09106f4de73168618a1a5fe0931c3fd293c718911e14d610bd4f86fe3e073620bd7619a9eb
HEAD_REF master
)
@@ -90,10 +90,8 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
file(COPY ${LIB_TO_MOVE_DBG} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/magnum)
else()
- # remove headers and libs for plugins
- file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/MagnumPlugins)
- file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/magnum)
- file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/magnum-d)
+ file(COPY ${CMAKE_CURRENT_LIST_DIR}/magnumdeploy.ps1 DESTINATION ${CURRENT_PACKAGES_DIR}/bin/magnum)
+ file(COPY ${CMAKE_CURRENT_LIST_DIR}/magnumdeploy.ps1 DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin/magnum-d)
endif()
# Handle copyright
diff --git a/ports/matio/CMakeLists.txt b/ports/matio/CMakeLists.txt
index 31b7e1e2b..6c21bbf53 100644
--- a/ports/matio/CMakeLists.txt
+++ b/ports/matio/CMakeLists.txt
@@ -30,9 +30,8 @@ find_package(ZLIB REQUIRED)
target_link_libraries(libmatio PRIVATE ZLIB::ZLIB)
target_compile_definitions(libmatio PRIVATE -DHAVE_ZLIB=1)
-find_package(HDF5 REQUIRED)
-target_include_directories(libmatio PRIVATE ${HDF5_INCLUDE_DIRS} )
-target_link_libraries(libmatio PRIVATE ${HDF5_C_LIBRARIES})
+find_package(hdf5 CONFIG REQUIRED)
+target_link_libraries(libmatio PRIVATE hdf5::hdf5-shared hdf5::hdf5_hl-shared)
if(BUILD_SHARED_LIBS)
target_compile_definitions(libmatio PRIVATE -DHAVE_HDF5=1 -DH5_BUILT_AS_DYNAMIC_LIB)
else()
diff --git a/ports/matio/CONTROL b/ports/matio/CONTROL
index e3d0082f7..7c891c035 100644
--- a/ports/matio/CONTROL
+++ b/ports/matio/CONTROL
@@ -1,4 +1,4 @@
Source: matio
-Version: 1.5.11
+Version: 1.5.12
Description: MATLAB MAT File I/O Library
Build-Depends: zlib, hdf5
diff --git a/ports/matio/portfile.cmake b/ports/matio/portfile.cmake
index 5752e635c..86d5b6a1f 100644
--- a/ports/matio/portfile.cmake
+++ b/ports/matio/portfile.cmake
@@ -2,17 +2,16 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO tbeu/matio
- REF v1.5.11
- SHA512 f500475e80cdb52a4754c49e900a34c0b540a5c64f353287e6b85b0c16156b251fe8088f2ed584af5a4d0916e98fddf73a3799e7c045ab859298687038e6d513
+ REF v1.5.12
+ SHA512 3bf6d2bf6460531dd2a740813bca3f3da6347b9fadb39803257f11bcceeaa7cf6657921c9ca9c8db02bf2020d5adf2ecf544b2455aa0ca897c0644493b1902a4
HEAD_REF master
)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
-
-
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON
)
diff --git a/ports/mhook/CONTROL b/ports/mhook/CONTROL
new file mode 100644
index 000000000..24fae14df
--- /dev/null
+++ b/ports/mhook/CONTROL
@@ -0,0 +1,3 @@
+Source: mhook
+Version: 2.5.1-1
+Description: A Windows API hooking library.
diff --git a/ports/mhook/portfile.cmake b/ports/mhook/portfile.cmake
new file mode 100644
index 000000000..e9faeccae
--- /dev/null
+++ b/ports/mhook/portfile.cmake
@@ -0,0 +1,21 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO apriorit/mhook
+ REF 2.5.1
+ SHA512 914f198417b1e30301a42463af5cfbf9269dc64bcf1be87d3d6d2943fd72b3536f48eb4bfb25a51dd0bbe0f8f099777b2d49c9d58cb2e2eeb517d998917ae976
+ HEAD_REF master
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+)
+
+vcpkg_install_cmake()
+
+file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/mhook RENAME copyright)
+
+vcpkg_copy_pdbs()
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
diff --git a/ports/mosquitto/0001-win64-cmake.patch b/ports/mosquitto/0001-win64-cmake.patch
new file mode 100644
index 000000000..70888b637
--- /dev/null
+++ b/ports/mosquitto/0001-win64-cmake.patch
@@ -0,0 +1,40 @@
+--- a/config.h
++++ b/config.h
+@@ -16,7 +16,7 @@
+ # define EPROTO ECONNABORTED
+ #endif
+
+-#ifdef WIN32
++#ifdef WIN32 || WIN64
+ # ifndef strcasecmp
+ # define strcasecmp strcmpi
+ # endif
+--- a/lib/CMakeLists.txt
++++ b/lib/CMakeLists.txt
+@@ -4,8 +4,8 @@
+ if (${WITH_THREADING} STREQUAL ON)
+ add_definitions("-DWITH_THREADING")
+ if (WIN32)
+- set (PTHREAD_LIBRARIES C:\\pthreads\\Pre-built.2\\lib\\x86\\pthreadVC2.lib)
+- set (PTHREAD_INCLUDE_DIR C:\\pthreads\\Pre-built.2\\include)
++ set (PTHREAD_LIBRARIES ${VCPKG_ROOT_DIR}/installed/${TARGET_TRIPLET}/lib/pthreadsVC2.lib)
++ set (PTHREAD_INCLUDE_DIR ${VCPKG_ROOT_DIR}/installed/${TARGET_TRIPLET}/include)
+ else (WIN32)
+ find_library(LIBPTHREAD pthread)
+ if (LIBPTHREAD)
+--- a/lib/net_mosq.h
++++ b/lib/net_mosq.h
+@@ -20,7 +20,12 @@
+ #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
+ #endif
+
+ #include <mosquitto_internal.h>
+
diff --git a/ports/mosquitto/CONTROL b/ports/mosquitto/CONTROL
new file mode 100644
index 000000000..81d12dc23
--- /dev/null
+++ b/ports/mosquitto/CONTROL
@@ -0,0 +1,8 @@
+Source: mosquitto
+Version: 1.4.15
+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/
diff --git a/ports/mosquitto/cmake-2.patch b/ports/mosquitto/cmake-2.patch
new file mode 100644
index 000000000..bd5121c72
--- /dev/null
+++ b/ports/mosquitto/cmake-2.patch
@@ -0,0 +1,68 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 3a68061..e4197fd 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -24,10 +24,10 @@ endif (WIN32)
+ add_definitions (-DCMAKE -DVERSION=\"${VERSION}\" -DTIMESTAMP=\"${TIMESTAMP}\")
+
+ 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)
+@@ -86,10 +86,10 @@ option(WITH_SRV "Include SRV lookup support?" ON)
+ add_subdirectory(lib)
+ add_subdirectory(client)
+ add_subdirectory(src)
+-add_subdirectory(man)
++#add_subdirectory(man)
+
+ # ========================================
+ # 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 1260761..aebd580 100644
+--- a/lib/CMakeLists.txt
++++ b/lib/CMakeLists.txt
+@@ -4,8 +4,8 @@ option(WITH_THREADING "Include client library threading support?" ON)
+ if (${WITH_THREADING} STREQUAL ON)
+ add_definitions("-DWITH_THREADING")
+ if (WIN32)
+- set (PTHREAD_LIBRARIES ${VCPKG_ROOT_DIR}/installed/${TARGET_TRIPLET}/lib/pthreadsVC2.lib)
+- set (PTHREAD_INCLUDE_DIR ${VCPKG_ROOT_DIR}/installed/${TARGET_TRIPLET}/include)
++ find_library(PTHREAD_LIBRARIES NAMES pthreadsVC2)
++ find_path(PTHREAD_INCLUDE_DIR pthread.h)
+ else (WIN32)
+ find_library(LIBPTHREAD pthread)
+ if (LIBPTHREAD)
+@@ -78,7 +78,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}")
+ install(FILES mosquitto.h DESTINATION "${INCLUDEDIR}")
+
+ if (UNIX)
+diff --git a/lib/cpp/CMakeLists.txt b/lib/cpp/CMakeLists.txt
+index b80dc18..e91ec77 100644
+--- a/lib/cpp/CMakeLists.txt
++++ b/lib/cpp/CMakeLists.txt
+@@ -10,7 +10,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}")
+ install(FILES mosquittopp.h DESTINATION "${INCLUDEDIR}")
+
+ if (UNIX)
diff --git a/ports/mosquitto/cmake.patch b/ports/mosquitto/cmake.patch
new file mode 100644
index 000000000..e20d3986e
--- /dev/null
+++ b/ports/mosquitto/cmake.patch
@@ -0,0 +1,13 @@
+--- a/lib/CMakeLists.txt
++++ b/lib/CMakeLists.txt
+@@ -4,8 +4,8 @@
+ if (${WITH_THREADING} STREQUAL ON)
+ add_definitions("-DWITH_THREADING")
+ if (WIN32)
+- set (PTHREAD_LIBRARIES C:\\pthreads\\Pre-built.2\\lib\\x86\\pthreadVC2.lib)
+- set (PTHREAD_INCLUDE_DIR C:\\pthreads\\Pre-built.2\\include)
++ set (PTHREAD_LIBRARIES ${VCPKG_ROOT_DIR}/installed/${TARGET_TRIPLET}/lib/pthreadsVC2.lib)
++ set (PTHREAD_INCLUDE_DIR ${VCPKG_ROOT_DIR}/installed/${TARGET_TRIPLET}/include)
+ else (WIN32)
+ find_library(LIBPTHREAD pthread)
+ if (LIBPTHREAD)
diff --git a/ports/mosquitto/portfile.cmake b/ports/mosquitto/portfile.cmake
new file mode 100644
index 000000000..a9c70f853
--- /dev/null
+++ b/ports/mosquitto/portfile.cmake
@@ -0,0 +1,56 @@
+include(vcpkg_common_functions)
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ message("mosquitto only supports dynamic linkage")
+ set(VCPKG_LIBRARY_LINKAGE dynamic)
+endif()
+
+if(VCPKG_CRT_LINKAGE STREQUAL "static")
+ message(FATAL_ERROR "mosquitto does not support static CRT linkage")
+endif()
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO eclipse/mosquitto
+ REF v1.4.15
+ SHA512 428ef9434d3fe022232dcde415fe8cd948d237507d512871803a116230f9e011c10fa01313111ced0946f906e8cc7e26d9eee5de6caa7f82590753a4d087f6fd
+ HEAD_REF master
+)
+
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES
+ "${CMAKE_CURRENT_LIST_DIR}/0001-win64-cmake.patch"
+ "${CMAKE_CURRENT_LIST_DIR}/cmake.patch"
+ "${CMAKE_CURRENT_LIST_DIR}/cmake-2.patch"
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DWITH_SRV=OFF
+ -DWITH_WEBSOCKETS=ON
+ -DWITH_TLS=ON
+ -DWITH_TLS_PSK=ON
+ -DWITH_THREADING=ON
+ OPTIONS_RELEASE
+ -DENABLE_DEBUG=OFF
+ OPTIONS_DEBUG
+ -DENABLE_DEBUG=ON
+)
+
+vcpkg_install_cmake()
+
+# Remove debug/include
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+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(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/mosquitto RENAME copyright)
+
+# Copy pdb
+vcpkg_copy_pdbs()
diff --git a/ports/mpark-variant/CONTROL b/ports/mpark-variant/CONTROL
new file mode 100644
index 000000000..d6cbf380e
--- /dev/null
+++ b/ports/mpark-variant/CONTROL
@@ -0,0 +1,3 @@
+Source: mpark-variant
+Version: 1.3.0
+Description: an implementation of C++17 std::variant for C++11/14/17.
diff --git a/ports/mpark-variant/portfile.cmake b/ports/mpark-variant/portfile.cmake
new file mode 100644
index 000000000..b400507ee
--- /dev/null
+++ b/ports/mpark-variant/portfile.cmake
@@ -0,0 +1,24 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO mpark/variant
+ REF v1.3.0
+ SHA512 53735d14a9b241d93191fa3b7ac8ed8fb17a8f8766318b2817c4dd1948088377190ca168027a297bae41bb2cc1f6043fe51752d43b8c33badcc9f2df9fa08ece
+ HEAD_REF master
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+)
+
+vcpkg_install_cmake()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/mpark_variant TARGET_PATH share/mpark_variant)
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib)
+
+file(INSTALL
+ ${SOURCE_PATH}/LICENSE.md
+ DESTINATION ${CURRENT_PACKAGES_DIR}/share/mpark-variant RENAME copyright)
diff --git a/ports/mpg123/CONTROL b/ports/mpg123/CONTROL
index f72437453..488ca7a90 100644
--- a/ports/mpg123/CONTROL
+++ b/ports/mpg123/CONTROL
@@ -1,3 +1,3 @@
Source: mpg123
-Version: 1.25.8-2
+Version: 1.25.8-4
Description: mpg123 is a real time MPEG 1.0/2.0/2.5 audio player/decoder for layers 1, 2 and 3 (MPEG 1.0 layer 3 also known as MP3). \ No newline at end of file
diff --git a/ports/ms-gsl/CONTROL b/ports/ms-gsl/CONTROL
index c30927bb4..f0bcb191b 100644
--- a/ports/ms-gsl/CONTROL
+++ b/ports/ms-gsl/CONTROL
@@ -1,3 +1,3 @@
Source: ms-gsl
-Version: 2018-03-07
+Version: 2018-04-25
Description: Microsoft implementation of the Guidelines Support Library \ No newline at end of file
diff --git a/ports/ms-gsl/portfile.cmake b/ports/ms-gsl/portfile.cmake
index 45c41f79c..9c5d11568 100644
--- a/ports/ms-gsl/portfile.cmake
+++ b/ports/ms-gsl/portfile.cmake
@@ -4,8 +4,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Microsoft/GSL
- REF c9e423d7cf2afb88672e31f55e4b30c53be7aae3
- SHA512 a6ea1897b931068384c0dad768202a0314f130cfc30fc6cc8307df14ac02c1842e196d87e30e85e1e3b48295f4f47780a5b3e7123937cb3c8efa9e3e10a596ed
+ REF 2fc94db3ebfb1b066edeafac1837f34d6111bff4
+ SHA512 b64e454b66570b2139e401e5ffd6042f2d977903cba54fa100246865967457900deee92bfbfa3976bdae555017c044b384a8dfa247946afccd664e2d30204ab2
HEAD_REF master
)
diff --git a/ports/msmpi/CONTROL b/ports/msmpi/CONTROL
index a7f9f38ef..27e27074a 100644
--- a/ports/msmpi/CONTROL
+++ b/ports/msmpi/CONTROL
@@ -1,3 +1,3 @@
Source: msmpi
-Version: 8.1
+Version: 9.0
Description: Microsoft MPI
diff --git a/ports/msmpi/portfile.cmake b/ports/msmpi/portfile.cmake
index 0992f5f5d..7933f2361 100644
--- a/ports/msmpi/portfile.cmake
+++ b/ports/msmpi/portfile.cmake
@@ -2,16 +2,16 @@ include(vcpkg_common_functions)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/msmpi-8.1)
vcpkg_download_distfile(SDK_ARCHIVE
- URLS "https://download.microsoft.com/download/D/B/B/DBB64BA1-7B51-43DB-8BF1-D1FB45EACF7A/msmpisdk.msi"
- FILENAME "msmpisdk-8.1.msi"
- SHA512 a0cfb713865257b812c19644286fc0d02ec57ce2a0bea066fead4e0ff18b545a0787065ab748f8dd335bb2fa486911aab54c1b842993b7b685c5832c014a63bf
+ URLS "https://download.microsoft.com/download/2/E/C/2EC96D7F-687B-4613-80F6-E10F670A2D97/msmpisdk.msi"
+ FILENAME "msmpisdk-9.0.msi"
+ SHA512 f80cc7619c42a5a0975224c5a0ab6d4085a97ab9a1480318cd72db2f600db52fb81d3959a2a9e0dbd9412b02d0814b8191dd4745bbde397110210e05960628b4
)
macro(download_msmpi_redistributable_package)
vcpkg_download_distfile(REDIST_ARCHIVE
- URLS "https://download.microsoft.com/download/D/B/B/DBB64BA1-7B51-43DB-8BF1-D1FB45EACF7A/MSMpiSetup.exe"
- FILENAME "MSMpiSetup-8.1.exe"
- SHA512 92ae65f3d52e786e39dffedabdf48255b4985a075993e626f5f59674e9ffaedbf33a4725e8f142b21468e24cd6d3e49f3d91da0fbda1867784cc93300c12c96b
+ URLS "https://download.microsoft.com/download/2/E/C/2EC96D7F-687B-4613-80F6-E10F670A2D97/msmpisetup.exe"
+ FILENAME "msmpisetup-9.0.exe"
+ SHA512 ad1cc3bc74e4c9c3c0f304395df9468e729e0acd9c77c8c6c806e88eadf4693811d29e608ffb459fcb6f4a20f61946ef4ac2e411aac49fb8f8d5aaddd10d4554
)
endmacro()
@@ -20,7 +20,7 @@ endmacro()
# We always want the ProgramFiles folder even on a 64-bit machine (not the ProgramFilesx86 folder)
vcpkg_get_program_files_platform_bitness(PROGRAM_FILES_PLATFORM_BITNESS)
set(SYSTEM_MPIEXEC_FILEPATH "${PROGRAM_FILES_PLATFORM_BITNESS}/Microsoft MPI/Bin/mpiexec.exe")
-set(MSMPI_EXPECTED_FULL_VERSION "8.1.12438")
+set(MSMPI_EXPECTED_FULL_VERSION "9.0.12497")
if(EXISTS "${SYSTEM_MPIEXEC_FILEPATH}")
set(MPIEXEC_VERSION_LOGNAME "mpiexec-version")
@@ -31,7 +31,6 @@ if(EXISTS "${SYSTEM_MPIEXEC_FILEPATH}")
)
file(READ ${CURRENT_BUILDTREES_DIR}/${MPIEXEC_VERSION_LOGNAME}-out.log MPIEXEC_OUTPUT)
- # Note: v8.1.1 was released with version 8.1.12438.1091. This is compatible with 8.1.12438.1084 (the version above), so ignore the fourth version number.
if(MPIEXEC_OUTPUT MATCHES "\\[Version ([0-9]+\\.[0-9]+\\.[0-9]+)\\.[0-9]+\\]")
if(NOT CMAKE_MATCH_1 STREQUAL MSMPI_EXPECTED_FULL_VERSION)
download_msmpi_redistributable_package()
diff --git a/ports/nanomsg/CONTROL b/ports/nanomsg/CONTROL
new file mode 100644
index 000000000..c39df5e95
--- /dev/null
+++ b/ports/nanomsg/CONTROL
@@ -0,0 +1,4 @@
+Source: nanomsg
+Version: 1.1.2
+Description: a simple high-performance implementation of several "scalability protocols".
+ These scalability protocols are light-weight messaging protocols which can be used to solve a number of very common messaging patterns, such as request/reply, publish/subscribe, surveyor/respondent, and so forth. These protocols can run over a variety of transports such as TCP, UNIX sockets, and even WebSocket.
diff --git a/ports/nanomsg/portfile.cmake b/ports/nanomsg/portfile.cmake
new file mode 100644
index 000000000..a869baea4
--- /dev/null
+++ b/ports/nanomsg/portfile.cmake
@@ -0,0 +1,38 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO nanomsg/nanomsg
+ REF 1.1.2
+ SHA512 f95ce24b34c25d139cf3de46585f6354e0311a9d5e7135ad71df62b8bb5df26f81a58b9773c39c320df2d0e97cd2905a8576f9f00b0a4d33774f1b610271cee5
+ HEAD_REF master
+)
+
+string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" NN_STATIC_LIB)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DCMAKE_DISABLE_FIND_PACKAGE_Git=TRUE
+ -DNN_STATIC_LIB=${NN_STATIC_LIB}
+ -DNN_TESTS=OFF
+ -DNN_TOOLS=OFF
+ -DNN_ENABLE_DOC=OFF
+)
+
+vcpkg_install_cmake()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ file(READ ${CURRENT_PACKAGES_DIR}/include/nanomsg/nn.h _contents)
+ string(REPLACE "defined(NN_STATIC_LIB)" "1" _contents "${_contents}")
+ file(WRITE ${CURRENT_PACKAGES_DIR}/include/nanomsg/nn.h "${_contents}")
+endif()
+
+file(INSTALL
+ ${SOURCE_PATH}/COPYING
+ DESTINATION ${CURRENT_PACKAGES_DIR}/share/nanomsg RENAME copyright)
+
+vcpkg_copy_pdbs()
diff --git a/ports/nlohmann-json/CONTROL b/ports/nlohmann-json/CONTROL
index d32991c0d..b0eee2bf9 100644
--- a/ports/nlohmann-json/CONTROL
+++ b/ports/nlohmann-json/CONTROL
@@ -1,3 +1,3 @@
Source: nlohmann-json
-Version: 3.1.0
+Version: 3.1.2
Description: JSON for Modern C++
diff --git a/ports/nlohmann-json/portfile.cmake b/ports/nlohmann-json/portfile.cmake
index b186db817..44f7a86dc 100644
--- a/ports/nlohmann-json/portfile.cmake
+++ b/ports/nlohmann-json/portfile.cmake
@@ -1,11 +1,11 @@
include(vcpkg_common_functions)
-set(SOURCE_VERSION 3.1.0)
+set(SOURCE_VERSION 3.1.2)
vcpkg_download_distfile(HEADER
URLS "https://github.com/nlohmann/json/releases/download/v${SOURCE_VERSION}/json.hpp"
FILENAME "nlohmann-json-${SOURCE_VERSION}.hpp"
- SHA512 710a92f065cc7fc873db2e08158f285390b9ac38f1b0bc6bbfd9e52597574749fe1e90b114d3d750fcc9f79d7d53530242e57135d60675b35c23d1f948ad7ef2
+ SHA512 05df0ad3338f0bca885c0aa9da523922b99016986a9b01426b13888c0febd83bf1f6f063886f6c75f8a656ef79abac6292fe442dc05b1897d546ba5b70be48a5
)
vcpkg_download_distfile(LICENSE
diff --git a/ports/nuklear/CONTROL b/ports/nuklear/CONTROL
index 8874d2787..8cb502042 100644
--- a/ports/nuklear/CONTROL
+++ b/ports/nuklear/CONTROL
@@ -1,3 +1,3 @@
Source: nuklear
-Version: 2018-03-07
+Version: 2018-04-25
Description: This is a minimal state immediate mode graphical user interface toolkit written in ANSI C and licensed under public domain
diff --git a/ports/nuklear/portfile.cmake b/ports/nuklear/portfile.cmake
index f052ee266..5d60955d7 100644
--- a/ports/nuklear/portfile.cmake
+++ b/ports/nuklear/portfile.cmake
@@ -2,8 +2,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO vurtun/nuklear
- REF 905b41f640d5ec901a99d343c95e97104292c2d9
- SHA512 b5d671950f411a99a4f7b0017550cc9448c2ab5743256c949895945664d914b78e35f931c4986d863563391cbee11185b94a03c86737cdbb4b3c4e63e0fdc383
+ REF 823f79f856d711eb61af17090af0a623b631e409
+ SHA512 6146d2fb26e7d74f9f554619f6a378ecf19ff6a83aa71dba8ee55d194f337c67acae0de7139a4a09736b4685980c9cd85e3c1e99ebf02ee9a306b67b17f185d8
HEAD_REF master
)
file(INSTALL ${SOURCE_PATH}/nuklear.h DESTINATION ${CURRENT_PACKAGES_DIR}/include)
diff --git a/ports/nvtt/CONTROL b/ports/nvtt/CONTROL
new file mode 100644
index 000000000..31ff5ecf4
--- /dev/null
+++ b/ports/nvtt/CONTROL
@@ -0,0 +1,3 @@
+Source: nvtt
+Version: 2.1.0
+Description: Texture processing tools with support for Direct3D 10 and 11 formats. \ No newline at end of file
diff --git a/ports/nvtt/portfile.cmake b/ports/nvtt/portfile.cmake
new file mode 100644
index 000000000..237a71b65
--- /dev/null
+++ b/ports/nvtt/portfile.cmake
@@ -0,0 +1,44 @@
+# Common Ambient Variables:
+# VCPKG_ROOT_DIR = <C:\path\to\current\vcpkg>
+# TARGET_TRIPLET is the current triplet (x86-windows, etc)
+# PORT is the current port name (zlib, etc)
+# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT}
+# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET}
+#
+if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ message(STATUS "Warning: Dynamic building not supported yet. Building static.")
+ set(VCPKG_LIBRARY_LINKAGE static)
+endif()
+
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO castano/nvidia-texture-tools
+ REF 2.1.0
+ SHA512 6c5c9588af57023fc384de080cbe5c5ccd8707d04a9533384c606efd09730d780cb21bcf2d3576102a3facd2f281cacb2625958d74575e71550fd98da92e38b6
+ HEAD_REF master
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DNVTT_SHARED=0
+)
+
+vcpkg_install_cmake()
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
+endif()
+
+vcpkg_copy_pdbs()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
+
+# Handle copyright
+file(REMOVE ${CURRENT_PACKAGES_DIR}/share/doc/nvtt/LICENSE)
+file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/nvtt)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/nvtt/LICENSE ${CURRENT_PACKAGES_DIR}/share/nvtt/copyright)
diff --git a/ports/openal-soft/CONTROL b/ports/openal-soft/CONTROL
index f7af2c687..cd7078c08 100644
--- a/ports/openal-soft/CONTROL
+++ b/ports/openal-soft/CONTROL
@@ -1,3 +1,3 @@
Source: openal-soft
-Version: 1.18.2-1
+Version: 1.18.2-2
Description: OpenAL Soft is an LGPL-licensed, cross-platform, software implementation of the OpenAL 3D audio API.
diff --git a/ports/openal-soft/cmake-3-11.patch b/ports/openal-soft/cmake-3-11.patch
new file mode 100644
index 000000000..07f7e6936
--- /dev/null
+++ b/ports/openal-soft/cmake-3-11.patch
@@ -0,0 +1,14 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index a871f4c..f9f6b34 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -965,7 +965,8 @@ OPTION(ALSOFT_REQUIRE_DSOUND "Require DirectSound backend" OFF)
+ OPTION(ALSOFT_REQUIRE_MMDEVAPI "Require MMDevApi backend" OFF)
+ IF(HAVE_WINDOWS_H)
+ # Check MMSystem backend
+- CHECK_INCLUDE_FILES("windows.h;mmsystem.h" HAVE_MMSYSTEM_H -D_WIN32_WINNT=0x0502)
++ set(CMAKE_REQUIRED_DEFINITIONS -D_WIN32_WINNT=0x0502)
++ CHECK_INCLUDE_FILES("windows.h;mmsystem.h" HAVE_MMSYSTEM_H)
+ IF(HAVE_MMSYSTEM_H)
+ CHECK_SHARED_FUNCTION_EXISTS(waveOutOpen "windows.h;mmsystem.h" winmm "" HAVE_LIBWINMM)
+ IF(HAVE_LIBWINMM)
diff --git a/ports/openal-soft/portfile.cmake b/ports/openal-soft/portfile.cmake
index b1421f1f5..f35e81b4e 100644
--- a/ports/openal-soft/portfile.cmake
+++ b/ports/openal-soft/portfile.cmake
@@ -11,8 +11,12 @@ vcpkg_from_github(
HEAD_REF master
)
-vcpkg_apply_patches(SOURCE_PATH ${SOURCE_PATH}
- PATCHES ${CMAKE_CURRENT_LIST_DIR}/dont-export-symbols-in-static-build.patch)
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES
+ ${CMAKE_CURRENT_LIST_DIR}/dont-export-symbols-in-static-build.patch
+ ${CMAKE_CURRENT_LIST_DIR}/cmake-3-11.patch
+)
if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
set(OPENAL_LIBTYPE "SHARED")
@@ -20,6 +24,14 @@ else()
set(OPENAL_LIBTYPE "STATIC")
endif()
+if(VCPKG_CMAKE_SYSTEM_NAME)
+ set(ALSOFT_REQUIRE_WINDOWS OFF)
+ set(ALSOFT_REQUIRE_LINUX ON)
+else()
+ set(ALSOFT_REQUIRE_WINDOWS ON)
+ set(ALSOFT_REQUIRE_LINUX OFF)
+endif()
+
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
@@ -32,7 +44,7 @@ vcpkg_configure_cmake(
-DALSOFT_CONFIG=OFF
-DALSOFT_HRTF_DEFS=OFF
-DALSOFT_AMBDEC_PRESETS=OFF
- -DALSOFT_BACKEND_ALSA=OFF
+ -DALSOFT_BACKEND_ALSA=${ALSOFT_REQUIRE_LINUX}
-DALSOFT_BACKEND_OSS=OFF
-DALSOFT_BACKEND_SOLARIS=OFF
-DALSOFT_BACKEND_SNDIO=OFF
@@ -43,9 +55,9 @@ vcpkg_configure_cmake(
-DALSOFT_BACKEND_JACK=OFF
-DALSOFT_BACKEND_OPENSL=OFF
-DALSOFT_BACKEND_WAVE=ON
- -DALSOFT_REQUIRE_WINMM=ON
- -DALSOFT_REQUIRE_DSOUND=ON
- -DALSOFT_REQUIRE_MMDEVAPI=ON
+ -DALSOFT_REQUIRE_WINMM=${ALSOFT_REQUIRE_WINDOWS}
+ -DALSOFT_REQUIRE_DSOUND=${ALSOFT_REQUIRE_WINDOWS}
+ -DALSOFT_REQUIRE_MMDEVAPI=${ALSOFT_REQUIRE_WINDOWS}
)
vcpkg_install_cmake()
diff --git a/ports/opencv/0001-winrt-fixes.patch b/ports/opencv/0001-winrt-fixes.patch
index c52c662e1..f913d92a4 100644
--- a/ports/opencv/0001-winrt-fixes.patch
+++ b/ports/opencv/0001-winrt-fixes.patch
@@ -1,23 +1,6 @@
-From 005963d571f95fc536f60aa77098b9ecbb17128c Mon Sep 17 00:00:00 2001
-From: Robert Schumacher <roschuma@microsoft.com>
-Date: Wed, 21 Feb 2018 17:03:30 -0800
-Subject: [PATCH 1/5] winrt-fixes
-
----
- CMakeLists.txt | 2 +-
- cmake/OpenCVCompilerOptions.cmake | 3 +++
- cmake/OpenCVModule.cmake | 2 +-
- modules/core/src/utils/filesystem.cpp | 14 ++++++++++++--
- modules/highgui/include/opencv2/highgui/highgui_winrt.hpp | 1 +
- modules/highgui/src/window_winrt_bridge.hpp | 1 +
- modules/videoio/src/cap_winrt/CaptureFrameGrabber.cpp | 4 ++--
- 7 files changed, 21 insertions(+), 6 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 4464441..6bfbecd 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -296,7 +296,7 @@ OCV_OPTION(INSTALL_TESTS "Install accuracy and performance test binar
+@@ -311,7 +311,7 @@ OCV_OPTION(INSTALL_TESTS "Install accuracy and performance test binar
# OpenCV build options
# ===================================================
OCV_OPTION(ENABLE_CCACHE "Use ccache" (UNIX AND NOT IOS AND (CMAKE_GENERATOR MATCHES "Makefile" OR CMAKE_GENERATOR MATCHES "Ninja")) )
@@ -26,104 +9,45 @@ index 4464441..6bfbecd 100644
OCV_OPTION(ENABLE_SOLUTION_FOLDERS "Solution folder in Visual Studio or in other IDEs" (MSVC_IDE OR CMAKE_GENERATOR MATCHES Xcode) )
OCV_OPTION(ENABLE_PROFILING "Enable profiling in the GCC compiler (Add flags: -g -pg)" OFF IF CMAKE_COMPILER_IS_GNUCXX )
OCV_OPTION(ENABLE_COVERAGE "Enable coverage collection with GCov" OFF IF CMAKE_COMPILER_IS_GNUCXX )
-diff --git a/cmake/OpenCVCompilerOptions.cmake b/cmake/OpenCVCompilerOptions.cmake
-index 353ee12..8f4aa3b 100644
---- a/cmake/OpenCVCompilerOptions.cmake
-+++ b/cmake/OpenCVCompilerOptions.cmake
-@@ -37,6 +37,9 @@ if(MSVC)
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHa")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}" CACHE STRING "Flags used by the compiler during all build types." FORCE)
- endif()
-+ if(CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
-+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /ZW")
-+ endif()
- endif()
-
- set(OPENCV_EXTRA_FLAGS "")
-diff --git a/cmake/OpenCVModule.cmake b/cmake/OpenCVModule.cmake
-index a84bbff..8feb6df 100644
--- a/cmake/OpenCVModule.cmake
+++ b/cmake/OpenCVModule.cmake
-@@ -785,7 +785,7 @@ macro(ocv_create_module)
+@@ -842,7 +842,7 @@ macro(ocv_create_module)
set(the_module_target ${the_module})
endif()
-
+
- if(WINRT)
+ if(WINRT AND BUILD_TESTS)
# removing APPCONTAINER from modules to run from console
# in case of usual starting of WinRT test apps output is missing
# so starting of console version w/o APPCONTAINER is required to get test results
-diff --git a/modules/core/src/utils/filesystem.cpp b/modules/core/src/utils/filesystem.cpp
-index 266a92f..1d5a302 100644
---- a/modules/core/src/utils/filesystem.cpp
-+++ b/modules/core/src/utils/filesystem.cpp
-@@ -186,7 +186,7 @@ bool createDirectory(const cv::String& path)
- wchar_t wpath[MAX_PATH];
- size_t copied = mbstowcs(wpath, path.c_str(), MAX_PATH);
- CV_Assert((copied != MAX_PATH) && (copied != (size_t)-1));
-- int result = CreateDirectoryA(wpath, NULL) ? 0 : -1;
-+ int result = CreateDirectoryW(wpath, NULL) ? 0 : -1;
- #else
- int result = _mkdir(path.c_str());
- #endif
-@@ -248,8 +248,16 @@ struct FileLock::Impl
- int numRetries = 5;
- do
- {
-+#ifdef WINRT
-+ wchar_t wpath[MAX_PATH];
-+ size_t copied = mbstowcs(wpath, fname, MAX_PATH);
-+ CV_Assert((copied != MAX_PATH) && (copied != (size_t)-1));
-+ handle = ::CreateFile2(wpath, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE,
-+ OPEN_EXISTING, NULL);
-+#else
- handle = ::CreateFileA(fname, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL,
- OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
-+#endif
- if (INVALID_HANDLE_VALUE == handle)
- {
- if (ERROR_SHARING_VIOLATION == GetLastError())
-@@ -399,7 +407,9 @@ cv::String getCacheDirectory(const char* sub_directory_name, const char* configu
- if (cache_path.empty())
- {
- cv::String default_cache_path;
--#ifdef _WIN32
-+#if WINRT
-+ // no defaults
-+#elif defined _WIN32
- char tmp_path_buf[MAX_PATH+1] = {0};
- DWORD res = GetTempPath(MAX_PATH, tmp_path_buf);
- if (res > 0 && res <= MAX_PATH)
-diff --git a/modules/highgui/include/opencv2/highgui/highgui_winrt.hpp b/modules/highgui/include/opencv2/highgui/highgui_winrt.hpp
-index f4147f3..b92efdd 100644
--- a/modules/highgui/include/opencv2/highgui/highgui_winrt.hpp
+++ b/modules/highgui/include/opencv2/highgui/highgui_winrt.hpp
@@ -24,6 +24,7 @@
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
-
+
+#include "opencv2/core/cvdef.h"
using namespace Windows::UI::Xaml::Controls;
-
+
namespace cv
diff --git a/modules/highgui/src/window_winrt_bridge.hpp b/modules/highgui/src/window_winrt_bridge.hpp
index 25f4aef..5429f0b 100644
--- a/modules/highgui/src/window_winrt_bridge.hpp
+++ b/modules/highgui/src/window_winrt_bridge.hpp
@@ -28,6 +28,7 @@
-
+
#include <map>
#include <opencv2\core.hpp>
+#include "opencv2/highgui/highgui_c.h"
-
+
using namespace Windows::UI::Xaml::Controls;
-
+
diff --git a/modules/videoio/src/cap_winrt/CaptureFrameGrabber.cpp b/modules/videoio/src/cap_winrt/CaptureFrameGrabber.cpp
index 236e227..e2417dc 100644
--- a/modules/videoio/src/cap_winrt/CaptureFrameGrabber.cpp
+++ b/modules/videoio/src/cap_winrt/CaptureFrameGrabber.cpp
@@ -94,10 +94,10 @@ Media::CaptureFrameGrabber::~CaptureFrameGrabber()
-
+
void Media::CaptureFrameGrabber::ShowCameraSettings()
{
-#if WINAPI_FAMILY!=WINAPI_FAMILY_PHONE_APP
@@ -135,6 +59,3 @@ index 236e227..e2417dc 100644
}
#endif
}
---
-2.15.1.windows.2
-
diff --git a/ports/opencv/0002-install-options.patch b/ports/opencv/0002-install-options.patch
index 6351ceeb8..830c9f385 100644
--- a/ports/opencv/0002-install-options.patch
+++ b/ports/opencv/0002-install-options.patch
@@ -1,22 +1,6 @@
-From 5d4d154117b39d9e11fda709ede7aadf6b960a7d Mon Sep 17 00:00:00 2001
-From: Robert Schumacher <roschuma@microsoft.com>
-Date: Wed, 21 Feb 2018 17:05:16 -0800
-Subject: [PATCH 2/5] install-options
-
----
- CMakeLists.txt | 20 +++++++++++---------
- cmake/OpenCVGenConfig.cmake | 4 ++--
- cmake/OpenCVGenHeaders.cmake | 8 ++++++--
- cmake/OpenCVModule.cmake | 4 +++-
- data/CMakeLists.txt | 6 ++++--
- include/CMakeLists.txt | 16 +++++++++-------
- 6 files changed, 35 insertions(+), 23 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 6bfbecd..0156eeb 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -292,6 +292,10 @@ OCV_OPTION(INSTALL_PYTHON_EXAMPLES "Install Python examples" OFF )
+@@ -307,6 +307,10 @@ OCV_OPTION(INSTALL_PYTHON_EXAMPLES "Install Python examples" OFF )
OCV_OPTION(INSTALL_ANDROID_EXAMPLES "Install Android examples" OFF IF ANDROID )
OCV_OPTION(INSTALL_TO_MANGLED_PATHS "Enables mangled install paths, that help with side by side installs." OFF IF (UNIX AND NOT ANDROID AND NOT APPLE_FRAMEWORK AND BUILD_SHARED_LIBS) )
OCV_OPTION(INSTALL_TESTS "Install accuracy and performance test binaries and test data" OFF)
@@ -24,21 +8,21 @@ index 6bfbecd..0156eeb 100644
+OCV_OPTION(INSTALL_LICENSE "Install license file" ON)
+OCV_OPTION(INSTALL_OTHER "Install other files" ON)
+OCV_OPTION(INSTALL_FORCE_UNIX_PATHS "Force unix-style installation" OFF)
-
+
# OpenCV build options
# ===================================================
-@@ -319,7 +323,7 @@ OCV_OPTION(CV_ENABLE_INTRINSICS "Use intrinsic-based optimized code" ON )
+@@ -335,7 +339,7 @@ OCV_OPTION(CV_ENABLE_INTRINSICS "Use intrinsic-based optimized code" ON )
OCV_OPTION(CV_DISABLE_OPTIMIZATION "Disable explicit optimized code (dispatched code/intrinsics/loop unrolling/etc)" OFF )
OCV_OPTION(CV_TRACE "Enable OpenCV code trace" ON)
-
+
-OCV_OPTION(ENABLE_PYLINT "Add target with Pylint checks" (${BUILD_DOCS} OR ${BUILD_EXAMPLES}) IF (NOT CMAKE_CROSSCOMPILING AND NOT APPLE_FRAMEWORK) )
+OCV_OPTION(ENABLE_PYLINT "Add target with Pylint checks" (BUILD_DOCS OR BUILD_EXAMPLES) IF (NOT CMAKE_CROSSCOMPILING AND NOT APPLE_FRAMEWORK) )
-
+
if(ENABLE_IMPL_COLLECTION)
add_definitions(-DCV_COLLECT_IMPL_DATA)
-@@ -355,7 +359,9 @@ else()
+@@ -372,7 +376,9 @@ else()
endif()
-
+
if(WIN32 AND CMAKE_HOST_SYSTEM_NAME MATCHES Windows)
- if(DEFINED OpenCV_RUNTIME AND DEFINED OpenCV_ARCH)
+ if(DEFINED OpenCV_DISABLE_ARCH_PATH)
@@ -47,9 +31,9 @@ index 6bfbecd..0156eeb 100644
ocv_update(OpenCV_INSTALL_BINARIES_PREFIX "${OpenCV_ARCH}/${OpenCV_RUNTIME}/")
else()
message(STATUS "Can't detect runtime and/or arch")
-@@ -409,12 +415,8 @@ else()
+@@ -427,12 +433,8 @@ else()
ocv_update(3P_LIBRARY_OUTPUT_PATH "${OpenCV_BINARY_DIR}/3rdparty/lib${LIB_SUFFIX}")
-
+
if(WIN32 AND CMAKE_HOST_SYSTEM_NAME MATCHES Windows)
- if(OpenCV_STATIC)
- ocv_update(OPENCV_LIB_INSTALL_PATH "${OpenCV_INSTALL_BINARIES_PREFIX}staticlib${LIB_SUFFIX}")
@@ -59,32 +43,30 @@ index 6bfbecd..0156eeb 100644
- ocv_update(OPENCV_3P_LIB_INSTALL_PATH "${OpenCV_INSTALL_BINARIES_PREFIX}staticlib${LIB_SUFFIX}")
+ ocv_update(OPENCV_LIB_INSTALL_PATH "${OpenCV_INSTALL_BINARIES_PREFIX}lib${LIB_SUFFIX}")
+ ocv_update(OPENCV_3P_LIB_INSTALL_PATH "${OpenCV_INSTALL_BINARIES_PREFIX}lib${LIB_SUFFIX}")
- ocv_update(OPENCV_SAMPLES_SRC_INSTALL_PATH samples/native)
+ ocv_update(OPENCV_SAMPLES_SRC_INSTALL_PATH samples)
ocv_update(OPENCV_JAR_INSTALL_PATH java)
ocv_update(OPENCV_OTHER_INSTALL_PATH etc)
-@@ -856,7 +858,7 @@ if(NOT OPENCV_LICENSE_FILE)
+@@ -895,7 +897,7 @@ if(NOT OPENCV_LICENSE_FILE)
endif()
-
+
# for UNIX it does not make sense as LICENSE and readme will be part of the package automatically
-if(ANDROID OR NOT UNIX)
+if(ANDROID OR NOT UNIX AND INSTALL_LICENSE)
install(FILES ${OPENCV_LICENSE_FILE}
PERMISSIONS OWNER_READ GROUP_READ WORLD_READ
DESTINATION ./ COMPONENT libs)
-diff --git a/cmake/OpenCVGenConfig.cmake b/cmake/OpenCVGenConfig.cmake
-index 57c79f2..23f1012 100644
--- a/cmake/OpenCVGenConfig.cmake
+++ b/cmake/OpenCVGenConfig.cmake
-@@ -103,7 +103,7 @@ function(ocv_gen_config TMP_DIR NESTED_PATH ROOT_NAME)
+@@ -105,7 +105,7 @@ function(ocv_gen_config TMP_DIR NESTED_PATH ROOT_NAME)
endif()
endfunction()
-
+
-if((CMAKE_HOST_SYSTEM_NAME MATCHES "Linux" OR UNIX) AND NOT ANDROID)
+if(((CMAKE_HOST_SYSTEM_NAME MATCHES "Linux" OR UNIX) AND NOT ANDROID) OR INSTALL_FORCE_UNIX_PATHS)
ocv_gen_config("${CMAKE_BINARY_DIR}/unix-install" "" "")
endif()
-
-@@ -115,7 +115,7 @@ endif()
+
+@@ -117,7 +117,7 @@ endif()
# --------------------------------------------------------------------------------------------
# Part 3/3: ${BIN_DIR}/win-install/OpenCVConfig.cmake -> For use within binary installers/packages
# --------------------------------------------------------------------------------------------
@@ -93,8 +75,6 @@ index 57c79f2..23f1012 100644
if(CMAKE_HOST_SYSTEM_NAME MATCHES Windows)
if(BUILD_SHARED_LIBS)
set(_lib_suffix "lib")
-diff --git a/cmake/OpenCVGenHeaders.cmake b/cmake/OpenCVGenHeaders.cmake
-index 477b910..beace28 100644
--- a/cmake/OpenCVGenHeaders.cmake
+++ b/cmake/OpenCVGenHeaders.cmake
@@ -1,7 +1,9 @@
@@ -105,22 +85,20 @@ index 477b910..beace28 100644
+if(INSTALL_HEADERS)
+ install(FILES "${OPENCV_CONFIG_FILE_INCLUDE_DIR}/cvconfig.h" DESTINATION ${OPENCV_INCLUDE_INSTALL_PATH}/opencv2 COMPONENT dev)
+endif()
-
+
# platform-specific config file
ocv_compiler_optimization_fill_cpu_config()
@@ -29,4 +31,6 @@ set(OPENCV_MODULE_DEFINITIONS_CONFIGMAKE "${OPENCV_MODULE_DEFINITIONS_CONFIGMAKE
#endforeach()
-
+
configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/opencv_modules.hpp.in" "${OPENCV_CONFIG_FILE_INCLUDE_DIR}/opencv2/opencv_modules.hpp")
-install(FILES "${OPENCV_CONFIG_FILE_INCLUDE_DIR}/opencv2/opencv_modules.hpp" DESTINATION ${OPENCV_INCLUDE_INSTALL_PATH}/opencv2 COMPONENT dev)
+if(INSTALL_HEADERS)
+ install(FILES "${OPENCV_CONFIG_FILE_INCLUDE_DIR}/opencv2/opencv_modules.hpp" DESTINATION ${OPENCV_INCLUDE_INSTALL_PATH}/opencv2 COMPONENT dev)
+endif()
-diff --git a/cmake/OpenCVModule.cmake b/cmake/OpenCVModule.cmake
-index 8feb6df..1a098c4 100644
--- a/cmake/OpenCVModule.cmake
+++ b/cmake/OpenCVModule.cmake
-@@ -930,7 +930,9 @@ macro(_ocv_create_module)
+@@ -994,7 +994,9 @@ macro(_ocv_create_module)
foreach(hdr ${OPENCV_MODULE_${the_module}_HEADERS})
string(REGEX REPLACE "^.*opencv2/" "opencv2/" hdr2 "${hdr}")
if(NOT hdr2 MATCHES "private" AND hdr2 MATCHES "^(opencv2/?.*)/[^/]+.h(..)?$" )
@@ -131,25 +109,21 @@ index 8feb6df..1a098c4 100644
endif()
endforeach()
endif()
-diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt
-index 1f0d720..86b9d89 100644
--- a/data/CMakeLists.txt
+++ b/data/CMakeLists.txt
@@ -1,8 +1,10 @@
file(GLOB HAAR_CASCADES haarcascades/*.xml)
file(GLOB LBP_CASCADES lbpcascades/*.xml)
-
+
-install(FILES ${HAAR_CASCADES} DESTINATION ${OPENCV_OTHER_INSTALL_PATH}/haarcascades COMPONENT libs)
-install(FILES ${LBP_CASCADES} DESTINATION ${OPENCV_OTHER_INSTALL_PATH}/lbpcascades COMPONENT libs)
+if(INSTALL_OTHER)
+ install(FILES ${HAAR_CASCADES} DESTINATION ${OPENCV_OTHER_INSTALL_PATH}/haarcascades COMPONENT libs)
+ install(FILES ${LBP_CASCADES} DESTINATION ${OPENCV_OTHER_INSTALL_PATH}/lbpcascades COMPONENT libs)
+endif()
-
+
if(INSTALL_TESTS AND OPENCV_TEST_DATA_PATH)
install(DIRECTORY "${OPENCV_TEST_DATA_PATH}/" DESTINATION "${OPENCV_TEST_DATA_INSTALL_PATH}" COMPONENT "tests")
-diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt
-index b4e48e6..5ac6f16 100644
--- a/include/CMakeLists.txt
+++ b/include/CMakeLists.txt
@@ -1,7 +1,9 @@
@@ -169,6 +143,3 @@ index b4e48e6..5ac6f16 100644
+ DESTINATION ${OPENCV_INCLUDE_INSTALL_PATH}/opencv2
+ COMPONENT dev)
+endif()
---
-2.15.1.windows.2
-
diff --git a/ports/opencv/0003-disable-downloading.patch b/ports/opencv/0003-disable-downloading.patch
index e51bab3b2..28b00251f 100644
--- a/ports/opencv/0003-disable-downloading.patch
+++ b/ports/opencv/0003-disable-downloading.patch
@@ -1,14 +1,3 @@
-From 692f6f4fcf9bfddaf8779ba622f190c3a8c772f9 Mon Sep 17 00:00:00 2001
-From: Robert Schumacher <roschuma@microsoft.com>
-Date: Wed, 21 Feb 2018 17:20:22 -0800
-Subject: [PATCH 3/5] disable-downloading
-
----
- cmake/OpenCVDownload.cmake | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/cmake/OpenCVDownload.cmake b/cmake/OpenCVDownload.cmake
-index f660502..90785f1 100644
--- a/cmake/OpenCVDownload.cmake
+++ b/cmake/OpenCVDownload.cmake
@@ -151,6 +151,8 @@ function(ocv_download)
@@ -20,6 +9,3 @@ index f660502..90785f1 100644
file(DOWNLOAD "${DL_URL}" "${CACHE_CANDIDATE}"
INACTIVITY_TIMEOUT 60
TIMEOUT 600
---
-2.15.1.windows.2
-
diff --git a/ports/opencv/0004-use-find-package-required.patch b/ports/opencv/0004-use-find-package-required.patch
index 6d2fa5688..4e1daf659 100644
--- a/ports/opencv/0004-use-find-package-required.patch
+++ b/ports/opencv/0004-use-find-package-required.patch
@@ -1,14 +1,3 @@
-From 7e02db97d43cb9aa331da0dbfce8c372c19ad32b Mon Sep 17 00:00:00 2001
-From: Robert Schumacher <roschuma@microsoft.com>
-Date: Wed, 21 Feb 2018 17:20:49 -0800
-Subject: [PATCH 4/5] use-find-package-required
-
----
- cmake/OpenCVFindLibsGrfmt.cmake | 18 +++++++++---------
- 1 file changed, 9 insertions(+), 9 deletions(-)
-
-diff --git a/cmake/OpenCVFindLibsGrfmt.cmake b/cmake/OpenCVFindLibsGrfmt.cmake
-index 0ae58c8..5832d56 100644
--- a/cmake/OpenCVFindLibsGrfmt.cmake
+++ b/cmake/OpenCVFindLibsGrfmt.cmake
@@ -6,7 +6,7 @@
@@ -18,18 +7,18 @@ index 0ae58c8..5832d56 100644
- find_package(ZLIB "${MIN_VER_ZLIB}")
+ find_package(ZLIB "${MIN_VER_ZLIB}" REQUIRED)
if(ZLIB_FOUND AND ANDROID)
- if(ZLIB_LIBRARIES STREQUAL "${ANDROID_SYSROOT}/usr/lib/libz.so" OR
- ZLIB_LIBRARIES STREQUAL "${ANDROID_SYSROOT}/usr/lib64/libz.so")
-@@ -31,7 +31,7 @@ if(WITH_JPEG)
+ if(ZLIB_LIBRARIES MATCHES "/usr/(lib|lib32|lib64)/libz.so$")
+ set(ZLIB_LIBRARIES z)
+@@ -30,7 +30,7 @@ if(WITH_JPEG)
if(BUILD_JPEG)
ocv_clear_vars(JPEG_FOUND)
else()
- include(FindJPEG)
+ find_package(JPEG REQUIRED)
endif()
-
+
if(NOT JPEG_FOUND)
-@@ -52,7 +52,7 @@ if(WITH_TIFF)
+@@ -51,7 +51,7 @@ if(WITH_TIFF)
if(BUILD_TIFF)
ocv_clear_vars(TIFF_FOUND)
else()
@@ -38,7 +27,7 @@ index 0ae58c8..5832d56 100644
if(TIFF_FOUND)
ocv_parse_header("${TIFF_INCLUDE_DIR}/tiff.h" TIFF_VERSION_LINES TIFF_VERSION_CLASSIC TIFF_VERSION_BIG TIFF_VERSION TIFF_BIGTIFF_VERSION)
endif()
-@@ -95,7 +95,7 @@ if(WITH_WEBP)
+@@ -94,7 +94,7 @@ if(WITH_WEBP)
if(BUILD_WEBP)
ocv_clear_vars(WEBP_FOUND WEBP_LIBRARY WEBP_LIBRARIES WEBP_INCLUDE_DIR)
else()
@@ -47,16 +36,16 @@ index 0ae58c8..5832d56 100644
if(WEBP_FOUND)
set(HAVE_WEBP 1)
endif()
-@@ -136,7 +136,7 @@ if(WITH_JASPER)
+@@ -135,7 +135,7 @@ if(WITH_JASPER)
if(BUILD_JASPER)
ocv_clear_vars(JASPER_FOUND)
else()
- include(FindJasper)
+ find_package(Jasper REQUIRED)
endif()
-
+
if(NOT JASPER_FOUND)
-@@ -160,7 +160,7 @@ if(WITH_PNG)
+@@ -159,7 +159,7 @@ if(WITH_PNG)
if(BUILD_PNG)
ocv_clear_vars(PNG_FOUND)
else()
@@ -65,33 +54,30 @@ index 0ae58c8..5832d56 100644
if(PNG_FOUND)
include(CheckIncludeFile)
check_include_file("${PNG_PNG_INCLUDE_DIR}/libpng/png.h" HAVE_LIBPNG_PNG_H)
-@@ -192,7 +192,7 @@ if(WITH_OPENEXR)
+@@ -191,7 +191,7 @@ if(WITH_OPENEXR)
if(BUILD_OPENEXR)
ocv_clear_vars(OPENEXR_FOUND)
else()
- include("${OpenCV_SOURCE_DIR}/cmake/OpenCVFindOpenEXR.cmake")
+ find_package(OpenEXR REQUIRED)
endif()
-
+
if(NOT OPENEXR_FOUND)
-@@ -208,7 +208,7 @@ endif()
-
+@@ -207,7 +207,7 @@ endif()
+
# --- GDAL (optional) ---
if(WITH_GDAL)
- find_package(GDAL QUIET)
+ find_package(GDAL REQUIRED)
-
+
if(NOT GDAL_FOUND)
set(HAVE_GDAL NO)
-@@ -220,7 +220,7 @@ if(WITH_GDAL)
+@@ -219,7 +219,7 @@ if(WITH_GDAL)
endif()
-
+
if (WITH_GDCM)
- find_package(GDCM QUIET)
+ find_package(GDCM REQUIRED)
if(NOT GDCM_FOUND)
set(HAVE_GDCM NO)
ocv_clear_vars(GDCM_VERSION GDCM_LIBRARIES)
---
-2.15.1.windows.2
-
diff --git a/ports/opencv/0005-remove-protobuf-target.patch b/ports/opencv/0005-remove-protobuf-target.patch
new file mode 100644
index 000000000..b538ee040
--- /dev/null
+++ b/ports/opencv/0005-remove-protobuf-target.patch
@@ -0,0 +1,31 @@
+--- a/cmake/OpenCVFindProtobuf.cmake
++++ b/cmake/OpenCVFindProtobuf.cmake
+@@ -44,17 +44,6 @@ else()
+ # end of compatibility block
+
+ if(Protobuf_FOUND)
+- if(TARGET protobuf::libprotobuf)
+- add_library(libprotobuf INTERFACE)
+- target_link_libraries(libprotobuf INTERFACE protobuf::libprotobuf)
+- else()
+- add_library(libprotobuf UNKNOWN IMPORTED)
+- set_target_properties(libprotobuf PROPERTIES
+- IMPORTED_LOCATION "${Protobuf_LIBRARY}"
+- INTERFACE_INCLUDE_DIRECTORIES "${Protobuf_INCLUDE_DIR}"
+- )
+- get_protobuf_version(Protobuf_VERSION "${Protobuf_INCLUDE_DIR}")
+- endif()
+ set(HAVE_PROTOBUF TRUE)
+ endif()
+ endif()
+--- a/modules/dnn/CMakeLists.txt
++++ b/modules/dnn/CMakeLists.txt
+@@ -65,7 +65,7 @@ endif()
+
+ ocv_module_include_directories(${fw_inc} ${CMAKE_CURRENT_LIST_DIR}/src/ocl4dnn/include ${OPENCL_INCLUDE_DIRS})
+ ocv_glob_module_sources(SOURCES ${fw_srcs})
+-ocv_create_module(libprotobuf ${LAPACK_LIBRARIES})
++ocv_create_module()
+ ocv_add_samples()
+ ocv_add_accuracy_tests()
+ ocv_add_perf_tests()
diff --git a/ports/opencv/CONTROL b/ports/opencv/CONTROL
index df27dc08c..5450f3906 100644
--- a/ports/opencv/CONTROL
+++ b/ports/opencv/CONTROL
@@ -1,14 +1,30 @@
Source: opencv
-Version: 3.4.0-3
-Build-Depends: opengl, zlib, protobuf (windows)
+Version: 3.4.1
+Build-Depends: zlib
Description: computer vision library
-Default-Features: jpeg, png, tiff, eigen
+Default-Features: opengl, jpeg, png, tiff, eigen, flann
+
+Feature: opengl
+Build-Depends: opengl
+Description: opengl support for opencv
+
+Feature: dnn
+Build-Depends: protobuf
+Description: opencv_dnn module
+
+Feature: ovis
+Build-Depends: ogre
+Description: opencv_ovis module
+
+Feature: flann
+Description: opencv_flann module
Feature: sfm
Build-Depends: eigen3, glog, gflags, ceres
Description: opencv_sfm module
Feature: contrib
+Build-Depends: opencv[flann]
Description: opencv_contrib module
Feature: cuda
diff --git a/ports/opencv/portfile.cmake b/ports/opencv/portfile.cmake
index f3efaa779..78ed5fa51 100644
--- a/ports/opencv/portfile.cmake
+++ b/ports/opencv/portfile.cmake
@@ -1,20 +1,12 @@
include(vcpkg_common_functions)
-set(OPENCV_PORT_VERSION "3.4.0")
-
-# This is to ensure we are patching clean sources. These lines can be removed when the OpenCV version is next upgraded.
-if(EXISTS "${CURRENT_BUILDTREES_DIR}/src/opencv-${OPENCV_PORT_VERSION}" AND NOT EXISTS "${CURRENT_BUILDTREES_DIR}/src/opencv-${OPENCV_PORT_VERSION}/rework.stamp")
- file(REMOVE_RECURSE
- "${CURRENT_BUILDTREES_DIR}/src/opencv-opencv-${OPENCV_PORT_VERSION}.tar.gz.extracted"
- "${CURRENT_BUILDTREES_DIR}/src/opencv-${OPENCV_PORT_VERSION}"
- )
-endif()
+set(OPENCV_PORT_VERSION "3.4.1")
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO opencv/opencv
REF ${OPENCV_PORT_VERSION}
- SHA512 aa7e475f356ffdaeb2ae9f7e9380c92cae58fabde9cd3b23c388f9190b8fde31ee70d16648042d0c43c03b2ff1f15e4be950be7851133ea0aa82cf6e42ba4710
+ SHA512 e1fc14285090c6fe9e26e721f2d67d7096650c523147e925567426ef76aa7f4c6f12035d6f6ce3ec7991a75a6828a810fd4f9b75f78ed5fcccecefbadd79944b
HEAD_REF master
)
@@ -25,19 +17,38 @@ vcpkg_apply_patches(
"${CMAKE_CURRENT_LIST_DIR}/0002-install-options.patch"
"${CMAKE_CURRENT_LIST_DIR}/0003-disable-downloading.patch"
"${CMAKE_CURRENT_LIST_DIR}/0004-use-find-package-required.patch"
+ "${CMAKE_CURRENT_LIST_DIR}/0005-remove-protobuf-target.patch"
)
file(WRITE "${CURRENT_BUILDTREES_DIR}/src/opencv-${OPENCV_PORT_VERSION}/rework.stamp")
-vcpkg_download_distfile(TINYDNN_ARCHIVE
+string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" BUILD_WITH_STATIC_CRT)
+
+set(CMAKE_MODULE_PATH)
+
+set(BUILD_opencv_dnn OFF)
+set(WITH_PROTOBUF OFF)
+if("dnn" IN_LIST FEATURES)
+ set(BUILD_opencv_dnn ON)
+ set(WITH_PROTOBUF ON)
+ set(PROTOBUF_UPDATE_FILES ON)
+ set(UPDATE_PROTO_FILES ON)
+ vcpkg_download_distfile(TINYDNN_ARCHIVE
URLS "https://github.com/tiny-dnn/tiny-dnn/archive/v1.0.0a3.tar.gz"
FILENAME "opencv-cache/tiny_dnn/adb1c512e09ca2c7a6faef36f9c53e59-v1.0.0a3.tar.gz"
SHA512 5f2c1a161771efa67e85b1fea395953b7744e29f61187ac5a6c54c912fb195b3aef9a5827135c3668bd0eeea5ae04a33cc433e1f6683e2b7955010a2632d168b
-)
+ )
+endif()
-string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" BUILD_WITH_STATIC_CRT)
+set(BUILD_opencv_flann OFF)
+if("flann" IN_LIST FEATURES)
+ set(BUILD_opencv_flann ON)
+endif()
-set(CMAKE_MODULE_PATH)
+set(BUILD_opencv_ovis OFF)
+if("ovis" IN_LIST FEATURES)
+ set(BUILD_opencv_ovis ON)
+endif()
set(BUILD_opencv_sfm OFF)
if("sfm" IN_LIST FEATURES)
@@ -55,6 +66,12 @@ if("contrib" IN_LIST FEATURES)
SHA512 c16e60a6c4bb4de3ab39b876ae3c3f320ea56f69c93e9303bd2dff8760841dcd71be4161fff8bc71e8fe4fe8747fa8465d49d6bd8f5ebcdaea161f4bc2da7c93
)
+ vcpkg_download_distfile(TINYDNN_ARCHIVE
+ URLS "https://github.com/tiny-dnn/tiny-dnn/archive/v1.0.0a3.tar.gz"
+ FILENAME "opencv-cache/tiny_dnn/adb1c512e09ca2c7a6faef36f9c53e59-v1.0.0a3.tar.gz"
+ SHA512 5f2c1a161771efa67e85b1fea395953b7744e29f61187ac5a6c54c912fb195b3aef9a5827135c3668bd0eeea5ae04a33cc433e1f6683e2b7955010a2632d168b
+ )
+
function(download_opencv_3rdparty ID COMMIT HASH)
if(NOT EXISTS "${DOWNLOADS}/opencv-cache/${ID}/${COMMIT}.stamp")
vcpkg_download_distfile(OCV_DOWNLOAD
@@ -99,19 +116,19 @@ set(WITH_FFMPEG OFF)
if("ffmpeg" IN_LIST FEATURES)
set(WITH_FFMPEG ON)
vcpkg_download_distfile(OCV_DOWNLOAD
- URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/66b1fed06cf3510235f367f96aa26da5cb234a15/ffmpeg/opencv_ffmpeg.dll"
- FILENAME "opencv-cache/ffmpeg/3ae76b105113d944984b2351c61e21c6-opencv_ffmpeg.dll"
- SHA512 62ad0d6de7a7887a08313e20c474b4f98ae7746a2c10cce2ea5eae284250830e721b81308a401d0fadd238dda85c3ec0f347b41361fd56e473e790e3c40fa554
+ URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/0a0e88972a7ea97708378d0488a65f83e7cc5e69/ffmpeg/opencv_ffmpeg.dll"
+ FILENAME "opencv-cache/ffmpeg/b8120c07962d591e2e9071a1bf566fd0-opencv_ffmpeg.dll"
+ SHA512 53325e3bb04de19273270475d7b7d9190c950b0d12e1179feef63c69ba66c9f8593d8ed9b030109dee8c104ab5babea69f18c7cae7366a57d48272d67c00d871
)
vcpkg_download_distfile(OCV_DOWNLOAD
- URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/66b1fed06cf3510235f367f96aa26da5cb234a15/ffmpeg/opencv_ffmpeg_64.dll"
- FILENAME "opencv-cache/ffmpeg/cf3bb5bc9d393b022ea7a42eb63e794d-opencv_ffmpeg_64.dll"
- SHA512 5de95a180895aaa5186578572dd1968d2ff3ce8d24c46755c94d768ea6f463c92416c86e851b06b15fc314dd852a456282a56f5b14d6fb9130a054ac9e8230bd
+ URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/0a0e88972a7ea97708378d0488a65f83e7cc5e69/ffmpeg/opencv_ffmpeg_64.dll"
+ FILENAME "opencv-cache/ffmpeg/dc9c50e7b05482acc25d6ce0ac61bf1d-opencv_ffmpeg_64.dll"
+ SHA512 7d90df6f5d141f842a45e5678cf1349657612321250ece4ad5c6b5fb28a50140735d91ced0ce1a6e81962ef87236cbd1669c0b4410308f70fccee341a7a5c28b
)
vcpkg_download_distfile(OCV_DOWNLOAD
- URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/66b1fed06cf3510235f367f96aa26da5cb234a15/ffmpeg/ffmpeg_version.cmake"
- FILENAME "opencv-cache/ffmpeg/ec59008da403fb18ab3c1ed66aed583b-ffmpeg_version.cmake"
- SHA512 97784032256b104ed9bb3e3f71824985c551b3e4a86928bcf60d3beef50817f66cf276256e140e645e78e04f4463f3665bdda0574585d05af640fb43d0ba4cb9
+ URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/0a0e88972a7ea97708378d0488a65f83e7cc5e69/ffmpeg/ffmpeg_version.cmake"
+ FILENAME "opencv-cache/ffmpeg/3b90f67f4b429e77d3da36698cef700c-ffmpeg_version.cmake"
+ SHA512 7d0142c30ac6f6260c1bcabc22753030fd25a708477fa28053e8df847c366967d3b93a8ac14af19a2b7b73d9f8241749a431458faf21a0c8efc7d6d99eecfdcf
)
endif()
@@ -155,6 +172,11 @@ if("gdcm" IN_LIST FEATURES)
set(WITH_GDCM ON)
endif()
+set(WITH_OPENGL OFF)
+if("opengl" IN_LIST FEATURES)
+ set(WITH_OPENGL ON)
+endif()
+
set(WITH_OPENEXR OFF)
if("openexr" IN_LIST FEATURES)
set(WITH_OPENEXR ON)
@@ -196,12 +218,13 @@ if(BUILD_opencv_contrib)
OUT_SOURCE_PATH CONTRIB_SOURCE_PATH
REPO opencv/opencv_contrib
REF ${OPENCV_PORT_VERSION}
- SHA512 53f6127304f314d3be834f79520d4bc8a75e14cad8c9c14a66a7a6b37908ded114d24e3a2c664d4ec2275903db08ac826f29433e810c6400f3adc2714a3c5be7
+ SHA512 431dfba0f413071d7faa18bc6e6f5e4f015285e2cc730c5dd69b2a4d6aa4250b7e0bcb1814ac6f06f5c76f103aea1f93f72f32aee6bc0cd7ddacdaf1f40075c1
HEAD_REF master
)
set(BUILD_WITH_CONTRIB_FLAG "-DOPENCV_EXTRA_MODULES_PATH=${CONTRIB_SOURCE_PATH}/modules")
endif()
+set(WITH_ZLIB ON)
set(BUILD_opencv_line_descriptor ON)
set(BUILD_opencv_saliency ON)
set(BUILD_opencv_bgsegm ON)
@@ -219,11 +242,10 @@ vcpkg_configure_cmake(
OPTIONS
# Ungrouped Entries
-DOpenCV_DISABLE_ARCH_PATH=ON
- -DPROTOBUF_UPDATE_FILES=ON
- -DUPDATE_PROTO_FILES=ON
- # BUILD
+ # Do not build docs/examples
-DBUILD_DOCS=OFF
-DBUILD_EXAMPLES=OFF
+ # Do not build integrated libraries, use external ones whenever possible
-DBUILD_JASPER=OFF
-DBUILD_JPEG=OFF
-DBUILD_OPENEXR=OFF
@@ -237,16 +259,20 @@ vcpkg_configure_cmake(
-DBUILD_WITH_DEBUG_INFO=ON
-DBUILD_WITH_STATIC_CRT=${BUILD_WITH_STATIC_CRT}
-DBUILD_ZLIB=OFF
+ # Select which OpenCV modules should be built
-DBUILD_opencv_apps=OFF
- -DBUILD_opencv_dnn=ON
- -DBUILD_opencv_flann=ON
+ -DBUILD_opencv_bgsegm=${BUILD_opencv_bgsegm}
+ -DBUILD_opencv_dnn=${BUILD_opencv_dnn}
+ -DBUILD_opencv_flann=${BUILD_opencv_flann}
+ -DBUILD_opencv_line_descriptor=${BUILD_opencv_line_descriptor}
+ -DBUILD_opencv_ovis=${BUILD_opencv_ovis}
-DBUILD_opencv_python2=OFF
-DBUILD_opencv_python3=OFF
- -DBUILD_opencv_sfm=${BUILD_opencv_sfm}
- -DBUILD_opencv_line_descriptor=${BUILD_opencv_line_descriptor}
-DBUILD_opencv_saliency=${BUILD_opencv_saliency}
- -DBUILD_opencv_bgsegm=${BUILD_opencv_bgsegm}
-
+ -DBUILD_opencv_sfm=${BUILD_opencv_sfm}
+ # PROTOBUF
+ -DPROTOBUF_UPDATE_FILES=${PROTOBUF_UPDATE_FILES}
+ -DUPDATE_PROTO_FILES=${UPDATE_PROTO_FILES}
# CMAKE
-DCMAKE_DISABLE_FIND_PACKAGE_JNI=ON
"-DCMAKE_MODULE_PATH=${CMAKE_MODULE_PATH}"
@@ -264,22 +290,24 @@ vcpkg_configure_cmake(
# WITH
-DWITH_CUBLAS=OFF
-DWITH_CUDA=${WITH_CUDA}
+ -DWITH_EIGEN=${WITH_EIGEN}
-DWITH_FFMPEG=${WITH_FFMPEG}
+ -DWITH_GDCM=${WITH_GDCM}
-DWITH_IPP=${WITH_IPP}
+ -DWITH_JASPER=${WITH_JASPER}
+ -DWITH_JPEG=${WITH_JPEG}
-DWITH_LAPACK=OFF
-DWITH_MSMF=${WITH_MSMF}
-DWITH_OPENCLAMDBLAS=OFF
- -DWITH_OPENGL=ON
+ -DWITH_OPENEXR=${WITH_OPENEXR}
+ -DWITH_OPENGL=${WITH_OPENGL}
+ -DWITH_PNG=${WITH_PNG}
+ -DWITH_PROTOBUF=${WITH_PROTOBUF}
-DWITH_QT=${WITH_QT}
+ -DWITH_TIFF=${WITH_TIFF}
-DWITH_VTK=${WITH_VTK}
- -DWITH_GDCM=${WITH_GDCM}
-DWITH_WEBP=${WITH_WEBP}
- -DWITH_OPENEXR=${WITH_OPENEXR}
- -DWITH_TIFF=${WITH_TIFF}
- -DWITH_JPEG=${WITH_JPEG}
- -DWITH_PNG=${WITH_PNG}
- -DWITH_JASPER=${WITH_JASPER}
- -DWITH_EIGEN=${WITH_EIGEN}
+ -DWITH_ZLIB=${WITH_ZLIB}
OPTIONS_DEBUG
-DINSTALL_HEADERS=OFF
-DINSTALL_OTHER=OFF
diff --git a/ports/opengl/portfile.cmake b/ports/opengl/portfile.cmake
index 6e9e1d14f..80df4ae74 100644
--- a/ports/opengl/portfile.cmake
+++ b/ports/opengl/portfile.cmake
@@ -1,47 +1,51 @@
include(vcpkg_common_functions)
-vcpkg_get_program_files_32_bit(PROGRAM_FILES_32_BIT)
-vcpkg_get_windows_sdk(WINDOWS_SDK)
+if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ vcpkg_get_program_files_32_bit(PROGRAM_FILES_32_BIT)
+ vcpkg_get_windows_sdk(WINDOWS_SDK)
-if (WINDOWS_SDK MATCHES "10.")
- set(LIBGLFILEPATH "${PROGRAM_FILES_32_BIT}\\Windows Kits\\10\\Lib\\${WINDOWS_SDK}\\um\\${TRIPLET_SYSTEM_ARCH}\\OpenGL32.Lib")
- set(LIBGLUFILEPATH "${PROGRAM_FILES_32_BIT}\\Windows Kits\\10\\Lib\\${WINDOWS_SDK}\\um\\${TRIPLET_SYSTEM_ARCH}\\GlU32.Lib")
- set(HEADERSPATH "${PROGRAM_FILES_32_BIT}\\Windows Kits\\10\\Include\\${WINDOWS_SDK}\\um")
-elseif(WINDOWS_SDK MATCHES "8.")
- set(LIBGLFILEPATH "${PROGRAM_FILES_32_BIT}\\Windows Kits\\8.1\\Lib\\winv6.3\\um\\${TRIPLET_SYSTEM_ARCH}\\OpenGL32.Lib")
- set(LIBGLUFILEPATH "${PROGRAM_FILES_32_BIT}\\Windows Kits\\8.1\\Lib\\winv6.3\\um\\${TRIPLET_SYSTEM_ARCH}\\GlU32.Lib")
- set(HEADERSPATH "${PROGRAM_FILES_32_BIT}\\Windows Kits\\8.1\\Include\\um")
-else()
- message(FATAL_ERROR "Portfile not yet configured for Windows SDK with version: ${WINDOWS_SDK}")
-endif()
+ if (WINDOWS_SDK MATCHES "10.")
+ set(LIBGLFILEPATH "${PROGRAM_FILES_32_BIT}\\Windows Kits\\10\\Lib\\${WINDOWS_SDK}\\um\\${TRIPLET_SYSTEM_ARCH}\\OpenGL32.Lib")
+ set(LIBGLUFILEPATH "${PROGRAM_FILES_32_BIT}\\Windows Kits\\10\\Lib\\${WINDOWS_SDK}\\um\\${TRIPLET_SYSTEM_ARCH}\\GlU32.Lib")
+ set(HEADERSPATH "${PROGRAM_FILES_32_BIT}\\Windows Kits\\10\\Include\\${WINDOWS_SDK}\\um")
+ elseif(WINDOWS_SDK MATCHES "8.")
+ set(LIBGLFILEPATH "${PROGRAM_FILES_32_BIT}\\Windows Kits\\8.1\\Lib\\winv6.3\\um\\${TRIPLET_SYSTEM_ARCH}\\OpenGL32.Lib")
+ set(LIBGLUFILEPATH "${PROGRAM_FILES_32_BIT}\\Windows Kits\\8.1\\Lib\\winv6.3\\um\\${TRIPLET_SYSTEM_ARCH}\\GlU32.Lib")
+ set(HEADERSPATH "${PROGRAM_FILES_32_BIT}\\Windows Kits\\8.1\\Include\\um")
+ else()
+ message(FATAL_ERROR "Portfile not yet configured for Windows SDK with version: ${WINDOWS_SDK}")
+ endif()
-if (NOT EXISTS "${LIBGLFILEPATH}")
- message(FATAL_ERROR "Cannot find Windows ${WINDOWS_SDK} SDK. File does not exist: ${LIBFILEPATH}")
-endif()
+ if (NOT EXISTS "${LIBGLFILEPATH}")
+ message(FATAL_ERROR "Cannot find Windows ${WINDOWS_SDK} SDK. File does not exist: ${LIBGLFILEPATH}")
+ endif()
-if (NOT EXISTS "${LIBGLUFILEPATH}")
- message(FATAL_ERROR "Cannot find Windows ${WINDOWS_SDK} SDK. File does not exist: ${LIBGLUFILEPATH}")
-endif()
+ if (NOT EXISTS "${LIBGLUFILEPATH}")
+ message(FATAL_ERROR "Cannot find Windows ${WINDOWS_SDK} SDK. File does not exist: ${LIBGLUFILEPATH}")
+ endif()
-file(MAKE_DIRECTORY
- ${CURRENT_PACKAGES_DIR}/include/gl
- ${CURRENT_PACKAGES_DIR}/lib
- ${CURRENT_PACKAGES_DIR}/debug/lib
- ${CURRENT_PACKAGES_DIR}/share/opengl
-)
+ file(MAKE_DIRECTORY
+ ${CURRENT_PACKAGES_DIR}/include/gl
+ ${CURRENT_PACKAGES_DIR}/lib
+ ${CURRENT_PACKAGES_DIR}/debug/lib
+ ${CURRENT_PACKAGES_DIR}/share/opengl
+ )
-file(COPY
- "${HEADERSPATH}\\gl\\GL.h"
- "${HEADERSPATH}\\gl\\GLU.h"
- DESTINATION ${CURRENT_PACKAGES_DIR}/include/gl
+ file(COPY
+ "${HEADERSPATH}\\gl\\GL.h"
+ "${HEADERSPATH}\\gl\\GLU.h"
+ DESTINATION ${CURRENT_PACKAGES_DIR}/include/gl
)
-file(COPY ${LIBGLFILEPATH} DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
-file(COPY ${LIBGLUFILEPATH} DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
-file(COPY ${LIBGLFILEPATH} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
-file(COPY ${LIBGLUFILEPATH} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
+ file(COPY ${LIBGLFILEPATH} DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
+ file(COPY ${LIBGLUFILEPATH} DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
+ file(COPY ${LIBGLFILEPATH} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
+ file(COPY ${LIBGLUFILEPATH} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
-if (WINDOWS_SDK MATCHES "10.")
- file(WRITE ${CURRENT_PACKAGES_DIR}/share/opengl/copyright "See https://developer.microsoft.com/windows/downloads/windows-10-sdk for the Windows 10 SDK license")
-elseif(WINDOWS_SDK MATCHES "8.")
- file(WRITE ${CURRENT_PACKAGES_DIR}/share/opengl/copyright "See https://developer.microsoft.com/windows/downloads/windows-8-1-sdk for the Windows 8.1 SDK license")
+ if (WINDOWS_SDK MATCHES "10.")
+ file(WRITE ${CURRENT_PACKAGES_DIR}/share/opengl/copyright "See https://developer.microsoft.com/windows/downloads/windows-10-sdk for the Windows 10 SDK license")
+ elseif(WINDOWS_SDK MATCHES "8.")
+ file(WRITE ${CURRENT_PACKAGES_DIR}/share/opengl/copyright "See https://developer.microsoft.com/windows/downloads/windows-8-1-sdk for the Windows 8.1 SDK license")
+ endif()
+else()
+ set(VCPKG_POLICY_EMPTY_PACKAGE enabled)
endif()
diff --git a/ports/openimageio/CONTROL b/ports/openimageio/CONTROL
index 3e498bf56..7da61fcb7 100644
--- a/ports/openimageio/CONTROL
+++ b/ports/openimageio/CONTROL
@@ -1,4 +1,4 @@
Source: openimageio
-Version: 1.7.15-2
-Description: An library for reading and writing images, and a bunch of related classes, utilities, and application
+Version: 1.8.10
+Description: A library for reading and writing images, and a bunch of related classes, utilities, and application
Build-Depends: libjpeg-turbo, tiff, libpng, openexr, boost-thread, boost-smart-ptr, boost-foreach, boost-regex, boost-type-traits, boost-static-assert, boost-unordered, boost-config, boost-algorithm, boost-filesystem, boost-system, boost-thread, boost-asio, boost-random
diff --git a/ports/openimageio/portfile.cmake b/ports/openimageio/portfile.cmake
index cc62bd58c..a9bc35608 100644
--- a/ports/openimageio/portfile.cmake
+++ b/ports/openimageio/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO OpenImageIO/oiio
- REF Release-1.7.15
- SHA512 5b83961a77de36082e0a3abeac8015f9455504680d7437777524a9ac17ac7994df2a2ad1af86a884cf17c1afcd71a36a30e24711cba8d8a30511c05e36d7fadc
+ REF Release-1.8.10
+ SHA512 8b80019feb6bffd63bdd64e4ddad5a85b42f0ed7c27f7d82475b60b0b4db3945bd70d8d75921dd9ae8830b941d7eef6b89364ee1ab418558b75397a784314949
HEAD_REF master
)
@@ -47,6 +47,7 @@ vcpkg_copy_pdbs()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/doc)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/doc)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
# Handle copyright
file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/openimageio)
diff --git a/ports/openmesh/CONTROL b/ports/openmesh/CONTROL
new file mode 100644
index 000000000..b803484eb
--- /dev/null
+++ b/ports/openmesh/CONTROL
@@ -0,0 +1,3 @@
+Source: openmesh
+Version: 6.3
+Description: A generic and efficient polygon mesh data structure
diff --git a/ports/openmesh/portfile.cmake b/ports/openmesh/portfile.cmake
new file mode 100644
index 000000000..f70773ceb
--- /dev/null
+++ b/ports/openmesh/portfile.cmake
@@ -0,0 +1,38 @@
+# 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)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/openmesh-6.3)
+vcpkg_download_distfile(ARCHIVE
+ URLS "https://www.openmesh.org/media/Releases/6.3/OpenMesh-6.3.tar.gz"
+ FILENAME "openmesh-6.3.tar.gz"
+ SHA512 2ef2dcd2e0abcb0c36a3a9abac433ef4d3430115498ff1134525b27a0f023d7e3bb0d80550f0c8b9658c87651594bce29138bdca05db57f02a5e99e2275c2c07
+)
+vcpkg_extract_source_archive(${ARCHIVE})
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA # Disable this option if project cannot be built with Ninja
+ OPTIONS -DBUILD_APPS=OFF # [TODO]: add apps as feature, requires qt5 and freeglut
+ # OPTIONS -DUSE_THIS_IN_ALL_BUILDS=1 -DUSE_THIS_TOO=2
+ # OPTIONS_RELEASE -DOPTIMIZE=1
+ # OPTIONS_DEBUG -DDEBUGGABLE=1
+)
+
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/OpenMesh/Tools/VDPM/xpm)
+
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/openmesh RENAME copyright)
diff --git a/ports/openssl/CMakeLists.txt b/ports/openssl/CMakeLists.txt
index 40e82abb4..a2d863452 100644
--- a/ports/openssl/CMakeLists.txt
+++ b/ports/openssl/CMakeLists.txt
@@ -14,7 +14,9 @@ elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
set(PLATFORM linux-generic32)
endif()
elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
- set(PLATFORM darwin64-x86_64-cc)
+ set(PLATFORM darwin64-x86_64-cc)
+elseif(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
+ set(PLATFORM BSD-generic64)
else()
message(FATAL_ERROR "Unknown platform")
endif()
diff --git a/ports/openssl/CONTROL b/ports/openssl/CONTROL
index e1cea2799..fe7ea5c01 100644
--- a/ports/openssl/CONTROL
+++ b/ports/openssl/CONTROL
@@ -1,3 +1,3 @@
Source: openssl
-Version: 1.0.2n-2
+Version: 1.0.2o-2
Description: OpenSSL is an open source project that provides a robust, commercial-grade, and full-featured toolkit for the Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols. It is also a general-purpose cryptography library.
diff --git a/ports/openssl/RemoveNonASCIIChar.patch b/ports/openssl/RemoveNonASCIIChar.patch
deleted file mode 100644
index 5c4553b0a..000000000
--- a/ports/openssl/RemoveNonASCIIChar.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/ssl/bad_dtls_test.c b/ssl/bad_dtls_test.c
-index 34af37d..ff754e1 100644
---- a/ssl/bad_dtls_test.c
-+++ b/ssl/bad_dtls_test.c
-@@ -19,7 +19,7 @@
- * Note that unlike other SSL tests, we don't test against our own SSL
- * server method. Firstly because we don't have one; we *only* support
- * DTLS1_BAD_VER as a client. And secondly because even if that were
-- * fixed up it's the wrong thing to test against — because if changes
-+ * fixed up it's the wrong thing to test against - because if changes
- * are made in generic DTLS code which don't take DTLS1_BAD_VER into
- * account, there's plenty of scope for making those changes such that
- * they break *both* the client and the server in the same way.
diff --git a/ports/openssl/portfile-nonwindows.cmake b/ports/openssl/portfile-nonwindows.cmake
index 67e739af1..c324b132a 100644
--- a/ports/openssl/portfile-nonwindows.cmake
+++ b/ports/openssl/portfile-nonwindows.cmake
@@ -4,6 +4,9 @@ if(CMAKE_HOST_WIN32)
set(MAKE ${MSYS_ROOT}/usr/bin/make.exe)
else()
find_program(MAKE make)
+ if(NOT MAKE)
+ message(FATAL_ERROR "Could not find make. Please install it through your package manager.")
+ endif()
endif()
vcpkg_configure_cmake(
@@ -28,3 +31,7 @@ endforeach()
file(INSTALL ${RESOLVED_HEADERS} DESTINATION ${CURRENT_PACKAGES_DIR}/include/openssl)
file(INSTALL ${MASTER_COPY_SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/openssl RENAME copyright)
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/openssl)
+endif()
diff --git a/ports/openssl/portfile.cmake b/ports/openssl/portfile.cmake
index fe26c0c31..a6e5fd110 100644
--- a/ports/openssl/portfile.cmake
+++ b/ports/openssl/portfile.cmake
@@ -4,25 +4,18 @@ if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
endif()
include(vcpkg_common_functions)
-set(OPENSSL_VERSION 1.0.2n)
+set(OPENSSL_VERSION 1.0.2o)
set(MASTER_COPY_SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/openssl-${OPENSSL_VERSION})
-if(CMAKE_HOST_WIN32)
- vcpkg_find_acquire_program(PERL)
- vcpkg_find_acquire_program(NASM)
-else()
- find_program(PERL perl)
- find_program(NASM nasm)
-endif()
+vcpkg_find_acquire_program(PERL)
get_filename_component(PERL_EXE_PATH ${PERL} DIRECTORY)
-get_filename_component(NASM_EXE_PATH ${NASM} DIRECTORY)
-set(ENV{PATH} "${NASM_EXE_PATH};$ENV{PATH};${PERL_EXE_PATH}")
+set(ENV{PATH} "$ENV{PATH};${PERL_EXE_PATH}")
vcpkg_download_distfile(OPENSSL_SOURCE_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 144bf0d6aa27b4af01df0b7b734c39962649e1711554247d42e05e14d8945742b18745aefdba162e2dfc762b941fd7d3b2d5dc6a781ae4ba10a6f5a3cadb0687
+ SHA512 8a2c93657c85143e76785bb32ee836908c31a6f5f8db993fa9777acba6079e630cdddd03edbad65d1587199fc13a1507789eacf038b56eb99139c2091d9df7fd
)
vcpkg_extract_source_archive(${OPENSSL_SOURCE_ARCHIVE})
@@ -31,7 +24,6 @@ vcpkg_apply_patches(
PATCHES ${CMAKE_CURRENT_LIST_DIR}/ConfigureIncludeQuotesFix.patch
${CMAKE_CURRENT_LIST_DIR}/STRINGIFYPatch.patch
${CMAKE_CURRENT_LIST_DIR}/EmbedSymbolsInStaticLibsZ7.patch
- ${CMAKE_CURRENT_LIST_DIR}/RemoveNonASCIIChar.patch
)
if(VCPKG_CMAKE_SYSTEM_NAME)
@@ -39,6 +31,10 @@ if(VCPKG_CMAKE_SYSTEM_NAME)
return()
endif()
+vcpkg_find_acquire_program(NASM)
+get_filename_component(NASM_EXE_PATH ${NASM} DIRECTORY)
+set(ENV{PATH} "${NASM_EXE_PATH};$ENV{PATH}")
+
vcpkg_find_acquire_program(JOM)
set(CONFIGURE_COMMAND ${PERL} Configure
@@ -95,7 +91,7 @@ execute_process(
ERROR_FILE ${CURRENT_BUILDTREES_DIR}/build-${TARGET_TRIPLET}-rel-0-err.log
)
vcpkg_execute_required_process(
- COMMAND ${JOM} -j 1 -f ${OPENSSL_MAKEFILE} install
+ COMMAND nmake -f ${OPENSSL_MAKEFILE} install
WORKING_DIRECTORY ${SOURCE_PATH_RELEASE}
LOGNAME build-${TARGET_TRIPLET}-rel-1)
@@ -128,7 +124,7 @@ execute_process(
ERROR_FILE ${CURRENT_BUILDTREES_DIR}/build-${TARGET_TRIPLET}-dbg-0-err.log
)
vcpkg_execute_required_process(
- COMMAND ${JOM} -j 1 -f ${OPENSSL_MAKEFILE} install
+ COMMAND nmake -f ${OPENSSL_MAKEFILE} install
WORKING_DIRECTORY ${SOURCE_PATH_DEBUG}
LOGNAME build-${TARGET_TRIPLET}-dbg-1)
@@ -155,6 +151,14 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin/)
endif()
+file(READ "${CURRENT_PACKAGES_DIR}/include/openssl/dtls1.h" _contents)
+string(REPLACE "<winsock.h>" "<winsock2.h>" _contents "${_contents}")
+file(WRITE "${CURRENT_PACKAGES_DIR}/include/openssl/dtls1.h" "${_contents}")
+
+file(READ "${CURRENT_PACKAGES_DIR}/include/openssl/rand.h" _contents)
+string(REPLACE "# include <windows.h>" "#ifndef _WINSOCKAPI_\n#define _WINSOCKAPI_\n#endif\n# include <windows.h>" _contents "${_contents}")
+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})
diff --git a/ports/openssl/vcpkg-cmake-wrapper.cmake b/ports/openssl/vcpkg-cmake-wrapper.cmake
new file mode 100644
index 000000000..82313bdab
--- /dev/null
+++ b/ports/openssl/vcpkg-cmake-wrapper.cmake
@@ -0,0 +1,10 @@
+_find_package(${ARGS})
+if(OPENSSL_FOUND)
+ find_library(OPENSSL_DL_LIBRARY NAMES dl)
+ if(OPENSSL_DL_LIBRARY)
+ list(APPEND OPENSSL_LIBRARIES "dl")
+ if(TARGET OpenSSL::Crypto)
+ set_property(TARGET OpenSSL::Crypto APPEND PROPERTY INTERFACE_LINK_LIBRARIES "dl")
+ endif()
+ endif()
+endif()
diff --git a/ports/openvpn3/CMakeLists.txt b/ports/openvpn3/CMakeLists.txt
new file mode 100644
index 000000000..fcbe85794
--- /dev/null
+++ b/ports/openvpn3/CMakeLists.txt
@@ -0,0 +1,26 @@
+cmake_minimum_required(VERSION 3.0)
+project(openvpncli CXX)
+
+find_path(ASIO_HPP asio.hpp)
+find_library(MBEDTLS_LIB mbedtls)
+find_library(MBEDCRYPTO_LIB mbedcrypto)
+find_library(MBEDX509_LIB mbedx509)
+
+include_directories(. ${ASIO_HPP})
+
+add_definitions(-DNOMINMAX -DUSE_ASIO -DUSE_MBEDTLS)
+
+add_library(ovpncli client/ovpncli.cpp)
+target_link_libraries(ovpncli PRIVATE Iphlpapi.lib ${MBEDTLS_LIB} ${MBEDCRYPTO_LIB} ${MBEDX509_LIB})
+
+install(
+ TARGETS ovpncli
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib
+)
+
+if(BUILD_TOOL)
+ add_executable(cli test/ovpncli/cli.cpp)
+ target_link_libraries(cli PRIVATE ovpncli)
+endif()
diff --git a/ports/openvpn3/CONTROL b/ports/openvpn3/CONTROL
new file mode 100644
index 000000000..09264a192
--- /dev/null
+++ b/ports/openvpn3/CONTROL
@@ -0,0 +1,4 @@
+Source: openvpn3
+Version: 2018-03-21
+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/openvpn3/portfile.cmake b/ports/openvpn3/portfile.cmake
new file mode 100644
index 000000000..aede361dd
--- /dev/null
+++ b/ports/openvpn3/portfile.cmake
@@ -0,0 +1,37 @@
+include(vcpkg_common_functions)
+
+set(VCPKG_LIBRARY_LINKAGE static)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO OpenVPN/openvpn3
+ REF 3d5dd9ee3b4182032044d775de5401fc6a7a63ae
+ SHA512 6a8ed20662efa576c57f38fb9579c5808f745d44e8cd6a84055bec10a58ede5d27e207a842f79ac6a2f7d986494fbd2415f9d59e2b23bd38e45c68546a227697
+ HEAD_REF master
+)
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+)
+
+vcpkg_install_cmake()
+
+file(COPY ${SOURCE_PATH}/openvpn DESTINATION ${CURRENT_PACKAGES_DIR}/include/)
+file(COPY ${SOURCE_PATH}/client/ovpncli.hpp DESTINATION ${CURRENT_PACKAGES_DIR}/include/openvpn/)
+
+file(GLOB_RECURSE HEADERS ${CURRENT_PACKAGES_DIR}/include/openvpn/*)
+foreach(HEADER IN LISTS HEADERS)
+ file(READ "${HEADER}" _contents)
+ string(REPLACE "defined(USE_ASIO)" "1" _contents "${_contents}")
+ string(REPLACE "#ifdef USE_ASIO\n" "#if 1\n" _contents "${_contents}")
+ string(REPLACE "defined(USE_MBEDTLS)" "1" _contents "${_contents}")
+ string(REPLACE "#ifdef USE_MBEDTLS\n" "#if 1\n" _contents "${_contents}")
+ file(WRITE "${HEADER}" "${_contents}")
+endforeach()
+
+file(INSTALL
+ ${SOURCE_PATH}/COPYRIGHT.AGPLV3
+ DESTINATION ${CURRENT_PACKAGES_DIR}/share/openvpn3 RENAME copyright)
diff --git a/ports/openvr/CONTROL b/ports/openvr/CONTROL
index 3e42aaa23..816a8751f 100644
--- a/ports/openvr/CONTROL
+++ b/ports/openvr/CONTROL
@@ -1,3 +1,3 @@
Source: openvr
-Version: 1.0.13
+Version: 1.0.14
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 b86f44335..31e1658b1 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.0.13
- SHA512 3ec901f9363f9517fd3246cf58c0792c2446c39d61997a46375756b0965e6fad6902a5d1b87eb65c579e1b615cbb6e6688e7dc8ced957e5dc50b4c4dcbbb36b9
+ REF v1.0.14
+ SHA512 2f38622121911ad4d59971fe88313f839fcb3bddae07af266b3b9f804a8c3855b4eb67d9153f0979db3465279dfcce9cb0bfe83451bf8639be5cdc9acafa2eda
HEAD_REF master
)
diff --git a/ports/paho-mqtt/CONTROL b/ports/paho-mqtt/CONTROL
index cefd6bb87..1acf080ff 100644
--- a/ports/paho-mqtt/CONTROL
+++ b/ports/paho-mqtt/CONTROL
@@ -1,4 +1,4 @@
Source: paho-mqtt
-Version: 1.2.0-2
-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
+Version: 1.2.0-3
+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/portfile.cmake b/ports/paho-mqtt/portfile.cmake
index 27f9c8243..19629b92c 100644
--- a/ports/paho-mqtt/portfile.cmake
+++ b/ports/paho-mqtt/portfile.cmake
@@ -48,16 +48,19 @@ file(GLOB DEBUG_LIBS
"${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/Debug/*.lib"
"${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/*/Debug/*.lib"
)
-file(GLOB HEADERS "${SOURCE_PATH}/*/*.h")
if(DLLS)
file(INSTALL ${DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/bin)
endif()
-file(INSTALL ${LIBS} DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
+if(LIBS)
+ file(INSTALL ${LIBS} DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
+endif()
if(DEBUG_DLLS)
file(INSTALL ${DEBUG_DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
endif()
-file(INSTALL ${DEBUG_LIBS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
-file(INSTALL ${HEADERS} DESTINATION ${CURRENT_PACKAGES_DIR}/include)
+if(DEBUG_LIBS)
+ file(INSTALL ${DEBUG_LIBS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
+endif()
+file(COPY ${SOURCE_PATH}/src/MQTTAsync.h ${SOURCE_PATH}/src/MQTTClient.h ${SOURCE_PATH}/src/MQTTClientPersistence.h DESTINATION ${CURRENT_PACKAGES_DIR}/include)
if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
diff --git a/ports/pangomm/portfile.cmake b/ports/pangomm/portfile.cmake
index ad350f638..e3409fe15 100644
--- a/ports/pangomm/portfile.cmake
+++ b/ports/pangomm/portfile.cmake
@@ -34,8 +34,7 @@ vcpkg_build_msbuild(
PROJECT_PATH ${SOURCE_PATH}/MSVC_Net2013/pangomm.sln
TARGET pangomm
PLATFORM ${VS_PLATFORM}
- # Need this for it to pick up xerces-c port: https://github.com/Microsoft/vcpkg/issues/891
- OPTIONS /p:ForceImportBeforeCppTargets=${VCPKG_ROOT_DIR}/scripts/buildsystems/msbuild/vcpkg.targets
+ USE_VCPKG_INTEGRATION
)
# Handle headers
diff --git a/ports/parson/CMakeLists.txt b/ports/parson/CMakeLists.txt
new file mode 100644
index 000000000..f96ed427c
--- /dev/null
+++ b/ports/parson/CMakeLists.txt
@@ -0,0 +1,19 @@
+cmake_minimum_required(VERSION 3.5)
+project(parson C)
+
+add_library(parson parson.c)
+target_include_directories(parson PUBLIC $<INSTALL_INTERFACE:include>)
+
+install(TARGETS parson
+ EXPORT unofficial-parson-targets
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib
+)
+
+install(
+ EXPORT unofficial-parson-targets
+ FILE unofficial-parson-config.cmake
+ NAMESPACE unofficial::parson::
+ DESTINATION share/unofficial-parson
+)
diff --git a/ports/parson/CONTROL b/ports/parson/CONTROL
new file mode 100644
index 000000000..7c82a9eba
--- /dev/null
+++ b/ports/parson/CONTROL
@@ -0,0 +1,3 @@
+Source: parson
+Version: 2018-04-17
+Description: a lighweight json library written in C
diff --git a/ports/parson/portfile.cmake b/ports/parson/portfile.cmake
new file mode 100644
index 000000000..87fda6451
--- /dev/null
+++ b/ports/parson/portfile.cmake
@@ -0,0 +1,33 @@
+include(vcpkg_common_functions)
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
+ message("parson only supports static linkage")
+ set(VCPKG_LIBRARY_LINKAGE "static")
+endif()
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO kgabis/parson
+ REF 921da6f5d7b82ac3c8c809341028daafe47e3210
+ SHA512 fac1989d03148c1efec5e483704e76110c6575258c7ad0585f4598c1666b22804b8bd672fa31869227b5334fb1ba0b70eb380a971950df1a8f52e56e646956d9
+ HEAD_REF master
+)
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+)
+
+vcpkg_install_cmake()
+
+file(COPY ${SOURCE_PATH}/parson.h DESTINATION ${CURRENT_PACKAGES_DIR}/include)
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-parson TARGET_PATH share/unofficial-parson)
+
+file(INSTALL
+ ${SOURCE_PATH}/LICENSE
+ DESTINATION ${CURRENT_PACKAGES_DIR}/share/parson RENAME copyright)
+
+vcpkg_copy_pdbs()
diff --git a/ports/pcl/boost_uuid_random_generator_compat.patch b/ports/pcl/boost_uuid_random_generator_compat.patch
new file mode 100644
index 000000000..891890b46
--- /dev/null
+++ b/ports/pcl/boost_uuid_random_generator_compat.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 0405dca2..00e5238e 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -168,6 +168,8 @@ if(CMAKE_COMPILER_IS_MSVC)
+ endif()
+ endif()
+
++add_definitions(-DBOOST_UUID_RANDOM_GENERATOR_COMPAT)
++
+ if(CMAKE_COMPILER_IS_PATHSCALE)
+ if("${CMAKE_CXX_FLAGS}" STREQUAL "")
+ SET(CMAKE_CXX_FLAGS "-Wno-uninitialized -zerouv -pthread -mp")
diff --git a/ports/pcl/portfile.cmake b/ports/pcl/portfile.cmake
index ac92d40db..12c9ec398 100644
--- a/ports/pcl/portfile.cmake
+++ b/ports/pcl/portfile.cmake
@@ -18,6 +18,7 @@ vcpkg_apply_patches(
"${CMAKE_CURRENT_LIST_DIR}/find_openni2.patch"
"${CMAKE_CURRENT_LIST_DIR}/find_cuda.patch"
"${CMAKE_CURRENT_LIST_DIR}/vs2017-15.4-workaround.patch"
+ "${CMAKE_CURRENT_LIST_DIR}/boost_uuid_random_generator_compat.patch"
)
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" PCL_SHARED_LIBS)
@@ -76,6 +77,7 @@ vcpkg_fixup_cmake_targets(CONFIG_PATH share/pcl)
vcpkg_copy_pdbs()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
if(BUILD_TOOLS)
file(GLOB EXEFILES_RELEASE ${CURRENT_PACKAGES_DIR}/bin/*.exe)
diff --git a/ports/pdcurses/portfile.cmake b/ports/pdcurses/portfile.cmake
index 22268fdc0..f9db020b9 100644
--- a/ports/pdcurses/portfile.cmake
+++ b/ports/pdcurses/portfile.cmake
@@ -4,20 +4,25 @@ if(NOT VCPKG_CRT_LINKAGE STREQUAL "dynamic")
endif()
include(vcpkg_common_functions)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src-${TARGET_TRIPLET})
find_program(NMAKE nmake)
-vcpkg_download_distfile(ARCHIVE
- URLS "http://downloads.sourceforge.net/project/pdcurses/pdcurses/3.4/pdcurs34.zip"
- FILENAME "pdcurs34.zip"
- SHA512 0b916bfe37517abb80df7313608cc4e1ed7659a41ce82763000dfdfa5b8311ffd439193c74fc84a591f343147212bf1caf89e7db71f1f7e4fa70f534834cb039
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO wmcbrine/PDCurses
+ REF PDCurses_3_4
+ SHA512 a05065c2e43771bf769f25f229b6058c4dc6add65d993f2e304e98bded8a8af88e674638c7385383451fddc45cf3bd8c9a95febffc7abcbcce0e6384e4f397b3
+ HEAD_REF master
)
-if(EXISTS ${CURRENT_BUILDTREES_DIR}/src)
- file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/src)
-endif()
+file(REMOVE_RECURSE
+ ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}
+)
+
+file(GLOB SOURCES ${SOURCE_PATH}/*)
+
+file(COPY ${SOURCES} DESTINATION ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET})
-vcpkg_extract_source_archive(${ARCHIVE} ${SOURCE_PATH})
+set(SOURCE_PATH "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}")
file(READ ${SOURCE_PATH}/win32/vcwin32.mak PDC_MAK_ORIG)
string(REPLACE " -pdb:none" "" PDC_MAK_ORIG ${PDC_MAK_ORIG})
diff --git a/ports/physfs/CONTROL b/ports/physfs/CONTROL
index 20d973f18..a937d38bf 100644
--- a/ports/physfs/CONTROL
+++ b/ports/physfs/CONTROL
@@ -1,4 +1,4 @@
Source: physfs
-Version: 2.0.3-2
+Version: 3.0.1
Description: a library to provide abstract access to various archives
Build-Depends: zlib
diff --git a/ports/physfs/export-symbols-in-shared-build-only.patch b/ports/physfs/export-symbols-in-shared-build-only.patch
deleted file mode 100644
index b3303dcd8..000000000
--- a/ports/physfs/export-symbols-in-shared-build-only.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/physfs.h b/physfs.h
-index 3c252c6..4319981 100644
---- a/physfs.h
-+++ b/physfs.h
-@@ -221,7 +221,7 @@ extern "C" {
- #endif
-
- #ifndef DOXYGEN_SHOULD_IGNORE_THIS
--#if (defined _MSC_VER)
-+#if (defined _MSC_VER && defined (physfs_EXPORTS))
- #define __EXPORT__ __declspec(dllexport)
- #elif (__GNUC__ >= 3)
- #define __EXPORT__ __attribute__((visibility("default")))
diff --git a/ports/physfs/portfile.cmake b/ports/physfs/portfile.cmake
index c6233eed3..08b49e69f 100644
--- a/ports/physfs/portfile.cmake
+++ b/ports/physfs/portfile.cmake
@@ -1,20 +1,13 @@
-if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
- message(FATAL_ERROR "${PORT} does not currently support UWP")
-endif()
-
include(vcpkg_common_functions)
-set(PHYSFS_VERSION 2.0.3)
+set(PHYSFS_VERSION 3.0.1)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/physfs-${PHYSFS_VERSION})
vcpkg_download_distfile(ARCHIVE
URLS "https://icculus.org/physfs/downloads/physfs-${PHYSFS_VERSION}.tar.bz2"
FILENAME "physfs-${PHYSFS_VERSION}.tar.bz2"
- SHA512 47eff0c81b8dc3bb526766b0a8ad2437d2951867880116d6e6e8f2ec1490e263541fb741867fed6517cc3fa8a9c5651b36e3e02a499f19cfdc5c7261c9707e80
+ SHA512 ddf3b075ccb506da5e9a1ce96001be402752b9b777c2e816a85d48aff3626ff0886ea43eb07bd300fe3a9f59b9a002f54d822c51d483a4ee94b38378534c1879
)
vcpkg_extract_source_archive(${ARCHIVE})
-vcpkg_apply_patches(SOURCE_PATH ${SOURCE_PATH}
- PATCHES ${CMAKE_CURRENT_LIST_DIR}/export-symbols-in-shared-build-only.patch)
-
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" PHYSFS_STATIC)
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" PHYSFS_SHARED)
diff --git a/ports/piex/CONTROL b/ports/piex/CONTROL
index 946ca9418..43411e564 100644
--- a/ports/piex/CONTROL
+++ b/ports/piex/CONTROL
@@ -1,3 +1,3 @@
Source: piex
-Version: 2018-02-25
+Version: 2018-03-13
Description: The Preview Image Extractor (PIEX) is designed to find and extract the largest
diff --git a/ports/piex/portfile.cmake b/ports/piex/portfile.cmake
index 94b7e9494..039c2c41d 100644
--- a/ports/piex/portfile.cmake
+++ b/ports/piex/portfile.cmake
@@ -8,8 +8,8 @@ endif()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO google/piex
- REF 938f8b6e49ae43b062f76aad968ff76f5f33c965
- SHA512 abe145f29d210b03eb4340a506cd3e061a9ffe69217f916310308c6c8095ebe3229fb969a4403d1ca06375c8c87e78db8bceee89f7963116f80acdce463c556b
+ REF 2aa74c2dd295758ef4562906a5525300972821fc
+ SHA512 4fbea41e8f21c2f4a75d899aa28e2d2e92201d429eb8504515466187befc1eac6c9b31d91b039f2aebe2101bbde6b87adce9bae578a536f264d207fe29e4bd8f
HEAD_REF master
)
diff --git a/ports/plog/CONTROL b/ports/plog/CONTROL
index 091778688..d1abd52a6 100644
--- a/ports/plog/CONTROL
+++ b/ports/plog/CONTROL
@@ -1,3 +1,3 @@
-Source: plog
-Version: 1.1.3
-Description: Portable, simple and extensible C++ logging library.
+Source: plog
+Version: 1.1.4
+Description: Portable, simple and extensible C++ logging library.
diff --git a/ports/plog/portfile.cmake b/ports/plog/portfile.cmake
index 5cc0dfbd4..847f2bd37 100644
--- a/ports/plog/portfile.cmake
+++ b/ports/plog/portfile.cmake
@@ -1,17 +1,17 @@
-# Header-only library
-include(vcpkg_common_functions)
-
-vcpkg_from_github(
- OUT_SOURCE_PATH SOURCE_PATH
- REPO SergiusTheBest/plog
- REF 1.1.3
- SHA512 9a5a455e1942158d2802313682ed007750789a9048773302d92f2591dfac0185914dba8b67fa285fed25e54dff44e2c97c92b9e7decd39fa2bca460c03549377
- HEAD_REF master
-)
-
-# Put the licence file where vcpkg expects it
-file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/plog)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/plog/LICENSE ${CURRENT_PACKAGES_DIR}/share/plog/copyright)
-
-# Copy header files
-file(INSTALL ${SOURCE_PATH}/include DESTINATION ${CURRENT_PACKAGES_DIR} FILES_MATCHING PATTERN "*.h")
+# Header-only library
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO SergiusTheBest/plog
+ REF 1.1.4
+ SHA512 7af75af8343460d62e04cc0c27d4cf86373b136df73d2312d19a2e57fa309e916cef8625b8eed1b7270b93aa5d1ff27aee6edb74beb138e3a21c06a3c3debb41
+ HEAD_REF master
+)
+
+# Put the licence file where vcpkg expects it
+file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/plog)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/plog/LICENSE ${CURRENT_PACKAGES_DIR}/share/plog/copyright)
+
+# Copy header files
+file(INSTALL ${SOURCE_PATH}/include DESTINATION ${CURRENT_PACKAGES_DIR} FILES_MATCHING PATTERN "*.h")
diff --git a/ports/plplot/CONTROL b/ports/plplot/CONTROL
new file mode 100644
index 000000000..c278778b0
--- /dev/null
+++ b/ports/plplot/CONTROL
@@ -0,0 +1,8 @@
+Source: plplot
+Version: 5.13.0-1
+Build-Depends: freetype, zlib, libpng, bzip2
+Description: PLplot is a cross-platform software package for creating scientific plots whose (UTF-8) plot symbols and text are limited in practice only by what Unicode-aware system fonts are installed on a user's computer.
+
+Feature: wxwidgets
+Build-Depends: wxwidgets
+Description: plplot wxwidgets module \ No newline at end of file
diff --git a/ports/plplot/install-interface-include-directories.patch b/ports/plplot/install-interface-include-directories.patch
new file mode 100644
index 000000000..3e124b5d0
--- /dev/null
+++ b/ports/plplot/install-interface-include-directories.patch
@@ -0,0 +1,13 @@
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index d81b6a7..6b51809 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -181,6 +181,8 @@ include_directories(
+ add_library(plplot ${plplot_LIB_SRCS})
+ add_dependencies(plplot plhershey-unicode.h_built)
+
++target_include_directories(plplot INTERFACE $<INSTALL_INTERFACE:include>)
++
+ # Deal with external libraries.
+ set(LIB_INSTALL_RPATH ${LIB_DIR})
+ set(libplplot_LINK_LIBRARIES)
diff --git a/ports/plplot/portfile.cmake b/ports/plplot/portfile.cmake
new file mode 100644
index 000000000..7b35f0a15
--- /dev/null
+++ b/ports/plplot/portfile.cmake
@@ -0,0 +1,79 @@
+include(vcpkg_common_functions)
+
+set(PLPLOT_VERSION 5.13.0)
+set(PLPLOT_HASH 1d5cb5da17d4bde6d675585bff1f8dcb581719249a0b2687867e767703f8dab0870e7ea44b9549a497f4ac0141a3cabf6761c49520c0e2b26ffe581468512cbb)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/plplot-${PLPLOT_VERSION})
+
+vcpkg_download_distfile(ARCHIVE
+ URLS "https://sourceforge.net/projects/plplot/files/plplot/${PLPLOT_VERSION}%20Source/plplot-${PLPLOT_VERSION}.tar.gz/download"
+ FILENAME "plplot-${PLPLOT_VERSION}.tar.gz"
+ SHA512 ${PLPLOT_HASH}
+)
+vcpkg_extract_source_archive(${ARCHIVE})
+
+set(BUILD_with_wxwidgets OFF)
+if("wxwidgets" IN_LIST FEATURES)
+ set(BUILD_with_wxwidgets ON)
+endif()
+
+# Patch build scripts
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES "${CMAKE_CURRENT_LIST_DIR}/install-interface-include-directories.patch"
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DENABLE_tcl=OFF
+ -DPL_HAVE_QHULL=OFF
+ -DENABLE_qt=OFF
+ -DPLPLOT_USE_QT5=OFF
+ -DENABLE_ocaml=OFF
+ -DPL_DOUBLE=ON
+ -DENABLE_wxwidgets=${ENABLE_wxwidgets}
+ -DPLD_wxpng=${ENABLE_wxwidgets}
+ -DPLD_wxwidgets=${ENABLE_wxwidgets}
+ -DENABLE_DYNDRIVERS=OFF
+ -DDATA_DIR=${CURRENT_PACKAGES_DIR}/share/plplot
+ OPTIONS_DEBUG
+ -DDRV_DIR=${CURRENT_PACKAGES_DIR}/debug/bin
+ OPTIONS_RELEASE
+ -DDRV_DIR=${CURRENT_PACKAGES_DIR}/bin
+)
+
+vcpkg_install_cmake()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/plplot)
+
+# Remove unnecessary tool
+file(REMOVE
+ ${CURRENT_PACKAGES_DIR}/debug/bin/pltek.exe
+ ${CURRENT_PACKAGES_DIR}/bin/pltek.exe
+)
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ message(STATUS "Static build: Removing the full bin directory.")
+ file(REMOVE_RECURSE
+ ${CURRENT_PACKAGES_DIR}/debug/bin
+ ${CURRENT_PACKAGES_DIR}/bin
+ )
+endif()
+
+# Remove unwanted and duplicate directories
+file(REMOVE_RECURSE
+ ${CURRENT_PACKAGES_DIR}/debug/include
+)
+
+file(INSTALL
+ ${SOURCE_PATH}/Copyright
+ DESTINATION ${CURRENT_PACKAGES_DIR}/share/plplot
+ RENAME copyright
+)
+
+vcpkg_copy_pdbs()
+
+file(REMOVE_RECURSE
+ ${CURRENT_PACKAGES_DIR}/debug/share
+)
diff --git a/ports/pmdk/CONTROL b/ports/pmdk/CONTROL
new file mode 100644
index 000000000..f440b68bc
--- /dev/null
+++ b/ports/pmdk/CONTROL
@@ -0,0 +1,3 @@
+Source: pmdk
+Version: 1.4-1
+Description: Persistent Memory Development Kit \ No newline at end of file
diff --git a/ports/pmdk/portfile.cmake b/ports/pmdk/portfile.cmake
new file mode 100644
index 000000000..89c48a8fb
--- /dev/null
+++ b/ports/pmdk/portfile.cmake
@@ -0,0 +1,77 @@
+include(vcpkg_common_functions)
+
+if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ message(STATUS "Static building not supported. Building dynamic.")
+ set(VCPKG_LIBRARY_LINKAGE dynamic)
+endif()
+if(VCPKG_CRT_LINKAGE STREQUAL "static")
+ message(FATAL_ERROR "Static CRT linkage is not supported")
+endif()
+
+if (TRIPLET_SYSTEM_ARCH MATCHES "arm")
+ message(FATAL_ERROR "ARM is currently not supported")
+elseif (TRIPLET_SYSTEM_ARCH MATCHES "x86")
+ message(FATAL_ERROR "x86 is not supported. Please use pmdk:x64-windows instead.")
+endif()
+
+# Download source
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO pmem/pmdk
+ REF 1.4
+ SHA512 95dbea9acfea4a6cb433a25f56f7484946a93fbce1c5e0e1d6ff36e0824e3e0e9f28f37024918998358f8ff12e69d0902fcf88357b9ad12695f32e06e86ffac8
+ HEAD_REF master
+)
+
+get_filename_component(PMDK_VERSION "${SOURCE_PATH}" NAME)
+string(REPLACE "pmdk-" "" PMDK_VERSION "${PMDK_VERSION}")
+
+# Build only the selected projects
+vcpkg_build_msbuild(
+ PROJECT_PATH ${SOURCE_PATH}/src/PMDK.sln
+ PLATFORM x64
+ PLATFORM_TOOLSET v140
+ TARGET_PLATFORM_VERSION 10.0.16299.0
+ TARGET "Solution Items\\libpmem,Solution Items\\libpmemlog,Solution Items\\libpmemblk,Solution Items\\libpmemobj,Solution Items\\libpmemcto,Solution Items\\libpmempool,Solution Items\\libvmem,Solution Items\\Tools\\pmempool"
+ OPTIONS /p:SRCVERSION=${PMDK_VERSION}
+)
+
+set(DEBUG_ARTIFACTS_PATH ${SOURCE_PATH}/src/x64/Debug)
+set(RELEASE_ARTIFACTS_PATH ${SOURCE_PATH}/src/x64/Release)
+
+# Install header files
+file(GLOB HEADER_FILES ${SOURCE_PATH}/src/include/*.h)
+file(INSTALL ${HEADER_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include)
+file(GLOB HEADER_FILES ${SOURCE_PATH}/src/include/libpmemobj/*.h)
+file(INSTALL ${HEADER_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include/libpmemobj)
+file(GLOB HEADER_FILES ${SOURCE_PATH}/src/include/libpmemobj++/*.hpp)
+file(INSTALL ${HEADER_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include/libpmemobj++)
+
+# Remove unneeded header files
+file(REMOVE ${CURRENT_PACKAGES_DIR}/include/libvmmalloc.h)
+file(REMOVE ${CURRENT_PACKAGES_DIR}/include/librpmem.h)
+
+# Install libraries (debug)
+file(GLOB LIB_DEBUG_FILES ${DEBUG_ARTIFACTS_PATH}/lib[pv]mem*.lib ${DEBUG_ARTIFACTS_PATH}/lib[pv]mem*.exp)
+file(INSTALL ${LIB_DEBUG_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
+file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/libpmemcommon.lib)
+file(GLOB LIB_DEBUG_FILES ${DEBUG_ARTIFACTS_PATH}/lib[pv]mem*.dll)
+file(INSTALL ${LIB_DEBUG_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
+
+# Install libraries (release)
+file(GLOB LIB_RELEASE_FILES ${RELEASE_ARTIFACTS_PATH}/lib[pv]mem*.lib ${RELEASE_ARTIFACTS_PATH}/lib[pv]mem*.exp)
+file(INSTALL ${LIB_RELEASE_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
+file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/libpmemcommon.lib)
+file(GLOB LIB_RELEASE_FILES ${RELEASE_ARTIFACTS_PATH}/lib[pv]mem*.dll)
+file(INSTALL ${LIB_RELEASE_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/bin)
+
+# Install tools (release only)
+file(INSTALL ${RELEASE_ARTIFACTS_PATH}/pmempool.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools/pmdk)
+
+vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/pmdk)
+
+vcpkg_copy_pdbs()
+
+# Handle copyright
+file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/pmdk)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/pmdk/LICENSE ${CURRENT_PACKAGES_DIR}/share/pmdk/copyright)
diff --git a/ports/poco/CONTROL b/ports/poco/CONTROL
index e979e2247..9656723bb 100644
--- a/ports/poco/CONTROL
+++ b/ports/poco/CONTROL
@@ -1,5 +1,5 @@
Source: poco
-Version: 1.8.1-1
+Version: 1.9.0
Build-Depends: zlib, pcre, sqlite3, expat
Description: Modern, powerful open source C++ class libraries for building network and internet-based applications that run on desktop, server, mobile and embedded systems.
diff --git a/ports/poco/portfile.cmake b/ports/poco/portfile.cmake
index 399f1a064..271e223f8 100644
--- a/ports/poco/portfile.cmake
+++ b/ports/poco/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO pocoproject/poco
- REF poco-1.8.1-release
- SHA512 ca57b30c10fc4e611dbdd90c7e36db34b8cb9a7dae675dc8aed37457a26d3433080caf26eaace85adf8d6a6ad7945c49f7c66f274b26fe9cc0c7d5107be3828e
+ REF poco-1.9.0-release
+ SHA512 de2346d62b2e89ba04abe62a83f6ede7a496e80bcbe53a880a1aa8e87a8ebd9a430dd70fdc6aada836bb1021c6df21375fd0cbcf62dbb6e29a2f65d6d90cf2b9
HEAD_REF master
)
@@ -18,6 +18,7 @@ vcpkg_apply_patches(
)
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" POCO_STATIC)
+string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" POCO_MT)
if("mysql" IN_LIST FEATURES)
# enabling MySQL support
@@ -31,6 +32,7 @@ vcpkg_configure_cmake(
PREFER_NINJA
OPTIONS
-DPOCO_STATIC=${POCO_STATIC}
+ -DPOCO_MT=${POCO_MT}
-DENABLE_SEVENZIP=ON
-DENABLE_TESTS=OFF
-DPOCO_UNBUNDLED=ON # OFF means: using internal copy of sqlite, libz, pcre, expat, ...
diff --git a/ports/proj4/portfile.cmake b/ports/proj4/portfile.cmake
index 626d6b2e4..bc4e66fcd 100644
--- a/ports/proj4/portfile.cmake
+++ b/ports/proj4/portfile.cmake
@@ -40,13 +40,17 @@ vcpkg_install_cmake()
vcpkg_fixup_cmake_targets(CONFIG_PATH share/proj4)
# Rename library and adapt cmake configuration
-file(READ ${CURRENT_PACKAGES_DIR}/share/proj4/proj4-targets-release.cmake _contents)
-string(REPLACE "proj_4_9.lib" "proj.lib" _contents "${_contents}")
-file(WRITE ${CURRENT_PACKAGES_DIR}/share/proj4/proj4-targets-release.cmake "${_contents}")
+if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
+ file(READ ${CURRENT_PACKAGES_DIR}/share/proj4/proj4-targets-release.cmake _contents)
+ string(REPLACE "proj_4_9.lib" "proj.lib" _contents "${_contents}")
+ file(WRITE ${CURRENT_PACKAGES_DIR}/share/proj4/proj4-targets-release.cmake "${_contents}")
+endif()
-file(READ ${CURRENT_PACKAGES_DIR}/share/proj4/proj4-targets-debug.cmake _contents)
-string(REPLACE "proj_4_9_d.lib" "projd.lib" _contents "${_contents}")
-file(WRITE ${CURRENT_PACKAGES_DIR}/share/proj4/proj4-targets-debug.cmake "${_contents}")
+if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
+ file(READ ${CURRENT_PACKAGES_DIR}/share/proj4/proj4-targets-debug.cmake _contents)
+ string(REPLACE "proj_4_9_d.lib" "projd.lib" _contents "${_contents}")
+ file(WRITE ${CURRENT_PACKAGES_DIR}/share/proj4/proj4-targets-debug.cmake "${_contents}")
+endif()
file(READ ${CURRENT_PACKAGES_DIR}/share/proj4/proj4-targets.cmake _contents)
string(REPLACE "set(_IMPORT_PREFIX \"${CURRENT_PACKAGES_DIR}\")"
@@ -55,8 +59,12 @@ string(REPLACE "set(_IMPORT_PREFIX \"${CURRENT_PACKAGES_DIR}\")"
)
file(WRITE ${CURRENT_PACKAGES_DIR}/share/proj4/proj4-targets.cmake "${_contents}")
-file(RENAME ${CURRENT_PACKAGES_DIR}/lib/proj_4_9.lib ${CURRENT_PACKAGES_DIR}/lib/proj.lib)
-file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/proj_4_9_d.lib ${CURRENT_PACKAGES_DIR}/debug/lib/projd.lib)
+if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
+ file(RENAME ${CURRENT_PACKAGES_DIR}/lib/proj_4_9.lib ${CURRENT_PACKAGES_DIR}/lib/proj.lib)
+endif()
+if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
+ file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/proj_4_9_d.lib ${CURRENT_PACKAGES_DIR}/debug/lib/projd.lib)
+endif()
# Remove duplicate headers installed from debug build
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
diff --git a/ports/protobuf/CONTROL b/ports/protobuf/CONTROL
index 86fecafc5..ba20ec0c9 100644
--- a/ports/protobuf/CONTROL
+++ b/ports/protobuf/CONTROL
@@ -1,5 +1,5 @@
Source: protobuf
-Version: 3.5.1-1
+Version: 3.5.1-3
Description: Protocol Buffers - Google's data interchange format
Feature: zlib
diff --git a/ports/protobuf/portfile.cmake b/ports/protobuf/portfile.cmake
index b8cb43f93..cf30b97a1 100644
--- a/ports/protobuf/portfile.cmake
+++ b/ports/protobuf/portfile.cmake
@@ -21,7 +21,7 @@ vcpkg_apply_patches(
"${CMAKE_CURRENT_LIST_DIR}/js-embed.patch"
)
-if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+if(CMAKE_HOST_WIN32)
set(TOOL_PATH ${CURRENT_BUILDTREES_DIR}/src/protobuf-${PROTOBUF_VERSION}-win32)
vcpkg_download_distfile(TOOL_ARCHIVE_FILE
URLS "https://github.com/google/protobuf/releases/download/v${PROTOC_VERSION}/protoc-${PROTOC_VERSION}-win32.zip"
@@ -85,23 +85,34 @@ endfunction()
protobuf_try_remove_recurse_wait(${CURRENT_PACKAGES_DIR}/debug/include)
-file(READ ${CURRENT_PACKAGES_DIR}/share/protobuf/protobuf-targets-release.cmake RELEASE_MODULE)
-string(REPLACE "\${_IMPORT_PREFIX}/bin/protoc.exe" "\${_IMPORT_PREFIX}/tools/protoc.exe" RELEASE_MODULE "${RELEASE_MODULE}")
-file(WRITE ${CURRENT_PACKAGES_DIR}/share/protobuf/protobuf-targets-release.cmake "${RELEASE_MODULE}")
+if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
+ file(READ ${CURRENT_PACKAGES_DIR}/share/protobuf/protobuf-targets-release.cmake RELEASE_MODULE)
+ string(REPLACE "\${_IMPORT_PREFIX}/bin/protoc${CMAKE_EXECUTABLE_SUFFIX}" "\${_IMPORT_PREFIX}/tools/protoc${CMAKE_EXECUTABLE_SUFFIX}" RELEASE_MODULE "${RELEASE_MODULE}")
+ file(WRITE ${CURRENT_PACKAGES_DIR}/share/protobuf/protobuf-targets-release.cmake "${RELEASE_MODULE}")
+endif()
-file(READ ${CURRENT_PACKAGES_DIR}/debug/share/protobuf/protobuf-targets-debug.cmake DEBUG_MODULE)
-string(REPLACE "\${_IMPORT_PREFIX}" "\${_IMPORT_PREFIX}/debug" DEBUG_MODULE "${DEBUG_MODULE}")
-string(REPLACE "\${_IMPORT_PREFIX}/debug/bin/protoc.exe" "\${_IMPORT_PREFIX}/tools/protoc.exe" DEBUG_MODULE "${DEBUG_MODULE}")
-file(WRITE ${CURRENT_PACKAGES_DIR}/share/protobuf/protobuf-targets-debug.cmake "${DEBUG_MODULE}")
+if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
+ file(READ ${CURRENT_PACKAGES_DIR}/debug/share/protobuf/protobuf-targets-debug.cmake DEBUG_MODULE)
+ string(REPLACE "\${_IMPORT_PREFIX}" "\${_IMPORT_PREFIX}/debug" DEBUG_MODULE "${DEBUG_MODULE}")
+ string(REPLACE "\${_IMPORT_PREFIX}/debug/bin/protoc${CMAKE_EXECUTABLE_SUFFIX}" "\${_IMPORT_PREFIX}/tools/protoc${CMAKE_EXECUTABLE_SUFFIX}" DEBUG_MODULE "${DEBUG_MODULE}")
+ file(WRITE ${CURRENT_PACKAGES_DIR}/share/protobuf/protobuf-targets-debug.cmake "${DEBUG_MODULE}")
+endif()
protobuf_try_remove_recurse_wait(${CURRENT_PACKAGES_DIR}/debug/share)
-if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
- protobuf_try_remove_recurse_wait(${CURRENT_PACKAGES_DIR}/bin)
- protobuf_try_remove_recurse_wait(${CURRENT_PACKAGES_DIR}/debug/bin)
+if(CMAKE_HOST_WIN32)
+ if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ protobuf_try_remove_recurse_wait(${CURRENT_PACKAGES_DIR}/bin)
+ protobuf_try_remove_recurse_wait(${CURRENT_PACKAGES_DIR}/debug/bin)
+ else()
+ protobuf_try_remove_recurse_wait(${CURRENT_PACKAGES_DIR}/bin/protoc.exe)
+ protobuf_try_remove_recurse_wait(${CURRENT_PACKAGES_DIR}/debug/bin/protoc.exe)
+ endif()
else()
- protobuf_try_remove_recurse_wait(${CURRENT_PACKAGES_DIR}/bin/protoc.exe)
- protobuf_try_remove_recurse_wait(${CURRENT_PACKAGES_DIR}/debug/bin/protoc.exe)
+ protobuf_try_remove_recurse_wait(${CURRENT_PACKAGES_DIR}/debug/bin)
+ file(INSTALL ${CURRENT_PACKAGES_DIR}/bin/protoc DESTINATION ${CURRENT_PACKAGES_DIR}/tools
+ PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_WRITE GROUP_EXECUTE WORLD_READ)
+ protobuf_try_remove_recurse_wait(${CURRENT_PACKAGES_DIR}/bin)
endif()
if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
@@ -111,7 +122,7 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
endif()
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/protobuf RENAME copyright)
-if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+if(CMAKE_HOST_WIN32)
file(INSTALL ${TOOL_PATH}/bin/protoc.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools)
endif()
vcpkg_copy_pdbs()
diff --git a/ports/pugixml/CONTROL b/ports/pugixml/CONTROL
index eb1f4e634..5e2dad599 100644
--- a/ports/pugixml/CONTROL
+++ b/ports/pugixml/CONTROL
@@ -1,3 +1,3 @@
Source: pugixml
-Version: 1.8.1-3
+Version: 1.9-1
Description: C++ XML processing library
diff --git a/ports/pugixml/portfile.cmake b/ports/pugixml/portfile.cmake
index 889063223..b0ec2cc58 100644
--- a/ports/pugixml/portfile.cmake
+++ b/ports/pugixml/portfile.cmake
@@ -1,32 +1,33 @@
+# 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)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/pugixml-1.8)
-vcpkg_download_distfile(ARCHIVE
- URLS "https://github.com/zeux/pugixml/releases/download/v1.8.1/pugixml-1.8.1.zip"
- FILENAME "pugixml-1.8.1.zip"
- SHA512 683fe224a9bcac032d78cb44d03915a3766d2faa588f3a8486b5719f26eeba3e17d447edf70e1907f51f8649ffb4607b6badd1365e4c15cf24279bf577dc853e
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO zeux/pugixml
+ REF v1.9
+ SHA512 f97941941d98a1a056087edc0dde6376bf2cc12ce4523b67a2f2ec5ae0895c2a2e55da32fcca6a997f1a0d918c5f39564167da0a07ce0d7da92880ad8631c31e
+ HEAD_REF master
)
-vcpkg_extract_source_archive(${ARCHIVE})
-if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
- vcpkg_configure_cmake(
- SOURCE_PATH ${SOURCE_PATH}
- )
-else()
- vcpkg_apply_patches(
- SOURCE_PATH ${SOURCE_PATH}
- PATCHES
- ${CMAKE_CURRENT_LIST_DIR}/pugixmlapi.patch
- )
- vcpkg_configure_cmake(
- SOURCE_PATH ${SOURCE_PATH}
- OPTIONS
- -DBUILD_DEFINES="PUGIXML_API=__declspec\(dllexport\)"
- )
-endif()
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+)
vcpkg_install_cmake()
vcpkg_copy_pdbs()
vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/pugixml")
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+# Handle copyright
file(INSTALL ${SOURCE_PATH}/readme.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/pugixml RENAME copyright)
diff --git a/ports/pugixml/pugixmlapi.patch b/ports/pugixml/pugixmlapi.patch
deleted file mode 100644
index 177664dbe..000000000
--- a/ports/pugixml/pugixmlapi.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/pugixml.hpp b/src/pugixml.hpp
-index 4d76bfa..75a4f8a 100644
---- a/src/pugixml.hpp
-+++ b/src/pugixml.hpp
-@@ -50,7 +50,7 @@
-
- // If no API is defined, assume default
- #ifndef PUGIXML_API
--# define PUGIXML_API
-+# define PUGIXML_API __declspec(dllimport)
- #endif
-
- // If no API for classes is defined, assume default
diff --git a/ports/python3/0004-Fix-iomodule-for-RS4-SDK.patch b/ports/python3/0004-Fix-iomodule-for-RS4-SDK.patch
new file mode 100644
index 000000000..a0efc8d1c
--- /dev/null
+++ b/ports/python3/0004-Fix-iomodule-for-RS4-SDK.patch
@@ -0,0 +1,12 @@
+diff --git a/Modules/_io/_iomodule.c b/Modules/_io/_iomodule.c
+--- a/Modules/_io/_iomodule.c
++++ b/Modules/_io/_iomodule.c
+@@ -21,7 +21,7 @@
+ #endif /* HAVE_SYS_STAT_H */
+
+ #ifdef MS_WINDOWS
+-#include <consoleapi.h>
++#include <windows.h>
+ #endif
+
+ /* Various interned strings */
diff --git a/ports/python3/CONTROL b/ports/python3/CONTROL
index 0a730e517..c8331f8cf 100644
--- a/ports/python3/CONTROL
+++ b/ports/python3/CONTROL
@@ -1,3 +1,3 @@
Source: python3
-Version: 3.6.4
+Version: 3.6.4-1
Description: The Python programming language as an embeddable library \ No newline at end of file
diff --git a/ports/python3/portfile.cmake b/ports/python3/portfile.cmake
index 9bb50b70c..16b3a3db3 100644
--- a/ports/python3/portfile.cmake
+++ b/ports/python3/portfile.cmake
@@ -1,17 +1,4 @@
-# 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)
-#
if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic AND VCPKG_CRT_LINKAGE STREQUAL static)
- # Because the patches patch the same file, they have to be applied in the correct order
- # In this scenario, only the second patch needs to be applied, which doesn't work
message(STATUS "Warning: Dynamic library with static CRT is not supported. Building static library.")
set(VCPKG_LIBRARY_LINKAGE static)
endif()
@@ -22,17 +9,26 @@ set(PYTHON_VERSION_PATCH 4)
set(PYTHON_VERSION ${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}.${PYTHON_VERSION_PATCH})
include(vcpkg_common_functions)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src-${TARGET_TRIPLET})
+
vcpkg_from_github(
OUT_SOURCE_PATH TEMP_SOURCE_PATH
REPO python/cpython
REF v${PYTHON_VERSION}
- SHA512 32cca5e344ee66f08712ab5533e5518f724f978ec98d985f7612d0bd8d7f5cac25625363c9eead192faf1806d4ea3393515f72ba962a2a0bed26261e56d8c637
+ SHA512 32cca5e344ee66f08712ab5533e5518f724f978ec98d985f7612d0bd8d7f5cac25625363c9eead192faf1806d4ea3393515f72ba962a2a0bed26261e56d8c637
HEAD_REF master
- )
+)
+
+vcpkg_apply_patches(
+ SOURCE_PATH ${TEMP_SOURCE_PATH}
+ PATCHES
+ ${CMAKE_CURRENT_LIST_DIR}/0004-Fix-iomodule-for-RS4-SDK.patch
+)
+
# We need per-triplet directories because we need to patch the project files differently based on the linkage
-file(COPY ${TEMP_SOURCE_PATH} DESTINATION ${SOURCE_PATH})
-set(SOURCE_PATH ${SOURCE_PATH}/cpython-${PYTHON_VERSION})
+# Because the patches patch the same file, they have to be applied in the correct order
+set(SOURCE_PATH "${TEMP_SOURCE_PATH}-Lib-${VCPKG_LIBRARY_LINKAGE}-crt-${VCPKG_CRT_LINKAGE}")
+file(REMOVE_RECURSE ${SOURCE_PATH})
+file(RENAME "${TEMP_SOURCE_PATH}" ${SOURCE_PATH})
if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
vcpkg_apply_patches(
@@ -62,7 +58,7 @@ endif()
vcpkg_build_msbuild(
PROJECT_PATH ${SOURCE_PATH}/PCBuild/pythoncore.vcxproj
PLATFORM ${BUILD_ARCH})
-
+
if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
@@ -87,4 +83,4 @@ endif()
file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/python${PYTHON_VERSION_MAJOR})
file(RENAME ${CURRENT_PACKAGES_DIR}/share/python${PYTHON_VERSION_MAJOR}/LICENSE ${CURRENT_PACKAGES_DIR}/share/python${PYTHON_VERSION_MAJOR}/copyright)
-vcpkg_copy_pdbs() \ No newline at end of file
+vcpkg_copy_pdbs()
diff --git a/ports/qt5-base/CONTROL b/ports/qt5-base/CONTROL
index 1e10239b3..e0b9e0e15 100644
--- a/ports/qt5-base/CONTROL
+++ b/ports/qt5-base/CONTROL
@@ -1,4 +1,4 @@
Source: qt5-base
-Version: 5.9.2-5
+Version: 5.9.2-6
Description: Qt5 Application Framework Base Module. Includes Core, GUI, Widgets, Networking, SQL, Concurrent and other essential qt components.
Build-Depends: zlib, libjpeg-turbo, libpng, freetype, pcre2, harfbuzz, sqlite3, libpq, double-conversion, openssl
diff --git a/ports/qt5-base/configure_qt.cmake b/ports/qt5-base/configure_qt.cmake
index 1d4f1e570..356361a9b 100644
--- a/ports/qt5-base/configure_qt.cmake
+++ b/ports/qt5-base/configure_qt.cmake
@@ -1,12 +1,8 @@
function(configure_qt)
cmake_parse_arguments(_csc "" "SOURCE_PATH;PLATFORM" "OPTIONS;OPTIONS_DEBUG;OPTIONS_RELEASE" ${ARGN})
- if (_csc_PLATFORM)
- set(PLATFORM ${_csc_PLATFORM})
- elseif(VCPKG_PLATFORM_TOOLSET MATCHES "v140")
- set(PLATFORM "win32-msvc2015")
- elseif(VCPKG_PLATFORM_TOOLSET MATCHES "v141")
- set(PLATFORM "win32-msvc2017")
+ if(NOT _csc_PLATFORM)
+ message(FATAL_ERROR "configure_qt requires a PLATFORM argument.")
endif()
vcpkg_find_acquire_program(PERL)
@@ -15,17 +11,24 @@ function(configure_qt)
file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg)
set(ENV{PATH} "$ENV{PATH};${PERL_EXE_PATH}")
- if(DEFINED VCPKG_CRT_LINKAGE AND VCPKG_CRT_LINKAGE STREQUAL static)
- list(APPEND _csc_OPTIONS
- "-static"
- "-static-runtime"
- )
+ if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ list(APPEND _csc_OPTIONS "-static")
+ endif()
+
+ if(VCPKG_CRT_LINKAGE STREQUAL "static")
+ list(APPEND _csc_OPTIONS "-static-runtime")
+ endif()
+
+ if(CMAKE_HOST_WIN32)
+ set(CONFIGURE_BAT "configure.bat")
+ else()
+ set(CONFIGURE_BAT "configure")
endif()
message(STATUS "Configuring ${TARGET_TRIPLET}-dbg")
file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg)
vcpkg_execute_required_process(
- COMMAND "${_csc_SOURCE_PATH}/configure.bat" ${_csc_OPTIONS} ${_csc_OPTIONS_DEBUG}
+ COMMAND "${_csc_SOURCE_PATH}/${CONFIGURE_BAT}" ${_csc_OPTIONS} ${_csc_OPTIONS_DEBUG}
-debug
-prefix ${CURRENT_PACKAGES_DIR}/debug
-hostbindir ${CURRENT_PACKAGES_DIR}/debug/tools/qt5
@@ -36,7 +39,7 @@ function(configure_qt)
-headerdir ${CURRENT_PACKAGES_DIR}/include
-I ${CURRENT_INSTALLED_DIR}/include
-L ${CURRENT_INSTALLED_DIR}/debug/lib
- -platform ${PLATFORM}
+ -platform ${_csc_PLATFORM}
WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg
LOGNAME config-${TARGET_TRIPLET}-dbg
)
@@ -45,7 +48,7 @@ function(configure_qt)
message(STATUS "Configuring ${TARGET_TRIPLET}-rel")
file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel)
vcpkg_execute_required_process(
- COMMAND "${_csc_SOURCE_PATH}/configure.bat" ${_csc_OPTIONS} ${_csc_OPTIONS_RELEASE}
+ COMMAND "${_csc_SOURCE_PATH}/${CONFIGURE_BAT}" ${_csc_OPTIONS} ${_csc_OPTIONS_RELEASE}
-release
-prefix ${CURRENT_PACKAGES_DIR}
-hostbindir ${CURRENT_PACKAGES_DIR}/tools/qt5
@@ -55,7 +58,7 @@ function(configure_qt)
-qmldir ${CURRENT_PACKAGES_DIR}/qml
-I ${CURRENT_INSTALLED_DIR}/include
-L ${CURRENT_INSTALLED_DIR}/lib
- -platform ${PLATFORM}
+ -platform ${_csc_PLATFORM}
WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel
LOGNAME config-${TARGET_TRIPLET}-rel
)
diff --git a/ports/qt5-base/fix-system-pcre2-linux.patch b/ports/qt5-base/fix-system-pcre2-linux.patch
new file mode 100644
index 000000000..c5669a4c9
--- /dev/null
+++ b/ports/qt5-base/fix-system-pcre2-linux.patch
@@ -0,0 +1,17 @@
+diff --git a/src/corelib/configure.json b/src/corelib/configure.json
+index a5a1b66..5a48a05 100644
+--- a/src/corelib/configure.json
++++ b/src/corelib/configure.json
+@@ -163,8 +163,10 @@
+ "builds": {
+ "debug": "-lpcre2-16d",
+ "release": "-lpcre2-16"
+- }
+- }
++ },
++ "condition": "config.win32"
++ },
++ { "libs": "-lpcre2-16", "condition": "!config.win32" }
+ ]
+ },
+ "pps": {
diff --git a/ports/qt5-base/install_qt.cmake b/ports/qt5-base/install_qt.cmake
index 37528e4e6..482802f38 100644
--- a/ports/qt5-base/install_qt.cmake
+++ b/ports/qt5-base/install_qt.cmake
@@ -2,12 +2,27 @@ function(install_qt)
cmake_parse_arguments(_bc "DISABLE_PARALLEL" "" "" ${ARGN})
if (_bc_DISABLE_PARALLEL)
- set(JOBS "1")
+ set(NUMBER_OF_PROCESSORS "1")
else()
- set(JOBS "$ENV{NUMBER_OF_PROCESSORS}")
+ if(DEFINED ENV{NUMBER_OF_PROCESSORS})
+ set(NUMBER_OF_PROCESSORS $ENV{NUMBER_OF_PROCESSORS})
+ else()
+ execute_process(
+ COMMAND nproc
+ OUTPUT_VARIABLE NUMBER_OF_PROCESSORS
+ )
+ string(REPLACE "\n" "" NUMBER_OF_PROCESSORS "${NUMBER_OF_PROCESSORS}")
+ string(REPLACE " " "" NUMBER_OF_PROCESSORS "${NUMBER_OF_PROCESSORS}")
+ endif()
endif()
- vcpkg_find_acquire_program(JOM)
+ if(CMAKE_HOST_WIN32)
+ vcpkg_find_acquire_program(JOM)
+ set(INVOKE "${JOM}" /J ${NUMBER_OF_PROCESSORS})
+ else()
+ find_program(MAKE make)
+ set(INVOKE "${MAKE}" -j${NUMBER_OF_PROCESSORS})
+ endif()
vcpkg_find_acquire_program(PYTHON3)
get_filename_component(PYTHON3_EXE_PATH ${PYTHON3} DIRECTORY)
set(ENV{PATH} "${PYTHON3_EXE_PATH};$ENV{PATH}")
@@ -16,12 +31,12 @@ function(install_qt)
message(STATUS "Package ${TARGET_TRIPLET}-dbg")
set(ENV{PATH} "${CURRENT_INSTALLED_DIR}/debug/bin;${_path}")
vcpkg_execute_required_process(
- COMMAND ${JOM} /J ${JOBS}
+ COMMAND ${INVOKE}
WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg
LOGNAME build-${TARGET_TRIPLET}-dbg
)
vcpkg_execute_required_process(
- COMMAND ${JOM} /J ${JOBS} install
+ COMMAND ${INVOKE} install
WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg
LOGNAME package-${TARGET_TRIPLET}-dbg
)
@@ -30,12 +45,12 @@ function(install_qt)
message(STATUS "Package ${TARGET_TRIPLET}-rel")
set(ENV{PATH} "${CURRENT_INSTALLED_DIR}/bin;${_path}")
vcpkg_execute_required_process(
- COMMAND ${JOM} /J ${JOBS}
+ COMMAND ${INVOKE}
WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel
LOGNAME build-${TARGET_TRIPLET}-rel
)
vcpkg_execute_required_process(
- COMMAND ${JOM} /J ${JOBS} install
+ COMMAND ${INVOKE} install
WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel
LOGNAME package-${TARGET_TRIPLET}-rel
)
diff --git a/ports/qt5-base/portfile.cmake b/ports/qt5-base/portfile.cmake
index 9e9d7779a..569540213 100644
--- a/ports/qt5-base/portfile.cmake
+++ b/ports/qt5-base/portfile.cmake
@@ -1,13 +1,13 @@
include(vcpkg_common_functions)
string(LENGTH "${CURRENT_BUILDTREES_DIR}" BUILDTREES_PATH_LENGTH)
-if(BUILDTREES_PATH_LENGTH GREATER 37)
+if(BUILDTREES_PATH_LENGTH GREATER 37 AND CMAKE_HOST_WIN32)
message(WARNING "Qt5's buildsystem uses very long paths and may fail on your system.\n"
"We recommend moving vcpkg to a short path such as 'C:\\src\\vcpkg' or using the subst command."
)
endif()
-if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
+if((NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") AND VCPKG_LIBRARY_LINKAGE STREQUAL static)
message(FATAL_ERROR "Qt5 doesn't currently support static builds. Please use a dynamic triplet instead.")
endif()
@@ -30,58 +30,111 @@ if (EXISTS ${CURRENT_BUILDTREES_DIR}/src/${ARCHIVE_NAME})
file(RENAME ${CURRENT_BUILDTREES_DIR}/src/${ARCHIVE_NAME} ${CURRENT_BUILDTREES_DIR}/src/${SRCDIR_NAME})
endif()
+# Remove vendored dependencies to ensure they are not picked up by the build
+foreach(DEPENDENCY freetype zlib harfbuzzng libjpeg libpng double-conversion)
+ if(EXISTS ${SOURCE_PATH}/src/3rdparty/${DEPENDENCY})
+ file(REMOVE_RECURSE ${SOURCE_PATH}/src/3rdparty/${DEPENDENCY})
+ endif()
+endforeach()
+
+file(REMOVE_RECURSE ${SOURCE_PATH}/include/QtZlib)
+
vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
PATCHES
"${CMAKE_CURRENT_LIST_DIR}/fix-system-pcre2.patch"
"${CMAKE_CURRENT_LIST_DIR}/fix-system-freetype.patch"
+ "${CMAKE_CURRENT_LIST_DIR}/fix-system-pcre2-linux.patch"
)
# This fixes issues on machines with default codepages that are not ASCII compatible, such as some CJK encodings
set(ENV{_CL_} "/utf-8")
-configure_qt(
- SOURCE_PATH ${SOURCE_PATH}
- OPTIONS
- -confirm-license
- -opensource
- -system-zlib
- -system-libjpeg
- -system-libpng
- -system-freetype
- -system-pcre
- -system-harfbuzz
- -system-doubleconversion
- -system-sqlite
- -no-fontconfig
- -sql-sqlite
- -sql-psql
- -nomake examples -nomake tests
- -opengl desktop # other options are "-no-opengl" and "-opengl angle"
- -mp
- LIBJPEG_LIBS="-ljpeg"
- OPTIONS_RELEASE
- ZLIB_LIBS="-lzlib"
- LIBPNG_LIBS="-llibpng16"
- FREETYPE_LIBS="-lfreetype"
- OPTIONS_DEBUG
- ZLIB_LIBS="-lzlibd"
- LIBPNG_LIBS="-llibpng16d"
- PSQL_LIBS="-llibpqd"
- FREETYPE_LIBS="-lfreetyped"
+set(CORE_OPTIONS
+ -confirm-license
+ -opensource
+ -system-zlib
+ -system-libjpeg
+ -system-libpng
+ -system-freetype
+ -system-pcre
+ -system-harfbuzz
+ -system-doubleconversion
+ -no-fontconfig
+ -nomake examples -nomake tests
)
+if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ if(VCPKG_PLATFORM_TOOLSET MATCHES "v140")
+ set(PLATFORM "win32-msvc2015")
+ elseif(VCPKG_PLATFORM_TOOLSET MATCHES "v141")
+ set(PLATFORM "win32-msvc2017")
+ elseif(VCPKG_PLATFORM_TOOLSET MATCHES "v120")
+ set(PLATFORM "win32-msvc2013")
+ endif()
+ configure_qt(
+ SOURCE_PATH ${SOURCE_PATH}
+ PLATFORM ${PLATFORM}
+ OPTIONS
+ ${CORE_OPTIONS}
+ -sql-sqlite
+ -sql-psql
+ -system-sqlite
+ -mp
+ -opengl desktop # other options are "-no-opengl", "-opengl angle", and "-opengl desktop"
+ LIBJPEG_LIBS="-ljpeg"
+ OPTIONS_RELEASE
+ ZLIB_LIBS="-lzlib"
+ LIBPNG_LIBS="-llibpng16"
+ FREETYPE_LIBS="-lfreetype"
+ OPTIONS_DEBUG
+ ZLIB_LIBS="-lzlibd"
+ LIBPNG_LIBS="-llibpng16d"
+ PSQL_LIBS="-llibpqd"
+ FREETYPE_LIBS="-lfreetyped"
+ )
+elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux")
+ configure_qt(
+ SOURCE_PATH ${SOURCE_PATH}
+ PLATFORM "linux-g++"
+ OPTIONS
+ ${CORE_OPTIONS}
+ -no-sqlite
+ -no-opengl # other options are "-no-opengl", "-opengl angle", and "-opengl desktop"
+ LIBJPEG_LIBS="-ljpeg"
+ OPTIONS_RELEASE
+ "QMAKE_LIBS_PRIVATE+=${CURRENT_INSTALLED_DIR}/lib/libpng16.a"
+ "QMAKE_LIBS_PRIVATE+=${CURRENT_INSTALLED_DIR}/lib/libz.a"
+ "ZLIB_LIBS=${CURRENT_INSTALLED_DIR}/lib/libz.a"
+ "LIBPNG_LIBS=${CURRENT_INSTALLED_DIR}/lib/libpng16.a"
+ "FREETYPE_LIBS=${CURRENT_INSTALLED_DIR}/lib/libfreetype.a"
+ "PSQL_LIBS=${CURRENT_INSTALLED_DIR}/lib/libpq.a ${CURRENT_INSTALLED_DIR}/lib/libssl.a ${CURRENT_INSTALLED_DIR}/lib/libcrypto.a"
+ OPTIONS_DEBUG
+ "QMAKE_LIBS_PRIVATE+=${CURRENT_INSTALLED_DIR}/debug/lib/libpng16d.a"
+ "QMAKE_LIBS_PRIVATE+=${CURRENT_INSTALLED_DIR}/debug/lib/libz.a"
+ "ZLIB_LIBS=${CURRENT_INSTALLED_DIR}/debug/lib/libz.a"
+ "LIBPNG_LIBS=${CURRENT_INSTALLED_DIR}/debug/lib/libpng16d.a"
+ "FREETYPE_LIBS=${CURRENT_INSTALLED_DIR}/debug/lib/libfreetyped.a"
+ "PSQL_LIBS=${CURRENT_INSTALLED_DIR}/debug/lib/libpqd.a ${CURRENT_INSTALLED_DIR}/debug/lib/libssl.a ${CURRENT_INSTALLED_DIR}/debug/lib/libcrypto.a"
+ )
+endif()
+
install_qt()
file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake ${CURRENT_PACKAGES_DIR}/share/cmake)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake)
-file(GLOB BINARY_TOOLS "${CURRENT_PACKAGES_DIR}/bin/*.exe")
+file(GLOB BINARY_TOOLS "${CURRENT_PACKAGES_DIR}/bin/*")
+list(FILTER BINARY_TOOLS EXCLUDE REGEX "\\.dll\$")
file(INSTALL ${BINARY_TOOLS} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/qt5)
file(REMOVE ${BINARY_TOOLS})
-file(GLOB BINARY_TOOLS "${CURRENT_PACKAGES_DIR}/debug/bin/*.exe")
+file(GLOB BINARY_TOOLS "${CURRENT_PACKAGES_DIR}/debug/bin/*")
+list(FILTER BINARY_TOOLS EXCLUDE REGEX "\\.dll\$")
file(REMOVE ${BINARY_TOOLS})
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/tools")
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin")
+endif()
file(COPY ${CMAKE_CURRENT_LIST_DIR}/qt_debug.conf ${CMAKE_CURRENT_LIST_DIR}/qt_release.conf DESTINATION ${CURRENT_PACKAGES_DIR}/tools/qt5)
@@ -94,25 +147,37 @@ vcpkg_execute_required_process(
vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT})
vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/qt5)
-#---------------------------------------------------------------------------
-# qtmain(d) vs. Qt5AxServer(d)
-#---------------------------------------------------------------------------
-# Qt applications have to either link to qtmain(d) or to Qt5AxServer(d),
-# never both. See http://doc.qt.io/qt-5/activeqt-server.html for more info.
-#
-# Create manual-link folders:
-file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/lib/manual-link)
-file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link)
-#
-# Either have users explicitly link against qtmain.lib, qtmaind.lib:
-file(COPY ${CURRENT_PACKAGES_DIR}/lib/qtmain.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib/manual-link)
-file(COPY ${CURRENT_PACKAGES_DIR}/lib/qtmain.prl DESTINATION ${CURRENT_PACKAGES_DIR}/lib/manual-link)
-file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/qtmain.lib)
-file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/qtmain.prl)
-file(COPY ${CURRENT_PACKAGES_DIR}/debug/lib/qtmaind.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link)
-file(COPY ${CURRENT_PACKAGES_DIR}/debug/lib/qtmaind.prl DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link)
-file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/qtmaind.lib)
-file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/qtmaind.prl)
+if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/qtmain.lib)
+ #---------------------------------------------------------------------------
+ # qtmain(d) vs. Qt5AxServer(d)
+ #---------------------------------------------------------------------------
+ # Qt applications have to either link to qtmain(d) or to Qt5AxServer(d),
+ # never both. See http://doc.qt.io/qt-5/activeqt-server.html for more info.
+ #
+ # Create manual-link folders:
+ file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/lib/manual-link)
+ file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link)
+ #
+ # Either have users explicitly link against qtmain.lib, qtmaind.lib:
+ file(COPY ${CURRENT_PACKAGES_DIR}/lib/qtmain.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib/manual-link)
+ file(COPY ${CURRENT_PACKAGES_DIR}/lib/qtmain.prl DESTINATION ${CURRENT_PACKAGES_DIR}/lib/manual-link)
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/qtmain.lib)
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/qtmain.prl)
+ file(COPY ${CURRENT_PACKAGES_DIR}/debug/lib/qtmaind.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link)
+ file(COPY ${CURRENT_PACKAGES_DIR}/debug/lib/qtmaind.prl DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link)
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/qtmaind.lib)
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/qtmaind.prl)
+endif()
+
+file(GLOB_RECURSE PRL_FILES "${CURRENT_PACKAGES_DIR}/lib/*.prl" "${CURRENT_PACKAGES_DIR}/debug/lib/*.prl")
+file(TO_CMAKE_PATH "${CURRENT_INSTALLED_DIR}/lib" CMAKE_RELEASE_LIB_PATH)
+file(TO_CMAKE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib" CMAKE_DEBUG_LIB_PATH)
+foreach(PRL_FILE IN LISTS PRL_FILES)
+ file(READ "${PRL_FILE}" _contents)
+ string(REPLACE "${CMAKE_RELEASE_LIB_PATH}" "\$\$[QT_INSTALL_LIBS]" _contents "${_contents}")
+ string(REPLACE "${CMAKE_DEBUG_LIB_PATH}" "\$\$[QT_INSTALL_LIBS]" _contents "${_contents}")
+ file(WRITE "${PRL_FILE}" "${_contents}")
+endforeach()
file(COPY ${CMAKE_CURRENT_LIST_DIR}/qtdeploy.ps1 DESTINATION ${CURRENT_PACKAGES_DIR}/plugins)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/qtdeploy.ps1 DESTINATION ${CURRENT_PACKAGES_DIR}/debug/plugins)
diff --git a/ports/qt5-declarative/portfile.cmake b/ports/qt5-declarative/portfile.cmake
index 63ce79746..1075c9c72 100644
--- a/ports/qt5-declarative/portfile.cmake
+++ b/ports/qt5-declarative/portfile.cmake
@@ -3,3 +3,5 @@ include(vcpkg_common_functions)
include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake)
qt_modular_library(qtdeclarative 49b8b50932b73ea39da14ac3425044193dfd64eabceadba379aa01cf2fc141177f9870c387caf1cf93ce09e8b197828a54b8d9fcefc4d9cdf400a6c6dd9a9e90)
+
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/tools/qt5-declarative/platforminputcontexts) \ No newline at end of file
diff --git a/ports/qt5-modularscripts/CONTROL b/ports/qt5-modularscripts/CONTROL
index 502887c52..fd3f72392 100644
--- a/ports/qt5-modularscripts/CONTROL
+++ b/ports/qt5-modularscripts/CONTROL
@@ -1,3 +1,3 @@
Source: qt5-modularscripts
-Version: 2
+Version: 3
Description: Vcpkg helpers to package qt5 modules
diff --git a/ports/qt5-modularscripts/qt_modular_library.cmake b/ports/qt5-modularscripts/qt_modular_library.cmake
index e733e02a5..1ead66d83 100644
--- a/ports/qt5-modularscripts/qt_modular_library.cmake
+++ b/ports/qt5-modularscripts/qt_modular_library.cmake
@@ -78,6 +78,16 @@ function(qt_modular_library NAME HASH)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake)
endif()
+ file(GLOB_RECURSE PRL_FILES "${CURRENT_PACKAGES_DIR}/lib/*.prl" "${CURRENT_PACKAGES_DIR}/debug/lib/*.prl")
+ file(TO_CMAKE_PATH "${CURRENT_INSTALLED_DIR}/lib" CMAKE_RELEASE_LIB_PATH)
+ file(TO_CMAKE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib" CMAKE_DEBUG_LIB_PATH)
+ foreach(PRL_FILE IN LISTS PRL_FILES)
+ file(READ "${PRL_FILE}" _contents)
+ string(REPLACE "${CMAKE_RELEASE_LIB_PATH}" "\$\$[QT_INSTALL_LIBS]" _contents "${_contents}")
+ string(REPLACE "${CMAKE_DEBUG_LIB_PATH}" "\$\$[QT_INSTALL_LIBS]" _contents "${_contents}")
+ file(WRITE "${PRL_FILE}" "${_contents}")
+ endforeach()
+
file(GLOB RELEASE_LIBS "${CURRENT_PACKAGES_DIR}/lib/*")
if(NOT RELEASE_LIBS)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib)
diff --git a/ports/qt5-quickcontrols/CONTROL b/ports/qt5-quickcontrols/CONTROL
index 64806cdca..1d77861b6 100644
--- a/ports/qt5-quickcontrols/CONTROL
+++ b/ports/qt5-quickcontrols/CONTROL
@@ -1,4 +1,4 @@
Source: qt5-quickcontrols
-Version: 5.9.2-0
+Version: 5.9.2-1
Description: Qt5 QuickControls Module.
-Build-Depends: qt5-modularscripts, qt5-base
+Build-Depends: qt5-modularscripts, qt5-base, qt5-declarative
diff --git a/ports/qt5-quickcontrols2/CONTROL b/ports/qt5-quickcontrols2/CONTROL
index c600ed225..b46022a10 100644
--- a/ports/qt5-quickcontrols2/CONTROL
+++ b/ports/qt5-quickcontrols2/CONTROL
@@ -1,4 +1,4 @@
Source: qt5-quickcontrols2
-Version: 5.9.2-0
+Version: 5.9.2-1
Description: Qt5 QuickControls2 Module.
-Build-Depends: qt5-modularscripts, qt5-base
+Build-Depends: qt5-modularscripts, qt5-base, qt5-declarative
diff --git a/ports/qt5-tools/portfile.cmake b/ports/qt5-tools/portfile.cmake
index 10eefa959..a79a1b134 100644
--- a/ports/qt5-tools/portfile.cmake
+++ b/ports/qt5-tools/portfile.cmake
@@ -3,3 +3,5 @@ include(vcpkg_common_functions)
include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake)
qt_modular_library(qttools afce063e167de96dfa264cfd27dc8d80c23ef091a30f4f8119575cae83f39716c3b332427630b340f518b82d6396cca1893f28e00f3c667ba201d7e4fc2aefe1)
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}//tools/qt5-tools/platforminputcontexts) \ No newline at end of file
diff --git a/ports/quirc/CONTROL b/ports/quirc/CONTROL
index 1ba02d889..d86ea00ae 100644
--- a/ports/quirc/CONTROL
+++ b/ports/quirc/CONTROL
@@ -1,3 +1,3 @@
Source: quirc
-Version: 1.0-1
+Version: 1.0-2
Description: quirc is one of the C library available for scanning QR Codes
diff --git a/ports/quirc/portfile.cmake b/ports/quirc/portfile.cmake
index 976c7bc92..fd05c3db4 100644
--- a/ports/quirc/portfile.cmake
+++ b/ports/quirc/portfile.cmake
@@ -11,7 +11,7 @@ vcpkg_from_github(
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
vcpkg_apply_patches(
- SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/quirc-1.0
+ SOURCE_PATH ${SOURCE_PATH}
PATCHES
${CMAKE_CURRENT_LIST_DIR}/patch-for-msvc.patch
)
diff --git a/ports/qwt/CONTROL b/ports/qwt/CONTROL
index 9dcf19f5b..383ac11ce 100644
--- a/ports/qwt/CONTROL
+++ b/ports/qwt/CONTROL
@@ -1,4 +1,4 @@
Source: qwt
-Version: 6.1.3-4
+Version: 6.1.3-5
Description: Qt widgets library for technical applications
-Build-Depends: qt5-base, qt5-svg
+Build-Depends: qt5-base, qt5-svg, qt5-tools
diff --git a/ports/range-v3-vs2015/CONTROL b/ports/range-v3-vs2015/CONTROL
new file mode 100644
index 000000000..62c9f63ce
--- /dev/null
+++ b/ports/range-v3-vs2015/CONTROL
@@ -0,0 +1,3 @@
+Source: range-v3-vs2015
+Version: 20151130-vcpkg5
+Description: Range library for C++11/14/17.
diff --git a/ports/range-v3-vs2015/portfile.cmake b/ports/range-v3-vs2015/portfile.cmake
new file mode 100644
index 000000000..bc7153a53
--- /dev/null
+++ b/ports/range-v3-vs2015/portfile.cmake
@@ -0,0 +1,14 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO Microsoft/Range-V3-VS2015
+ REF 423bcae5cf18948591361329784d3b12ef41711b
+ SHA512 c6756bc6b5131c4c0ffb96550fb40decf734fc8c30e3d51c5c2bf03aae4d7426de36e896a1abf0a200a49a3906d4b60c1cf52f43504554b64d89c91de3e92746
+ HEAD_REF master
+)
+
+file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/range-v3-vs2015)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/range-v3-vs2015/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/range-v3-vs2015/copyright)
+file(INSTALL ${SOURCE_PATH}/include DESTINATION ${CURRENT_PACKAGES_DIR} FILES_MATCHING PATTERN "*.hpp")
+vcpkg_copy_pdbs()
diff --git a/ports/range-v3/CONTROL b/ports/range-v3/CONTROL
index 6325b3a55..ee21c16c9 100644
--- a/ports/range-v3/CONTROL
+++ b/ports/range-v3/CONTROL
@@ -1,3 +1,4 @@
Source: range-v3
-Version: 20151130-vcpkg5
+Version: 0.3.5
+Build-Depends: range-v3-vs2015 (windows), range-v3-vs2015 (uwp)
Description: Range library for C++11/14/17.
diff --git a/ports/range-v3/portfile.cmake b/ports/range-v3/portfile.cmake
index b4c0c1403..cbeb38bf0 100644
--- a/ports/range-v3/portfile.cmake
+++ b/ports/range-v3/portfile.cmake
@@ -1,28 +1,36 @@
-#header-only library
include(vcpkg_common_functions)
-# set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/range-v3-6eb5c831ffe12cd5cb96390dbe917ca1b248772d)
-# vcpkg_download_distfile(ARCHIVE
-# URLS "https://github.com/ericniebler/range-v3/archive/6eb5c831ffe12cd5cb96390dbe917ca1b248772d.zip"
-# FILENAME "range-v3-6eb5c831ffe12cd5cb96390dbe917ca1b248772d.zip"
-# SHA512 2605af46c2c049f66dc982b1c4e506a8f115d47cc6c61a80f08921c667e52ad3097c485280ee43711c84b84a1490929e085b89cf9ad4c83b93222315210e92aa
-# )
-# vcpkg_download_distfile(DIFF
-# URLS "https://github.com/Microsoft/Range-V3-VS2015/compare/fork_base...00ed689bac7a9dcd8601dbde382758675516799d.diff"
-# FILENAME "range-v3-fork_base_to_00ed689bac7a9dcd8601dbde382758675516799d.diff"
-# SHA512 6158cd9ee1f5957294a26dc780c881839e0bae8610688a618cd11d47df34d5e543fa09ac9a3b33d4a65af8eceae0a6a3055621206c291ef75f982e7915daf91a
-# )
-# vcpkg_extract_source_archive(${ARCHIVE})
+if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" OR NOT VCPKG_CMAKE_SYSTEM_NAME)
+ message("The current range-v3 releases are not compatible with the current MSVC releases.")
+ message("The latest available range-v3 fork compatible with MSVC will be used instead.")
+ set(VCPKG_POLICY_EMPTY_PACKAGE enabled)
+else()
+ vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO ericniebler/range-v3
+ REF 0.3.5
+ SHA512 0b8b97c32760f19e7a3f35b0f28b0c15c7735fbd1aa54f685c58faf50bf2cf112aed4ac7cfa9154b9caf7047400a6c7fd5c33d978f2e3cec6bc392a758aeabad
+ HEAD_REF master
+ )
-vcpkg_from_github(
- OUT_SOURCE_PATH SOURCE_PATH
- REPO Microsoft/Range-V3-VS2015
- REF 423bcae5cf18948591361329784d3b12ef41711b
- SHA512 c6756bc6b5131c4c0ffb96550fb40decf734fc8c30e3d51c5c2bf03aae4d7426de36e896a1abf0a200a49a3906d4b60c1cf52f43504554b64d89c91de3e92746
- HEAD_REF master
-)
+ vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DRANGE_V3_NO_TESTING=ON
+ -DRANGE_V3_NO_EXAMPLE=ON
+ -DRANGE_V3_NO_PERF=ON
+ -DRANGE_V3_NO_HEADER_CHECK=ON
+ )
-file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/range-v3)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/range-v3/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/range-v3/copyright)
-file(INSTALL ${SOURCE_PATH}/include DESTINATION ${CURRENT_PACKAGES_DIR} FILES_MATCHING PATTERN "*.hpp")
-vcpkg_copy_pdbs()
+ vcpkg_install_cmake()
+
+ vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/range-v3)
+
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib)
+
+ vcpkg_copy_pdbs()
+
+ file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/range-v3)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/share/range-v3/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/range-v3/copyright)
+endif()
diff --git a/ports/rapidjson/CONTROL b/ports/rapidjson/CONTROL
index 0dd6333cf..7646755a5 100644
--- a/ports/rapidjson/CONTROL
+++ b/ports/rapidjson/CONTROL
@@ -1,3 +1,3 @@
Source: rapidjson
-Version: 1.1.0
+Version: 1.1.0-1
Description: A fast JSON parser/generator for C++ with both SAX/DOM style API <http://rapidjson.org/>
diff --git a/ports/rapidjson/portfile.cmake b/ports/rapidjson/portfile.cmake
index 54f1c8eea..4f87ed6f4 100644
--- a/ports/rapidjson/portfile.cmake
+++ b/ports/rapidjson/portfile.cmake
@@ -9,10 +9,23 @@ vcpkg_from_github(
HEAD_REF master
)
+# Use RapidJSON's own build process, skipping examples and tests
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ OPTIONS
+ -DRAPIDJSON_BUILD_DOC:BOOL=OFF
+ -DRAPIDJSON_BUILD_EXAMPLES:BOOL=OFF
+ -DRAPIDJSON_BUILD_TESTS:BOOL=OFF
+ -DCMAKE_INSTALL_DIR:STRING=cmake
+)
+vcpkg_install_cmake()
+
+# Move CMake config files to the right place
+vcpkg_fixup_cmake_targets(CONFIG_PATH cmake)
+
+# Delete redundant directories
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/share/doc)
+
# Put the licence file where vcpkg expects it
-file(COPY ${SOURCE_PATH}/license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/rapidjson)
+file(COPY ${SOURCE_PATH}/license.txt ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/rapidjson)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/rapidjson/license.txt ${CURRENT_PACKAGES_DIR}/share/rapidjson/copyright)
-
-# Copy the rapidjson header files
-file(INSTALL ${SOURCE_PATH}/include DESTINATION ${CURRENT_PACKAGES_DIR} FILES_MATCHING PATTERN "*.h")
-vcpkg_copy_pdbs()
diff --git a/ports/rapidjson/usage b/ports/rapidjson/usage
new file mode 100644
index 000000000..81e541e17
--- /dev/null
+++ b/ports/rapidjson/usage
@@ -0,0 +1,4 @@
+The package rapidjson provides CMake integration:
+
+ find_package(RapidJSON REQUIRED)
+ target_include_directories(main PRIVATE ${RAPIDJSON_INCLUDE_DIRS})
diff --git a/ports/re2/CONTROL b/ports/re2/CONTROL
index 4155e0c64..0a1a4fb1d 100644
--- a/ports/re2/CONTROL
+++ b/ports/re2/CONTROL
@@ -1,3 +1,3 @@
Source: re2
-Version: 2018-03-07
+Version: 2018-03-17
Description: RE2 is a fast, safe, thread-friendly alternative to backtracking regular expression engines like those used in PCRE, Perl, and Python. It is a C++ library. \ No newline at end of file
diff --git a/ports/re2/portfile.cmake b/ports/re2/portfile.cmake
index 5274a4213..cec69eb6a 100644
--- a/ports/re2/portfile.cmake
+++ b/ports/re2/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO google/re2
- REF c1ed8543f1b703ce200212bb5629ba69a2f9b63a
- SHA512 399a7545d3ac678b068118271aaa710cfae2c9c38e27b07d880f04714bbb13a19c69b94d4acbdb459f199920fee4d3d1a7e23e22a364c89b3c8b7100ce9b208e
+ REF f2cc1aeb5de463c45d020c446cbcb028385b49f3
+ SHA512 68df93cac6916cf5d944b57de505f7c592dcc66bbe003dbaffdf88cfd6648787a272740a861d8c8440ff2888434776141a7710b326907687285f8e9340be127c
HEAD_REF master
)
diff --git a/ports/readosm/portfile.cmake b/ports/readosm/portfile.cmake
index c26934685..5bd5a134f 100644
--- a/ports/readosm/portfile.cmake
+++ b/ports/readosm/portfile.cmake
@@ -30,34 +30,38 @@ endif()
################
# Debug build
################
-message(STATUS "Building ${TARGET_TRIPLET}-dbg")
+if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
+ message(STATUS "Building ${TARGET_TRIPLET}-dbg")
-file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}/debug" INST_DIR_DBG)
+ file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}/debug" INST_DIR_DBG)
-vcpkg_execute_required_process(
- COMMAND ${NMAKE} -f makefile.vc clean install
- INST_DIR="${INST_DIR_DBG}" INSTALLED_ROOT="${CURRENT_INSTALLED_DIR}" "LINK_FLAGS=/debug" "CL_FLAGS=${CL_FLAGS_DBG}"
- "LIBS_ALL=${LIBS_ALL_DBG}"
- WORKING_DIRECTORY ${SOURCE_PATH}
- LOGNAME nmake-build-${TARGET_TRIPLET}-debug
-)
-vcpkg_copy_pdbs()
-message(STATUS "Building ${TARGET_TRIPLET}-dbg done")
+ vcpkg_execute_required_process(
+ COMMAND ${NMAKE} -f makefile.vc clean install
+ INST_DIR="${INST_DIR_DBG}" INSTALLED_ROOT="${CURRENT_INSTALLED_DIR}" "LINK_FLAGS=/debug" "CL_FLAGS=${CL_FLAGS_DBG}"
+ "LIBS_ALL=${LIBS_ALL_DBG}"
+ WORKING_DIRECTORY ${SOURCE_PATH}
+ LOGNAME nmake-build-${TARGET_TRIPLET}-debug
+ )
+ vcpkg_copy_pdbs()
+ message(STATUS "Building ${TARGET_TRIPLET}-dbg done")
+endif()
################
# Release build
################
-message(STATUS "Building ${TARGET_TRIPLET}-rel")
+if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
+ message(STATUS "Building ${TARGET_TRIPLET}-rel")
-file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}" INST_DIR_REL)
-vcpkg_execute_required_process(
- COMMAND ${NMAKE} -f makefile.vc clean install
- INST_DIR="${INST_DIR_REL}" INSTALLED_ROOT="${CURRENT_INSTALLED_DIR}" "LINK_FLAGS=" "CL_FLAGS=${CL_FLAGS_REL}"
- "LIBS_ALL=${LIBS_ALL_REL}"
- WORKING_DIRECTORY ${SOURCE_PATH}
- LOGNAME nmake-build-${TARGET_TRIPLET}-release
-)
-message(STATUS "Building ${TARGET_TRIPLET}-rel done")
+ file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}" INST_DIR_REL)
+ vcpkg_execute_required_process(
+ COMMAND ${NMAKE} -f makefile.vc clean install
+ INST_DIR="${INST_DIR_REL}" INSTALLED_ROOT="${CURRENT_INSTALLED_DIR}" "LINK_FLAGS=" "CL_FLAGS=${CL_FLAGS_REL}"
+ "LIBS_ALL=${LIBS_ALL_REL}"
+ WORKING_DIRECTORY ${SOURCE_PATH}
+ LOGNAME nmake-build-${TARGET_TRIPLET}-release
+ )
+ message(STATUS "Building ${TARGET_TRIPLET}-rel done")
+endif()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/readosm RENAME copyright)
@@ -70,8 +74,12 @@ if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
else()
file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/readosm.lib)
file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/readosm.lib)
- file(RENAME ${CURRENT_PACKAGES_DIR}/lib/readosm_i.lib ${CURRENT_PACKAGES_DIR}/lib/readosm.lib)
- file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/readosm_i.lib ${CURRENT_PACKAGES_DIR}/debug/lib/readosm.lib)
+ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
+ file(RENAME ${CURRENT_PACKAGES_DIR}/lib/readosm_i.lib ${CURRENT_PACKAGES_DIR}/lib/readosm.lib)
+ endif()
+ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
+ file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/readosm_i.lib ${CURRENT_PACKAGES_DIR}/debug/lib/readosm.lib)
+ endif()
endif()
diff --git a/ports/realsense2/CONTROL b/ports/realsense2/CONTROL
index f1674b7e9..f87152bc6 100644
--- a/ports/realsense2/CONTROL
+++ b/ports/realsense2/CONTROL
@@ -1,6 +1,7 @@
Source: realsense2
-Version: 2.10.1
+Version: 2.10.4
Description: Intel® RealSense™ SDK 2.0 is a cross-platform library for Intel® RealSense™ depth cameras (D400 series and the SR300).
-Feature: avx2
-Description: rgb image decode using avx2 \ No newline at end of file
+Feature: tools
+Build-Depends: opengl
+Description: Build Intel® RealSense™ examples and tools
diff --git a/ports/realsense2/build_with_static_crt.patch b/ports/realsense2/build_with_static_crt.patch
deleted file mode 100644
index ab8ec426d..000000000
--- a/ports/realsense2/build_with_static_crt.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 9425b92d..21232504 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -299,6 +299,8 @@ if(BUILD_EASYLOGGINGPP)
- list(APPEND REALSENSE_HPP third-party/easyloggingpp/src/easylogging++.h)
- endif()
-
-+option(BUILD_WITH_STATIC_CRT "Build with static link CRT" ON)
-+
- if(WIN32)
- source_group("Source Files\\Backend" FILES
- src/win/win-helpers.cpp
-@@ -484,15 +486,17 @@ if(WIN32)
- src/proc/disparity-transform.h
- )
-
-- foreach(flag_var
-- CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE
-- CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO
-- CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE
-- CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO)
-- if(${flag_var} MATCHES "/MD")
-- string(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}")
-- endif(${flag_var} MATCHES "/MD")
-- endforeach(flag_var)
-+ if(BUILD_WITH_STATIC_CRT)
-+ foreach(flag_var
-+ CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE
-+ CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO
-+ CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE
-+ CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO)
-+ if(${flag_var} MATCHES "/MD")
-+ string(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}")
-+ endif(${flag_var} MATCHES "/MD")
-+ endforeach(flag_var)
-+ endif()
- else()
-
- endif()
-@@ -652,15 +656,17 @@ if (BUILD_WITH_TM2)
- list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/CMake)
- find_package(libtm REQUIRED)
-
-- foreach(flag_var
-- CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE
-- CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO
-- CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE
-- CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO)
-- if(${flag_var} MATCHES "/MD")
-- string(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}")
-- endif(${flag_var} MATCHES "/MD")
-- endforeach(flag_var)
-+ if(BUILD_WITH_STATIC_CRT)
-+ foreach(flag_var
-+ CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE
-+ CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO
-+ CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE
-+ CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO)
-+ if(${flag_var} MATCHES "/MD")
-+ string(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}")
-+ endif(${flag_var} MATCHES "/MD")
-+ endforeach(flag_var)
-+ endif()
-
- list(APPEND REALSENSE_HPP
- src/tm2/tm-context.h
diff --git a/ports/realsense2/fix_rgb_using_avx2.patch b/ports/realsense2/fix_rgb_using_avx2.patch
deleted file mode 100644
index 38ae33a7c..000000000
--- a/ports/realsense2/fix_rgb_using_avx2.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/src/image.cpp b/src/image.cpp
-index 47cc68d8..04a8afd3 100644
---- a/src/image.cpp
-+++ b/src/image.cpp
-@@ -8,6 +8,7 @@
-
- #ifdef __SSSE3__
- #include <tmmintrin.h> // For SSE3 intrinsic used in unpack_yuy2_sse
-+#include <immintrin.h>
- #endif
-
- #pragma pack(push, 1) // All structs in this file are assumed to be byte-packed
diff --git a/ports/realsense2/portfile.cmake b/ports/realsense2/portfile.cmake
index cec2c9695..6a02259ba 100644
--- a/ports/realsense2/portfile.cmake
+++ b/ports/realsense2/portfile.cmake
@@ -3,53 +3,56 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO IntelRealSense/librealsense
- REF v2.10.1
- SHA512 fb00a424a5bd7335cc661261e76cf623e27a89af1033692d4cb6ed523af1295359929c235e82253911e61323cb7b82551a9223862174cb0e2363ac944b2db923
+ REF v2.10.4
+ SHA512 35580cd4ab65b85eb7fcebac3be629960993223437e3c44b0bcc2f7572d85231e822a922b2f5e22480fcc1edb9295ab2c5893794d638c2ab6faf49a9eea57603
HEAD_REF development
)
-vcpkg_apply_patches(
- SOURCE_PATH ${SOURCE_PATH}
- PATCHES
- ${CMAKE_CURRENT_LIST_DIR}/build_with_static_crt.patch # https://github.com/IntelRealSense/librealsense/pull/1262
- ${CMAKE_CURRENT_LIST_DIR}/fix_rgb_using_avx2.patch # https://github.com/IntelRealSense/librealsense/pull/1245
-)
-
-# This option will be deprecated in the later versions.
-# Please see Pull Request #1245. https://github.com/IntelRealSense/librealsense/pull/1245
-set(RGB_USING_AVX2 OFF)
-if("avx2" IN_LIST FEATURES)
- set(RGB_USING_AVX2 ON)
-endif()
-
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_LIBRARY_LINKAGE)
string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" BUILD_CRT_LINKAGE)
+set(BUILD_EXAMPLES OFF)
+set(BUILD_GRAPHICAL_EXAMPLES OFF)
+if("tools" IN_LIST FEATURES)
+ set(BUILD_EXAMPLES ON)
+ set(BUILD_GRAPHICAL_EXAMPLES ON)
+endif()
+
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
OPTIONS
+ #Ungrouped Entries
-DENFORCE_METADATA=ON
- -DBUILD_EXAMPLES=OFF
- -DBUILD_GRAPHICAL_EXAMPLES=OFF
- -DBUILD_PYTHON_BINDINGS=OFF
+ # BUILD
+ -DBUILD_EXAMPLES=${BUILD_EXAMPLES}
+ -DBUILD_GRAPHICAL_EXAMPLES=${BUILD_GRAPHICAL_EXAMPLES}
+ -DBUILD_SHARED_LIBS=${BUILD_LIBRARY_LINKAGE}
-DBUILD_UNIT_TESTS=OFF
-DBUILD_WITH_OPENMP=OFF
- -DBUILD_SHARED_LIBS=${BUILD_LIBRARY_LINKAGE}
-DBUILD_WITH_STATIC_CRT=${BUILD_CRT_LINKAGE}
- -DRGB_USING_AVX2=${RGB_USING_AVX2}
OPTIONS_DEBUG
+ # BUILD
+ -DBUILD_EXAMPLES=OFF
+ -DBUILD_GRAPHICAL_EXAMPLES=OFF
+ # CMAKE
"-DCMAKE_PDB_OUTPUT_DIRECTORY=${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg"
-DCMAKE_DEBUG_POSTFIX="_d"
)
vcpkg_install_cmake()
-
vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/realsense2)
+vcpkg_copy_pdbs()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
-# Handle copyright
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
+
+if(BUILD_EXAMPLES)
+ file(GLOB EXEFILES_RELEASE ${CURRENT_PACKAGES_DIR}/bin/*.exe)
+ file(GLOB EXEFILES_DEBUG ${CURRENT_PACKAGES_DIR}/debug/bin/*.exe)
+ file(COPY ${EXEFILES_RELEASE} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/realsense2)
+ file(REMOVE ${EXEFILES_RELEASE} ${EXEFILES_DEBUG})
+ vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/realsense2)
+endif()
+
file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/realsense2)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/realsense2/COPYING ${CURRENT_PACKAGES_DIR}/share/realsense2/copyright)
-
-vcpkg_copy_pdbs()
-
diff --git a/ports/recast/CONTROL b/ports/recast/CONTROL
index 34bb2b34a..4cc61e30d 100644
--- a/ports/recast/CONTROL
+++ b/ports/recast/CONTROL
@@ -1,3 +1,3 @@
Source: recast
-Version: 1.5.1
+Version: 1.5.1-1
Description: Navigation-mesh Toolset for Games
diff --git a/ports/recast/portfile.cmake b/ports/recast/portfile.cmake
index 9c26131da..7d9f08f93 100644
--- a/ports/recast/portfile.cmake
+++ b/ports/recast/portfile.cmake
@@ -1,5 +1,10 @@
include(vcpkg_common_functions)
+if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ message(WARNING "Dynamic not supported, building static")
+ set(VCPKG_LIBRARY_LINKAGE static)
+endif()
+
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO recastnavigation/recastnavigation
diff --git a/ports/restinio/CONTROL b/ports/restinio/CONTROL
new file mode 100644
index 000000000..eed60e4c3
--- /dev/null
+++ b/ports/restinio/CONTROL
@@ -0,0 +1,4 @@
+Source: restinio
+Version: 0.4.5.1
+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
new file mode 100644
index 000000000..b2c496dfb
--- /dev/null
+++ b/ports/restinio/portfile.cmake
@@ -0,0 +1,27 @@
+include(vcpkg_common_functions)
+
+set(RESTINIO_VERSION 0.4.5.1)
+
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/restinio-${RESTINIO_VERSION}-vcpkg)
+vcpkg_download_distfile(ARCHIVE
+ URLS "https://bitbucket.org/sobjectizerteam/restinio-0.4/downloads/restinio-${RESTINIO_VERSION}-vcpkg.zip"
+ FILENAME "restinio-${RESTINIO_VERSION}-vcpkg.zip"
+ SHA512 198153f9b8d866c2aa57932720b31ff1f8e523d9640ad0c8becb911afed1fa12caa636847234cfc83d584a15bdc4b05fb98cbc4730af2520b453c5de468eb7fa
+)
+
+vcpkg_extract_source_archive(${ARCHIVE})
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}/vcpkg
+ PREFER_NINJA
+)
+
+vcpkg_install_cmake()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/restinio")
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib ${CURRENT_PACKAGES_DIR}/debug)
+
+# Handle copyright
+file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/restinio)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/restinio/LICENSE ${CURRENT_PACKAGES_DIR}/share/restinio/copyright)
diff --git a/ports/rhash/CONTROL b/ports/rhash/CONTROL
index 16b50c945..14b8768d4 100644
--- a/ports/rhash/CONTROL
+++ b/ports/rhash/CONTROL
@@ -1,3 +1,3 @@
Source: rhash
-Version: 1.3.5-1
+Version: 1.3.6
Description: C library for computing a wide variety of hash sums
diff --git a/ports/rhash/portfile.cmake b/ports/rhash/portfile.cmake
index 749501375..cc1188c38 100644
--- a/ports/rhash/portfile.cmake
+++ b/ports/rhash/portfile.cmake
@@ -6,8 +6,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO rhash/RHash
- REF v1.3.5
- SHA512 e8450aab0c16bfb975bf4aeee218740fb4d86d5514e426b70c3edb84e4d63865cd4051939aa95c24a87a78baaedc49e40bb509b2610e89ca3745930808b3ef6c
+ REF v1.3.6
+ SHA512 54f7f238ed1fdc01c29cc1338fa86be90b69beff0df8f20d24ce9cb3c48c7f4668b84a3fe0d4d8b04b54bc8145485d493435edf3219de3a637af0f9c007c85c6
HEAD_REF master)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}/librhash)
diff --git a/ports/rocksdb/0001-third-party.patch b/ports/rocksdb/0001-third-party.patch
deleted file mode 100644
index 0b0e3fa8c..000000000
--- a/ports/rocksdb/0001-third-party.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-From 533ab1b3f3f4286aa756e965e22aa88612479e01 Mon Sep 17 00:00:00 2001
-From: Robert Schumacher <roschuma@microsoft.com>
-Date: Fri, 23 Feb 2018 01:44:44 -0800
-Subject: [PATCH 1/3] third-party
-
----
- thirdparty.inc | 32 ++++++++++++++++----------------
- 1 file changed, 16 insertions(+), 16 deletions(-)
-
-diff --git a/thirdparty.inc b/thirdparty.inc
-index a364d1d..1d85d50 100644
---- a/thirdparty.inc
-+++ b/thirdparty.inc
-@@ -19,10 +19,10 @@ set (THIRDPARTY_LIBS "") # Initialization, don't touch
- #
- # Edit these 4 lines to define paths to GFLAGS
- #
--set(GFLAGS_HOME $ENV{THIRDPARTY_HOME}/Gflags.Library)
--set(GFLAGS_INCLUDE ${GFLAGS_HOME}/inc/include)
--set(GFLAGS_LIB_DEBUG ${GFLAGS_HOME}/bin/debug/amd64/gflags.lib)
--set(GFLAGS_LIB_RELEASE ${GFLAGS_HOME}/bin/retail/amd64/gflags.lib)
-+set(GFLAGS_HOME ${CURRENT_INSTALLED_DIR})
-+set(GFLAGS_INCLUDE ${GFLAGS_HOME}/include)
-+set(GFLAGS_LIB_DEBUG ${GFLAGS_HOME}/debug/lib/gflagsd.lib)
-+set(GFLAGS_LIB_RELEASE ${GFLAGS_HOME}/lib/gflags.lib)
-
- # ================================================== GFLAGS ==================================================
- #
-@@ -63,10 +63,10 @@ endif ()
- #
- # Edit these 4 lines to define paths to Snappy
- #
--set(SNAPPY_HOME $ENV{THIRDPARTY_HOME}/Snappy.Library)
--set(SNAPPY_INCLUDE ${SNAPPY_HOME}/inc/inc)
--set(SNAPPY_LIB_DEBUG ${SNAPPY_HOME}/bin/debug/amd64/snappy.lib)
--set(SNAPPY_LIB_RELEASE ${SNAPPY_HOME}/bin/retail/amd64/snappy.lib)
-+set(SNAPPY_HOME ${CURRENT_INSTALLED_DIR})
-+set(SNAPPY_INCLUDE ${SNAPPY_HOME}/include)
-+set(SNAPPY_LIB_DEBUG ${SNAPPY_HOME}/debug/lib/snappyd.lib)
-+set(SNAPPY_LIB_RELEASE ${SNAPPY_HOME}/lib/snappy.lib)
-
- #
- # Don't touch these lines
-@@ -106,10 +106,10 @@ endif ()
- #
- # Edit these 4 lines to define paths to LZ4
- #
--set(LZ4_HOME $ENV{THIRDPARTY_HOME}/LZ4.Library)
--set(LZ4_INCLUDE ${LZ4_HOME}/inc/include)
--set(LZ4_LIB_DEBUG ${LZ4_HOME}/bin/debug/amd64/lz4.lib)
--set(LZ4_LIB_RELEASE ${LZ4_HOME}/bin/retail/amd64/lz4.lib)
-+set(LZ4_HOME ${CURRENT_INSTALLED_DIR})
-+set(LZ4_INCLUDE ${LZ4_HOME}/include)
-+set(LZ4_LIB_DEBUG ${LZ4_HOME}/debug/lib/lz4d.lib)
-+set(LZ4_LIB_RELEASE ${LZ4_HOME}/lib/lz4.lib)
-
- #
- # Don't touch these lines
-@@ -149,10 +149,10 @@ endif ()
- #
- # Edit these 4 lines to define paths to ZLIB
- #
--set(ZLIB_HOME $ENV{THIRDPARTY_HOME}/ZLIB.Library)
--set(ZLIB_INCLUDE ${ZLIB_HOME}/inc/include)
--set(ZLIB_LIB_DEBUG ${ZLIB_HOME}/bin/debug/amd64/zlib.lib)
--set(ZLIB_LIB_RELEASE ${ZLIB_HOME}/bin/retail/amd64/zlib.lib)
-+set(ZLIB_HOME ${CURRENT_INSTALLED_DIR})
-+set(ZLIB_INCLUDE ${ZLIB_HOME}/include)
-+set(ZLIB_LIB_DEBUG ${ZLIB_HOME}/debug/lib/zlibd.lib)
-+set(ZLIB_LIB_RELEASE ${ZLIB_HOME}/lib/zlib.lib)
-
- #
- # Don't touch these lines
---
-2.16.2.windows.1
-
diff --git a/ports/rocksdb/CONTROL b/ports/rocksdb/CONTROL
index 161abe80e..85e542a43 100644
--- a/ports/rocksdb/CONTROL
+++ b/ports/rocksdb/CONTROL
@@ -1,4 +1,16 @@
Source: rocksdb
-Version: 5.10.4-2
+Version: 5.12.4
Description: A library that provides an embeddable, persistent key-value store for fast storage
-Build-Depends: snappy, gflags, lz4, zlib
+Default-Features: zlib
+
+Feature: lz4
+Build-Depends: lz4
+Description: lz4 support in rocksdb
+
+Feature: snappy
+Build-Depends: snappy
+Description: snappy support in rocksdb
+
+Feature: zlib
+Build-Depends: zlib
+Description: zlib support in rocksdb
diff --git a/ports/rocksdb/Findlz4.cmake b/ports/rocksdb/Findlz4.cmake
new file mode 100644
index 000000000..f80962c66
--- /dev/null
+++ b/ports/rocksdb/Findlz4.cmake
@@ -0,0 +1,13 @@
+find_path(LZ4_INCLUDE_DIR lz4.h)
+
+find_library(LZ4_LIBRARY_DEBUG NAMES lz4d)
+find_library(LZ4_LIBRARY_RELEASE NAMES lz4)
+
+include(SelectLibraryConfigurations)
+select_library_configurations(LZ4)
+
+include(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(
+ LZ4 DEFAULT_MSG
+ LZ4_LIBRARY LZ4_INCLUDE_DIR
+)
diff --git a/ports/rocksdb/Findsnappy.cmake b/ports/rocksdb/Findsnappy.cmake
new file mode 100644
index 000000000..253d0d84c
--- /dev/null
+++ b/ports/rocksdb/Findsnappy.cmake
@@ -0,0 +1,13 @@
+find_path(SNAPPY_INCLUDE_DIR snappy.h)
+
+find_library(SNAPPY_LIBRARY_DEBUG NAMES snappyd)
+find_library(SNAPPY_LIBRARY_RELEASE NAMES snappy)
+
+include(SelectLibraryConfigurations)
+select_library_configurations(SNAPPY)
+
+include(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(
+ SNAPPY DEFAULT_MSG
+ SNAPPY_LIBRARY SNAPPY_INCLUDE_DIR
+)
diff --git a/ports/rocksdb/pass-major-version.patch b/ports/rocksdb/pass-major-version.patch
new file mode 100644
index 000000000..1cc3f2d13
--- /dev/null
+++ b/ports/rocksdb/pass-major-version.patch
@@ -0,0 +1,20 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index d6bfbf2..ea6a884 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -132,6 +132,7 @@ endif()
+
+ string(REGEX REPLACE "[^0-9a-f]+" "" GIT_SHA "${GIT_SHA}")
+
++if(NOT DEFINED ROCKSDB_VERSION OR NOT DEFINED ROCKSDB_VERSION_MAJOR)
+ set(SH_CMD "sh")
+ execute_process(COMMAND
+ ${SH_CMD} -c "build_tools/version.sh full"
+@@ -145,6 +146,7 @@ execute_process(COMMAND
+ OUTPUT_VARIABLE ROCKSDB_VERSION_MAJOR
+ )
+ string(STRIP "${ROCKSDB_VERSION_MAJOR}" ROCKSDB_VERSION_MAJOR)
++endif()
+
+ option(WITH_MD_LIBRARY "build with MD" ON)
+ if(WIN32 AND MSVC)
diff --git a/ports/rocksdb/portfile.cmake b/ports/rocksdb/portfile.cmake
index ae60e824e..114ace627 100644
--- a/ports/rocksdb/portfile.cmake
+++ b/ports/rocksdb/portfile.cmake
@@ -3,17 +3,25 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO facebook/rocksdb
- REF v5.10.4
- SHA512 42841f2e2ca7dee6e88b0539e997cc365a50161c234e5878e30757022114335c613f6d642a0af2bdc7fdb97d09ed79f4e12454d456f1f7fa1a6489c32540460a
+ REF v5.12.4
+ SHA512 661e30a9fd2a83f2d8dbcc9f27e8ae2e83f384bb7f4f61dc41d89e85d93edc1032b70ab97063e0e3c0bda591612214793d1b075c6dcfeda2e0a32acb6e9d8689
HEAD_REF master
)
vcpkg_apply_patches(
- SOURCE_PATH ${SOURCE_PATH}
- PATCHES
- "${CMAKE_CURRENT_LIST_DIR}/0001-third-party.patch"
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES
"${CMAKE_CURRENT_LIST_DIR}/0002-disable-gtest.patch"
"${CMAKE_CURRENT_LIST_DIR}/0003-only-build-one-flavor.patch"
+ "${CMAKE_CURRENT_LIST_DIR}/use-find-package.patch"
+ "${CMAKE_CURRENT_LIST_DIR}/pass-major-version.patch"
+)
+
+file(REMOVE "${SOURCE_PATH}/cmake/modules/Findzlib.cmake")
+file(COPY
+ "${CMAKE_CURRENT_LIST_DIR}/Findlz4.cmake"
+ "${CMAKE_CURRENT_LIST_DIR}/Findsnappy.cmake"
+ DESTINATION "${SOURCE_PATH}/cmake/modules"
)
if(VCPKG_CRT_LINKAGE STREQUAL "static")
@@ -25,14 +33,33 @@ endif()
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" ROCKSDB_DISABLE_INSTALL_SHARED_LIB)
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" ROCKSDB_DISABLE_INSTALL_STATIC_LIB)
+set(WITH_LZ4 OFF)
+if("lz4" IN_LIST FEATURES)
+ set(WITH_LZ4 ON)
+endif()
+
+set(WITH_SNAPPY OFF)
+if("snappy" IN_LIST FEATURES)
+ set(WITH_SNAPPY ON)
+endif()
+
+set(WITH_ZLIB OFF)
+if("zlib" IN_LIST FEATURES)
+ set(WITH_ZLIB ON)
+endif()
+
+get_filename_component(ROCKSDB_VERSION "${SOURCE_PATH}" NAME)
+string(REPLACE "rocksdb-" "" ROCKSDB_VERSION "${ROCKSDB_VERSION}")
+string(REGEX REPLACE "^([0-9]+)." "\\1" ROCKSDB_MAJOR_VERSION "${ROCKSDB_VERSION}")
+
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS
- -DGFLAGS=1
- -DSNAPPY=1
- -DLZ4=1
- -DZLIB=1
+ -DWITH_GFLAGS=0
+ -DWITH_SNAPPY=${WITH_SNAPPY}
+ -DWITH_LZ4=${WITH_LZ4}
+ -DWITH_ZLIB=${WITH_ZLIB}
-DWITH_TESTS=OFF
-DROCKSDB_INSTALL_ON_WINDOWS=ON
-DFAIL_ON_WARNINGS=OFF
@@ -41,8 +68,8 @@ vcpkg_configure_cmake(
-DCMAKE_DEBUG_POSTFIX=d
-DROCKSDB_DISABLE_INSTALL_SHARED_LIB=${ROCKSDB_DISABLE_INSTALL_SHARED_LIB}
-DROCKSDB_DISABLE_INSTALL_STATIC_LIB=${ROCKSDB_DISABLE_INSTALL_STATIC_LIB}
- -DROCKSDB_VERSION=5.10.4
- -DCURRENT_INSTALLED_DIR=${CURRENT_INSTALLED_DIR}
+ -DROCKSDB_VERSION=${ROCKSDB_VERSION}
+ -DROCKSDB_VERSION_MAJOR=${ROCKSDB_MAJOR_VERSION}
-DCMAKE_DISABLE_FIND_PACKAGE_TBB=TRUE
-DCMAKE_DISABLE_FIND_PACKAGE_NUMA=TRUE
-DCMAKE_DISABLE_FIND_PACKAGE_gtest=TRUE
diff --git a/ports/rocksdb/use-find-package.patch b/ports/rocksdb/use-find-package.patch
new file mode 100644
index 000000000..1a79c2286
--- /dev/null
+++ b/ports/rocksdb/use-find-package.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index f3ac9ce..931e9f2 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -45,7 +45,7 @@ option(WITH_JEMALLOC "build with JeMalloc" OFF)
+ option(WITH_SNAPPY "build with SNAPPY" OFF)
+ option(WITH_LZ4 "build with lz4" OFF)
+ option(WITH_ZLIB "build with zlib" OFF)
+-if(MSVC)
++if(MSVC AND NOT VCPKG_TOOLCHAIN)
+ # Defaults currently different for GFLAGS.
+ # We will address find_package work a little later
+ option(WITH_GFLAGS "build with GFlags" OFF)
diff --git a/ports/rs-core-lib/CONTROL b/ports/rs-core-lib/CONTROL
index af14306e0..2cb7543f5 100644
--- a/ports/rs-core-lib/CONTROL
+++ b/ports/rs-core-lib/CONTROL
@@ -1,4 +1,4 @@
Source: rs-core-lib
-Version: 2018-03-11
+Version: 2018-04-25
Description: Minimal common utilities by Ross Smith
diff --git a/ports/rs-core-lib/portfile.cmake b/ports/rs-core-lib/portfile.cmake
index 32a0befe2..f103dc631 100644
--- a/ports/rs-core-lib/portfile.cmake
+++ b/ports/rs-core-lib/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO CaptainCrowbar/rs-core-lib
- REF a0d287aada58586fc16e8cbb44b2d34eaabeff46
- SHA512 4b160552118dccd2faf076e397d59ff785b53ff2ba7fc5f4ccd338dcb7d0eec7e851071036b5c983ad1ddccbcb64653bf522507c687a11756089c054241ff21d
+ REF ae6cde6069cae27079ec36536bc960e119d502e3
+ SHA512 79014460c91fa262257e912824cf4528213cec3baebd39b104c52bc162c5fd3040ecf74156aebc428f3a4846d141475ab6a41f28f43edfc06ff7331cb3e93d4a
HEAD_REF master
)
diff --git a/ports/sciter/CONTROL b/ports/sciter/CONTROL
index 23a588b37..cfe94f7ec 100644
--- a/ports/sciter/CONTROL
+++ b/ports/sciter/CONTROL
@@ -1,4 +1,4 @@
Source: sciter
-Version: 4.1.3
+Version: 4.1.7
Description: Sciter is an embeddable HTML/CSS/scripting engine.
Maintainer: andrew.fedoniouk@gmail.com, ehysta@gmail.com
diff --git a/ports/sciter/portfile.cmake b/ports/sciter/portfile.cmake
index b6f1685a1..52248998c 100644
--- a/ports/sciter/portfile.cmake
+++ b/ports/sciter/portfile.cmake
@@ -12,8 +12,8 @@ include(vcpkg_common_functions)
# header-only library
set(VCPKG_POLICY_DLLS_WITHOUT_LIBS enabled)
-set(SCITER_REVISION 9ba9e27690e9ef4e97f415822fb738e0f36c574e)
-set(SCITER_SHA d4e7d204b67e454ba753524fb1d61887fcaeae256abb81297afc0aa7795f1acb21754ef368700dfa919717f23ca1bbb16498de1ad84c94ac7c2fc295f67f91c8)
+set(SCITER_REVISION a33d27afd10552c1d24b78d2e539097ebf1b1f60)
+set(SCITER_SHA 3d819ba0cbfbd3b0c7355e40c3e6d40806f1a281528d6225835ec2340157afc4c7378cae533a0a2824f9bdfa37c8cdd35774b1e1362cfda3f1529b7bcea4d027)
if(VCPKG_TARGET_ARCHITECTURE STREQUAL x64)
set(SCITER_ARCH 64)
diff --git a/ports/sdl2/portfile.cmake b/ports/sdl2/portfile.cmake
index a3cb80e3f..5d7ac5314 100644
--- a/ports/sdl2/portfile.cmake
+++ b/ports/sdl2/portfile.cmake
@@ -58,9 +58,14 @@ if(NOT BINS)
endif()
if(NOT VCPKG_CMAKE_SYSTEM_NAME)
- file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/lib/manual-link ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link)
- file(RENAME ${CURRENT_PACKAGES_DIR}/lib/SDL2main.lib ${CURRENT_PACKAGES_DIR}/lib/manual-link/SDL2main.lib)
- file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/SDL2maind.lib ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link/SDL2maind.lib)
+ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
+ file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/lib/manual-link)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/lib/SDL2main.lib ${CURRENT_PACKAGES_DIR}/lib/manual-link/SDL2main.lib)
+ endif()
+ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
+ file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/SDL2maind.lib ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link/SDL2maind.lib)
+ endif()
file(GLOB SHARE_FILES ${CURRENT_PACKAGES_DIR}/share/sdl2/*.cmake)
foreach(SHARE_FILE ${SHARE_FILES})
diff --git a/ports/sfml/CMakeLists.txt b/ports/sfml/CMakeLists.txt
index e8e16edec..f6ab26235 100644
--- a/ports/sfml/CMakeLists.txt
+++ b/ports/sfml/CMakeLists.txt
@@ -1,8 +1,8 @@
cmake_minimum_required(VERSION 2.6)
project(SFML)
-include_directories(${PROJECT_SOURCE_DIR}/include)
-include_directories(${PROJECT_SOURCE_DIR}/src)
+include_directories(include)
+include_directories(src)
if(NOT BUILD_SHARED_LIBS)
add_definitions(-DSFML_STATIC)
@@ -13,110 +13,23 @@ add_definitions(-D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS)
# import SFML's 'sfml_add_library' macro and find_package utils
set(VERSION_MAJOR 2)
-set(SFML_OS_WINDOWS ON)
+include(cmake/Config.cmake)
set(SFML_GENERATE_PDB ON)
-include(cmake/macros.cmake)
+include(cmake/Macros.cmake)
set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake/Modules/)
-# system module
+add_subdirectory(src/SFML/System)
+add_subdirectory(src/SFML/Window)
+add_subdirectory(src/SFML/Network)
+add_subdirectory(src/SFML/Audio)
+add_subdirectory(src/SFML/Graphics)
-file(GLOB SFML_SYSTEM_SOURCES
- ${PROJECT_SOURCE_DIR}/src/SFML/System/*.cpp
- ${PROJECT_SOURCE_DIR}/src/SFML/System/Win32/*cpp)
-
-sfml_add_library(sfml-system
- SOURCES ${SFML_SYSTEM_SOURCES}
- EXTERNAL_LIBS winmm)
-
-# window module
-
-file(GLOB SFML_WINDOW_SOURCES
- ${PROJECT_SOURCE_DIR}/src/SFML/Window/*.cpp
- ${PROJECT_SOURCE_DIR}/src/SFML/Window/Win32/*cpp)
-
-list(REMOVE_ITEM SFML_WINDOW_SOURCES
- ${PROJECT_SOURCE_DIR}/src/SFML/Window/EGLCheck.cpp
- ${PROJECT_SOURCE_DIR}/src/SFML/Window/EglContext.cpp)
-
-sfml_add_library(sfml-window
- SOURCES ${SFML_WINDOW_SOURCES}
- DEPENDS sfml-system
- EXTERNAL_LIBS winmm gdi32 opengl32)
-
-# network module
-
-file(GLOB SFML_NETWORK_SOURCES
- ${PROJECT_SOURCE_DIR}/src/SFML/Network/*.cpp
- ${PROJECT_SOURCE_DIR}/src/SFML/Network/Win32/*cpp)
-
-sfml_add_library(sfml-network
- SOURCES ${SFML_NETWORK_SOURCES}
- DEPENDS sfml-system
- EXTERNAL_LIBS ws2_32)
-
-# audio module
-
-file(GLOB SFML_AUDIO_SOURCES
- ${PROJECT_SOURCE_DIR}/src/SFML/Audio/*.cpp)
-
-find_package(OpenAL REQUIRED)
-find_package(Vorbis REQUIRED)
-find_package(FLAC REQUIRED)
-
-sfml_add_library(sfml-audio
- SOURCES ${SFML_AUDIO_SOURCES}
- DEPENDS sfml-system
- EXTERNAL_LIBS ${OPENAL_LIBRARY} ${VORBIS_LIBRARIES} ${FLAC_LIBRARY})
-
-target_include_directories(sfml-audio SYSTEM PRIVATE ${OPENAL_INCLUDE_DIR})
-target_include_directories(sfml-audio SYSTEM PRIVATE ${VORBIS_INCLUDE_DIRS})
-target_include_directories(sfml-audio SYSTEM PRIVATE ${FLAC_INCLUDE_DIR})
-
-# graphics module
-
-file(GLOB SFML_GRAPHICS_SOURCES
- ${PROJECT_SOURCE_DIR}/src/SFML/Graphics/*.cpp)
-
-find_package(JPEG REQUIRED)
-find_package(Freetype REQUIRED) # fails to find debug lib
-if(CMAKE_BUILD_TYPE MATCHES Debug)
- find_library(FREETYPE_DEBUG_LIBRARY freetyped)
- set(FREETYPE_ACTUAL_LIBRARY ${FREETYPE_DEBUG_LIBRARY})
-else()
- set(FREETYPE_ACTUAL_LIBRARY ${FREETYPE_LIBRARY})
+if(WIN32)
+ set(LIB_SUFFIX /manual-link)
+ add_subdirectory(src/SFML/Main)
+ unset(LIB_SUFFIX)
endif()
-find_path(STB_HEADERS stb_image.h)
-
-sfml_add_library(sfml-graphics
- SOURCES ${SFML_GRAPHICS_SOURCES}
- DEPENDS sfml-system sfml-window
- EXTERNAL_LIBS ${FREETYPE_ACTUAL_LIBRARY} ${JPEG_LIBRARY} opengl32)
-
-target_include_directories(sfml-graphics SYSTEM PRIVATE ${STB_HEADERS})
-target_include_directories(sfml-graphics SYSTEM PRIVATE ${FREETYPE_INCLUDE_DIRS})
-target_include_directories(sfml-graphics SYSTEM PRIVATE ${JPEG_INCLUDE_DIR})
-set_target_properties(sfml-graphics PROPERTIES COMPILE_FLAGS -DSTBI_FAILURE_USERMSG)
-
-# main module
-
-add_library(sfml-main STATIC ${PROJECT_SOURCE_DIR}/src/SFML/Main/MainWin32.cpp)
-set_target_properties(sfml-main PROPERTIES DEBUG_POSTFIX -d)
-install(TARGETS sfml-main ARCHIVE DESTINATION lib)
-
-# headers
if(NOT DEFINED SFML_SKIP_HEADERS)
- install(DIRECTORY ${PROJECT_SOURCE_DIR}/include/ DESTINATION include)
+ install(DIRECTORY include/ DESTINATION include)
endif()
-
-# log linked libraries
-
-message(STATUS "Link-time dependencies:")
-message(STATUS " " ${VORBIS_LIBRARY})
-message(STATUS " " ${VORBISFILE_LIBRARY})
-message(STATUS " " ${VORBISENC_LIBRARY})
-message(STATUS " " ${OGG_LIBRARY})
-message(STATUS " " ${OPENAL_LIBRARY})
-message(STATUS " " ${FLAC_LIBRARY})
-message(STATUS " " ${FREETYPE_ACTUAL_LIBRARY})
-message(STATUS " " ${JPEG_LIBRARY})
diff --git a/ports/sfml/CONTROL b/ports/sfml/CONTROL
index 778638482..e27af6646 100644
--- a/ports/sfml/CONTROL
+++ b/ports/sfml/CONTROL
@@ -1,4 +1,4 @@
Source: sfml
-Version: 2.4.2-2
+Version: 2.4.2-3
Description: Simple and fast multimedia library
-Build-Depends: freetype, libflac, libjpeg-turbo, libogg, libvorbis, openal-soft, stb
+Build-Depends: freetype, libflac, libjpeg-turbo, libogg, libvorbis, openal-soft, stb, freeglut (!uwp&&!windows)
diff --git a/ports/sfml/portfile.cmake b/ports/sfml/portfile.cmake
index ea4cfd138..974383eb4 100644
--- a/ports/sfml/portfile.cmake
+++ b/ports/sfml/portfile.cmake
@@ -1,19 +1,24 @@
include(vcpkg_common_functions)
vcpkg_from_github(OUT_SOURCE_PATH SOURCE_PATH
- REPO "sfml/sfml"
- REF "2.4.2"
+ REPO SFML/SFML
+ REF 2.4.2
HEAD_REF master
- SHA512 8acfdf320939c953a9a3413398f82d02d68a56a337f1366c2677c14ce032baa8ba059113ac3c91bb6e6fc22eef119369a265be7ef6894526e6a97a01f37e1972)
-
+ SHA512 8acfdf320939c953a9a3413398f82d02d68a56a337f1366c2677c14ce032baa8ba059113ac3c91bb6e6fc22eef119369a265be7ef6894526e6a97a01f37e1972
+)
file(REMOVE_RECURSE ${SOURCE_PATH}/extlibs)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+if(VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ message("SFML currently requires the following libraries from the system package manager:\n libudev\n libx11\n libxrandr\n opengl\n\nThese can be installed on Ubuntu systems via apt-get install libx11-dev libxrandr-dev libxi-dev libudev-dev mesa-common-dev")
+endif()
+
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
- OPTIONS_DEBUG
- -DSFML_SKIP_HEADERS=ON)
+ OPTIONS_DEBUG
+ -DSFML_SKIP_HEADERS=ON
+)
vcpkg_install_cmake()
vcpkg_copy_pdbs()
@@ -24,13 +29,15 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
endif()
# move sfml-main to manual link dir
-file(COPY ${CURRENT_PACKAGES_DIR}/lib/sfml-main.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib/manual-link)
-file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/sfml-main.lib)
-file(COPY ${CURRENT_PACKAGES_DIR}/debug/lib/sfml-main-d.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link)
-file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/sfml-main-d.lib)
+if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/sfml-main.lib)
+ file(COPY ${CURRENT_PACKAGES_DIR}/lib/sfml-main.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib/manual-link)
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/sfml-main.lib)
+ file(COPY ${CURRENT_PACKAGES_DIR}/debug/lib/sfml-main-d.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link)
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/sfml-main-d.lib)
+endif()
# At the time of writing, HEAD has license.md instead of license.txt
-if (VCPKG_HEAD_VERSION)
+if(VCPKG_HEAD_VERSION)
file(INSTALL ${SOURCE_PATH}/license.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/sfml RENAME copyright)
else()
file(INSTALL ${SOURCE_PATH}/license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/sfml RENAME copyright)
diff --git a/ports/shapelib/CONTROL b/ports/shapelib/CONTROL
index 7d37eb8aa..57fbecb53 100644
--- a/ports/shapelib/CONTROL
+++ b/ports/shapelib/CONTROL
@@ -1,3 +1,3 @@
Source: shapelib
-Version: 1.4.1
+Version: 1.4.1-1
Description: Shapefile C Library is simple C API for reading and writing ESRI Shapefiles
diff --git a/ports/shapelib/option-build-test.patch b/ports/shapelib/option-build-test.patch
new file mode 100644
index 000000000..c91410f38
--- /dev/null
+++ b/ports/shapelib/option-build-test.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index c3ef935..845ec06 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -148,7 +148,7 @@ set(executables
+ find_program(BASH_EXECUTABLE bash)
+ find_program(SED_EXECUTABLE sed)
+ if(BASH_EXECUTABLE AND SED_EXECUTABLE)
+- set(BUILD_TEST ON)
++ option(BUILD_TEST "" ON)
+ else(BASH_EXECUTABLE AND SED_EXECUTABLE)
+ message(STATUS "WARNING: sed or bash not available so disabling testing")
+ endif(BASH_EXECUTABLE AND SED_EXECUTABLE)
diff --git a/ports/shapelib/portfile.cmake b/ports/shapelib/portfile.cmake
index 0f2787689..eed76736f 100644
--- a/ports/shapelib/portfile.cmake
+++ b/ports/shapelib/portfile.cmake
@@ -11,10 +11,17 @@ vcpkg_download_distfile(ARCHIVE
)
vcpkg_extract_source_archive(${ARCHIVE})
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES ${CMAKE_CURRENT_LIST_DIR}/option-build-test.patch
+)
+
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
- OPTIONS -DBUILD_TEST=OFF)
+ OPTIONS
+ -DBUILD_TEST=OFF
+)
vcpkg_install_cmake()
@@ -22,15 +29,19 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
file(GLOB EXES "${CURRENT_PACKAGES_DIR}/bin/*.exe")
-file(COPY ${EXES} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/shapelib)
-file(REMOVE ${EXES})
+if(EXES)
+ file(COPY ${EXES} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/shapelib)
+ file(REMOVE ${EXES})
+endif()
file(GLOB DEBUG_EXES "${CURRENT_PACKAGES_DIR}/debug/bin/*.exe")
-file(REMOVE ${DEBUG_EXES})
+if(DEBUG_EXES)
+ file(REMOVE ${DEBUG_EXES})
+endif()
-if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
- file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin)
- file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin)
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin)
endif()
file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/shapelib)
diff --git a/ports/shogun/CONTROL b/ports/shogun/CONTROL
index 6a05a331e..56b6250d6 100644
--- a/ports/shogun/CONTROL
+++ b/ports/shogun/CONTROL
@@ -1,4 +1,4 @@
Source: shogun
Version: 6.1.3
-Build-Depends: bzip2, eigen3, liblzma, libxml2, openblas, nlopt, rxcpp, snappy, zlib, protobuf, curl, lzo, dirent
+Build-Depends: bzip2, eigen3, liblzma, libxml2, openblas (x64), 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 24e258539..e002ead4a 100644
--- a/ports/shogun/portfile.cmake
+++ b/ports/shogun/portfile.cmake
@@ -22,6 +22,16 @@ file(REMOVE_RECURSE ${SOURCE_PATH}/cmake/external)
file(MAKE_DIRECTORY ${SOURCE_PATH}/cmake/external)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/MSDirent.cmake DESTINATION ${SOURCE_PATH}/cmake/external)
+if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
+ set(CMAKE_DISABLE_FIND_PACKAGE_BLAS 0)
+else()
+ set(CMAKE_DISABLE_FIND_PACKAGE_BLAS 1)
+endif()
+
+vcpkg_find_acquire_program(PYTHON3)
+get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY)
+set(ENV{PATH} "$ENV{PATH};${PYTHON3_DIR}")
+
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
@@ -47,6 +57,7 @@ vcpkg_configure_cmake(
-DCMAKE_DISABLE_FIND_PACKAGE_Ctags=TRUE
-DCMAKE_DISABLE_FIND_PACKAGE_CCache=TRUE
-DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=TRUE
+ -DCMAKE_DISABLE_FIND_PACKAGE_BLAS=${CMAKE_DISABLE_FIND_PACKAGE_BLAS}
-DINSTALL_TARGETS=shogun-static
)
diff --git a/ports/signalrclient/CONTROL b/ports/signalrclient/CONTROL
index ae3ae47c1..fe8aa7dc5 100644
--- a/ports/signalrclient/CONTROL
+++ b/ports/signalrclient/CONTROL
@@ -1,4 +1,4 @@
Source: signalrclient
-Version: 1.0.0-beta1-2
+Version: 1.0.0-beta1-3
Build-Depends: cpprestsdk
Description: C++ client for SignalR.
diff --git a/ports/signalrclient/portfile.cmake b/ports/signalrclient/portfile.cmake
index bf2669569..50f6b0b89 100644
--- a/ports/signalrclient/portfile.cmake
+++ b/ports/signalrclient/portfile.cmake
@@ -1,12 +1,14 @@
include(vcpkg_common_functions)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/SignalR-Client-Cpp-1.0.0-beta1)
-vcpkg_download_distfile(ARCHIVE
- URLS "https://github.com/aspnet/SignalR-Client-Cpp/archive/1.0.0-beta1.tar.gz"
- FILENAME "SignalR-Client-Cpp-1.0.0-beta1.tar.gz"
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO SignalR/SignalR-Client-Cpp
+ REF 1.0.0-beta1
SHA512 b38f6f946f1499080071949cbcf574405118f9acfb469441e5b5b0df3e5f0d277a83b30e0d613dc5e54732b9071e3273dac1ee65129f994d5a60eef0e45bdf6c
+ HEAD_REF master
)
-vcpkg_extract_source_archive(${ARCHIVE})
vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
diff --git a/ports/sobjectizer/CONTROL b/ports/sobjectizer/CONTROL
index 7843e5622..839c2ed42 100644
--- a/ports/sobjectizer/CONTROL
+++ b/ports/sobjectizer/CONTROL
@@ -1,3 +1,3 @@
Source: sobjectizer
-Version: 5.5.21
+Version: 5.5.22
Description: SObjectizer is a C++ in-process message dispatching framework with implementation of Actor Model, Publish-Subscribe Model and CSP-like channels.
diff --git a/ports/sobjectizer/portfile.cmake b/ports/sobjectizer/portfile.cmake
index b03b55b24..ed6b3f844 100644
--- a/ports/sobjectizer/portfile.cmake
+++ b/ports/sobjectizer/portfile.cmake
@@ -1,12 +1,12 @@
include(vcpkg_common_functions)
-set(VERSION 5.5.21)
+set(VERSION 5.5.22)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/so-${VERSION}/dev)
vcpkg_download_distfile(ARCHIVE
URLS "https://sourceforge.net/projects/sobjectizer/files/sobjectizer/SObjectizer%20Core%20v.5.5/so-${VERSION}.zip"
FILENAME "so-${VERSION}.zip"
- SHA512 eaee9e27b751307a540df34ca368f5253e191b3079c1222737d4ccc1800006d35ad8411cec0aec862a7ee00d7cc3c1e4494434d4aef7adb89655e99b5d4caf41
+ SHA512 0f7c109a890fc4271a4f45ff009811d5d7479cec86ce8f6a312979bfd07a55e46069511d7868e1c7bf29e5ff6495d22d71fd3ba2b1253b2fb9299657d7b0384d
)
vcpkg_extract_source_archive(${ARCHIVE})
diff --git a/ports/sol/CONTROL b/ports/sol/CONTROL
index f1bd57fa3..3f56b4e09 100644
--- a/ports/sol/CONTROL
+++ b/ports/sol/CONTROL
@@ -1,3 +1,3 @@
Source: sol
-Version: 2.18.7
+Version: 2.20.0
Description: Sol v2.0 - a C++ <-> Lua API wrapper with advanced features and top notch performance - is here, and it's great
diff --git a/ports/sol/portfile.cmake b/ports/sol/portfile.cmake
index 83d59becc..a7791efe9 100644
--- a/ports/sol/portfile.cmake
+++ b/ports/sol/portfile.cmake
@@ -14,8 +14,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO ThePhD/sol2
- REF v2.18.7
- SHA512 747dbcba2da4e44bfb365c0fd0c8df916d0e5d0ddbaa9df514838d84a8fd4261c87db7d14d9683b708b874cd6a73586e7854d9a784743a737858b73acdd78f1c
+ REF v2.20.0
+ SHA512 b7b5d7c2c30d54325f9f8f99eeea815afdf159b1193d1ee4b9510ab605d9fa0bc088041b3d6f1f704ce94741ffd9f01d174991007ecec7043a3fd1b93d4dd91b
HEAD_REF develop
)
diff --git a/ports/soundtouch/CMakeLists.txt b/ports/soundtouch/CMakeLists.txt
new file mode 100644
index 000000000..a15daefe4
--- /dev/null
+++ b/ports/soundtouch/CMakeLists.txt
@@ -0,0 +1,32 @@
+cmake_minimum_required(VERSION 3.5)
+project(soundtouch CXX)
+
+if(CMAKE_SIZEOF_VOID_P EQUAL 8)
+ set(ARCH_SUFFIX _x64)
+else()
+ set(ARCH_SUFFIX)
+endif()
+
+if(BUILD_SHARED_LIBS)
+ set(TYPE_SUFFIX Dll)
+else()
+ set(TYPE_SUFFIX $<$<Config:Debug>:D>)
+endif()
+
+file(GLOB SOUNDTOUCH_SOURCES source/SoundTouch/*.cpp)
+add_library(libsoundtouch ${SOUNDTOUCH_SOURCES})
+target_include_directories(libsoundtouch PUBLIC include)
+set_target_properties(libsoundtouch PROPERTIES OUTPUT_NAME SoundTouch${TYPE_SUFFIX}${ARCH_SUFFIX})
+if(BUILD_SHARED_LIBS)
+ target_compile_definitions(libsoundtouch PRIVATE -DDLL_EXPORTS)
+ target_sources(libsoundtouch PRIVATE
+ source/SoundTouchDLL/SoundTouchDLL.cpp
+ source/SoundTouchDLL/SoundTouchDLL.rc
+ )
+endif()
+
+install(TARGETS libsoundtouch
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib
+)
diff --git a/ports/soundtouch/CONTROL b/ports/soundtouch/CONTROL
index cc37ea89f..7ae158b88 100644
--- a/ports/soundtouch/CONTROL
+++ b/ports/soundtouch/CONTROL
@@ -1,4 +1,4 @@
Source: soundtouch
-Version: 2.0.0
+Version: 2.0.0-1
Description: SoundTouch is an open-source audio processing library for changing the Tempo, Pitch and Playback Rates of audio streams or audio files.
Build-Depends: atlmfc
diff --git a/ports/soundtouch/portfile.cmake b/ports/soundtouch/portfile.cmake
index cadf5e705..b7fb1fb45 100644
--- a/ports/soundtouch/portfile.cmake
+++ b/ports/soundtouch/portfile.cmake
@@ -1,11 +1,15 @@
include(vcpkg_common_functions)
# NOTE: SoundTouch has a static c++ version too, but entirely different headers, api, etc
-if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
message(STATUS "Warning: Static building not supported. Building dynamic.")
set(VCPKG_LIBRARY_LINKAGE dynamic)
endif()
+if(VCPKG_CRT_LINKAGE STREQUAL "static")
+ message(FATAL_ERROR "Refusing to build DLL with static CRT linkage.")
+endif()
+
if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
message(FATAL_ERROR "WindowsStore not supported")
endif()
@@ -18,56 +22,18 @@ vcpkg_download_distfile(ARCHIVE
FILENAME "soundtouch-${VERSION}.zip"
SHA512 50ef36b6cd21c16e235b908c5518e29b159b11f658a014c47fe767d3d8acebaefefec0ce253b4ed322cbd26387c69c0ed464ddace0c098e61d56d55c198117a5
)
-
-# MSBuild performs in-source builds, so to ensure reliability we must clear them each time
-file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/src)
-
vcpkg_extract_source_archive(${ARCHIVE})
-vcpkg_execute_required_process(
- COMMAND "devenv.exe"
- "SoundTouchDLL.sln"
- /Upgrade
- WORKING_DIRECTORY ${SOURCE_PATH}/source/SoundTouchDLL
- LOGNAME upgrade-Packet-${TARGET_TRIPLET}
-)
-
-IF (TRIPLET_SYSTEM_ARCH MATCHES "x64")
- # There is no x64 Debug target
- SET(BUILD_RELEASE_CONFIGURATION "ReleaseX64")
- SET(BUILD_DEBUG_CONFIGURATION "ReleaseX64")
-ELSE()
- SET(BUILD_RELEASE_CONFIGURATION "Release")
- SET(BUILD_DEBUG_CONFIGURATION "Debug")
-ENDIF()
-
-SET(BUILD_ARCH "Win32")
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
-vcpkg_build_msbuild(
- PROJECT_PATH ${SOURCE_PATH}/source/SoundTouchDLL/SoundTouchDLL.sln
- PLATFORM ${BUILD_ARCH}
- RELEASE_CONFIGURATION ${BUILD_RELEASE_CONFIGURATION}
- DEBUG_CONFIGURATION ${BUILD_DEBUG_CONFIGURATION}
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
)
-file(INSTALL ${SOURCE_PATH}/source/SoundTouchDLL/SoundTouchDLL.h DESTINATION ${CURRENT_PACKAGES_DIR}/include)
+vcpkg_install_cmake()
-# Handle libraries
-IF (BUILD_RELEASE_CONFIGURATION STREQUAL ReleaseX64)
- file(INSTALL ${SOURCE_PATH}/lib/SoundTouch_x64.dll DESTINATION ${CURRENT_PACKAGES_DIR}/bin)
- file(INSTALL ${SOURCE_PATH}/lib/SoundTouchDll_x64.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
-ELSE()
- file(INSTALL ${SOURCE_PATH}/lib/SoundTouch.dll DESTINATION ${CURRENT_PACKAGES_DIR}/bin)
- file(INSTALL ${SOURCE_PATH}/lib/SoundTouchDll.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
-ENDIF()
-
-IF (BUILD_DEBUG_CONFIGURATION STREQUAL ReleaseX64)
- file(INSTALL ${SOURCE_PATH}/lib/SoundTouch_x64.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
- file(INSTALL ${SOURCE_PATH}/lib/SoundTouchDll_x64.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
-ELSE()
- file(INSTALL ${SOURCE_PATH}/lib/SoundTouchD.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
- file(INSTALL ${SOURCE_PATH}/lib/SoundTouchDllD.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
-ENDIF()
+file(INSTALL ${SOURCE_PATH}/source/SoundTouchDLL/SoundTouchDLL.h DESTINATION ${CURRENT_PACKAGES_DIR}/include)
file(COPY ${SOURCE_PATH}/COPYING.TXT DESTINATION ${CURRENT_PACKAGES_DIR}/share/soundtouch)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/soundtouch/COPYING.TXT ${CURRENT_PACKAGES_DIR}/share/soundtouch/copyright)
diff --git a/ports/spatialite-tools/portfile.cmake b/ports/spatialite-tools/portfile.cmake
index 6bfd19966..25de070ee 100644
--- a/ports/spatialite-tools/portfile.cmake
+++ b/ports/spatialite-tools/portfile.cmake
@@ -23,7 +23,7 @@ if(VCPKG_CRT_LINKAGE STREQUAL dynamic)
set(CL_FLAGS_DBG "/MDd /Zi")
set(CL_FLAGS_REL "/MD /Ox")
set(GEOS_LIBS_REL "${LDIR}/lib/geos_c.lib")
- set(GEOS_LIBS_DBG "${LDIR}/debug/lib/geos_c.lib")
+ set(GEOS_LIBS_DBG "${LDIR}/debug/lib/geos_cd.lib")
set(LIBXML2_LIBS_REL "${LDIR}/lib/libxml2.lib")
set(LIBXML2_LIBS_DBG "${LDIR}/debug/lib/libxml2.lib")
set(SPATIALITE_LIBS_REL "${LDIR}/lib/spatialite.lib")
diff --git a/ports/sqlite-orm/CONTROL b/ports/sqlite-orm/CONTROL
new file mode 100644
index 000000000..893a0dfe9
--- /dev/null
+++ b/ports/sqlite-orm/CONTROL
@@ -0,0 +1,4 @@
+Source: sqlite-orm
+Version: 1.1
+Build-Depends: sqlite3
+Description: SQLite ORM light header only library for modern C++
diff --git a/ports/sqlite-orm/portfile.cmake b/ports/sqlite-orm/portfile.cmake
new file mode 100644
index 000000000..876bbd0e3
--- /dev/null
+++ b/ports/sqlite-orm/portfile.cmake
@@ -0,0 +1,15 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO fnc12/sqlite_orm
+ REF v1.1
+ SHA512 ebd3c956660b90b1ea64420374db009c68cbab1edd3694d15e953c968190c066e084934327dcf674bcea31e23b14d32c54af7e9ba54f7c6036c3e7cb7cdc6c8d
+ HEAD_REF master
+)
+
+file(COPY ${SOURCE_PATH}/include/sqlite_orm DESTINATION ${CURRENT_PACKAGES_DIR}/include/)
+
+file(INSTALL
+ ${SOURCE_PATH}/LICENSE
+ DESTINATION ${CURRENT_PACKAGES_DIR}/share/sqlite-orm RENAME copyright)
diff --git a/ports/sqlite3/CMakeLists.txt b/ports/sqlite3/CMakeLists.txt
index 7d6e20dee..b4b105a65 100644
--- a/ports/sqlite3/CMakeLists.txt
+++ b/ports/sqlite3/CMakeLists.txt
@@ -9,7 +9,7 @@ else()
endif()
add_library(sqlite3 sqlite3.c)
-target_compile_definitions(sqlite3 PRIVATE
+target_compile_definitions(sqlite3 PRIVATE
$<$<CONFIG:Debug>:SQLITE_DEBUG>
${API}
-DSQLITE_ENABLE_RTREE
@@ -25,7 +25,11 @@ if(NOT SQLITE3_SKIP_TOOLS)
add_executable(sqlite3-bin shell.c)
set_target_properties(sqlite3-bin PROPERTIES OUTPUT_NAME sqlite3)
target_link_libraries(sqlite3-bin PRIVATE sqlite3)
- install(TARGETS sqlite3-bin sqlite3 RUNTIME DESTINATION tools)
+ install(TARGETS sqlite3-bin sqlite3
+ RUNTIME DESTINATION tools
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib
+ )
endif()
install(TARGETS sqlite3 EXPORT sqlite3Config
diff --git a/ports/sqlite3/CONTROL b/ports/sqlite3/CONTROL
index 7e39794dd..74d70909b 100644
--- a/ports/sqlite3/CONTROL
+++ b/ports/sqlite3/CONTROL
@@ -1,5 +1,5 @@
Source: sqlite3
-Version: 3.21.0-1
+Version: 3.23.1-1
Description: SQLite is a software library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine.
Feature: tool
diff --git a/ports/sqlite3/portfile.cmake b/ports/sqlite3/portfile.cmake
index 031eefbf2..bd7bcc15c 100644
--- a/ports/sqlite3/portfile.cmake
+++ b/ports/sqlite3/portfile.cmake
@@ -1,11 +1,11 @@
include(vcpkg_common_functions)
-set(SQLITE_VERSION 3210000)
-set(SQLITE_HASH 0a272b00825d07528c3842ccd483d81e5e719ab56737eec0972f7f8191dfbe92e35777ab8d1b37c95fde9320bbfa3c365a4b30253af876340f55517ea96bf665)
+set(SQLITE_VERSION 3230100)
+set(SQLITE_HASH 5784f4dea7f14d7dcf5dd07f0e111c8f0b64ff55c68b32a23fba7a36baf1f095c7a35573fc3b57b84822878218b78f9b0187c4e3f0439d4215471ee5f556eee1)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/sqlite-amalgamation-${SQLITE_VERSION})
vcpkg_download_distfile(ARCHIVE
- URLS "https://sqlite.org/2017/sqlite-amalgamation-${SQLITE_VERSION}.zip"
+ URLS "https://sqlite.org/2018/sqlite-amalgamation-${SQLITE_VERSION}.zip"
FILENAME "sqlite-amalgamation-${SQLITE_VERSION}.zip"
SHA512 ${SQLITE_HASH})
vcpkg_extract_source_archive(${ARCHIVE})
@@ -28,9 +28,11 @@ vcpkg_configure_cmake(
vcpkg_install_cmake()
-file(READ ${CURRENT_PACKAGES_DIR}/debug/share/sqlite3/sqlite3Config-debug.cmake SQLITE3_DEBUG_CONFIG)
-string(REPLACE "\${_IMPORT_PREFIX}" "\${_IMPORT_PREFIX}/debug" SQLITE3_DEBUG_CONFIG "${SQLITE3_DEBUG_CONFIG}")
-file(WRITE ${CURRENT_PACKAGES_DIR}/share/sqlite3/sqlite3Config-debug.cmake "${SQLITE3_DEBUG_CONFIG}")
+if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
+ file(READ ${CURRENT_PACKAGES_DIR}/debug/share/sqlite3/sqlite3Config-debug.cmake SQLITE3_DEBUG_CONFIG)
+ string(REPLACE "\${_IMPORT_PREFIX}" "\${_IMPORT_PREFIX}/debug" SQLITE3_DEBUG_CONFIG "${SQLITE3_DEBUG_CONFIG}")
+ file(WRITE ${CURRENT_PACKAGES_DIR}/share/sqlite3/sqlite3Config-debug.cmake "${SQLITE3_DEBUG_CONFIG}")
+endif()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
diff --git a/ports/strtk/CONTROL b/ports/strtk/CONTROL
index 2fbac5743..0c9cf1720 100644
--- a/ports/strtk/CONTROL
+++ b/ports/strtk/CONTROL
@@ -1,4 +1,4 @@
Source: strtk
-Version: 2018.01.01-5579ed1
+Version: 2018.05.07-48c9554
Description: robust, optimized and portable string processing algorithms for the C++ language
Build-Depends: boost
diff --git a/ports/strtk/portfile.cmake b/ports/strtk/portfile.cmake
index c5998a538..f98f06930 100644
--- a/ports/strtk/portfile.cmake
+++ b/ports/strtk/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO ArashPartow/strtk
- REF 5579ed1fa9766a5f9b67ed4773a3f59e7b107093
- SHA512 552ada7aa36fd057003a0fcaeabd3b457bb7b4dbc05ae595b905503d254c95334569c63b7c9f014a174489e56902a38744417b14eaa08f86558e3c66063863b3
+ REF 48c9554b3f079e34205c0af661c81c6f75f1da05
+ SHA512 92a1b34808f20489d9b8c94aed384b08fcf2586967185c23a0027ee6d7170d5998e255d6aedc1fbb68327f48c0b106b8efd39f476e4041d6bcc5685c73fc1015
)
file(COPY ${SOURCE_PATH}/strtk.hpp DESTINATION ${CURRENT_PACKAGES_DIR}/include)
diff --git a/ports/tap-windows6/CONTROL b/ports/tap-windows6/CONTROL
new file mode 100644
index 000000000..744247c32
--- /dev/null
+++ b/ports/tap-windows6/CONTROL
@@ -0,0 +1,3 @@
+Source: tap-windows6
+Version: 9.21.2-0e30f5c
+Description: an NDIS 6 implementation of the TAP-Windows driver, used by OpenVPN and other apps. Note: This package only contains the headers for the driver. \ No newline at end of file
diff --git a/ports/tap-windows6/portfile.cmake b/ports/tap-windows6/portfile.cmake
new file mode 100644
index 000000000..4e2725d1e
--- /dev/null
+++ b/ports/tap-windows6/portfile.cmake
@@ -0,0 +1,15 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO OpenVPN/tap-windows6
+ REF 0e30f5c13b3c7b0bdd60da915350f653e4c14d92
+ SHA512 88edecccd4818091f7d70b66f3dfa07146f010a064829dc971abdd0c180ce1f72db9d8f3a1c9f5b4fb3f31e7afe3eadbd7d6f7d711f698e723441d30beaf9e30
+ HEAD_REF master
+)
+
+file(COPY ${SOURCE_PATH}/src/tap-windows.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/)
+
+file(INSTALL
+ ${SOURCE_PATH}/COPYRIGHT.MIT
+ DESTINATION ${CURRENT_PACKAGES_DIR}/share/tap-windows6 RENAME copyright)
diff --git a/ports/tbb/CONTROL b/ports/tbb/CONTROL
index 1de2e57a5..0e19d650b 100644
--- a/ports/tbb/CONTROL
+++ b/ports/tbb/CONTROL
@@ -1,3 +1,3 @@
Source: tbb
-Version: 2018_U2
+Version: 2018_U3
Description: Intel's Threading Building Blocks.
diff --git a/ports/tbb/portfile.cmake b/ports/tbb/portfile.cmake
index 12e07ba78..4a0b80ec4 100644
--- a/ports/tbb/portfile.cmake
+++ b/ports/tbb/portfile.cmake
@@ -10,8 +10,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO 01org/tbb
- REF 2018_U2
- SHA512 a94b55bcabec47424be1c2d4b7bf3502a545bc714250a260e152b00431420094dbab64c0355bd0004ee9ad10d85c7b920969bf4b6d9a30b3697c7c5202518841
+ REF 633b01ad27e012e1dc4e392c3230250d1f4967a4
+ SHA512 5576b5e1efa0c7938dc08a1a9503ea19234b20f6a742f3d13a8de19b47f5bdafa1bb855e4de022a4b096a429e66739599a198fdf687c167c659f7556235fa01f
HEAD_REF tbb_2018)
if(TRIPLET_SYSTEM_ARCH STREQUAL x86)
diff --git a/ports/tesseract/CONTROL b/ports/tesseract/CONTROL
index 6e0b0428d..264a09584 100644
--- a/ports/tesseract/CONTROL
+++ b/ports/tesseract/CONTROL
@@ -1,4 +1,4 @@
Source: tesseract
-Version: 3.05.01-2
+Version: 3.05.01-3
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 5c37f51b3..cebf4316b 100644
--- a/ports/tesseract/portfile.cmake
+++ b/ports/tesseract/portfile.cmake
@@ -17,6 +17,7 @@ vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
PATCHES
${CMAKE_CURRENT_LIST_DIR}/use-vcpkg-icu.patch
+ ${CMAKE_CURRENT_LIST_DIR}/ws2-32.patch
)
# The built-in cmake FindICU is better
diff --git a/ports/tesseract/ws2-32.patch b/ports/tesseract/ws2-32.patch
new file mode 100644
index 000000000..1d3be8189
--- /dev/null
+++ b/ports/tesseract/ws2-32.patch
@@ -0,0 +1,12 @@
+diff --git a/viewer/svutil.cpp b/viewer/svutil.cpp
+index 34a2286..bc2a7e1 100644
+--- a/viewer/svutil.cpp
++++ b/viewer/svutil.cpp
+@@ -23,6 +23,7 @@
+ #include <stdio.h>
+ #ifdef _WIN32
+ #include <windows.h>
++#pragma comment(lib, "Ws2_32.lib")
+ struct addrinfo {
+ struct sockaddr* ai_addr;
+ int ai_addrlen;
diff --git a/ports/theia/CONTROL b/ports/theia/CONTROL
index 56e2181a3..83d6c2c53 100644
--- a/ports/theia/CONTROL
+++ b/ports/theia/CONTROL
@@ -1,4 +1,4 @@
-Source: theia
-Version: 0.7-d15154a-1
-Build-Depends: flann, cereal, ceres, openimageio, glew, freeglut
-Description: An open source library for multiview geometry and structure from motion
+Source: theia
+Version: 0.7-d15154a-3
+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
diff --git a/ports/theia/fix-oiio.patch b/ports/theia/fix-oiio.patch
new file mode 100644
index 000000000..7cba45db7
--- /dev/null
+++ b/ports/theia/fix-oiio.patch
@@ -0,0 +1,391 @@
+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/portfile.cmake b/ports/theia/portfile.cmake
index 8ac920d57..b2e61fae1 100644
--- a/ports/theia/portfile.cmake
+++ b/ports/theia/portfile.cmake
@@ -3,6 +3,10 @@ if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
set(VCPKG_LIBRARY_LINKAGE static)
endif()
+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()
+
include(vcpkg_common_functions)
vcpkg_from_github(
@@ -20,6 +24,7 @@ vcpkg_apply_patches(
${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
)
vcpkg_configure_cmake(
diff --git a/ports/thrift/CONTROL b/ports/thrift/CONTROL
index 3470a9990..1967007ec 100644
--- a/ports/thrift/CONTROL
+++ b/ports/thrift/CONTROL
@@ -1,4 +1,4 @@
Source: thrift
-Version: 2018-03-11
+Version: 2018-04-25
Build-Depends: zlib, libevent, openssl, boost-range, boost-smart-ptr, boost-date-time, boost-locale, boost-scope-exit
Description: Apache Thrift is a software project spanning a variety of programming languages and use cases. Our goal is to make reliable, performant communication and data serialization across languages as efficient and seamless as possible. Originally developed at Facebook, Thrift was open sourced in April 2007 and entered the Apache Incubator in May, 2008. Thrift became an Apache TLP in October, 2010.
diff --git a/ports/thrift/portfile.cmake b/ports/thrift/portfile.cmake
index 502da193a..4aaf03315 100644
--- a/ports/thrift/portfile.cmake
+++ b/ports/thrift/portfile.cmake
@@ -15,8 +15,8 @@ vcpkg_find_acquire_program(BISON)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO apache/thrift
- REF 70b33fb6b48d62859a048cac1bec79cfadb2f310
- SHA512 81c2c41fc4daab8b0da94a67862f1a2db0901804e06ed3445fec7bdc408e983bd0662c0d3fdaa9f149bcd531763620ffdfd3c0226f73d246e8e56dd560ccf1b4
+ REF 0293c3643b0075b510b9d92b2cc39b6d5e0fadb8
+ SHA512 2bf217d9317b35215d5f984ae76509ddf505459dec97fde6aae8b4a2632882df971c438a99afc87fbe28dd931e2d1283315d1dbb3eb8af92c94fa0fdffd05ac0
HEAD_REF master
)
diff --git a/ports/tiny-dnn/CONTROL b/ports/tiny-dnn/CONTROL
index 2a53311cb..6468f2473 100644
--- a/ports/tiny-dnn/CONTROL
+++ b/ports/tiny-dnn/CONTROL
@@ -1,3 +1,3 @@
Source: tiny-dnn
-Version: 2018-03-07
+Version: 2018-03-13
Description: A C++14 implementation of deep learning. It is suitable for deep learning on limited computational resource.
diff --git a/ports/tiny-dnn/portfile.cmake b/ports/tiny-dnn/portfile.cmake
index bb4fc9fcf..151f5dbee 100644
--- a/ports/tiny-dnn/portfile.cmake
+++ b/ports/tiny-dnn/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO tiny-dnn/tiny-dnn
- REF 4a59e4cc8799b3a768618cb157a2edc9d0f05b91
- SHA512 408cfec895140d10c9a498ce78da3ad1e11c245a05c05c5cd82ccedd100fbadad7fb02a4e4c2cb924f8d2c35eca31176dd8270927b5d8376946a237066b10795
+ REF 1c5259477b8b4eab376cc19fd1d55ae965ef5e5a
+ SHA512 756b8e3d5d00b44973bbae2c0bedbe15206bce479dc70ae5fc89f455772deadc05503afd7abcae2048aeabefd7a45cba0fae38555df7e0d9eb33e9feed21b099
HEAD_REF master
)
diff --git a/ports/tinyxml2/CONTROL b/ports/tinyxml2/CONTROL
index 1df7e49f2..185fa749c 100644
--- a/ports/tinyxml2/CONTROL
+++ b/ports/tinyxml2/CONTROL
@@ -1,3 +1,3 @@
Source: tinyxml2
-Version: 6.0.0-2
+Version: 6.2.0
Description: A simple, small, efficient, C++ XML parser
diff --git a/ports/tinyxml2/portfile.cmake b/ports/tinyxml2/portfile.cmake
index 0a7c887c5..8a28b424b 100644
--- a/ports/tinyxml2/portfile.cmake
+++ b/ports/tinyxml2/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO leethomason/tinyxml2
- REF 6.0.0
- SHA512 30c68f491830187738b01ca5db1a96e7b4907cf8fa09a533c90ea084ab5e73f798dff6305cfc4edccc8989926e91c0482677bb5796799113c839dbd0528c8ad5
+ REF 6.2.0
+ SHA512 ef784240aeb090ab04aad659352ad4b224c431feecf485f33aca7936bcaa0ef4ab9d0a2e0692d3cf6036ac3e8012019d65665e780a920bbad3d4820f736445b1
HEAD_REF master
)
diff --git a/ports/treehopper/CONTROL b/ports/treehopper/CONTROL
new file mode 100644
index 000000000..336a42250
--- /dev/null
+++ b/ports/treehopper/CONTROL
@@ -0,0 +1,3 @@
+Source: treehopper
+Version: 1.11.3-1
+Description: Treehopper connects the physical world to your computer, tablet, or smartphone. For more information, visit https://treehopper.io.
diff --git a/ports/treehopper/portfile.cmake b/ports/treehopper/portfile.cmake
new file mode 100644
index 000000000..fd90f0392
--- /dev/null
+++ b/ports/treehopper/portfile.cmake
@@ -0,0 +1,32 @@
+include(vcpkg_common_functions)
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ message("treehopper only supports dynamic library linkage")
+ set(VCPKG_LIBRARY_LINKAGE dynamic)
+endif()
+if(VCPKG_CRT_LINKAGE STREQUAL "static")
+ message(FATAL_ERROR "treehopper does not support static crt linkage")
+endif()
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO treehopper-electronics/treehopper-sdk
+ REF 1.11.3
+ SHA512 65b748375b798787c8b59f9657151f340920c939c3f079105b9b78f4e3b775125598106c6dfa4feba111a64d30f007003a70110ac767802a7dd1127a25c9fb14
+ HEAD_REF master)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}/C++/API/
+ PREFER_NINJA
+)
+
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH share/treehopper)
+
+file(INSTALL ${SOURCE_PATH}/C++/API/inc/ DESTINATION ${CURRENT_PACKAGES_DIR}/include/Treehopper/)
+
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/treehopper RENAME copyright)
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) \ No newline at end of file
diff --git a/ports/unicorn-lib/CONTROL b/ports/unicorn-lib/CONTROL
index 23967af57..4a46f6343 100644
--- a/ports/unicorn-lib/CONTROL
+++ b/ports/unicorn-lib/CONTROL
@@ -1,4 +1,4 @@
Source: unicorn-lib
-Version: 2018-02-25
+Version: 2018-04-09
Description: Unicode library for C++ by Ross Smith
Build-Depends: rs-core-lib, pcre, zlib, libiconv
diff --git a/ports/unicorn-lib/portfile.cmake b/ports/unicorn-lib/portfile.cmake
index 46a7fc67c..c215e7ccd 100644
--- a/ports/unicorn-lib/portfile.cmake
+++ b/ports/unicorn-lib/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO CaptainCrowbar/unicorn-lib
- REF 1ee9ca81e62c1916a08522523ca21a46a5005ad5
- SHA512 b61f8b993d46e4750ccb14aa98dee3b9f3d9de54d2dfa60af4fabb338f04348c450089fa331e7d63342698f39168d660452fb49fb707c1a6647553ec494355bb
+ REF 38b8bfe7b22978d42923a55ed3303a0aadd86abd
+ SHA512 423dc648476cc957273a7a81770ce5b25452bd685aaa36688cecb1e7cc83495ede6a441fb33e010e80782986c32a8cc87fe42844b0ccd597ce9a4e5286dc6791
HEAD_REF master
)
diff --git a/ports/unicorn/CONTROL b/ports/unicorn/CONTROL
index f1856bac6..7f0a41d7e 100644
--- a/ports/unicorn/CONTROL
+++ b/ports/unicorn/CONTROL
@@ -1,3 +1,3 @@
Source: unicorn
-Version: 2018-02-25
+Version: 2018-04-25
Description: Unicorn is a lightweight multi-platform, multi-architecture CPU emulator framework
diff --git a/ports/unicorn/portfile.cmake b/ports/unicorn/portfile.cmake
index 66ba738c0..3b0a89419 100644
--- a/ports/unicorn/portfile.cmake
+++ b/ports/unicorn/portfile.cmake
@@ -14,8 +14,8 @@ set(VCPKG_CRT_LINKAGE "static")
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO unicorn-engine/unicorn
- REF dab5060005facc38ef6500496ae7f7bd90e4fdb7
- SHA512 42b656a9d6b8091aaed5729658d7dd94064a9c9c43ad33ca474917b0830b760ee81a37a6eec84848d8aa6784d01568649f036383a8953c3e1de2616b053c682e
+ REF 2edb4b57c492d3255b4bfa9a08963657166fb311
+ SHA512 e68ef5f1abd8ad2560bdf94957e6d7a3a106fbe4f3b34d8cfc75ab2f7a754df214e5fdddd34670412fc4dd652261391bb8f5976bea2476a2997ff29bc10b81e8
HEAD_REF master
)
diff --git a/ports/unrar/CONTROL b/ports/unrar/CONTROL
index ce6d4dab8..d9c586c6a 100644
--- a/ports/unrar/CONTROL
+++ b/ports/unrar/CONTROL
@@ -1,3 +1,3 @@
Source: unrar
-Version: 5.5.8
+Version: 5.5.8-1
Description: rarlab's unrar libary
diff --git a/ports/unrar/portfile.cmake b/ports/unrar/portfile.cmake
index 0528c8b97..4ad834d15 100644
--- a/ports/unrar/portfile.cmake
+++ b/ports/unrar/portfile.cmake
@@ -6,7 +6,8 @@ set(UNRAR_URL http://www.rarlab.com/rar/${UNRAR_FILENAME})
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/unrar)
if (VCPKG_LIBRARY_LINKAGE STREQUAL "static")
- message(FATAL_ERROR "Unrar does not currently support building statically")
+ message(STATUS "Unrar buildsystem doesn't support static building. Building dynamic instead.")
+ set(VCPKG_LIBRARY_LINKAGE dynamic)
endif()
#SRC
diff --git a/ports/utf8h/CONTROL b/ports/utf8h/CONTROL
new file mode 100644
index 000000000..5f1acf4c0
--- /dev/null
+++ b/ports/utf8h/CONTROL
@@ -0,0 +1,3 @@
+Source: utf8h
+Version: 841cb2deb8eb806e73fff0e1f43a11fca4f5da45
+Description: Single header utf8 string functions for C and C++
diff --git a/ports/utf8h/portfile.cmake b/ports/utf8h/portfile.cmake
new file mode 100644
index 000000000..11b35c21a
--- /dev/null
+++ b/ports/utf8h/portfile.cmake
@@ -0,0 +1,15 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO sheredom/utf8.h
+ REF 841cb2deb8eb806e73fff0e1f43a11fca4f5da45
+ SHA512 cce44011abc58556c031c0de1018b83225bdbbc0e8d7374e3fd6f0b63c8e200086c49e7caac61b559f1e6d5a7ad349a58a13876a1b1341c18349a5cee59a105b
+ HEAD_REF master
+)
+
+# Copy the utf8h header files
+file(COPY ${SOURCE_PATH}/utf8.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/utf8h)
+
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/utf8h RENAME copyright)
diff --git a/ports/uwebsockets/CONTROL b/ports/uwebsockets/CONTROL
index 1757aae53..3871e8691 100644
--- a/ports/uwebsockets/CONTROL
+++ b/ports/uwebsockets/CONTROL
@@ -1,4 +1,4 @@
Source: uwebsockets
-Version: 0.14.6-1
+Version: 0.14.8-1
Build-Depends: libuv, openssl, zlib
Description: Highly scalable cross-platform WebSocket & HTTP library for C++11 and Node.js
diff --git a/ports/uwebsockets/portfile.cmake b/ports/uwebsockets/portfile.cmake
index f7cbb6843..f9d6c43a1 100644
--- a/ports/uwebsockets/portfile.cmake
+++ b/ports/uwebsockets/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO uWebSockets/uWebSockets
- REF v0.14.6
- SHA512 cac3be6fcd49796590f19bde89e4195cecf9097248f7550ef6942573b59cd132f136ec026203e8524270440a7ae18c49472eb2166028b5c68d4a4cc457af4748
+ REF v0.14.8
+ SHA512 5e78e2f10e95648ad1e7f26612f69da3bbdcdb3f17c99e3bb9775e3eb440a2741f05375dcc043b43f0f2d4de6da54e7534431c5c10c1350103a4379b55cf9081
HEAD_REF master
)
diff --git a/ports/vlpp/CMakeLists.txt b/ports/vlpp/CMakeLists.txt
index 238600f6e..d5fec60c4 100644
--- a/ports/vlpp/CMakeLists.txt
+++ b/ports/vlpp/CMakeLists.txt
@@ -7,7 +7,10 @@ set(SRCS
Import/Vlpp.cpp
Import/VlppWorkflow.cpp
Import/VlppWorkflowCompiler.cpp)
-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /bigobj")
+
+if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /bigobj")
+endif()
# Create and configure the target
add_library(Vlpp ${SRCS})
diff --git a/ports/vlpp/CONTROL b/ports/vlpp/CONTROL
index aa8381cae..392beec5e 100644
--- a/ports/vlpp/CONTROL
+++ b/ports/vlpp/CONTROL
@@ -1,3 +1,3 @@
Source: vlpp
-Version: 0.9.3.1
+Version: 0.9.3.1-1
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 1b7ec027a..1ee003ffb 100644
--- a/ports/vlpp/portfile.cmake
+++ b/ports/vlpp/portfile.cmake
@@ -22,7 +22,7 @@ vcpkg_configure_cmake(
vcpkg_install_cmake()
vcpkg_copy_pdbs()
-file(REMOVE_RECURSE ${CURRENT_PACKAGE_DIR}/debug/include)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
# Tools
file(INSTALL ${SOURCE_PATH}/Tools/CppMerge.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools)
diff --git a/ports/vxl/CONTROL b/ports/vxl/CONTROL
new file mode 100644
index 000000000..52d725f45
--- /dev/null
+++ b/ports/vxl/CONTROL
@@ -0,0 +1,4 @@
+Source: vxl
+Version: 20180414-7a130cf-1
+Build-Depends: zlib, tiff, expat, libpng, bzip2, libjpeg-turbo, shapelib, libgeotiff
+Description: A multi-platform collection of C++ software libraries for Computer Vision and Image Understanding.
diff --git a/ports/vxl/portfile.cmake b/ports/vxl/portfile.cmake
new file mode 100644
index 000000000..7e27591e5
--- /dev/null
+++ b/ports/vxl/portfile.cmake
@@ -0,0 +1,37 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO vxl/vxl
+ REF 7a130cf05e907a6500e3e717297082c46e77f524
+ SHA512 b9f7e48e37b44469031c6de1bf2a3d0aa0ecf4d3c2f4dd0d1a84c273ca8a778b48f3caf7ec6ef0f2dea1dc534ebfdb6b2cde47a56d81aa4f0685114c0bda157c
+ HEAD_REF master
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DVXL_USING_NATIVE_ZLIB=ON
+ -DVXL_USING_NATIVE_BZLIB2=ON
+ -DVXL_USING_NATIVE_JPEG=ON
+ -DVXL_USING_NATIVE_TIFF=ON
+ -DVXL_USING_NATIVE_EXPAT=ON
+ -DVXL_USING_NATIVE_PNG=ON
+ -DVXL_USING_NATIVE_SHAPELIB=ON
+ -DVXL_USING_NATIVE_GEOTIFF=ON
+ -DVXL_FORCE_V3P_OPENJPEG2=ON
+ -DVXL_FORCE_V3P_J2K=ON
+ -DBUILD_TESTING=OFF
+ -DBUILD_EXAMPLES=OFF
+)
+
+vcpkg_install_cmake()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH share/vxl/cmake)
+vcpkg_copy_pdbs()
+
+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/wt/CONTROL b/ports/wt/CONTROL
index 8b9b98aa3..d3a707343 100644
--- a/ports/wt/CONTROL
+++ b/ports/wt/CONTROL
@@ -1,4 +1,4 @@
Source: wt
-Version: 4.0.2
+Version: 4.0.3
Description: Wt is a C++ library for developing web applications
Build-Depends: openssl, sqlite3, libpq, pango, glew, boost-date-time, boost-regex, boost-program-options, boost-signals, boost-system, boost-filesystem, boost-thread, boost-random, boost-multi-index, boost-signals2, boost-asio, boost-ublas, boost-conversion, boost-array, boost-smart-ptr, boost-tuple, boost-algorithm, boost-logic
diff --git a/ports/wt/portfile.cmake b/ports/wt/portfile.cmake
index b3081b8a3..b33e9110b 100644
--- a/ports/wt/portfile.cmake
+++ b/ports/wt/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO emweb/wt
- REF 4.0.2
- SHA512 85e35374bec662c314b20d0699656895364386ee2e51ca99d131702f02ea5a4defeb357fdda3cf068049f077daaa7a3af1dc3d239fb73b3cf13b574778e5609c
+ REF 4.0.3
+ SHA512 5985f72cbd3065ac696aad4d11711f2d69e066ee17141b56fd7c2616c7f7353586ab8d13db2baa90fa8f3cb116aa7c9044ee3cc42e99e8f5c8704f886ac3b2b6
HEAD_REF master
)
diff --git a/ports/wtl/CONTROL b/ports/wtl/CONTROL
index 6f8b6208e..bab8da1f2 100644
--- a/ports/wtl/CONTROL
+++ b/ports/wtl/CONTROL
@@ -1,5 +1,5 @@
Source: wtl
Maintainer: jfrederich@gmail.com
-Version: 9.1
+Version: 10.0
Description: Windows Template Library (WTL) is a C++ library for developing Windows applications and UI components.
Build-Depends:
diff --git a/ports/wtl/portfile.cmake b/ports/wtl/portfile.cmake
index c8d8c6c34..d992b276a 100644
--- a/ports/wtl/portfile.cmake
+++ b/ports/wtl/portfile.cmake
@@ -1,9 +1,9 @@
#header-only library
include(vcpkg_common_functions)
vcpkg_download_distfile(ARCHIVE
- URLS "http://downloads.sourceforge.net/project/wtl/WTL%209.1/WTL%209.1.5321%20Final/WTL91_5321_Final.zip?r=&ts=1477467616&use_mirror=netix"
- FILENAME "WTL91_5321_Final.zip"
- SHA512 52c583f6773839f7ad7fccf0ecba44ad00f41af4ae97d217619cc380ea9b71b90638ae35a5995f9eb08854db423896fec5f06b5cbd853f118eeddd05238a460a
+ URLS "http://downloads.sourceforge.net/project/wtl/WTL%2010/WTL%2010.0.7336/WTL10_7336.zip"
+ FILENAME "WTL10_7336.zip"
+ SHA512 68368be0b35fba97ed63fd684e98c077ab94ea2ce928693da7f1f48e2547486109e045e026218a7c8652aec46930b79572679c0b79afaa75a3dbf98572e4d9b5
)
vcpkg_extract_source_archive(${ARCHIVE})
@@ -13,3 +13,4 @@ file(COPY ${CURRENT_BUILDTREES_DIR}/src/MS-PL.txt DESTINATION ${CURRENT_PACKAGES
file(RENAME ${CURRENT_PACKAGES_DIR}/share/wtl/MS-PL.txt ${CURRENT_PACKAGES_DIR}/share/wtl/copyright)
file(COPY ${CURRENT_BUILDTREES_DIR}/src/samples DESTINATION ${CURRENT_PACKAGES_DIR}/share/wtl)
+file(COPY ${CURRENT_BUILDTREES_DIR}/src/appwizard DESTINATION ${CURRENT_PACKAGES_DIR}/share/wtl)
diff --git a/ports/x264/CONTROL b/ports/x264/CONTROL
index b9a3a4f9b..245fb8f7f 100644
--- a/ports/x264/CONTROL
+++ b/ports/x264/CONTROL
@@ -1,3 +1,3 @@
Source: x264
-Version: 152-e9a5903edf8ca59
+Version: 152-e9a5903edf8ca59-1
Description: x264 is a free software library and application for encoding video streams into the H.264/MPEG-4 AVC compression format
diff --git a/ports/x264/portfile.cmake b/ports/x264/portfile.cmake
index b9dbfa34d..d5f85ecdd 100644
--- a/ports/x264/portfile.cmake
+++ b/ports/x264/portfile.cmake
@@ -10,6 +10,12 @@ vcpkg_from_github(
HEAD_REF master
)
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES
+ ${CMAKE_CURRENT_LIST_DIR}/uwp-cflags.patch
+)
+
# Acquire tools
vcpkg_acquire_msys(MSYS_ROOT PACKAGES make automake1.15)
@@ -25,10 +31,18 @@ set(CONFIGURE_OPTIONS "--host=i686-pc-mingw32 --enable-strip --disable-lavf --di
if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
set(CONFIGURE_OPTIONS "${CONFIGURE_OPTIONS} --enable-shared")
+ if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ set(CONFIGURE_OPTIONS "${CONFIGURE_OPTIONS} --extra-ldflags=-APPCONTAINER --extra-ldflags=WindowsApp.lib")
+ endif()
else()
set(CONFIGURE_OPTIONS "${CONFIGURE_OPTIONS} --enable-static")
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(CONFIGURE_OPTIONS "${CONFIGURE_OPTIONS} --extra-cflags=-DWINAPI_FAMILY=WINAPI_FAMILY_APP --extra-cflags=-D_WIN32_WINNT=0x0A00")
+endif()
+
set(CONFIGURE_OPTIONS_RELEASE "--prefix=${CURRENT_PACKAGES_DIR}")
set(CONFIGURE_OPTIONS_DEBUG "--enable-debug --prefix=${CURRENT_PACKAGES_DIR}/debug")
@@ -86,8 +100,10 @@ vcpkg_execute_required_process(
LOGNAME "build-${TARGET_TRIPLET}-dbg")
message(STATUS "Package ${TARGET_TRIPLET}-dbg done")
-file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/x264)
-file(RENAME ${CURRENT_PACKAGES_DIR}/bin/x264.exe ${CURRENT_PACKAGES_DIR}/tools/x264/x264.exe)
+if(NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/x264)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/bin/x264.exe ${CURRENT_PACKAGES_DIR}/tools/x264/x264.exe)
+endif()
file(REMOVE_RECURSE
${CURRENT_PACKAGES_DIR}/lib/pkgconfig
diff --git a/ports/x264/uwp-cflags.patch b/ports/x264/uwp-cflags.patch
new file mode 100644
index 000000000..fd04755bc
--- /dev/null
+++ b/ports/x264/uwp-cflags.patch
@@ -0,0 +1,12 @@
+diff --git a/configure b/configure
+index f7b14d9..2c92b2a 100644
+--- a/configure
++++ b/configure
+@@ -821,7 +821,6 @@ if [ $SYS = WINDOWS ]; then
+ if cpp_check "winapifamily.h" "" "!WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)" ; then
+ [ $compiler = CL ] || die "WinRT requires MSVC"
+ define HAVE_WINRT
+- CFLAGS="$CFLAGS -MD"
+ LDFLAGS="$LDFLAGS -appcontainer"
+ if ! cpp_check "" "" "defined(_WIN32_WINNT) && _WIN32_WINNT >= 0x0603" ; then
+ die "_WIN32_WINNT must be defined to at least 0x0603 (Windows 8.1) for WinRT"
diff --git a/ports/xalan-c/portfile.cmake b/ports/xalan-c/portfile.cmake
index 55dd9f143..4f4da9143 100644
--- a/ports/xalan-c/portfile.cmake
+++ b/ports/xalan-c/portfile.cmake
@@ -45,15 +45,15 @@ endif()
vcpkg_build_msbuild(
PROJECT_PATH ${SOURCE_PATH}/c/projects/Win32/VC10/AllInOne/AllInOne.vcxproj
PLATFORM ${BUILD_ARCH}
- # Need this for it to pick up xerces-c port: https://github.com/Microsoft/vcpkg/issues/891
- OPTIONS /p:ForceImportBeforeCppTargets=${VCPKG_ROOT_DIR}/scripts/buildsystems/msbuild/vcpkg.targets)
+ USE_VCPKG_INTEGRATION
+)
# This is needed to generate the required LocalMsgIndex.hpp header
vcpkg_build_msbuild(
PROJECT_PATH ${SOURCE_PATH}/c/projects/Win32/VC10/Utils/XalanMsgLib/XalanMsgLib.vcxproj
PLATFORM ${BUILD_ARCH}
- # Need this for it to pick up xerces-c port: https://github.com/Microsoft/vcpkg/issues/891
- OPTIONS /p:ForceImportBeforeCppTargets=${VCPKG_ROOT_DIR}/scripts/buildsystems/msbuild/vcpkg.targets)
+ USE_VCPKG_INTEGRATION
+)
file(COPY ${SOURCE_PATH}/c/Build/${OUTPUT_DIR}/VC10/Debug/XalanMessages_1_11D.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
file(COPY ${SOURCE_PATH}/c/Build/${OUTPUT_DIR}/VC10/Debug/Xalan-C_1_11D.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
diff --git a/ports/yajl/CONTROL b/ports/yajl/CONTROL
new file mode 100644
index 000000000..6811dc84a
--- /dev/null
+++ b/ports/yajl/CONTROL
@@ -0,0 +1,3 @@
+Source: yajl
+Version: 2.1.0-1
+Description: Yet Another JSON Library
diff --git a/ports/yajl/cmake.patch b/ports/yajl/cmake.patch
new file mode 100644
index 000000000..c631ead21
--- /dev/null
+++ b/ports/yajl/cmake.patch
@@ -0,0 +1,36 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 4c0a9be..cbec22f 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -28,7 +28,7 @@ ENDIF (NOT CMAKE_BUILD_TYPE)
+
+ SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
+
+-IF (WIN32)
++IF (WIN32 AND FALSE)
+ SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W4")
+ ADD_DEFINITIONS(-DWIN32)
+ SET(linkFlags "/PDB:NONE /INCREMENTAL:NO /OPT:NOREF /OPT:NOICF")
+@@ -46,7 +46,8 @@ IF (WIN32)
+ SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /wd4996 /wd4255 /wd4130 /wd4100 /wd4711")
+ SET(CMAKE_C_FLAGS_DEBUG "/D DEBUG /Od /Z7")
+ SET(CMAKE_C_FLAGS_RELEASE "/D NDEBUG /O2")
+-ELSE (WIN32)
++endif()
++if (NOT WIN32)
+ SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall")
+ IF(CMAKE_COMPILER_IS_GNUCC)
+ INCLUDE(CheckCCompilerFlag)
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 99cf9e9..454482a 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -78,7 +78,7 @@ INCLUDE_DIRECTORIES(${incDir}/..)
+ # at build time you may specify the cmake variable LIB_SUFFIX to handle
+ # 64-bit systems which use 'lib64'
+ INSTALL(TARGETS yajl
+- RUNTIME DESTINATION lib${LIB_SUFFIX}
++ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib${LIB_SUFFIX}
+ ARCHIVE DESTINATION lib${LIB_SUFFIX})
+ INSTALL(TARGETS yajl_s ARCHIVE DESTINATION lib${LIB_SUFFIX})
diff --git a/ports/yajl/portfile.cmake b/ports/yajl/portfile.cmake
new file mode 100644
index 000000000..92742e0a7
--- /dev/null
+++ b/ports/yajl/portfile.cmake
@@ -0,0 +1,34 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO lloyd/yajl
+ REF 2.1.0
+ SHA512 9e786d080803df80ec03a9c2f447501e6e8e433a6baf636824bc1d50ecf4f5f80d7dfb1d47958aeb0a30fe459bd0ef033d41bc6a79e1dc6e6b5eade930b19b02
+ HEAD_REF master
+ PATCHES ${CMAKE_CURRENT_LIST_DIR}/cmake.patch
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+)
+
+vcpkg_install_cmake()
+
+file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/yajl RENAME copyright)
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share ${CURRENT_PACKAGES_DIR}/share/pkgconfig)
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
+ file(GLOB SHAREDOBJECTS ${CURRENT_PACKAGES_DIR}/lib/libyajl.so* ${CURRENT_PACKAGES_DIR}/debug/lib/libyajl.so*)
+ file(REMOVE_RECURSE ${SHAREDOBJECTS} ${CURRENT_PACKAGES_DIR}/lib/yajl.lib ${CURRENT_PACKAGES_DIR}/debug/lib/yajl.lib)
+else()
+ file(GLOB EXES ${CURRENT_PACKAGES_DIR}/bin/*.exe ${CURRENT_PACKAGES_DIR}/debug/bin/*.exe)
+ file(REMOVE_RECURSE
+ ${EXES}
+ ${CURRENT_PACKAGES_DIR}/lib/yajl_s.lib ${CURRENT_PACKAGES_DIR}/debug/lib/yajl_s.lib
+ ${CURRENT_PACKAGES_DIR}/lib/libyajl_s.a ${CURRENT_PACKAGES_DIR}/debug/lib/libyajl_s.a
+ )
+endif()
diff --git a/ports/yaml-cpp/portfile.cmake b/ports/yaml-cpp/portfile.cmake
index 0fc4f05b6..071931f64 100644
--- a/ports/yaml-cpp/portfile.cmake
+++ b/ports/yaml-cpp/portfile.cmake
@@ -17,7 +17,12 @@ vcpkg_configure_cmake(
vcpkg_install_cmake()
vcpkg_copy_pdbs()
-vcpkg_fixup_cmake_targets(CONFIG_PATH CMake)
+if(EXISTS ${CURRENT_PACKAGES_DIR}/CMake)
+ vcpkg_fixup_cmake_targets(CONFIG_PATH CMake)
+endif()
+if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/cmake/yaml-cpp)
+ vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/yaml-cpp)
+endif()
# Adjust paths and remove hardcoded ones from the config files
file(READ ${CURRENT_PACKAGES_DIR}/share/yaml-cpp/yaml-cpp-config.cmake YAML_CONFIG)
@@ -32,7 +37,14 @@ get_filename_component(_IMPORT_PREFIX \"\${_IMPORT_PREFIX}\" PATH)
get_filename_component(_IMPORT_PREFIX \"\${_IMPORT_PREFIX}\" PATH)" YAML_CONFIG "${YAML_CONFIG}")
file(WRITE ${CURRENT_PACKAGES_DIR}/share/yaml-cpp/yaml-cpp-targets.cmake "${YAML_CONFIG}")
-foreach(CONF debug release)
+set(_targets_cmake_conf)
+if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
+ list(APPEND _targets_cmake_conf "debug")
+endif()
+if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
+ list(APPEND _targets_cmake_conf "release")
+endif()
+foreach(CONF ${_targets_cmake_conf})
file(READ ${CURRENT_PACKAGES_DIR}/share/yaml-cpp/yaml-cpp-targets-${CONF}.cmake YAML_CONFIG)
string(REPLACE "${CURRENT_PACKAGES_DIR}" "\${_IMPORT_PREFIX}" YAML_CONFIG "${YAML_CONFIG}")
file(WRITE ${CURRENT_PACKAGES_DIR}/share/yaml-cpp/yaml-cpp-targets-${CONF}.cmake "${YAML_CONFIG}")
diff --git a/ports/yato/CONTROL b/ports/yato/CONTROL
new file mode 100644
index 000000000..f19519315
--- /dev/null
+++ b/ports/yato/CONTROL
@@ -0,0 +1,3 @@
+Source: yato
+Version: 1.0-1
+Description: Modern C++14 containers and utilities, actors system, typesafe config
diff --git a/ports/yato/portfile.cmake b/ports/yato/portfile.cmake
new file mode 100644
index 000000000..44ee93782
--- /dev/null
+++ b/ports/yato/portfile.cmake
@@ -0,0 +1,41 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_bitbucket(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO alexey_gruzdev/yato
+ REF v1.0
+ SHA512 631b870fd2704a03d9d66ef244f4e50968ae63da4fda0c7cd1f6ce2cea2b1e8b4506b0148cd1af1e133a70fd5d9cdc9d8c054edac6141118ee3c9427e186b270
+ HEAD_REF master
+)
+
+# Copy all header files
+file(COPY "${SOURCE_PATH}/include/yato"
+ DESTINATION "${CURRENT_PACKAGES_DIR}/include"
+)
+file(COPY "${SOURCE_PATH}/modules/actors/yato"
+ DESTINATION "${CURRENT_PACKAGES_DIR}/include"
+)
+file(COPY "${SOURCE_PATH}/modules/config/yato"
+ DESTINATION "${CURRENT_PACKAGES_DIR}/include"
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ OPTIONS
+ -DYATO_BUILD_TESTS:BOOL=OFF
+ -DYATO_BUILD_ACTORS:BOOL=ON
+ -DYATO_BUILD_CONFIG:BOOL=ON
+ -DYATO_CONFIG_MANUAL:BOOL=ON
+ -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG:PATH=${CURRENT_PACKAGES_DIR}/debug/lib/
+ -DCMAKE_LIBRARY_OUTPUT_DIRECTORY_DEBUG:PATH=${CURRENT_PACKAGES_DIR}/debug/lib/
+ -DCMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG:PATH=${CURRENT_PACKAGES_DIR}/debug/lib/
+ -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE:PATH=${CURRENT_PACKAGES_DIR}/lib/
+ -DCMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE:PATH=${CURRENT_PACKAGES_DIR}/lib/
+ -DCMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE:PATH=${CURRENT_PACKAGES_DIR}/lib/
+)
+
+vcpkg_build_cmake()
+
+# Handle copyright
+file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/yato)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/yato/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/yato/copyright)
diff --git a/ports/yoga/CONTROL b/ports/yoga/CONTROL
index c8ff36c24..7a96eb9c2 100644
--- a/ports/yoga/CONTROL
+++ b/ports/yoga/CONTROL
@@ -1,3 +1,3 @@
Source: yoga
-Version: 1.7.0
+Version: 1.8.0-1
Description: Yoga is a cross-platform layout engine which implements Flexbox
diff --git a/ports/yoga/portfile.cmake b/ports/yoga/portfile.cmake
index ba13192c8..5dbb4e527 100644
--- a/ports/yoga/portfile.cmake
+++ b/ports/yoga/portfile.cmake
@@ -12,7 +12,8 @@
include(vcpkg_common_functions)
if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
- message(FATAL_ERROR "Error: Dynamic building not supported yet.")
+ message(WARNING "Dynamic not supported, building static")
+ set(VCPKG_LIBRARY_LINKAGE static)
elseif (VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore)
message(FATAL_ERROR "Error: UWP builds not supported yet.")
endif()
@@ -20,8 +21,8 @@ endif()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO facebook/yoga
- REF 1.7.0
- SHA512 3472a6db429e1fd0365321b2e663935741c4c97331f3936ea7b590b8218ada567ef7517fb20b1c843c1aad393e2b564e9626170a3d6c25e85450f9e8eb7ffdcc
+ REF v1.8.0
+ SHA512 9af0e9e66ce223c99a9cab12721099ca40f85d2fa2a0e0a7d2bcff6d5acc5b6ca0edaaa53e49ec921bf78bb986070702cfe3271c4819147486dad6f6ee93e690
HEAD_REF master
)
@@ -33,8 +34,12 @@ vcpkg_build_cmake()
vcpkg_copy_pdbs()
file(INSTALL ${SOURCE_PATH}/yoga DESTINATION ${CURRENT_PACKAGES_DIR}/include FILES_MATCHING PATTERN "*.h")
-file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/Release/yogacore.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
-file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/Debug/yogacore.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
+if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
+ file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/Release/yogacore.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
+endif()
+if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
+ file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/Debug/yogacore.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
+endif()
vcpkg_copy_pdbs()
diff --git a/ports/zeromq/CONTROL b/ports/zeromq/CONTROL
index 2e876f6e1..013800189 100644
--- a/ports/zeromq/CONTROL
+++ b/ports/zeromq/CONTROL
@@ -1,3 +1,3 @@
Source: zeromq
-Version: 20170908-18498f620f0f6d4076981ea16eb5760fe4d28dc2-2
+Version: 2018-04-25
Description: The ZeroMQ lightweight messaging kernel is a library which extends the standard socket interfaces with features traditionally provided by specialised messaging middleware products
diff --git a/ports/zeromq/portfile.cmake b/ports/zeromq/portfile.cmake
index e5a5d567b..0bdb2a47b 100644
--- a/ports/zeromq/portfile.cmake
+++ b/ports/zeromq/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO zeromq/libzmq
- REF 18498f620f0f6d4076981ea16eb5760fe4d28dc2
- SHA512 0c4a5c72455411f47283da3cad381600101be19a62437ad8e2c38e5f18fb6d621a3136e402c6eb9ba153f3d6333da9902335c2dacd8405094d4d1269df28d4af
+ REF 69a894e1cb34c42026512a6a30f3ea6a0c77e675
+ SHA512 215d9863545a6218b51de4c316d26fdb191164d356ae425bc3e15772954a1a96ee6f57aa13fdfb1f0e2a30dc7c3ca1d434b0e61ebbd31d0f1087306d529162d3
HEAD_REF master
)
@@ -31,15 +31,23 @@ vcpkg_install_cmake()
vcpkg_copy_pdbs()
-vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/ZeroMQ)
+if(EXISTS ${CURRENT_PACKAGES_DIR}/CMake)
+ vcpkg_fixup_cmake_targets(CONFIG_PATH CMake)
+endif()
+if(EXISTS ${CURRENT_PACKAGES_DIR}/share/cmake/ZeroMQ)
+ vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/ZeroMQ)
+endif()
file(READ ${CURRENT_PACKAGES_DIR}/share/zeromq/ZeroMQConfig.cmake _contents)
if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
string(REPLACE "get_target_property(ZeroMQ_STATIC_LIBRARY libzmq-static LOCATION)" "add_library(libzmq-static INTERFACE IMPORTED)\nset_target_properties(libzmq-static PROPERTIES INTERFACE_LINK_LIBRARIES libzmq)" _contents "${_contents}")
set(_contents "${_contents}\nset(ZeroMQ_STATIC_LIBRARY \${ZeroMQ_LIBRARY})\n")
else()
+ string(REPLACE "get_target_property(ZeroMQ_INCLUDE_DIR libzmq INTERFACE_INCLUDE_DIRECTORIES)" "get_target_property(ZeroMQ_INCLUDE_DIR libzmq-static INTERFACE_INCLUDE_DIRECTORIES)" _contents "${_contents}")
string(REPLACE "get_target_property(ZeroMQ_LIBRARY libzmq LOCATION)" "add_library(libzmq INTERFACE IMPORTED)\nset_target_properties(libzmq PROPERTIES INTERFACE_LINK_LIBRARIES libzmq-static)" _contents "${_contents}")
set(_contents "${_contents}\nset(ZeroMQ_LIBRARY \${ZeroMQ_STATIC_LIBRARY})\n")
+
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
endif()
file(WRITE ${CURRENT_PACKAGES_DIR}/share/zeromq/ZeroMQConfig.cmake "${_contents}")
diff --git a/ports/zlib/portfile.cmake b/ports/zlib/portfile.cmake
index 291180a29..d924e2135 100644
--- a/ports/zlib/portfile.cmake
+++ b/ports/zlib/portfile.cmake
@@ -32,6 +32,8 @@ vcpkg_install_cmake()
if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/zlibstatic.lib)
file(RENAME ${CURRENT_PACKAGES_DIR}/lib/zlibstatic.lib ${CURRENT_PACKAGES_DIR}/lib/zlib.lib)
+ endif()
+ if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/zlibstaticd.lib)
file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/zlibstaticd.lib ${CURRENT_PACKAGES_DIR}/debug/lib/zlibd.lib)
endif()
endif()
diff --git a/ports/zstd/portfile.cmake b/ports/zstd/portfile.cmake
index 1b0aa24ac..c691a989c 100644
--- a/ports/zstd/portfile.cmake
+++ b/ports/zstd/portfile.cmake
@@ -34,7 +34,7 @@ vcpkg_configure_cmake(
vcpkg_install_cmake()
vcpkg_copy_pdbs()
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share)
if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
foreach(HEADER zdict.h zstd.h zstd_errors.h)
diff --git a/ports/zziplib/CONTROL b/ports/zziplib/CONTROL
index 2b7447609..4d4f7ea58 100644
--- a/ports/zziplib/CONTROL
+++ b/ports/zziplib/CONTROL
@@ -1,4 +1,4 @@
Source: zziplib
-Version: 0.13.62-1
+Version: 0.13.69
Build-Depends: zlib
Description: library providing read access on ZIP-archives
diff --git a/ports/zziplib/portfile.cmake b/ports/zziplib/portfile.cmake
index 68419be3b..2ff90af94 100644
--- a/ports/zziplib/portfile.cmake
+++ b/ports/zziplib/portfile.cmake
@@ -2,8 +2,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO gdraheim/zziplib
- REF v0.13.68
- SHA512 e8a9976242acc04064ec239b9b929228370a946e5bd37092adcc1bda14605710a3850d39795d1937b609d1ab9a9a1998152f8c88b2dccc387ac6ec774d9cfce9
+ REF v0.13.69
+ SHA512 ade026289737f43ca92a8746818d87dd7618d473dbce159546ce9071c9e4cbe164a6b1c9efff16efb7aa0327b2ec6b34f3256c6bda19cd6e325703fffc810ef0
)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
diff --git a/scripts/SHA256Hash.ps1 b/scripts/SHA256Hash.ps1
deleted file mode 100644
index 348d461b7..000000000
--- a/scripts/SHA256Hash.ps1
+++ /dev/null
@@ -1,9 +0,0 @@
-[CmdletBinding()]
-Param(
- [Parameter(Mandatory=$True)]
- [String]$Value
-)
-
-$sha256 = New-Object -TypeName System.Security.Cryptography.SHA256CryptoServiceProvider
-$utf8 = New-Object -TypeName System.Text.UTF8Encoding
-[System.BitConverter]::ToString($sha256.ComputeHash($utf8.GetBytes($Value)))
diff --git a/scripts/VcpkgPowershellUtils.ps1 b/scripts/VcpkgPowershellUtils.ps1
index 73a3fc9ad..3ea18116b 100644
--- a/scripts/VcpkgPowershellUtils.ps1
+++ b/scripts/VcpkgPowershellUtils.ps1
@@ -84,22 +84,28 @@ function vcpkgGetCredentials()
}
}
-function vcpkgGetSHA256([Parameter(Mandatory=$true)][string]$filePath)
+function vcpkgGetSHA512([Parameter(Mandatory=$true)][string]$filePath)
{
if (vcpkgHasCommand -commandName 'Microsoft.PowerShell.Utility\Get-FileHash')
{
Write-Verbose("Hashing with Microsoft.PowerShell.Utility\Get-FileHash")
- $hash = (Microsoft.PowerShell.Utility\Get-FileHash -Path $filePath -Algorithm SHA256).Hash
+ $hashresult = Microsoft.PowerShell.Utility\Get-FileHash -Path $filePath -Algorithm SHA512 -ErrorVariable hashError
+ if ($hashError)
+ {
+ Start-Sleep 3
+ $hashresult = Microsoft.PowerShell.Utility\Get-FileHash -Path $filePath -Algorithm SHA512 -ErrorVariable Stop
+ }
+ $hash = $hashresult.Hash
}
elseif(vcpkgHasCommand -commandName 'Pscx\Get-Hash')
{
Write-Verbose("Hashing with Pscx\Get-Hash")
- $hash = (Pscx\Get-Hash -Path $filePath -Algorithm SHA256).HashString
+ $hash = (Pscx\Get-Hash -Path $filePath -Algorithm SHA512).HashString
}
else
{
Write-Verbose("Hashing with .NET")
- $hashAlgorithm = [Security.Cryptography.HashAlgorithm]::Create("SHA256")
+ $hashAlgorithm = [Security.Cryptography.HashAlgorithm]::Create("SHA512")
$fileAsByteArray = [io.File]::ReadAllBytes($filePath)
$hashByteArray = $hashAlgorithm.ComputeHash($fileAsByteArray)
$hash = -Join ($hashByteArray | ForEach-Object {"{0:x2}" -f $_})
@@ -108,28 +114,26 @@ function vcpkgGetSHA256([Parameter(Mandatory=$true)][string]$filePath)
return $hash.ToLower()
}
-function vcpkgCheckEqualFileHash( [Parameter(Mandatory=$true)][string]$filePath,
- [Parameter(Mandatory=$true)][string]$expectedHash,
- [Parameter(Mandatory=$true)][string]$actualHash )
+function vcpkgCheckEqualFileHash( [Parameter(Mandatory=$true)][string]$url,
+ [Parameter(Mandatory=$true)][string]$filePath,
+ [Parameter(Mandatory=$true)][string]$expectedHash)
{
- if ($expectedDownloadedFileHash -ne $downloadedFileHash)
+ $actualHash = vcpkgGetSHA512 $filePath
+ if ($expectedHash -ne $actualHash)
{
Write-Host ("`nFile does not have expected hash:`n" +
+ " url: [ $url ]`n" +
" File path: [ $filePath ]`n" +
" Expected hash: [ $expectedHash ]`n" +
" Actual hash: [ $actualHash ]`n")
- throw "Invalid Hash for file $filePath"
+ throw
}
}
function vcpkgDownloadFile( [Parameter(Mandatory=$true)][string]$url,
- [Parameter(Mandatory=$true)][string]$downloadPath)
+ [Parameter(Mandatory=$true)][string]$downloadPath,
+ [Parameter(Mandatory=$true)][string]$sha512)
{
- if (Test-Path $downloadPath)
- {
- return
- }
-
if ($url -match "github")
{
if ([System.Enum]::IsDefined([Net.SecurityProtocolType], "Tls12"))
@@ -140,6 +144,7 @@ function vcpkgDownloadFile( [Parameter(Mandatory=$true)][string]$url,
{
Write-Warning "Github has dropped support for TLS versions prior to 1.2, which is not available on your system"
Write-Warning "Please manually download $url to $downloadPath"
+ Write-Warning "To solve this issue for future downloads, you can also install Windows Management Framework 5.1+"
throw "Download failed"
}
}
@@ -149,7 +154,6 @@ function vcpkgDownloadFile( [Parameter(Mandatory=$true)][string]$url,
$downloadPartPath = "$downloadPath.part"
vcpkgRemoveItem $downloadPartPath
-
$wc = New-Object System.Net.WebClient
if (!$wc.Proxy.IsBypassed($url))
{
@@ -157,36 +161,85 @@ function vcpkgDownloadFile( [Parameter(Mandatory=$true)][string]$url,
}
$wc.DownloadFile($url, $downloadPartPath)
+ vcpkgCheckEqualFileHash -url $url -filePath $downloadPartPath -expectedHash $sha512
+ Move-Item -Path $downloadPartPath -Destination $downloadPath
+}
+
+function vcpkgDownloadFileWithAria2( [Parameter(Mandatory=$true)][string]$aria2exe,
+ [Parameter(Mandatory=$true)][string]$url,
+ [Parameter(Mandatory=$true)][string]$downloadPath,
+ [Parameter(Mandatory=$true)][string]$sha512)
+{
+ vcpkgCreateParentDirectoryIfNotExists $downloadPath
+ $downloadPartPath = "$downloadPath.part"
+ vcpkgRemoveItem $downloadPartPath
+
+ $parentDir = split-path -parent $downloadPath
+ $filename = split-path -leaf $downloadPath
+
+ if ((Test-Path $url) -or ($url.StartsWith("file://"))) # if is local file
+ {
+ vcpkgDownloadFile $url $downloadPath $sha512
+ return
+ }
+
+ $ec = vcpkgInvokeCommand "$aria2exe" "--dir=`"$parentDir`" --out=`"$filename.part`" $url"
+ if ($ec -ne 0)
+ {
+ Write-Host "Could not download $url"
+ throw
+ }
+
+ vcpkgCheckEqualFileHash -url $url -filePath $downloadPartPath -expectedHash $sha512
Move-Item -Path $downloadPartPath -Destination $downloadPath
}
-function vcpkgExtractFile( [Parameter(Mandatory=$true)][string]$file,
- [Parameter(Mandatory=$true)][string]$destinationDir,
- [Parameter(Mandatory=$true)][string]$outFilename)
+function vcpkgExtractFileWith7z([Parameter(Mandatory=$true)][string]$sevenZipExe,
+ [Parameter(Mandatory=$true)][string]$archivePath,
+ [Parameter(Mandatory=$true)][string]$destinationDir)
{
- vcpkgCreateDirectoryIfNotExists $destinationDir
- $output = "$destinationDir\$outFilename"
- vcpkgRemoveItem $output
- $destinationPartial = "$destinationDir\partially-extracted"
+ vcpkgRemoveItem $destinationDir
+ $destinationPartial = "$destinationDir.partial"
+ vcpkgRemoveItem $destinationPartial
+ vcpkgCreateDirectoryIfNotExists $destinationPartial
+ $ec = vcpkgInvokeCommand "$sevenZipExe" "x `"$archivePath`" -o`"$destinationPartial`" -y"
+ if ($ec -ne 0)
+ {
+ Write-Host "Could not extract $archivePath"
+ throw
+ }
+ Rename-Item -Path "$destinationPartial" -NewName $destinationDir -ErrorVariable renameResult
+ if ($renameResult)
+ {
+ Start-Sleep 3
+ Rename-Item -Path "$destinationPartial" -NewName $destinationDir -ErrorAction Stop
+ }
+}
+function vcpkgExtractZipFile( [Parameter(Mandatory=$true)][string]$archivePath,
+ [Parameter(Mandatory=$true)][string]$destinationDir)
+{
+ vcpkgRemoveItem $destinationDir
+ $destinationPartial = "$destinationDir.partial"
vcpkgRemoveItem $destinationPartial
vcpkgCreateDirectoryIfNotExists $destinationPartial
+
if (vcpkgHasCommand -commandName 'Microsoft.PowerShell.Archive\Expand-Archive')
{
Write-Verbose("Extracting with Microsoft.PowerShell.Archive\Expand-Archive")
- Microsoft.PowerShell.Archive\Expand-Archive -path $file -destinationpath $destinationPartial
+ Microsoft.PowerShell.Archive\Expand-Archive -path $archivePath -destinationpath $destinationPartial
}
elseif (vcpkgHasCommand -commandName 'Pscx\Expand-Archive')
{
Write-Verbose("Extracting with Pscx\Expand-Archive")
- Pscx\Expand-Archive -path $file -OutputPath $destinationPartial
+ Pscx\Expand-Archive -path $archivePath -OutputPath $destinationPartial
}
else
{
Write-Verbose("Extracting via shell")
$shell = new-object -com shell.application
- $zip = $shell.NameSpace($(Get-Item $file).fullname)
+ $zip = $shell.NameSpace($(Get-Item $archivePath).fullname)
foreach($item in $zip.items())
{
# Piping to Out-Null is used to block until finished
@@ -194,17 +247,7 @@ function vcpkgExtractFile( [Parameter(Mandatory=$true)][string]$file,
}
}
- $itemCount = @(Get-ChildItem "$destinationPartial").Count
-
- if ($itemCount -eq 1)
- {
- Move-Item -Path "$destinationPartial\*" -Destination $output
- vcpkgRemoveItem $destinationPartial
- }
- else
- {
- Move-Item -Path "$destinationPartial" -Destination $output
- }
+ Rename-Item -Path "$destinationPartial" -NewName $destinationDir
}
function vcpkgInvokeCommand()
diff --git a/scripts/bootstrap.sh b/scripts/bootstrap.sh
new file mode 100644
index 000000000..037a9136d
--- /dev/null
+++ b/scripts/bootstrap.sh
@@ -0,0 +1,195 @@
+#!/bin/sh
+
+# Find vcpkg-root
+vcpkgRootDir=$(X= cd -- "$(dirname -- "$0")" && pwd -P)
+while [ "$vcpkgRootDir" != "/" ] && ! [ -e "$vcpkgRootDir/.vcpkg-root" ]; do
+ vcpkgRootDir="$(dirname "$vcpkgRootDir")"
+done
+
+downloadsDir="$vcpkgRootDir/downloads"
+
+extractStringBetweenDelimiters()
+{
+ input=$1;leftDelim=$2;rightDelim=$3
+ output="${input##*$leftDelim}"
+ output="${output%%$rightDelim*}"
+ echo "$output"
+}
+
+vcpkgCheckRepoTool()
+{
+ __tool=$1
+ if ! command -v "$__tool" >/dev/null 2>&1 ; then
+ echo "Could not find $__tool. Please install it (and other dependencies) with:"
+ echo "sudo apt-get install curl unzip tar"
+ exit 1
+ fi
+}
+
+vcpkgCheckEqualFileHash()
+{
+ url=$1; filePath=$2; expectedHash=$3
+
+ if command -v "sha512sum" >/dev/null 2>&1 ; then
+ actualHash=$(sha512sum "$filePath")
+ else
+ # sha512sum is not available by default on osx
+ # shasum is not available by default on Fedora
+ actualHash=$(shasum -a 512 "$filePath")
+ fi
+
+ actualHash="${actualHash%% *}" # shasum returns [hash filename], so get the first word
+
+ if ! [ "$expectedHash" = "$actualHash" ]; then
+ echo ""
+ echo "File does not have expected hash:"
+ echo " url: [ $url ]"
+ echo " File path: [ $downloadPath ]"
+ echo " Expected hash: [ $sha512 ]"
+ echo " Actual hash: [ $actualHash ]"
+ exit
+ fi
+}
+
+vcpkgDownloadFile()
+{
+ url=$1; downloadPath=$2 sha512=$3
+ vcpkgCheckRepoTool "curl"
+ rm -rf "$downloadPath.part"
+ curl -L $url --create-dirs --output "$downloadPath.part" || exit 1
+
+ vcpkgCheckEqualFileHash $url "$downloadPath.part" $sha512
+ mv "$downloadPath.part" "$downloadPath"
+}
+
+vcpkgExtractArchive()
+{
+ archive=$1; toPath=$2
+ rm -rf "$toPath" "$toPath.partial"
+ mkdir -p "$toPath.partial"
+
+ archiveType="${archive##*.}"
+ if [ "$archiveType" = "zip" ]; then
+ vcpkgCheckRepoTool "unzip"
+ $(cd "$toPath.partial" && unzip -qqo "$archive")
+ else
+ vcpkgCheckRepoTool "tar"
+ $(cd "$toPath.partial" && tar xzf "$archive")
+ fi
+ mv "$toPath.partial" "$toPath"
+}
+
+fetchTool()
+{
+ tool=$1; UNAME=$2; __output=$3
+
+ if [ "$tool" = "" ]; then
+ echo "No tool name provided"
+ return 1
+ fi
+
+ if [ "$UNAME" = "Linux" ]; then
+ os="linux"
+ elif [ "$UNAME" = "Darwin" ]; then
+ os="osx"
+ else
+ echo "Unknown uname: $UNAME"
+ return 1
+ fi
+
+ xmlFileAsString=`cat $vcpkgRootDir/scripts/vcpkgTools.xml`
+ toolRegexStart="<tool name=\"$tool\" os=\"$os\">"
+ toolData="$(extractStringBetweenDelimiters "$xmlFileAsString" "$toolRegexStart" "</tool>")"
+ if [ "$toolData" = "" ]; then
+ echo "Unknown tool: $tool"
+ return 1
+ fi
+
+ version="$(extractStringBetweenDelimiters "$toolData" "<version>" "</version>")"
+
+ toolPath="$downloadsDir/tools/$tool-$version-$os"
+
+ exeRelativePath="$(extractStringBetweenDelimiters "$toolData" "<exeRelativePath>" "</exeRelativePath>")"
+ exePath="$toolPath/$exeRelativePath"
+
+ if [ -e "$exePath" ]; then
+ eval $__output="'$exePath'"
+ return 0
+ fi
+
+ isArchive=true
+ if [ $isArchive = true ]; then
+ archiveName="$(extractStringBetweenDelimiters "$toolData" "<archiveName>" "</archiveName>")"
+ downloadPath="$downloadsDir/$archiveName"
+ else
+ echo "Non-archives not supported yet"
+ return 1
+ fi
+
+ url="$(extractStringBetweenDelimiters "$toolData" "<url>" "</url>")"
+ sha512="$(extractStringBetweenDelimiters "$toolData" "<sha512>" "</sha512>")"
+ if ! [ -e "$downloadPath" ]; then
+ echo "Downloading $tool..."
+ vcpkgDownloadFile $url "$downloadPath" $sha512
+ echo "Downloading $tool... done."
+ else
+ vcpkgCheckEqualFileHash $url "$downloadPath" $sha512
+ fi
+
+ if [ $isArchive = true ]; then
+ echo "Extracting $tool..."
+ vcpkgExtractArchive "$downloadPath" "$toolPath"
+ echo "Extracting $tool... done."
+ fi
+
+ if ! [ -e "$exePath" ]; then
+ echo "Could not detect or download $tool"
+ return 1
+ fi
+
+ eval $__output="'$exePath'"
+ return 0
+}
+
+selectCXX()
+{
+ __output=$1
+
+ if [ "x$CXX" = "x" ]; then
+ CXX=g++
+ if which g++-7 >/dev/null 2>&1; then
+ CXX=g++-7
+ elif which g++-6 >/dev/null 2>&1; then
+ CXX=g++-6
+ fi
+ fi
+
+ gccversion="$("$CXX" -v 2>&1)"
+ gccversion="$(extractStringBetweenDelimiters "$gccversion" "gcc version " ".")"
+ if [ "$gccversion" -lt "6" ]; then
+ echo "CXX ($CXX) is too old; please install a newer compiler such as g++-7."
+ echo "sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y"
+ echo "sudo apt-get update -y"
+ echo "sudo apt-get install g++-7 -y"
+ return 1
+ fi
+
+ eval $__output="'$CXX'"
+}
+
+# Preparation
+UNAME="$(uname)"
+fetchTool "cmake" "$UNAME" cmakeExe || exit 1
+fetchTool "ninja" "$UNAME" ninjaExe || exit 1
+selectCXX CXX || exit 1
+
+# Do the build
+buildDir="$vcpkgRootDir/toolsrc/build.rel"
+rm -rf "$buildDir"
+mkdir -p "$buildDir"
+
+(cd "$buildDir" && CXX=$CXX "$cmakeExe" .. -DCMAKE_BUILD_TYPE=Release -G "Ninja" "-DCMAKE_MAKE_PROGRAM=$ninjaExe")
+(cd "$buildDir" && "$cmakeExe" --build .)
+
+rm -rf "$vcpkgRootDir/vcpkg"
+cp "$buildDir/vcpkg" "$vcpkgRootDir/"
diff --git a/scripts/buildsystems/msbuild/applocal.ps1 b/scripts/buildsystems/msbuild/applocal.ps1
index 3f0f2ef37..e5f3c3dd0 100644
--- a/scripts/buildsystems/msbuild/applocal.ps1
+++ b/scripts/buildsystems/msbuild/applocal.ps1
@@ -4,6 +4,7 @@ param([string]$targetBinary, [string]$installedDir, [string]$tlogFile, [string]$
$g_searched = @{}
# Note: installedDir is actually the bin\ directory.
$g_install_root = Split-Path $installedDir -parent
+$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)
@@ -63,6 +64,13 @@ function resolve([string]$targetBinary) {
deployBinary $baseTargetBinaryDir $installedDir "$_"
if (Test-Path function:\deployPluginsIfQt) { deployPluginsIfQt $targetBinaryDir "$g_install_root\plugins" "$_" }
if (Test-Path function:\deployOpenNI2) { deployOpenNI2 $targetBinaryDir "$g_install_root" "$_" }
+ if (Test-Path function:\deployPluginsIfMagnum) {
+ if ($g_is_debug) {
+ deployPluginsIfMagnum $targetBinaryDir "$g_install_root\bin\magnum-d" "$_"
+ } else {
+ deployPluginsIfMagnum $targetBinaryDir "$g_install_root\bin\magnum" "$_"
+ }
+ }
resolve "$baseTargetBinaryDir\$_"
} elseif (Test-Path "$targetBinaryDir\$_") {
Write-Verbose " ${_}: $_ not found in vcpkg; locally deployed"
@@ -85,5 +93,12 @@ if (Test-Path "$g_install_root\bin\OpenNI2\openni2deploy.ps1") {
. "$g_install_root\bin\OpenNI2\openni2deploy.ps1"
}
+# Note: This is a hack to make Magnum work.
+if (Test-Path "$g_install_root\bin\magnum\magnumdeploy.ps1") {
+ . "$g_install_root\bin\magnum\magnumdeploy.ps1"
+} elseif (Test-Path "$g_install_root\bin\magnum-d\magnumdeploy.ps1") {
+ . "$g_install_root\bin\magnum-d\magnumdeploy.ps1"
+}
+
resolve($targetBinary)
-Write-Verbose $($g_searched | out-string) \ No newline at end of file
+Write-Verbose $($g_searched | out-string)
diff --git a/scripts/buildsystems/vcpkg.cmake b/scripts/buildsystems/vcpkg.cmake
index 1d1977e6a..91c196fb9 100644
--- a/scripts/buildsystems/vcpkg.cmake
+++ b/scripts/buildsystems/vcpkg.cmake
@@ -44,7 +44,7 @@ else()
elseif(_VCPKG_CL MATCHES "arm/cl.exe$")
set(_VCPKG_TARGET_TRIPLET_ARCH arm)
elseif(_VCPKG_CL MATCHES "arm64/cl.exe$")
- set(_VCPKG_TARGET_TRIPLET_ARCH arm64)
+ set(_VCPKG_TARGET_TRIPLET_ARCH arm64)
elseif(_VCPKG_CL MATCHES "bin/cl.exe$" OR _VCPKG_CL MATCHES "x86/cl.exe$")
set(_VCPKG_TARGET_TRIPLET_ARCH x86)
elseif(CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "x86_64")
@@ -57,12 +57,14 @@ endif()
if(CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" OR CMAKE_SYSTEM_NAME STREQUAL "WindowsPhone")
set(_VCPKG_TARGET_TRIPLET_PLAT uwp)
-elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
+elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux" OR (NOT CMAKE_SYSTEM_NAME AND CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux"))
set(_VCPKG_TARGET_TRIPLET_PLAT linux)
-elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
+elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin" OR (NOT CMAKE_SYSTEM_NAME AND CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin"))
set(_VCPKG_TARGET_TRIPLET_PLAT osx)
-else()
+elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows" OR (NOT CMAKE_SYSTEM_NAME AND CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows"))
set(_VCPKG_TARGET_TRIPLET_PLAT windows)
+elseif(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR (NOT CMAKE_SYSTEM_NAME AND CMAKE_HOST_SYSTEM_NAME STREQUAL "FreeBSD"))
+ set(_VCPKG_TARGET_TRIPLET_PLAT freebsd)
endif()
set(VCPKG_TARGET_TRIPLET ${_VCPKG_TARGET_TRIPLET_ARCH}-${_VCPKG_TARGET_TRIPLET_PLAT} CACHE STRING "Vcpkg target triplet (ex. x86-windows)")
@@ -108,16 +110,6 @@ list(APPEND CMAKE_LIBRARY_PATH
${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib/manual-link
)
-if (NOT DEFINED CMAKE_SYSTEM_VERSION AND _VCPKG_TARGET_TRIPLET_PLAT MATCHES "windows|uwp")
- include(${_VCPKG_ROOT_DIR}/scripts/cmake/vcpkg_get_windows_sdk.cmake)
- # This is used as an implicit parameter for vcpkg_get_windows_sdk
- set(VCPKG_ROOT_DIR ${_VCPKG_ROOT_DIR})
- vcpkg_get_windows_sdk(WINDOWS_SDK_VERSION)
- unset(VCPKG_ROOT_DIR)
- set(CMAKE_SYSTEM_VERSION ${WINDOWS_SDK_VERSION} CACHE STRING "Windows SDK version")
- message(STATUS "Found Windows SDK ${WINDOWS_SDK_VERSION}")
-endif()
-
file(TO_CMAKE_PATH "$ENV{PROGRAMFILES}" _programfiles)
set(CMAKE_SYSTEM_IGNORE_PATH
"${_programfiles}/OpenSSL"
@@ -188,24 +180,14 @@ macro(find_package name)
if(EXISTS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/share/${_vcpkg_lowercase_name}/vcpkg-cmake-wrapper.cmake")
set(ARGS "${ARGV}")
include(${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/share/${_vcpkg_lowercase_name}/vcpkg-cmake-wrapper.cmake)
- elseif("${name}" STREQUAL "Boost")
- set(_Boost_USE_STATIC_LIBS ${Boost_USE_STATIC_LIBS})
- set(_Boost_USE_MULTITHREADED ${Boost_USE_MULTITHREADED})
- set(_Boost_USE_STATIC_RUNTIME ${Boost_USE_STATIC_RUNTIME})
- set(_Boost_COMPILER ${Boost_COMPILER})
+ elseif("${name}" STREQUAL "Boost" AND EXISTS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include/boost")
+ # Checking for the boost headers disables this wrapper unless the user has installed at least one boost library
unset(Boost_USE_STATIC_LIBS)
unset(Boost_USE_MULTITHREADED)
unset(Boost_USE_STATIC_RUNTIME)
set(Boost_COMPILER "-vc140")
_find_package(${ARGV})
- if(NOT Boost_FOUND)
- set(Boost_USE_STATIC_LIBS ${_Boost_USE_STATIC_LIBS})
- set(Boost_USE_MULTITHREADED ${_Boost_USE_MULTITHREADED})
- set(Boost_USE_STATIC_RUNTIME ${_Boost_USE_STATIC_RUNTIME})
- set(Boost_COMPILER ${_Boost_COMPILER})
- _find_package(${ARGV})
- endif()
- elseif("${name}" STREQUAL "ICU")
+ elseif("${name}" STREQUAL "ICU" AND EXISTS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include/unicode/utf.h")
function(_vcpkg_find_in_list)
list(FIND ARGV "COMPONENTS" COMPONENTS_IDX)
set(COMPONENTS_IDX ${COMPONENTS_IDX} PARENT_SCOPE)
@@ -216,7 +198,7 @@ macro(find_package name)
else()
_find_package(${ARGV})
endif()
- elseif("${name}" STREQUAL "TIFF")
+ elseif("${name}" STREQUAL "TIFF" AND EXISTS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include/tiff.h")
_find_package(${ARGV})
find_package(LibLZMA)
if(TARGET TIFF::TIFF)
@@ -225,24 +207,7 @@ macro(find_package name)
if(TIFF_LIBRARIES)
list(APPEND TIFF_LIBRARIES ${LIBLZMA_LIBRARIES})
endif()
- elseif("${name}" STREQUAL "Freetype")
- _find_package(${ARGV})
- find_package(ZLIB)
- find_package(PNG)
- find_package(BZip2)
- if(TARGET Freetype::Freetype)
- set_property(TARGET Freetype::Freetype APPEND PROPERTY INTERFACE_LINK_LIBRARIES BZip2::BZip2 PNG::PNG ZLIB::ZLIB)
- endif()
- if(FREETYPE_LIBRARIES)
- list(APPEND FREETYPE_LIBRARIES ${BZIP2_LIBRARIES} ${PNG_LIBRARIES} ${ZLIB_LIBRARIES})
- endif()
- elseif("${name}" STREQUAL "tinyxml2")
- _find_package(${ARGV})
- if(TARGET tinyxml2_static AND NOT TARGET tinyxml2)
- _add_library(tinyxml2 INTERFACE IMPORTED)
- set_target_properties(tinyxml2 PROPERTIES INTERFACE_LINK_LIBRARIES "tinyxml2_static")
- endif()
- elseif(("${name}" STREQUAL "HDF5" OR "${name}" STREQUAL "hdf5") AND NOT PROJECT_NAME STREQUAL "VTK")
+ elseif(("${name}" STREQUAL "HDF5" OR "${name}" STREQUAL "hdf5") AND NOT PROJECT_NAME STREQUAL "VTK" AND EXISTS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include/hdf5.h")
# This is a hack to make VTK work. TODO: find another way to suppress the built-in find module.
_find_package(${ARGV} CONFIG)
# Fill in missing static/shared targets
@@ -255,7 +220,7 @@ macro(find_package name)
set_target_properties(hdf5::${HDF5TARGET}-static PROPERTIES INTERFACE_LINK_LIBRARIES "hdf5::${HDF5TARGET}-shared")
endif()
endforeach()
- elseif("${name}" STREQUAL "GSL")
+ elseif("${name}" STREQUAL "GSL" AND EXISTS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include/gsl")
_find_package(${ARGV})
if(GSL_FOUND AND TARGET GSL::gsl)
set_property( TARGET GSL::gslcblas APPEND PROPERTY IMPORTED_CONFIGURATIONS Release )
@@ -267,7 +232,7 @@ macro(find_package name)
set_target_properties( GSL::gslcblas PROPERTIES IMPORTED_LOCATION_DEBUG "${GSL_CBLAS_LIBRARY_DEBUG}" )
endif()
endif()
- elseif("${name}" STREQUAL "CURL")
+ elseif("${name}" STREQUAL "CURL" AND EXISTS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include/curl")
_find_package(${ARGV})
if(CURL_FOUND)
if(EXISTS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib/nghttp2.lib")
@@ -276,16 +241,8 @@ macro(find_package name)
"optimized" "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib/nghttp2.lib")
endif()
endif()
- elseif("${name}" STREQUAL "LibXml2")
- _find_package(${ARGV})
- if(LibXml2_FOUND AND (CMAKE_SYSTEM_NAME STREQUAL "Windows" OR CMAKE_SYSTEM_NAME STREQUAL "WindowsStore"))
- list(APPEND LIBXML2_LIBRARIES
- debug ${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/lib/libiconv.lib
- optimized ${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib/libiconv.lib
- debug ${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/lib/libcharset.lib
- optimized ${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib/libcharset.lib
- ws2_32)
- endif()
+ elseif("${_vcpkg_lowercase_name}" STREQUAL "grpc" AND EXISTS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/share/grpc")
+ _find_package(gRPC ${ARGN})
else()
_find_package(${ARGV})
endif()
diff --git a/scripts/cmake/vcpkg_build_cmake.cmake b/scripts/cmake/vcpkg_build_cmake.cmake
index bdf192792..983ac9221 100644
--- a/scripts/cmake/vcpkg_build_cmake.cmake
+++ b/scripts/cmake/vcpkg_build_cmake.cmake
@@ -15,6 +15,9 @@
## The target passed to the cmake build command (`cmake --build . --target <target>`). If not specified, no target will
## be passed.
##
+## ### ADD_BIN_TO_PATH
+## Adds the appropriate Release and Debug `bin\` directories to the path during the build such that executables can run against the in-tree DLLs.
+##
## ## Notes:
## This command should be preceeded by a call to [`vcpkg_configure_cmake()`](vcpkg_configure_cmake.md).
## You can use the alias [`vcpkg_install_cmake()`](vcpkg_configure_cmake.md) function if your CMake script supports the
@@ -27,7 +30,7 @@
## * [poco](https://github.com/Microsoft/vcpkg/blob/master/ports/poco/portfile.cmake)
## * [opencv](https://github.com/Microsoft/vcpkg/blob/master/ports/opencv/portfile.cmake)
function(vcpkg_build_cmake)
- cmake_parse_arguments(_bc "DISABLE_PARALLEL" "TARGET;LOGFILE_ROOT" "" ${ARGN})
+ cmake_parse_arguments(_bc "DISABLE_PARALLEL;ADD_BIN_TO_PATH" "TARGET;LOGFILE_ROOT" "" ${ARGN})
if(NOT _bc_LOGFILE_ROOT)
set(_bc_LOGFILE_ROOT "build")
@@ -65,20 +68,24 @@ function(vcpkg_build_cmake)
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL BUILDTYPE)
if(BUILDTYPE STREQUAL "debug")
set(SHORT_BUILDTYPE "dbg")
+ set(CONFIG "Debug")
else()
set(SHORT_BUILDTYPE "rel")
+ set(CONFIG "Release")
endif()
message(STATUS "Build ${TARGET_TRIPLET}-${SHORT_BUILDTYPE}")
set(LOGPREFIX "${CURRENT_BUILDTREES_DIR}/${_bc_LOGFILE_ROOT}-${TARGET_TRIPLET}-${SHORT_BUILDTYPE}")
set(LOGS)
- if(BUILDTYPE STREQUAL "release")
- set(CONFIG "Release")
- else()
- set(CONFIG "Debug")
+ if(_bc_ADD_BIN_TO_PATH)
+ set(_BACKUP_ENV_PATH "$ENV{PATH}")
+ if(BUILDTYPE STREQUAL "debug")
+ set(ENV{PATH} "${CURRENT_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/bin;$ENV{PATH}")
+ else()
+ set(ENV{PATH} "${CURRENT_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/bin;$ENV{PATH}")
+ endif()
endif()
-
execute_process(
COMMAND ${CMAKE_COMMAND} --build . --config ${CONFIG} ${TARGET_PARAM} -- ${BUILD_ARGS} ${PARALLEL_ARG}
OUTPUT_FILE "${LOGPREFIX}-out.log"
@@ -98,6 +105,7 @@ function(vcpkg_build_cmake)
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"
@@ -116,6 +124,39 @@ function(vcpkg_build_cmake)
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()
endif()
if(error_code)
@@ -134,6 +175,9 @@ function(vcpkg_build_cmake)
endif()
endif()
message(STATUS "Build ${TARGET_TRIPLET}-${SHORT_BUILDTYPE} done")
+ if(_bc_ADD_BIN_TO_PATH)
+ set(ENV{PATH} "${_BACKUP_ENV_PATH}")
+ endif()
endif()
endforeach()
endfunction()
diff --git a/scripts/cmake/vcpkg_build_msbuild.cmake b/scripts/cmake/vcpkg_build_msbuild.cmake
index b8403d277..db04530ef 100644
--- a/scripts/cmake/vcpkg_build_msbuild.cmake
+++ b/scripts/cmake/vcpkg_build_msbuild.cmake
@@ -19,6 +19,11 @@
## ```
##
## ## Parameters
+## ### USE_VCPKG_INTEGRATION
+## Apply the normal `integrate install` integration for building the project.
+##
+## By default, projects built with this command will not automatically link libraries or have header paths set.
+##
## ### PROJECT_PATH
## The path to the solution (`.sln`) or project (`.vcxproj`) file.
##
@@ -56,7 +61,13 @@
## * [cppunit](https://github.com/Microsoft/vcpkg/blob/master/ports/cppunit/portfile.cmake)
function(vcpkg_build_msbuild)
- cmake_parse_arguments(_csc "" "PROJECT_PATH;RELEASE_CONFIGURATION;DEBUG_CONFIGURATION;PLATFORM;PLATFORM_TOOLSET;TARGET_PLATFORM_VERSION;TARGET" "OPTIONS;OPTIONS_RELEASE;OPTIONS_DEBUG" ${ARGN})
+ cmake_parse_arguments(
+ _csc
+ "USE_VCPKG_INTEGRATION"
+ "PROJECT_PATH;RELEASE_CONFIGURATION;DEBUG_CONFIGURATION;PLATFORM;PLATFORM_TOOLSET;TARGET_PLATFORM_VERSION;TARGET"
+ "OPTIONS;OPTIONS_RELEASE;OPTIONS_DEBUG"
+ ${ARGN}
+ )
if(NOT DEFINED _csc_RELEASE_CONFIGURATION)
set(_csc_RELEASE_CONFIGURATION Release)
@@ -87,6 +98,16 @@ function(vcpkg_build_msbuild)
/m
)
+ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ # Disable LTCG for static libraries because this setting introduces ABI incompatibility between minor compiler versions
+ # TODO: Add a way for the user to override this if they want to opt-in to incompatibility
+ list(APPEND _csc_OPTIONS /p:WholeProgramOptimization=false)
+ endif()
+
+ if(_csc_USE_VCPKG_INTEGRATION)
+ list(APPEND _csc_OPTIONS /p:ForceImportBeforeCppTargets=${VCPKG_ROOT_DIR}/scripts/buildsystems/msbuild/vcpkg.targets)
+ endif()
+
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
message(STATUS "Building ${_csc_PROJECT_PATH} for Release")
file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel)
diff --git a/scripts/cmake/vcpkg_configure_cmake.cmake b/scripts/cmake/vcpkg_configure_cmake.cmake
index 951b6443f..3e0922428 100644
--- a/scripts/cmake/vcpkg_configure_cmake.cmake
+++ b/scripts/cmake/vcpkg_configure_cmake.cmake
@@ -115,6 +115,7 @@ function(vcpkg_configure_cmake)
vcpkg_find_acquire_program(NINJA)
get_filename_component(NINJA_PATH ${NINJA} DIRECTORY)
set(ENV{PATH} "$ENV{PATH};${NINJA_PATH}")
+ list(APPEND _csc_OPTIONS "-DCMAKE_MAKE_PROGRAM=${NINJA}")
endif()
file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg)
@@ -164,6 +165,7 @@ function(vcpkg_configure_cmake)
list(APPEND _csc_OPTIONS
"-DVCPKG_TARGET_TRIPLET=${TARGET_TRIPLET}"
+ "-DVCPKG_PLATFORM_TOOLSET=${VCPKG_PLATFORM_TOOLSET}"
"-DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON"
"-DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON"
"-DCMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY=ON"
@@ -180,6 +182,8 @@ function(vcpkg_configure_cmake)
"-DVCPKG_C_FLAGS_DEBUG=${VCPKG_C_FLAGS_DEBUG}"
"-DVCPKG_CRT_LINKAGE=${VCPKG_CRT_LINKAGE}"
"-DVCPKG_LINKER_FLAGS=${VCPKG_LINKER_FLAGS}"
+ "-DCMAKE_INSTALL_LIBDIR:STRING=lib"
+ "-DCMAKE_INSTALL_BINDIR:STRING=bin"
)
if(DEFINED ARCH)
diff --git a/scripts/cmake/vcpkg_download_distfile.cmake b/scripts/cmake/vcpkg_download_distfile.cmake
index 4b111f3f0..9fc0a0c9a 100644
--- a/scripts/cmake/vcpkg_download_distfile.cmake
+++ b/scripts/cmake/vcpkg_download_distfile.cmake
@@ -103,19 +103,53 @@ function(vcpkg_download_distfile VAR)
endif()
# Tries to download the file.
- foreach(url IN LISTS vcpkg_download_distfile_URLS)
- message(STATUS "Downloading ${url}...")
- file(DOWNLOAD ${url} "${download_file_path_part}" STATUS download_status)
- list(GET download_status 0 status_code)
- if (NOT "${status_code}" STREQUAL "0")
- message(STATUS "Downloading ${url}... Failed. Status: ${download_status}")
+ list(GET vcpkg_download_distfile_URLS 0 SAMPLE_URL)
+ if(${_VCPKG_DOWNLOAD_TOOL} MATCHES "ARIA2" AND NOT ${SAMPLE_URL} MATCHES "aria2")
+ vcpkg_find_acquire_program("ARIA2")
+ message(STATUS "Downloading ${vcpkg_download_distfile_FILENAME}...")
+ execute_process(
+ COMMAND ${ARIA2} ${vcpkg_download_distfile_URLS}
+ -o temp/${vcpkg_download_distfile_FILENAME}
+ -l download-${vcpkg_download_distfile_FILENAME}-detailed.log
+ OUTPUT_FILE download-${vcpkg_download_distfile_FILENAME}-out.log
+ ERROR_FILE download-${vcpkg_download_distfile_FILENAME}-err.log
+ RESULT_VARIABLE error_code
+ WORKING_DIRECTORY ${DOWNLOADS}
+ )
+ if (NOT "${error_code}" STREQUAL "0")
+ message(STATUS
+ "Downloading ${vcpkg_download_distfile_FILENAME}... Failed.\n"
+ " Exit Code: ${error_code}\n"
+ " See logs for more information:\n"
+ " ${DOWNLOADS}/download-${vcpkg_download_distfile_FILENAME}-out.log\n"
+ " ${DOWNLOADS}/download-${vcpkg_download_distfile_FILENAME}-err.log\n"
+ " ${DOWNLOADS}/download-${vcpkg_download_distfile_FILENAME}-detailed.log\n"
+ )
set(download_success 0)
else()
- message(STATUS "Downloading ${url}... OK")
+ message(STATUS "Downloading ${vcpkg_download_distfile_FILENAME}... OK")
+ file(REMOVE
+ ${DOWNLOADS}/download-${vcpkg_download_distfile_FILENAME}-out.log
+ ${DOWNLOADS}/download-${vcpkg_download_distfile_FILENAME}-err.log
+ ${DOWNLOADS}/download-${vcpkg_download_distfile_FILENAME}-detailed.log
+ )
set(download_success 1)
- break()
endif()
- endforeach(url)
+ else()
+ foreach(url IN LISTS vcpkg_download_distfile_URLS)
+ message(STATUS "Downloading ${url}...")
+ file(DOWNLOAD ${url} "${download_file_path_part}" STATUS download_status)
+ list(GET download_status 0 status_code)
+ if (NOT "${status_code}" STREQUAL "0")
+ message(STATUS "Downloading ${url}... Failed. Status: ${download_status}")
+ set(download_success 0)
+ else()
+ message(STATUS "Downloading ${url}... OK")
+ set(download_success 1)
+ break()
+ endif()
+ endforeach(url)
+ endif()
if (NOT download_success)
message(FATAL_ERROR
diff --git a/scripts/cmake/vcpkg_find_acquire_program.cmake b/scripts/cmake/vcpkg_find_acquire_program.cmake
index 21d7ecd8f..39a722d93 100644
--- a/scripts/cmake/vcpkg_find_acquire_program.cmake
+++ b/scripts/cmake/vcpkg_find_acquire_program.cmake
@@ -25,6 +25,7 @@
## - NASM
## - NINJA
## - YASM
+## - ARIA2 (Downloader)
##
## Note that msys2 has a dedicated helper function: [`vcpkg_acquire_msys`](vcpkg_acquire_msys.md).
##
@@ -40,6 +41,7 @@ function(vcpkg_find_acquire_program VAR)
endif()
unset(NOEXTRACT)
+ unset(_vfa_RENAME)
unset(SUBDIR)
unset(REQUIRED_INTERPRETER)
@@ -49,12 +51,16 @@ function(vcpkg_find_acquire_program VAR)
if(VAR MATCHES "PERL")
set(PROGNAME perl)
set(PATHS ${DOWNLOADS}/tools/perl/perl/bin)
+ set(BREW_PACKAGE_NAME "perl")
+ set(APT_PACKAGE_NAME "perl")
set(URL "http://strawberryperl.com/download/5.24.1.1/strawberry-perl-5.24.1.1-32bit-portable.zip")
set(ARCHIVE "strawberry-perl-5.24.1.1-32bit-portable.zip")
set(HASH a6e685ea24376f50db5f06c5b46075f1d3be25168fa1f27fa9b02e2ac017826cee62a2b43562f9b6c989337a231ba914416c110075457764de2d11f99d5e0f26)
elseif(VAR MATCHES "NASM")
set(PROGNAME nasm)
set(PATHS ${DOWNLOADS}/tools/nasm/nasm-2.12.02)
+ set(BREW_PACKAGE_NAME "nasm")
+ set(APT_PACKAGE_NAME "nasm")
set(URL
"http://www.nasm.us/pub/nasm/releasebuilds/2.12.02/win32/nasm-2.12.02-win32.zip"
"http://mirrors.kodi.tv/build-deps/win32/nasm-2.12.02-win32.zip"
@@ -63,11 +69,13 @@ function(vcpkg_find_acquire_program VAR)
set(HASH df7aaba094e17832688c88993997612a2e2c96cc3dc14ca3e8347b44c7762115f5a7fc6d7f20be402553aaa4c9e43ddfcf6228f581cfe89289bae550de151b36)
elseif(VAR MATCHES "YASM")
set(PROGNAME yasm)
- set(PATHS ${DOWNLOADS}/tools/yasm)
- set(URL "http://www.tortall.net/projects/yasm/releases/yasm-1.3.0-win32.exe")
- set(ARCHIVE "yasm.exe")
+ set(SUBDIR 1.3.0.6)
+ set(PATHS ${DOWNLOADS}/tools/yasm/${SUBDIR})
+ set(URL "https://www.tortall.net/projects/yasm/snapshots/v1.3.0.6.g1962/yasm-1.3.0.6.g1962.exe")
+ set(ARCHIVE "yasm-1.3.0.6.g1962.exe")
+ set(_vfa_RENAME "yasm.exe")
set(NOEXTRACT ON)
- set(HASH 850b26be5bbbdaeaf45ac39dd27f69f1a85e600c35afbd16b9f621396b3c7a19863ea3ff316b025b578fce0a8280eef2203306a2b3e46ee1389abb65313fb720)
+ set(HASH c1945669d983b632a10c5ff31e86d6ecbff143c3d8b2c433c0d3d18f84356d2b351f71ac05fd44e5403651b00c31db0d14615d7f9a6ecce5750438d37105c55b)
elseif(VAR MATCHES "PYTHON3")
set(PROGNAME python)
set(SUBDIR "python3")
@@ -98,14 +106,20 @@ function(vcpkg_find_acquire_program VAR)
set(HASH 830cd94ed6518fbe4604a0f5a3322671b4674b87d25a71349c745500d38e85c0fac4f6995242fc5521eb048e3966bb5ec2a96a06b041343ed8da9bba78124f34)
elseif(VAR MATCHES "7Z")
set(PROGNAME 7z)
- set(PATHS "${PROGRAM_FILES_PLATFORM_BITNESS}/7-Zip" "${PROGRAM_FILES_32_BIT}/7-Zip" ${DOWNLOADS}/tools/7z/Files/7-Zip)
+ set(PATHS "${PROGRAM_FILES_PLATFORM_BITNESS}/7-Zip" "${PROGRAM_FILES_32_BIT}/7-Zip" "${DOWNLOADS}/tools/7z/Files/7-Zip")
set(URL "http://7-zip.org/a/7z1604.msi")
set(ARCHIVE "7z1604.msi")
set(HASH 556f95f7566fe23704d136239e4cf5e2a26f939ab43b44145c91b70d031a088d553e5c21301f1242a2295dcde3143b356211f0108c68e65eef8572407618326d)
elseif(VAR MATCHES "NINJA")
set(PROGNAME ninja)
set(SUBDIR "ninja-1.8.2")
- set(PATHS ${DOWNLOADS}/tools/ninja/${SUBDIR})
+ if(CMAKE_HOST_WIN32)
+ set(PATHS "${DOWNLOADS}/tools/ninja/${SUBDIR}")
+ elseif(CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin")
+ set(PATHS "${DOWNLOADS}/tools/${SUBDIR}-osx")
+ else()
+ set(PATHS "${DOWNLOADS}/tools/${SUBDIR}-linux")
+ endif()
set(BREW_PACKAGE_NAME "ninja")
set(APT_PACKAGE_NAME "ninja-build")
set(URL "https://github.com/ninja-build/ninja/releases/download/v1.8.2/ninja-win.zip")
@@ -167,6 +181,13 @@ function(vcpkg_find_acquire_program VAR)
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)
+ # Download Tools
+ elseif(VAR MATCHES "ARIA2")
+ set(PROGNAME aria2c)
+ set(PATHS ${DOWNLOADS}/tools/aria2c/aria2-1.33.1-win-32bit-build1)
+ set(URL "https://github.com/aria2/aria2/releases/download/release-1.33.1/aria2-1.33.1-win-32bit-build1.zip")
+ set(ARCHIVE "aria2-1.33.1-win-32bit-build1.zip")
+ set(HASH 2456176ba3d506a07cf0cc4f61f080e1ff8cb4106426d66f354c5bb67a9a8720b5ddb26904275e61b1f623c932355f7dcde4cd17556cc895f11293c23c3a9bf3)
else()
message(FATAL "unknown tool ${VAR} -- unable to acquire.")
endif()
@@ -199,15 +220,20 @@ function(vcpkg_find_acquire_program VAR)
FILENAME ${ARCHIVE}
)
- file(MAKE_DIRECTORY ${DOWNLOADS}/tools/${PROGNAME}/${SUBDIR})
+ set(PROG_PATH_SUBDIR "${DOWNLOADS}/tools/${PROGNAME}/${SUBDIR}")
+ file(MAKE_DIRECTORY ${PROG_PATH_SUBDIR})
if(DEFINED NOEXTRACT)
- file(COPY ${ARCHIVE_PATH} DESTINATION ${DOWNLOADS}/tools/${PROGNAME}/${SUBDIR})
+ if(DEFINED _vfa_RENAME)
+ file(INSTALL ${ARCHIVE_PATH} DESTINATION ${PROG_PATH_SUBDIR} RENAME ${_vfa_RENAME})
+ else()
+ file(COPY ${ARCHIVE_PATH} DESTINATION ${PROG_PATH_SUBDIR})
+ endif()
else()
get_filename_component(ARCHIVE_EXTENSION ${ARCHIVE} EXT)
string(TOLOWER "${ARCHIVE_EXTENSION}" ARCHIVE_EXTENSION)
if(ARCHIVE_EXTENSION STREQUAL ".msi")
file(TO_NATIVE_PATH "${ARCHIVE_PATH}" ARCHIVE_NATIVE_PATH)
- file(TO_NATIVE_PATH "${DOWNLOADS}/tools/${PROGNAME}/${SUBDIR}" DESTINATION_NATIVE_PATH)
+ file(TO_NATIVE_PATH "${PROG_PATH_SUBDIR}" DESTINATION_NATIVE_PATH)
execute_process(
COMMAND msiexec /a ${ARCHIVE_NATIVE_PATH} /qn TARGETDIR=${DESTINATION_NATIVE_PATH}
WORKING_DIRECTORY ${DOWNLOADS}
@@ -215,7 +241,7 @@ function(vcpkg_find_acquire_program VAR)
else()
execute_process(
COMMAND ${CMAKE_COMMAND} -E tar xzf ${ARCHIVE_PATH}
- WORKING_DIRECTORY ${DOWNLOADS}/tools/${PROGNAME}/${SUBDIR}
+ WORKING_DIRECTORY ${PROG_PATH_SUBDIR}
)
endif()
endif()
diff --git a/scripts/cmake/vcpkg_fixup_cmake_targets.cmake b/scripts/cmake/vcpkg_fixup_cmake_targets.cmake
index 7f1f827c2..47c91f83c 100644
--- a/scripts/cmake/vcpkg_fixup_cmake_targets.cmake
+++ b/scripts/cmake/vcpkg_fixup_cmake_targets.cmake
@@ -28,6 +28,12 @@ function(vcpkg_fixup_cmake_targets)
set(RELEASE_SHARE ${CURRENT_PACKAGES_DIR}/${_vfct_TARGET_PATH})
if(_vfct_CONFIG_PATH AND NOT RELEASE_SHARE STREQUAL "${CURRENT_PACKAGES_DIR}/${_vfct_CONFIG_PATH}")
+ if(_vfct_CONFIG_PATH STREQUAL "share")
+ file(RENAME ${CURRENT_PACKAGES_DIR}/debug/share ${CURRENT_PACKAGES_DIR}/debug/share2)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/share ${CURRENT_PACKAGES_DIR}/share2)
+ set(_vfct_CONFIG_PATH share2)
+ endif()
+
set(DEBUG_CONFIG ${CURRENT_PACKAGES_DIR}/debug/${_vfct_CONFIG_PATH})
set(RELEASE_CONFIG ${CURRENT_PACKAGES_DIR}/${_vfct_CONFIG_PATH})
@@ -36,6 +42,7 @@ function(vcpkg_fixup_cmake_targets)
message(FATAL_ERROR "'${DEBUG_CONFIG}' does not exist.")
endif()
+ # This roundabout handling enables CONFIG_PATH share
file(MAKE_DIRECTORY ${DEBUG_SHARE})
file(GLOB FILES ${DEBUG_CONFIG}/*)
file(COPY ${FILES} DESTINATION ${DEBUG_SHARE})
@@ -76,12 +83,12 @@ function(vcpkg_fixup_cmake_targets)
endif()
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
- if(NOT EXISTS ${DEBUG_SHARE})
+ if(NOT EXISTS "${DEBUG_SHARE}")
message(FATAL_ERROR "'${DEBUG_SHARE}' does not exist.")
endif()
endif()
- file(GLOB UNUSED_FILES
+ file(GLOB_RECURSE UNUSED_FILES
"${DEBUG_SHARE}/*[Tt]argets.cmake"
"${DEBUG_SHARE}/*[Cc]onfig.cmake"
"${DEBUG_SHARE}/*[Cc]onfigVersion.cmake"
@@ -91,10 +98,10 @@ function(vcpkg_fixup_cmake_targets)
file(REMOVE ${UNUSED_FILES})
endif()
- file(GLOB RELEASE_TARGETS
+ file(GLOB_RECURSE RELEASE_TARGETS
"${RELEASE_SHARE}/*-release.cmake"
)
- foreach(RELEASE_TARGET ${RELEASE_TARGETS})
+ foreach(RELEASE_TARGET IN LISTS RELEASE_TARGETS)
file(READ ${RELEASE_TARGET} _contents)
string(REPLACE "${CURRENT_INSTALLED_DIR}" "\${_IMPORT_PREFIX}" _contents "${_contents}")
string(REGEX REPLACE "\\\${_IMPORT_PREFIX}/bin/([^ \"]+\\.exe)" "\${_IMPORT_PREFIX}/tools/${PORT}/\\1" _contents "${_contents}")
@@ -102,25 +109,25 @@ function(vcpkg_fixup_cmake_targets)
endforeach()
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
- file(GLOB DEBUG_TARGETS
+ file(GLOB_RECURSE DEBUG_TARGETS
"${DEBUG_SHARE}/*-debug.cmake"
)
- foreach(DEBUG_TARGET ${DEBUG_TARGETS})
- get_filename_component(DEBUG_TARGET_NAME ${DEBUG_TARGET} NAME)
+ foreach(DEBUG_TARGET IN LISTS DEBUG_TARGETS)
+ file(RELATIVE_PATH DEBUG_TARGET_REL "${DEBUG_SHARE}" "${DEBUG_TARGET}")
file(READ ${DEBUG_TARGET} _contents)
string(REPLACE "${CURRENT_INSTALLED_DIR}" "\${_IMPORT_PREFIX}" _contents "${_contents}")
string(REGEX REPLACE "\\\${_IMPORT_PREFIX}/bin/([^ \"]+\\.exe)" "\${_IMPORT_PREFIX}/tools/${PORT}/\\1" _contents "${_contents}")
string(REPLACE "\${_IMPORT_PREFIX}/lib" "\${_IMPORT_PREFIX}/debug/lib" _contents "${_contents}")
string(REPLACE "\${_IMPORT_PREFIX}/bin" "\${_IMPORT_PREFIX}/debug/bin" _contents "${_contents}")
- file(WRITE ${CURRENT_PACKAGES_DIR}/${_vfct_TARGET_PATH}/${DEBUG_TARGET_NAME} "${_contents}")
+ file(WRITE ${RELEASE_SHARE}/${DEBUG_TARGET_REL} "${_contents}")
file(REMOVE ${DEBUG_TARGET})
endforeach()
endif()
- file(GLOB MAIN_TARGETS "${RELEASE_SHARE}/*[Tt]argets.cmake")
- foreach(MAIN_TARGET ${MAIN_TARGETS})
+ file(GLOB_RECURSE MAIN_TARGETS "${RELEASE_SHARE}/*[Tt]argets.cmake")
+ foreach(MAIN_TARGET IN LISTS MAIN_TARGETS)
file(READ ${MAIN_TARGET} _contents)
string(REGEX REPLACE
"get_filename_component\\(_IMPORT_PREFIX \"\\\${CMAKE_CURRENT_LIST_FILE}\" PATH\\)(\nget_filename_component\\(_IMPORT_PREFIX \"\\\${_IMPORT_PREFIX}\" PATH\\))*"
@@ -133,8 +140,8 @@ function(vcpkg_fixup_cmake_targets)
file(WRITE ${MAIN_TARGET} "${_contents}")
endforeach()
- file(GLOB MAIN_CONFIGS "${RELEASE_SHARE}/*[Cc]onfig.cmake")
- foreach(MAIN_CONFIG ${MAIN_CONFIGS})
+ file(GLOB_RECURSE MAIN_CONFIGS "${RELEASE_SHARE}/*[Cc]onfig.cmake")
+ foreach(MAIN_CONFIG IN LISTS MAIN_CONFIGS)
file(READ ${MAIN_CONFIG} _contents)
string(REGEX REPLACE
"get_filename_component\\(_IMPORT_PREFIX \"\\\${CMAKE_CURRENT_LIST_FILE}\" PATH\\)(\nget_filename_component\\(_IMPORT_PREFIX \"\\\${_IMPORT_PREFIX}\" PATH\\))*"
diff --git a/scripts/cmake/vcpkg_from_github.cmake b/scripts/cmake/vcpkg_from_github.cmake
index c6a23cff6..28ada0631 100644
--- a/scripts/cmake/vcpkg_from_github.cmake
+++ b/scripts/cmake/vcpkg_from_github.cmake
@@ -51,7 +51,7 @@
## * [beast](https://github.com/Microsoft/vcpkg/blob/master/ports/beast/portfile.cmake)
function(vcpkg_from_github)
set(oneValueArgs OUT_SOURCE_PATH REPO REF SHA512 HEAD_REF)
- set(multipleValuesArgs)
+ set(multipleValuesArgs PATCHES)
cmake_parse_arguments(_vdud "" "${oneValueArgs}" "${multipleValuesArgs}" ${ARGN})
if(NOT DEFINED _vdud_OUT_SOURCE_PATH)
@@ -73,21 +73,17 @@ function(vcpkg_from_github)
string(REGEX REPLACE ".*/" "" REPO_NAME ${_vdud_REPO})
string(REGEX REPLACE "/.*" "" ORG_NAME ${_vdud_REPO})
- macro(set_SOURCE_PATH BASE BASEREF)
- set(SOURCE_PATH "${BASE}/${REPO_NAME}-${BASEREF}")
- if(EXISTS ${SOURCE_PATH})
- set(${_vdud_OUT_SOURCE_PATH} "${SOURCE_PATH}" PARENT_SCOPE)
- else()
- # Sometimes GitHub strips a leading 'v' off the REF.
- string(REGEX REPLACE "^v" "" REF ${BASEREF})
- string(REPLACE "/" "-" REF ${REF})
- set(SOURCE_PATH "${BASE}/${REPO_NAME}-${REF}")
- if(EXISTS ${SOURCE_PATH})
- set(${_vdud_OUT_SOURCE_PATH} "${SOURCE_PATH}" PARENT_SCOPE)
- else()
- message(FATAL_ERROR "Could not determine source path: '${BASE}/${REPO_NAME}-${BASEREF}' does not exist")
- endif()
+ macro(set_TEMP_SOURCE_PATH BASE BASEREF)
+ set(TEMP_SOURCE_PATH "${BASE}/${REPO_NAME}-${BASEREF}")
+ if(NOT EXISTS ${TEMP_SOURCE_PATH})
+ # Sometimes GitHub strips a leading 'v' off the REF.
+ string(REGEX REPLACE "^v" "" REF ${BASEREF})
+ string(REPLACE "/" "-" REF ${REF})
+ set(TEMP_SOURCE_PATH "${BASE}/${REPO_NAME}-${REF}")
+ if(NOT EXISTS ${TEMP_SOURCE_PATH})
+ message(FATAL_ERROR "Could not determine source path: '${BASE}/${REPO_NAME}-${BASEREF}' does not exist")
endif()
+ endif()
endmacro()
if(VCPKG_USE_HEAD_VERSION AND NOT DEFINED _vdud_HEAD_REF)
@@ -108,8 +104,44 @@ function(vcpkg_from_github)
SHA512 "${_vdud_SHA512}"
FILENAME "${ORG_NAME}-${REPO_NAME}-${SANITIZED_REF}.tar.gz"
)
- vcpkg_extract_source_archive_ex(ARCHIVE "${ARCHIVE}")
- set_SOURCE_PATH(${CURRENT_BUILDTREES_DIR}/src ${SANITIZED_REF})
+
+ # Take the last 10 chars of the REF
+ set(REF_MAX_LENGTH 10)
+ string(LENGTH ${SANITIZED_REF} REF_LENGTH)
+ math(EXPR FROM_REF ${REF_LENGTH}-${REF_MAX_LENGTH})
+ if(FROM_REF LESS 0)
+ set(FROM_REF 0)
+ endif()
+ string(SUBSTRING ${SANITIZED_REF} ${FROM_REF} ${REF_LENGTH} SHORTENED_SANITIZED_REF)
+
+ # Hash the archive hash along with the patches. Take the first 10 chars of the hash
+ set(PATCHSET_HASH "${_vdud_SHA512}")
+ foreach(PATCH IN LISTS _vdud_PATCHES)
+ file(SHA512 ${PATCH} CURRENT_HASH)
+ string(APPEND PATCHSET_HASH ${CURRENT_HASH})
+ endforeach()
+
+ string(SHA512 PATCHSET_HASH ${PATCHSET_HASH})
+ string(SUBSTRING ${PATCHSET_HASH} 0 10 PATCHSET_HASH)
+ set(SOURCE_PATH "${CURRENT_BUILDTREES_DIR}/src/${SHORTENED_SANITIZED_REF}-${PATCHSET_HASH}")
+
+ if(NOT EXISTS ${SOURCE_PATH})
+ set(TEMP_DIR "${CURRENT_BUILDTREES_DIR}/src/TEMP")
+ file(REMOVE_RECURSE ${TEMP_DIR})
+ vcpkg_extract_source_archive_ex(ARCHIVE "${ARCHIVE}" WORKING_DIRECTORY ${TEMP_DIR})
+ set_TEMP_SOURCE_PATH(${CURRENT_BUILDTREES_DIR}/src/TEMP ${SANITIZED_REF})
+
+ vcpkg_apply_patches(
+ SOURCE_PATH ${TEMP_SOURCE_PATH}
+ PATCHES ${_vdud_PATCHES}
+ )
+
+ file(RENAME ${TEMP_SOURCE_PATH} ${SOURCE_PATH})
+ file(REMOVE_RECURSE ${TEMP_DIR})
+ endif()
+
+ set(${_vdud_OUT_SOURCE_PATH} "${SOURCE_PATH}" PARENT_SCOPE)
+
return()
endif()
@@ -167,5 +199,10 @@ function(vcpkg_from_github)
set(VCPKG_HEAD_VERSION ${_version} PARENT_SCOPE)
endif()
- set_SOURCE_PATH(${CURRENT_BUILDTREES_DIR}/src/head ${SANITIZED_HEAD_REF})
+ set_TEMP_SOURCE_PATH(${CURRENT_BUILDTREES_DIR}/src/head ${SANITIZED_HEAD_REF})
+ vcpkg_apply_patches(
+ SOURCE_PATH ${TEMP_SOURCE_PATH}
+ PATCHES ${_vdud_PATCHES}
+ )
+ set(${_vdud_OUT_SOURCE_PATH} "${TEMP_SOURCE_PATH}" PARENT_SCOPE)
endfunction()
diff --git a/scripts/fetchTool.ps1 b/scripts/fetchTool.ps1
index 2c2f599ef..eca405b62 100644
--- a/scripts/fetchTool.ps1
+++ b/scripts/fetchTool.ps1
@@ -4,6 +4,7 @@ param(
)
Set-StrictMode -Version Latest
+
$scriptsDir = split-path -parent $script:MyInvocation.MyCommand.Definition
. "$scriptsDir\VcpkgPowershellUtils.ps1"
@@ -12,6 +13,7 @@ $vcpkgRootDir = vcpkgFindFileRecursivelyUp $scriptsDir .vcpkg-root
$downloadsDir = "$vcpkgRootDir\downloads"
vcpkgCreateDirectoryIfNotExists $downloadsDir
+$downloadsDir = Resolve-Path $downloadsDir
function fetchToolInternal([Parameter(Mandatory=$true)][string]$tool)
{
@@ -22,49 +24,81 @@ function fetchToolInternal([Parameter(Mandatory=$true)][string]$tool)
if ($toolData -eq $null)
{
- throw "Unkown tool $tool"
+ throw "Unknown tool $tool"
}
- $exePath = "$downloadsDir\$($toolData.exeRelativePath)"
+ $toolPath="$downloadsDir\tools\$tool-$($toolData.version)-windows"
+ $exePath = "$toolPath\$($toolData.exeRelativePath)"
if (Test-Path $exePath)
{
return $exePath
}
- $isArchive = vcpkgHasProperty -object $toolData -propertyName "archiveRelativePath"
+ $isArchive = vcpkgHasProperty -object $toolData -propertyName "archiveName"
if ($isArchive)
{
- $downloadPath = "$downloadsDir\$($toolData.archiveRelativePath)"
+ $downloadPath = "$downloadsDir\$($toolData.archiveName)"
}
else
{
- $downloadPath = "$downloadsDir\$($toolData.exeRelativePath)"
+ $downloadPath = "$toolPath\$($toolData.exeRelativePath)"
}
- $url = $toolData.url
+ [String]$url = $toolData.url
if (!(Test-Path $downloadPath))
{
Write-Host "Downloading $tool..."
- vcpkgDownloadFile $url $downloadPath
- Write-Host "Downloading $tool has completed successfully."
- }
- $expectedDownloadedFileHash = $toolData.sha256
- $downloadedFileHash = vcpkgGetSHA256 $downloadPath
- vcpkgCheckEqualFileHash -filePath $downloadPath -expectedHash $expectedDownloadedFileHash -actualHash $downloadedFileHash
+ # Download aria2 with .NET. aria2 will be used to download everything else.
+ if ($tool -eq "aria2")
+ {
+ vcpkgDownloadFile $url $downloadPath $toolData.sha512
+ }
+ else
+ {
+ $aria2exe = fetchToolInternal "aria2"
+ vcpkgDownloadFileWithAria2 $aria2exe $url $downloadPath $toolData.sha512
+ }
+
+ Write-Host "Downloading $tool... done."
+ }
+ else
+ {
+ vcpkgCheckEqualFileHash -url $url -filePath $downloadPath -expectedHash $toolData.sha512
+ }
if ($isArchive)
{
- $outFilename = (Get-ChildItem $downloadPath).BaseName
Write-Host "Extracting $tool..."
- vcpkgExtractFile -File $downloadPath -DestinationDir $downloadsDir -outFilename $outFilename
- Write-Host "Extracting $tool has completed successfully."
+ # Extract 7zip920 with shell because we need it to extract 7zip
+ # Extract aria2 with shell because we need it to download 7zip
+ if ($tool -eq "7zip920" -or $tool -eq "aria2")
+ {
+ vcpkgExtractZipFile -ArchivePath $downloadPath -DestinationDir $toolPath
+ }
+ elseif ($tool -eq "7zip")
+ {
+ $sevenZip920 = fetchToolInternal "7zip920"
+ $ec = vcpkgInvokeCommand "$sevenZip920" "x `"$downloadPath`" -o`"$toolPath`" -y"
+ if ($ec -ne 0)
+ {
+ Write-Host "Could not extract $downloadPath"
+ throw
+ }
+ }
+ else
+ {
+ $sevenZipExe = fetchToolInternal "7zip"
+ vcpkgExtractFileWith7z -sevenZipExe "$sevenZipExe" -ArchivePath $downloadPath -DestinationDir $toolPath
+ }
+ Write-Host "Extracting $tool... done."
}
if (-not (Test-Path $exePath))
{
- throw ("Could not detect or download " + $tool)
+ Write-Error "Could not detect or download $tool"
+ throw
}
return $exePath
diff --git a/scripts/toolchains/freebsd.cmake b/scripts/toolchains/freebsd.cmake
new file mode 100644
index 000000000..bfeabe18b
--- /dev/null
+++ b/scripts/toolchains/freebsd.cmake
@@ -0,0 +1,4 @@
+if(CMAKE_HOST_SYSTEM_NAME STREQUAL "FreeBSD")
+ set(CMAKE_CROSSCOMPILING OFF CACHE BOOL "")
+endif()
+set(CMAKE_SYSTEM_NAME FreeBSD CACHE STRING "")
diff --git a/scripts/toolchains/linux.cmake b/scripts/toolchains/linux.cmake
index d09d374c8..ea4f15d60 100644
--- a/scripts/toolchains/linux.cmake
+++ b/scripts/toolchains/linux.cmake
@@ -1,5 +1,3 @@
-cmake_minimum_required(VERSION 3.5)
-
if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux")
set(CMAKE_CROSSCOMPILING OFF CACHE BOOL "")
endif()
diff --git a/scripts/toolchains/osx.cmake b/scripts/toolchains/osx.cmake
index 1a164f178..dd21f5264 100644
--- a/scripts/toolchains/osx.cmake
+++ b/scripts/toolchains/osx.cmake
@@ -1 +1,4 @@
+if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin")
+ set(CMAKE_CROSSCOMPILING OFF CACHE BOOL "")
+endif()
set(CMAKE_SYSTEM_NAME Darwin CACHE STRING "")
diff --git a/scripts/toolchains/windows.cmake b/scripts/toolchains/windows.cmake
index 7bfc2282b..266e023b1 100644
--- a/scripts/toolchains/windows.cmake
+++ b/scripts/toolchains/windows.cmake
@@ -9,8 +9,17 @@ if(NOT _CMAKE_IN_TRY_COMPILE)
message(FATAL_ERROR "Invalid setting for VCPKG_CRT_LINKAGE: \"${VCPKG_CRT_LINKAGE}\". It must be \"static\" or \"dynamic\"")
endif()
- set(CMAKE_CXX_FLAGS " /DWIN32 /D_WINDOWS /W3 /utf-8 /GR /EHsc /MP ${VCPKG_CXX_FLAGS}" CACHE STRING "")
- set(CMAKE_C_FLAGS " /DWIN32 /D_WINDOWS /W3 /utf-8 /MP ${VCPKG_C_FLAGS}" CACHE STRING "")
+ set(CHARSET_FLAG "/utf-8")
+ if(VCPKG_PLATFORM_TOOLSET MATCHES "v120")
+ # VS 2013 does not support /utf-8
+ set(CHARSET_FLAG)
+ endif()
+
+ set(CMAKE_CXX_FLAGS " /DWIN32 /D_WINDOWS /W3 ${CHARSET_FLAG} /GR /EHsc /MP ${VCPKG_CXX_FLAGS}" CACHE STRING "")
+ set(CMAKE_C_FLAGS " /DWIN32 /D_WINDOWS /W3 ${CHARSET_FLAG} /MP ${VCPKG_C_FLAGS}" CACHE STRING "")
+ set(CMAKE_RC_FLAGS "-c65001 /DWIN32" CACHE STRING "")
+
+ unset(CHARSET_FLAG)
set(CMAKE_CXX_FLAGS_DEBUG "/D_DEBUG ${VCPKG_CRT_LINK_FLAG_PREFIX}d /Z7 /Ob0 /Od /RTC1 ${VCPKG_CXX_FLAGS_DEBUG}" CACHE STRING "")
set(CMAKE_C_FLAGS_DEBUG "/D_DEBUG ${VCPKG_CRT_LINK_FLAG_PREFIX}d /Z7 /Ob0 /Od /RTC1 ${VCPKG_C_FLAGS_DEBUG}" CACHE STRING "")
diff --git a/scripts/vcpkgTools.xml b/scripts/vcpkgTools.xml
index 02fd0b996..1f17102d2 100644
--- a/scripts/vcpkgTools.xml
+++ b/scripts/vcpkgTools.xml
@@ -1,43 +1,97 @@
<?xml version="1.0"?>
-<tools version="1">
- <tool name="cmake">
- <requiredVersion>3.10.2</requiredVersion>
+<tools version="2">
+ <tool name="cmake" os="windows">
+ <version>3.10.2</version>
<exeRelativePath>cmake-3.10.2-win32-x86\bin\cmake.exe</exeRelativePath>
<url>https://cmake.org/files/v3.10/cmake-3.10.2-win32-x86.zip</url>
- <sha256>f5f7e41a21d0e9b655aca58498b08e17ecd27796bf82837e2c84435359169dd6</sha256>
- <archiveRelativePath>cmake-3.10.2-win32-x86.zip</archiveRelativePath>
- </tool>
- <tool name="git">
- <requiredVersion>2.16.2</requiredVersion>
- <exeRelativePath>MinGit-2.16.2-32-bit\cmd\git.exe</exeRelativePath>
- <url>https://github.com/git-for-windows/git/releases/download/v2.16.2.windows.1/MinGit-2.16.2-32-bit.zip</url>
- <sha256>322c727e482aa97522c64a5ac68bdda3780111e8670bcfb532beac8e11ece5da</sha256>
- <archiveRelativePath>MinGit-2.16.2-32-bit.zip</archiveRelativePath>
- </tool>
- <tool name="vswhere">
- <requiredVersion>2.3.2</requiredVersion>
- <exeRelativePath>vswhere-2.3.2\vswhere.exe</exeRelativePath>
- <url>https://github.com/Microsoft/vswhere/releases/download/2.3.2/vswhere.exe</url>
- <sha256>103f2784c4b2c8e70c7c1c03687abbf22bce052aae30639406e4e13ffa29ee04</sha256>
- </tool>
- <tool name="nuget">
- <requiredVersion>4.4.0</requiredVersion>
- <exeRelativePath>nuget-4.4.0\nuget.exe</exeRelativePath>
- <url>https://dist.nuget.org/win-x86-commandline/v4.4.0/nuget.exe</url>
- <sha256>2cf9b118937eef825464e548f0c44f7f64090047746de295d75ac3dcffa3e1f6</sha256>
- </tool>
- <tool name="installerbase">
- <requiredVersion>3.1.81</requiredVersion>
+ <sha512>9c16861a2ac09c7011b84f38459ecfec2829a9f825b254acbbde46d98f12f8ca0d4db3a6764758cb671507ee7c0327576d87658b81d7ddf1e8280b37569eb16d</sha512>
+ <archiveName>cmake-3.10.2-win32-x86.zip</archiveName>
+ </tool>
+ <tool name="cmake" os="osx">
+ <version>3.10.2</version>
+ <exeRelativePath>cmake-3.10.2-Darwin-x86_64/CMake.app/Contents/bin/cmake</exeRelativePath>
+ <url>https://cmake.org/files/v3.10/cmake-3.10.2-Darwin-x86_64.tar.gz</url>
+ <sha512>cb7d76e11c892eb786da5804282c4141564390c3552e08c506c7abb93015eb5f619c55255459872b219399ce8114ac321fe92df7f82a7e42bbc874eec240571e</sha512>
+ <archiveName>cmake-3.10.2-Darwin-x86_64.tar.gz</archiveName>
+ </tool>
+ <tool name="cmake" os="linux">
+ <version>3.10.2</version>
+ <exeRelativePath>cmake-3.10.2-Linux-x86_64/bin/cmake</exeRelativePath>
+ <url>https://cmake.org/files/v3.10/cmake-3.10.2-Linux-x86_64.tar.gz</url>
+ <sha512>54389b5cb3f3cb9d182d35e0b1eaf7b301695899930da0d26e9df1dc25056213a077646d23ea609a93daa81d30687757d9cf0dc263339fa3d73dbeb1284bc1a9</sha512>
+ <archiveName>cmake-3.10.2-Linux-x86_64.tar.gz</archiveName>
+ </tool>
+ <tool name="git" os="windows">
+ <version>2.17.0</version>
+ <exeRelativePath>cmd\git.exe</exeRelativePath>
+ <url>https://github.com/git-for-windows/git/releases/download/v2.17.0.windows.1/MinGit-2.17.0-32-bit.zip</url>
+ <sha512>a34575ab1b4f553e62535e38492904b512df4d6a837cf4abf205dbcdd05edf1eef450cc5b15a4f63f901424d5f3cd1f78b6b22437d0d4f8cd9ce4e42e82617b9</sha512>
+ <archiveName>MinGit-2.17.0-32-bit.zip</archiveName>
+ </tool>
+ <tool name="git" os="linux">
+ <version>2.7.4</version>
+ <exeRelativePath></exeRelativePath>
+ <url></url>
+ <sha512></sha512>
+ </tool>
+ <tool name="git" os="osx">
+ <version>2.7.4</version>
+ <exeRelativePath></exeRelativePath>
+ <url></url>
+ <sha512></sha512>
+ </tool>
+ <tool name="vswhere" os="windows">
+ <version>2.4.1</version>
+ <exeRelativePath>vswhere.exe</exeRelativePath>
+ <url>https://github.com/Microsoft/vswhere/releases/download/2.4.1/vswhere.exe</url>
+ <sha512>f477842d0cebefcd6bf9c6d536ab8ea20ec5b0aa967ee963ab6a101aeff9df8742ca600d35f39e2e7158d76d8231f1ed2bef6104dce84d2bf8d6b07d17d706a1</sha512>
+ </tool>
+ <tool name="nuget" os="windows">
+ <version>4.6.2</version>
+ <exeRelativePath>nuget.exe</exeRelativePath>
+ <url>https://dist.nuget.org/win-x86-commandline/v4.6.2/nuget.exe</url>
+ <sha512>60daea7bec2de23089f7ad73985dd788ac154171d6326c2c456726849b8f97dfc38cbdd9b9bf8d96aced009ccaaed317905b65c108e149cfbbbcdfb95f8f0519</sha512>
+ </tool>
+ <tool name="installerbase" os="windows">
+ <version>3.1.81</version>
<exeRelativePath>QtInstallerFramework-win-x86\bin\installerbase.exe</exeRelativePath>
<url>https://github.com/podsvirov/installer-framework/releases/download/cr203958-9/QtInstallerFramework-win-x86.zip</url>
- <sha256>f2ce23cf5cf9fc7ce409bdca49328e09a070c0026d3c8a04e4dfde7b05b83fe8</sha256>
- <archiveRelativePath>QtInstallerFramework-win-x86.zip</archiveRelativePath>
- </tool>
- <tool name="7zip">
- <requiredVersion>18.01.0</requiredVersion>
- <exeRelativePath>7za920\7za.exe</exeRelativePath>
- <url>http://www.7-zip.org/a/7za920.zip</url>
- <sha256>2a3afe19c180f8373fa02ff00254d5394fec0349f5804e0ad2f6067854ff28ac</sha256>
- <archiveRelativePath>7za920.zip</archiveRelativePath>
+ <sha512>1f3e593270d7c2a4e271fdb49c637a2de462351310ef66bba298d30f6ca23365ec6aecf2e57799a00c873267cd3f92060ecac03eb291d42903d0e0869cd17c73</sha512>
+ <archiveName>QtInstallerFramework-win-x86.zip</archiveName>
+ </tool>
+ <tool name="7zip" os="windows">
+ <version>18.01.0</version>
+ <exeRelativePath>7za.exe</exeRelativePath>
+ <url>https://www.7-zip.org/a/7z1801-extra.7z</url>
+ <sha512>9133fc551d76515e37fdd4dd8c1e28d464aea493548246b44565a42bba46715764f41f9cfa14d470d298c3a6e9829d200f8be5168cb67cf8f23d8042fca833bc</sha512>
+ <archiveName>7z1801-extra.7z</archiveName>
+ </tool>
+ <tool name="7zip920" os="windows">
+ <version>9.20.0</version>
+ <exeRelativePath>7za.exe</exeRelativePath>
+ <url>https://www.7-zip.org/a/7za920.zip</url>
+ <sha512>84e830c91a0e8ae499cc4814080da6569d8a6acbddc585c8b62abc86c809793aeb669b0a741063a379fd281ade85f120bc27efeb67d63bf961be893eec8bc3b3</sha512>
+ <archiveName>7za920.zip</archiveName>
+ </tool>
+ <tool name="aria2" os="windows">
+ <version>18.01.0</version>
+ <exeRelativePath>aria2-1.33.1-win-32bit-build1\aria2c.exe</exeRelativePath>
+ <url>https://github.com/aria2/aria2/releases/download/release-1.33.1/aria2-1.33.1-win-32bit-build1.zip</url>
+ <sha512>2456176ba3d506a07cf0cc4f61f080e1ff8cb4106426d66f354c5bb67a9a8720b5ddb26904275e61b1f623c932355f7dcde4cd17556cc895f11293c23c3a9bf3</sha512>
+ <archiveName>aria2-1.33.1-win-32bit-build1.zip</archiveName>
+ </tool>
+ <tool name="ninja" os="linux">
+ <version>1.8.2</version>
+ <exeRelativePath>ninja</exeRelativePath>
+ <url>https://github.com/ninja-build/ninja/releases/download/v1.8.2/ninja-linux.zip</url>
+ <sha512>38fcb68e745c1f15b4b50f20069ffe686b1ef5baf93b74958e132ea5d30d155cf6970d6dc1b095aafd421ebd8bcc63acf4f64e305c496266b5182f99b815cca5</sha512>
+ <archiveName>ninja-linux.zip</archiveName>
+ </tool>
+ <tool name="ninja" os="osx">
+ <version>1.8.2</version>
+ <exeRelativePath>ninja</exeRelativePath>
+ <url>https://github.com/ninja-build/ninja/releases/download/v1.8.2/ninja-mac.zip</url>
+ <sha512>acadfb286eb7d93676629701917fa0c3c39f36daa068c169e4a098c29f97380d1ea95abfd42b04798ff118fd9dc93fdb250fcda36086bac20bc5506354214fc3</sha512>
+ <archiveName>ninja-mac.zip</archiveName>
</tool>
</tools>
diff --git a/toolsrc/CMakeLists.txt b/toolsrc/CMakeLists.txt
index 2a340bb8f..db756deee 100644
--- a/toolsrc/CMakeLists.txt
+++ b/toolsrc/CMakeLists.txt
@@ -1,8 +1,18 @@
cmake_minimum_required(VERSION 3.3)
-project(vcpkg CXX)
+project(vcpkg C CXX)
if(CMAKE_COMPILER_IS_GNUXX OR CMAKE_CXX_COMPILER_ID MATCHES "GNU")
set(GCC 1)
+elseif(CMAKE_CXX_COMPILER_ID MATCHES "AppleClang")
+ if(NOT VCPKG_ALLOW_APPLE_CLANG)
+ message(FATAL_ERROR
+"Building the vcpkg tool requires support for the C++ Filesystem TS.
+Apple clang versions 9 and below do not have support for it.
+Please install gcc6 or newer from homebrew (brew install gcc6).
+If you would like to try anyway, set VCPKG_ALLOW_APPLE_CLANG.")
+ else()
+ set(CLANG 1)
+ endif()
elseif(CMAKE_CXX_COMPILER_ID MATCHES "[Cc]lang")
set(CLANG 1)
elseif(MSVC)
@@ -13,16 +23,23 @@ endif()
if(GCC OR CLANG)
add_compile_options(-std=c++1z)
+ if(WERROR)
+ add_compile_options(-Wall -Wno-unknown-pragmas -Werror)
+ endif()
endif()
file(GLOB_RECURSE VCPKGLIB_SOURCES src/vcpkg/*.cpp)
add_executable(vcpkg src/vcpkg.cpp ${VCPKGLIB_SOURCES})
target_compile_definitions(vcpkg PRIVATE -DDISABLE_METRICS=0)
-target_include_directories(vcpkg PUBLIC include)
+target_include_directories(vcpkg PRIVATE include)
if(GCC)
- target_link_libraries(vcpkg PUBLIC stdc++fs)
+ target_link_libraries(vcpkg PRIVATE stdc++fs)
elseif(CLANG)
- target_link_libraries(vcpkg PUBLIC c++experimental)
+ target_link_libraries(vcpkg PRIVATE c++experimental)
endif()
+
+set(THREADS_PREFER_PTHREAD_FLAG ON)
+find_package(Threads REQUIRED)
+target_link_libraries(vcpkg PRIVATE Threads::Threads)
diff --git a/toolsrc/VERSION.txt b/toolsrc/VERSION.txt
index 157d21b7b..ca3fbdad8 100644
--- a/toolsrc/VERSION.txt
+++ b/toolsrc/VERSION.txt
@@ -1 +1 @@
-"0.0.105" \ No newline at end of file
+"0.0.110" \ No newline at end of file
diff --git a/toolsrc/include/pch.h b/toolsrc/include/pch.h
index 683bef171..9c9deeb3f 100644
--- a/toolsrc/include/pch.h
+++ b/toolsrc/include/pch.h
@@ -46,7 +46,11 @@
#include <set>
#include <stdexcept>
#include <string>
+#if defined(_WIN32)
#include <sys/timeb.h>
+#else
+#include <sys/time.h>
+#endif
#include <sys/types.h>
#include <system_error>
#include <thread>
diff --git a/toolsrc/include/tests.utils.h b/toolsrc/include/tests.utils.h
index 970506663..7f7ec9e88 100644
--- a/toolsrc/include/tests.utils.h
+++ b/toolsrc/include/tests.utils.h
@@ -12,10 +12,42 @@
namespace Microsoft::VisualStudio::CppUnitTestFramework
{
- std::wstring ToString(const vcpkg::Dependencies::InstallPlanType& t);
- std::wstring ToString(const vcpkg::Dependencies::RequestType& t);
- std::wstring ToString(const vcpkg::PackageSpecParseResult& t);
- std::wstring ToString(const vcpkg::PackageSpec& t);
+ template<>
+ std::wstring ToString<vcpkg::Dependencies::InstallPlanType>(const vcpkg::Dependencies::InstallPlanType& t)
+ {
+ switch (t)
+ {
+ case vcpkg::Dependencies::InstallPlanType::ALREADY_INSTALLED: return L"ALREADY_INSTALLED";
+ case vcpkg::Dependencies::InstallPlanType::BUILD_AND_INSTALL: return L"BUILD_AND_INSTALL";
+ case vcpkg::Dependencies::InstallPlanType::EXCLUDED: return L"EXCLUDED";
+ case vcpkg::Dependencies::InstallPlanType::UNKNOWN: return L"UNKNOWN";
+ default: return ToString(static_cast<int>(t));
+ }
+ }
+
+ template<>
+ std::wstring ToString<vcpkg::Dependencies::RequestType>(const vcpkg::Dependencies::RequestType& t)
+ {
+ switch (t)
+ {
+ case vcpkg::Dependencies::RequestType::AUTO_SELECTED: return L"AUTO_SELECTED";
+ case vcpkg::Dependencies::RequestType::USER_REQUESTED: return L"USER_REQUESTED";
+ case vcpkg::Dependencies::RequestType::UNKNOWN: return L"UNKNOWN";
+ default: return ToString(static_cast<int>(t));
+ }
+ }
+
+ template<>
+ std::wstring ToString<vcpkg::PackageSpecParseResult>(const vcpkg::PackageSpecParseResult& t)
+ {
+ return ToString(static_cast<uint32_t>(t));
+ }
+
+ template<>
+ std::wstring ToString<vcpkg::PackageSpec>(const vcpkg::PackageSpec& t)
+ {
+ return ToString(t.to_string());
+ }
}
std::unique_ptr<vcpkg::StatusParagraph> make_status_pgh(const char* name,
diff --git a/toolsrc/include/vcpkg/base/cache.h b/toolsrc/include/vcpkg/base/cache.h
new file mode 100644
index 000000000..dfc7565b8
--- /dev/null
+++ b/toolsrc/include/vcpkg/base/cache.h
@@ -0,0 +1,21 @@
+#pragma once
+
+#include <map>
+
+namespace vcpkg
+{
+ template<class Key, class Value>
+ struct Cache
+ {
+ template<class F>
+ Value const& get_lazy(const Key& k, const F& f) const
+ {
+ auto it = m_cache.find(k);
+ if (it != m_cache.end()) return it->second;
+ return m_cache.emplace(k, f()).first->second;
+ }
+
+ private:
+ mutable std::map<Key, Value> m_cache;
+ };
+}
diff --git a/toolsrc/include/vcpkg/base/checks.h b/toolsrc/include/vcpkg/base/checks.h
index fb162c897..bceee3428 100644
--- a/toolsrc/include/vcpkg/base/checks.h
+++ b/toolsrc/include/vcpkg/base/checks.h
@@ -27,7 +27,7 @@ namespace vcpkg::Checks
// Display an error message to the user and exit the tool.
[[noreturn]] void exit_with_message(const LineInfo& line_info,
const char* error_message_template,
- const Arg1 error_message_arg1,
+ const Arg1& error_message_arg1,
const Args&... error_message_args)
{
exit_with_message(line_info,
@@ -42,7 +42,7 @@ namespace vcpkg::Checks
void check_exit(const LineInfo& line_info,
Conditional&& expression,
const char* error_message_template,
- const Arg1 error_message_arg1,
+ const Arg1& error_message_arg1,
const Args&... error_message_args)
{
if (!expression)
diff --git a/toolsrc/include/vcpkg/base/chrono.h b/toolsrc/include/vcpkg/base/chrono.h
index 4291115f7..aa764a597 100644
--- a/toolsrc/include/vcpkg/base/chrono.h
+++ b/toolsrc/include/vcpkg/base/chrono.h
@@ -2,7 +2,6 @@
#include <chrono>
#include <string>
-#include <time.h>
#include <vcpkg/base/optional.h>
namespace vcpkg::Chrono
@@ -12,8 +11,8 @@ namespace vcpkg::Chrono
using duration = std::chrono::high_resolution_clock::time_point::duration;
public:
- constexpr ElapsedTime() : m_duration() {}
- constexpr ElapsedTime(duration d) : m_duration(d) {}
+ constexpr ElapsedTime() noexcept : m_duration() {}
+ constexpr ElapsedTime(duration d) noexcept : m_duration(d) {}
template<class TimeUnit>
TimeUnit as() const
@@ -32,7 +31,7 @@ namespace vcpkg::Chrono
public:
static ElapsedTimer create_started();
- constexpr ElapsedTimer() : m_start_tick() {}
+ constexpr ElapsedTimer() noexcept : m_start_tick() {}
ElapsedTime elapsed() const
{
@@ -53,8 +52,8 @@ namespace vcpkg::Chrono
static Optional<CTime> get_current_date_time();
static Optional<CTime> parse(CStringView str);
- constexpr CTime() : m_tm{0} {}
- explicit constexpr CTime(tm t) : m_tm{t} {}
+ constexpr CTime() noexcept : m_tm{0} {}
+ explicit constexpr CTime(tm t) noexcept : m_tm{t} {}
std::string to_string() const;
diff --git a/toolsrc/include/vcpkg/base/cstringview.h b/toolsrc/include/vcpkg/base/cstringview.h
index 0441bc573..f285aa36c 100644
--- a/toolsrc/include/vcpkg/base/cstringview.h
+++ b/toolsrc/include/vcpkg/base/cstringview.h
@@ -7,7 +7,7 @@ namespace vcpkg
{
struct CStringView
{
- constexpr CStringView() : cstr(nullptr) {}
+ constexpr CStringView() noexcept : cstr(nullptr) {}
constexpr CStringView(const char* cstr) : cstr(cstr) {}
constexpr CStringView(const CStringView&) = default;
CStringView(const std::string& str) : cstr(str.c_str()) {}
@@ -18,19 +18,6 @@ namespace vcpkg
const char* cstr;
};
- struct CWStringView
- {
- constexpr CWStringView() : cstr(nullptr) {}
- constexpr CWStringView(const wchar_t* cstr) : cstr(cstr) {}
- constexpr CWStringView(const CWStringView&) = default;
- CWStringView(const std::wstring& str) : cstr(str.c_str()) {}
-
- constexpr const wchar_t* c_str() const { return cstr; }
-
- private:
- const wchar_t* cstr;
- };
-
namespace details
{
inline bool vcpkg_strcmp(const char* l, const char* r) { return strcmp(l, r) == 0; }
diff --git a/toolsrc/include/vcpkg/base/files.h b/toolsrc/include/vcpkg/base/files.h
index 09393b9ee..f16805d0a 100644
--- a/toolsrc/include/vcpkg/base/files.h
+++ b/toolsrc/include/vcpkg/base/files.h
@@ -36,6 +36,7 @@ namespace vcpkg::Files
virtual void write_lines(const fs::path& file_path, const std::vector<std::string>& lines) = 0;
virtual void write_contents(const fs::path& file_path, const std::string& data, std::error_code& ec) = 0;
virtual void rename(const fs::path& oldpath, const fs::path& newpath) = 0;
+ virtual void rename(const fs::path& oldpath, const fs::path& newpath, std::error_code& ec) = 0;
virtual bool remove(const fs::path& path) = 0;
virtual bool remove(const fs::path& path, std::error_code& ec) = 0;
virtual std::uintmax_t remove_all(const fs::path& path, std::error_code& ec) = 0;
@@ -63,7 +64,7 @@ namespace vcpkg::Files
Filesystem& get_real_filesystem();
- static const char* FILESYSTEM_INVALID_CHARACTERS = R"(\/:*?"<>|)";
+ static constexpr const char* FILESYSTEM_INVALID_CHARACTERS = R"(\/:*?"<>|)";
bool has_invalid_chars_for_filesystem(const std::string& s);
diff --git a/toolsrc/include/vcpkg/base/lineinfo.h b/toolsrc/include/vcpkg/base/lineinfo.h
index e7e8c3031..e0eb8bec9 100644
--- a/toolsrc/include/vcpkg/base/lineinfo.h
+++ b/toolsrc/include/vcpkg/base/lineinfo.h
@@ -9,7 +9,7 @@ namespace vcpkg
int line_number;
const char* file_name;
- constexpr LineInfo() : line_number(0), file_name("") {}
+ constexpr LineInfo() noexcept : line_number(0), file_name("") {}
constexpr LineInfo(const int lineno, const char* filename) : line_number(lineno), file_name(filename) {}
std::string to_string() const;
diff --git a/toolsrc/include/vcpkg/base/optional.h b/toolsrc/include/vcpkg/base/optional.h
index af2d297a6..6b84b10aa 100644
--- a/toolsrc/include/vcpkg/base/optional.h
+++ b/toolsrc/include/vcpkg/base/optional.h
@@ -16,7 +16,7 @@ namespace vcpkg
template<class T>
struct OptionalStorage
{
- constexpr OptionalStorage() : m_is_present(false), m_t() {}
+ constexpr OptionalStorage() noexcept : m_is_present(false), m_t() {}
constexpr OptionalStorage(const T& t) : m_is_present(true), m_t(t) {}
constexpr OptionalStorage(T&& t) : m_is_present(true), m_t(std::move(t)) {}
@@ -33,7 +33,7 @@ namespace vcpkg
template<class T>
struct OptionalStorage<T&>
{
- constexpr OptionalStorage() : m_t(nullptr) {}
+ constexpr OptionalStorage() noexcept : m_t(nullptr) {}
constexpr OptionalStorage(T& t) : m_t(&t) {}
constexpr bool has_value() const { return m_t != nullptr; }
@@ -48,7 +48,7 @@ namespace vcpkg
template<class T>
struct Optional
{
- constexpr Optional() {}
+ constexpr Optional() noexcept {}
// Constructors are intentionally implicit
constexpr Optional(NullOpt) {}
@@ -64,6 +64,12 @@ namespace vcpkg
return std::move(this->m_base.value());
}
+ T& value_or_exit(const LineInfo& line_info) &
+ {
+ this->exit_if_null(line_info);
+ return this->m_base.value();
+ }
+
const T& value_or_exit(const LineInfo& line_info) const&
{
this->exit_if_null(line_info);
diff --git a/toolsrc/include/vcpkg/base/span.h b/toolsrc/include/vcpkg/base/span.h
index c9ac18afe..2b067d0ac 100644
--- a/toolsrc/include/vcpkg/base/span.h
+++ b/toolsrc/include/vcpkg/base/span.h
@@ -19,18 +19,19 @@ namespace vcpkg
using iterator = pointer;
constexpr Span() noexcept : m_ptr(nullptr), m_count(0) {}
- constexpr Span(std::nullptr_t) noexcept : Span() {}
+ constexpr Span(std::nullptr_t) noexcept : m_ptr(nullptr), m_count(0) {}
constexpr Span(pointer ptr, size_t count) noexcept : m_ptr(ptr), m_count(count) {}
constexpr Span(pointer ptr_begin, pointer ptr_end) noexcept : m_ptr(ptr_begin), m_count(ptr_end - ptr_begin) {}
constexpr Span(std::initializer_list<T> l) noexcept : m_ptr(l.begin()), m_count(l.size()) {}
template<size_t N>
- constexpr Span(T (&arr)[N]) noexcept : Span(arr, N)
+ constexpr Span(T (&arr)[N]) noexcept : m_ptr(arr), m_count(N)
{
}
template<size_t N>
- constexpr Span(const std::array<std::remove_const_t<T>, N>& arr) noexcept : Span(arr.data(), arr.size())
+ constexpr Span(const std::array<std::remove_const_t<T>, N>& arr) noexcept
+ : m_ptr(arr.data()), m_count(arr.size())
{
}
diff --git a/toolsrc/include/vcpkg/base/strings.h b/toolsrc/include/vcpkg/base/strings.h
index 6ef840fb3..e165c69da 100644
--- a/toolsrc/include/vcpkg/base/strings.h
+++ b/toolsrc/include/vcpkg/base/strings.h
@@ -34,9 +34,11 @@ namespace vcpkg::Strings
return details::format_internal(fmtstr, to_printf_arg(to_printf_arg(args))...);
}
+#if defined(_WIN32)
std::wstring to_utf16(const CStringView& s);
- std::string to_utf8(const CWStringView& w);
+ std::string to_utf8(const wchar_t* w);
+#endif
std::string escape_string(const CStringView& s, char char_to_escape, char escape_char);
@@ -46,7 +48,9 @@ namespace vcpkg::Strings
bool case_insensitive_ascii_equals(const CStringView left, const CStringView right);
- std::string ascii_to_lowercase(const std::string& input);
+ std::string ascii_to_lowercase(std::string s);
+
+ std::string ascii_to_uppercase(std::string s);
bool case_insensitive_ascii_starts_with(const std::string& s, const std::string& pattern);
diff --git a/toolsrc/include/vcpkg/base/system.h b/toolsrc/include/vcpkg/base/system.h
index 31034f6b4..0d089276f 100644
--- a/toolsrc/include/vcpkg/base/system.h
+++ b/toolsrc/include/vcpkg/base/system.h
@@ -1,5 +1,7 @@
#pragma once
+#include <unordered_map>
+
#include <vcpkg/base/files.h>
#include <vcpkg/base/optional.h>
#include <vcpkg/base/strings.h>
@@ -38,7 +40,8 @@ namespace vcpkg::System
std::string output;
};
- int cmd_execute_clean(const CStringView cmd_line);
+ int cmd_execute_clean(const CStringView cmd_line,
+ const std::unordered_map<std::string, std::string>& extra_env = {});
int cmd_execute(const CStringView cmd_line);
@@ -107,9 +110,9 @@ namespace vcpkg::System
std::vector<CPUArchitecture> get_supported_host_architectures();
- const fs::path& get_program_files_32_bit();
+ const Optional<fs::path>& get_program_files_32_bit();
- const fs::path& get_program_files_platform_bitness();
+ const Optional<fs::path>& get_program_files_platform_bitness();
}
namespace vcpkg::Debug
diff --git a/toolsrc/include/vcpkg/base/util.h b/toolsrc/include/vcpkg/base/util.h
index 5e07b240a..7266fbbc6 100644
--- a/toolsrc/include/vcpkg/base/util.h
+++ b/toolsrc/include/vcpkg/base/util.h
@@ -3,11 +3,10 @@
#include <algorithm>
#include <map>
#include <mutex>
+#include <unordered_map>
#include <utility>
#include <vector>
-#include <vcpkg/base/optional.h>
-
namespace vcpkg::Util
{
template<class Container>
@@ -24,10 +23,21 @@ namespace vcpkg::Util
namespace Sets
{
- template<class Container>
- bool contains(const Container& container, const ElementT<Container>& item)
+ template<class Container, class Key>
+ bool contains(const Container& container, const Key& item)
+ {
+ return container.find(item) != container.end();
+ }
+ }
+
+ namespace Maps
+ {
+ template<class K, class V1, class V2, class Func>
+ void transform_values(const std::unordered_map<K, V1>& container, std::unordered_map<K, V2>& output, Func func)
{
- return container.find(item) != container.cend();
+ std::for_each(container.cbegin(), container.cend(), [&](const std::pair<const K, V1>& p) {
+ output[p.first] = func(p.second);
+ });
}
}
@@ -158,6 +168,8 @@ namespace vcpkg::Util
MoveOnlyBase& operator=(const MoveOnlyBase&) = delete;
MoveOnlyBase& operator=(MoveOnlyBase&&) = default;
+
+ ~MoveOnlyBase() = default;
};
struct ResourceBase
@@ -168,6 +180,8 @@ namespace vcpkg::Util
ResourceBase& operator=(const ResourceBase&) = delete;
ResourceBase& operator=(ResourceBase&&) = delete;
+
+ ~ResourceBase() = default;
};
template<class T>
@@ -214,4 +228,10 @@ namespace vcpkg::Util
return e == E::YES;
}
}
+
+ template<class T>
+ void unused(T&& param)
+ {
+ (void)param;
+ }
}
diff --git a/toolsrc/include/vcpkg/build.h b/toolsrc/include/vcpkg/build.h
index ea81c4dbe..c5e7e8d88 100644
--- a/toolsrc/include/vcpkg/build.h
+++ b/toolsrc/include/vcpkg/build.h
@@ -57,12 +57,20 @@ namespace vcpkg::Build
RELEASE,
};
+ enum class DownloadTool
+ {
+ BUILT_IN,
+ ARIA2,
+ };
+ const std::string& to_string(DownloadTool tool);
+
struct BuildPackageOptions
{
UseHeadVersion use_head_version;
AllowDownloads allow_downloads;
CleanBuildtrees clean_buildtrees;
CleanPackages clean_packages;
+ DownloadTool download_tool;
};
enum class BuildResult
@@ -195,8 +203,8 @@ namespace vcpkg::Build
struct BuildInfo
{
- LinkageType crt_linkage;
- LinkageType library_linkage;
+ LinkageType crt_linkage = LinkageType::DYNAMIC;
+ LinkageType library_linkage = LinkageType::DYNAMIC;
Optional<std::string> version;
@@ -204,4 +212,26 @@ namespace vcpkg::Build
};
BuildInfo read_build_info(const Files::Filesystem& fs, const fs::path& filepath);
+
+ struct AbiEntry
+ {
+ std::string key;
+ std::string value;
+
+ bool operator<(const AbiEntry& other) const
+ {
+ return key < other.key || (key == other.key && value < other.value);
+ }
+ };
+
+ struct AbiTagAndFile
+ {
+ std::string tag;
+ fs::path tag_file;
+ };
+
+ Optional<AbiTagAndFile> compute_abi_tag(const VcpkgPaths& paths,
+ const BuildPackageConfig& config,
+ const PreBuildInfo& pre_build_info,
+ Span<const AbiEntry> dependency_abis);
}
diff --git a/toolsrc/include/vcpkg/commands.h b/toolsrc/include/vcpkg/commands.h
index 4027e12f4..6d29b7960 100644
--- a/toolsrc/include/vcpkg/commands.h
+++ b/toolsrc/include/vcpkg/commands.h
@@ -7,6 +7,8 @@
#include <vcpkg/vcpkgpaths.h>
#include <array>
+#include <map>
+#include <vector>
namespace vcpkg::Commands
{
@@ -23,7 +25,17 @@ namespace vcpkg::Commands
namespace CI
{
+ struct UnknownCIPortsResults
+ {
+ std::vector<PackageSpec> unknown;
+ std::map<PackageSpec, Build::BuildResult> known;
+ };
+
extern const CommandStructure COMMAND_STRUCTURE;
+ UnknownCIPortsResults find_unknown_ports_for_ci(const VcpkgPaths& paths,
+ const std::set<std::string>& exclusions,
+ const Dependencies::PortFileProvider& provider,
+ const std::vector<FeatureSpec>& fspecs);
void perform_and_exit(const VcpkgCmdArguments& args, const VcpkgPaths& paths, const Triplet& default_triplet);
}
@@ -119,8 +131,17 @@ namespace vcpkg::Commands
namespace Hash
{
+ std::string get_string_hash(const std::string& s, const std::string& hash_type);
+ std::string get_file_hash(const VcpkgPaths& paths, const fs::path& path, const std::string& hash_type);
+
+ void perform_and_exit(const VcpkgCmdArguments& args, const VcpkgPaths& paths);
+ }
+
+ namespace Fetch
+ {
+ std::vector<Toolset> find_toolset_instances(const VcpkgPaths& paths);
+ fs::path get_tool_path(const VcpkgPaths& paths, const std::string& tool);
void perform_and_exit(const VcpkgCmdArguments& args, const VcpkgPaths& paths);
- std::string get_file_hash(fs::path const& cmake_exe_path, fs::path const& path, std::string const& hash_type);
}
template<class T>
diff --git a/toolsrc/include/vcpkg/dependencies.h b/toolsrc/include/vcpkg/dependencies.h
index fadb8cc7e..3c3b8f267 100644
--- a/toolsrc/include/vcpkg/dependencies.h
+++ b/toolsrc/include/vcpkg/dependencies.h
@@ -35,17 +35,17 @@ namespace vcpkg::Dependencies
{
static bool compare_by_name(const InstallPlanAction* left, const InstallPlanAction* right);
- InstallPlanAction();
+ InstallPlanAction() noexcept;
- InstallPlanAction(const PackageSpec& spec,
- InstalledPackageView&& spghs,
+ InstallPlanAction(InstalledPackageView&& spghs,
const std::set<std::string>& features,
const RequestType& request_type);
InstallPlanAction(const PackageSpec& spec,
const SourceControlFile& scf,
const std::set<std::string>& features,
- const RequestType& request_type);
+ const RequestType& request_type,
+ std::vector<PackageSpec>&& dependencies);
std::string displayname() const;
@@ -58,6 +58,8 @@ namespace vcpkg::Dependencies
RequestType request_type;
Build::BuildPackageOptions build_options;
std::set<std::string> feature_list;
+
+ std::vector<PackageSpec> computed_dependencies;
};
enum class RemovePlanType
@@ -71,7 +73,7 @@ namespace vcpkg::Dependencies
{
static bool compare_by_name(const RemovePlanAction* left, const RemovePlanAction* right);
- RemovePlanAction();
+ RemovePlanAction() noexcept;
RemovePlanAction(const PackageSpec& spec, const RemovePlanType& plan_type, const RequestType& request_type);
PackageSpec spec;
@@ -101,7 +103,7 @@ namespace vcpkg::Dependencies
{
static bool compare_by_name(const ExportPlanAction* left, const ExportPlanAction* right);
- ExportPlanAction();
+ ExportPlanAction() noexcept;
ExportPlanAction(const PackageSpec& spec,
InstalledPackageView&& installed_package,
const RequestType& request_type);
@@ -172,7 +174,7 @@ namespace vcpkg::Dependencies
const std::vector<FeatureSpec>& specs,
const StatusParagraphs& status_db);
- std::vector<AnyAction> create_feature_install_plan(const PortFileProvider& port_file_provider,
+ std::vector<AnyAction> create_feature_install_plan(const PortFileProvider& provider,
const std::vector<FeatureSpec>& specs,
const StatusParagraphs& status_db);
diff --git a/toolsrc/include/vcpkg/export.ifw.h b/toolsrc/include/vcpkg/export.ifw.h
index d28a4436d..b1573924e 100644
--- a/toolsrc/include/vcpkg/export.ifw.h
+++ b/toolsrc/include/vcpkg/export.ifw.h
@@ -3,8 +3,6 @@
#include <vcpkg/dependencies.h>
#include <vcpkg/vcpkgpaths.h>
-#include <vcpkg/base/files.h>
-
#include <string>
#include <vector>
diff --git a/toolsrc/include/vcpkg/install.h b/toolsrc/include/vcpkg/install.h
index 2e92764dc..b7acbf15f 100644
--- a/toolsrc/include/vcpkg/install.h
+++ b/toolsrc/include/vcpkg/install.h
@@ -37,6 +37,7 @@ namespace vcpkg::Install
std::string total_elapsed_time;
void print() const;
+ static std::string xunit_result(const PackageSpec& spec, Chrono::ElapsedTime time, Build::BuildResult code);
std::string xunit_results() const;
};
diff --git a/toolsrc/include/vcpkg/packagespecparseresult.h b/toolsrc/include/vcpkg/packagespecparseresult.h
index dd91c9a67..be3497152 100644
--- a/toolsrc/include/vcpkg/packagespecparseresult.h
+++ b/toolsrc/include/vcpkg/packagespecparseresult.h
@@ -17,7 +17,7 @@ namespace vcpkg
template<>
struct ErrorHolder<PackageSpecParseResult>
{
- ErrorHolder() : m_err(PackageSpecParseResult::SUCCESS) {}
+ ErrorHolder() noexcept : m_err(PackageSpecParseResult::SUCCESS) {}
ErrorHolder(PackageSpecParseResult err) : m_err(err) {}
bool has_error() const { return m_err != PackageSpecParseResult::SUCCESS; }
diff --git a/toolsrc/include/vcpkg/paragraphs.h b/toolsrc/include/vcpkg/paragraphs.h
index e2c7f2d99..56f09387a 100644
--- a/toolsrc/include/vcpkg/paragraphs.h
+++ b/toolsrc/include/vcpkg/paragraphs.h
@@ -3,12 +3,9 @@
#include <vcpkg/binaryparagraph.h>
#include <vcpkg/parse.h>
#include <vcpkg/vcpkgpaths.h>
-#include <vcpkg/versiont.h>
#include <vcpkg/base/expected.h>
-#include <map>
-
namespace vcpkg::Paragraphs
{
using RawParagraph = Parse::RawParagraph;
@@ -20,7 +17,7 @@ namespace vcpkg::Paragraphs
Parse::ParseExpected<SourceControlFile> try_load_port(const Files::Filesystem& fs, const fs::path& control_path);
- Expected<BinaryControlFile> try_load_cached_control_package(const VcpkgPaths& paths, const PackageSpec& spec);
+ Expected<BinaryControlFile> try_load_cached_package(const VcpkgPaths& paths, const PackageSpec& spec);
struct LoadResults
{
diff --git a/toolsrc/include/vcpkg/sourceparagraph.h b/toolsrc/include/vcpkg/sourceparagraph.h
index ea8e27a94..ae5812ea7 100644
--- a/toolsrc/include/vcpkg/sourceparagraph.h
+++ b/toolsrc/include/vcpkg/sourceparagraph.h
@@ -63,6 +63,8 @@ namespace vcpkg
std::unique_ptr<SourceParagraph> core_paragraph;
std::vector<std::unique_ptr<FeatureParagraph>> feature_paragraphs;
+
+ Optional<const FeatureParagraph&> find_feature(const std::string& featurename) const;
};
void print_error_message(Span<const std::unique_ptr<Parse::ParseControlErrorInfo>> error_info_list);
diff --git a/toolsrc/include/vcpkg/statusparagraph.h b/toolsrc/include/vcpkg/statusparagraph.h
index 0802de530..e79c946cc 100644
--- a/toolsrc/include/vcpkg/statusparagraph.h
+++ b/toolsrc/include/vcpkg/statusparagraph.h
@@ -29,7 +29,7 @@ namespace vcpkg
/// </summary>
struct StatusParagraph
{
- StatusParagraph();
+ StatusParagraph() noexcept;
explicit StatusParagraph(std::unordered_map<std::string, std::string>&& fields);
bool is_installed() const { return want == Want::INSTALL && state == InstallState::INSTALLED; }
@@ -47,13 +47,14 @@ namespace vcpkg
struct InstalledPackageView
{
- InstalledPackageView() : core(nullptr) {}
+ InstalledPackageView() noexcept : core(nullptr) {}
InstalledPackageView(const StatusParagraph* c, std::vector<const StatusParagraph*>&& fs)
: core(c), features(std::move(fs))
{
}
+ const PackageSpec& spec() const { return core->package.spec; }
std::vector<PackageSpec> dependencies() const;
const StatusParagraph* core;
diff --git a/toolsrc/include/vcpkg/triplet.h b/toolsrc/include/vcpkg/triplet.h
index 10464dc2c..334960e49 100644
--- a/toolsrc/include/vcpkg/triplet.h
+++ b/toolsrc/include/vcpkg/triplet.h
@@ -9,7 +9,7 @@ namespace vcpkg
struct Triplet
{
public:
- constexpr Triplet() : m_instance(&DEFAULT_INSTANCE) {}
+ constexpr Triplet() noexcept : m_instance(&DEFAULT_INSTANCE) {}
static Triplet from_canonical_name(const std::string& triplet_as_string);
@@ -47,4 +47,4 @@ namespace std
{
size_t operator()(const vcpkg::Triplet& t) const { return t.hash_code(); }
};
-} \ No newline at end of file
+}
diff --git a/toolsrc/include/vcpkg/userconfig.h b/toolsrc/include/vcpkg/userconfig.h
index 63b8e5481..d044f43ef 100644
--- a/toolsrc/include/vcpkg/userconfig.h
+++ b/toolsrc/include/vcpkg/userconfig.h
@@ -17,4 +17,6 @@ namespace vcpkg
void try_write_data(Files::Filesystem& fs) const;
};
+
+ fs::path get_user_dir();
}
diff --git a/toolsrc/include/vcpkg/vcpkgcmdarguments.h b/toolsrc/include/vcpkg/vcpkgcmdarguments.h
index f449887f1..de65eec28 100644
--- a/toolsrc/include/vcpkg/vcpkgcmdarguments.h
+++ b/toolsrc/include/vcpkg/vcpkgcmdarguments.h
@@ -1,6 +1,5 @@
#pragma once
-#include <vcpkg/base/cstringview.h>
#include <vcpkg/base/optional.h>
#include <vcpkg/base/span.h>
#include <vcpkg/base/stringliteral.h>
diff --git a/toolsrc/include/vcpkg/vcpkglib.h b/toolsrc/include/vcpkg/vcpkglib.h
index 3c8e676bf..5674d30db 100644
--- a/toolsrc/include/vcpkg/vcpkglib.h
+++ b/toolsrc/include/vcpkg/vcpkglib.h
@@ -16,7 +16,7 @@ namespace vcpkg
SortedVector<std::string> files;
};
- std::vector<StatusParagraph*> get_installed_ports(const StatusParagraphs& status_db);
+ std::vector<InstalledPackageView> get_installed_ports(const StatusParagraphs& status_db);
std::vector<StatusParagraphAndAssociatedFiles> get_installed_files(const VcpkgPaths& paths,
const StatusParagraphs& status_db);
diff --git a/toolsrc/include/vcpkg/vcpkgpaths.h b/toolsrc/include/vcpkg/vcpkgpaths.h
index 71f1bbba9..9c8f2911a 100644
--- a/toolsrc/include/vcpkg/vcpkgpaths.h
+++ b/toolsrc/include/vcpkg/vcpkgpaths.h
@@ -3,12 +3,25 @@
#include <vcpkg/binaryparagraph.h>
#include <vcpkg/packagespec.h>
+#include <vcpkg/base/cache.h>
#include <vcpkg/base/expected.h>
#include <vcpkg/base/files.h>
#include <vcpkg/base/lazy.h>
namespace vcpkg
{
+ namespace Tools
+ {
+ static const std::string SEVEN_ZIP = "7zip";
+ static const std::string CMAKE = "cmake";
+ static const std::string GIT = "git";
+ static const std::string NINJA = "ninja";
+ static const std::string NUGET = "nuget";
+ static const std::string IFW_INSTALLER_BASE = "ifw_installerbase";
+ static const std::string IFW_BINARYCREATOR = "ifw_binarycreator";
+ static const std::string IFW_REPOGEN = "ifw_repogen";
+ }
+
struct ToolsetArchOption
{
CStringView name;
@@ -63,13 +76,7 @@ namespace vcpkg
fs::path ports_cmake;
- const fs::path& get_7za_exe() const;
- const fs::path& get_cmake_exe() const;
- const fs::path& get_git_exe() const;
- const fs::path& get_nuget_exe() const;
- const fs::path& get_ifw_installerbase_exe() const;
- const fs::path& get_ifw_binarycreator_exe() const;
- const fs::path& get_ifw_repogen_exe() const;
+ const fs::path& get_tool_exe(const std::string& tool) const;
/// <summary>Retrieve a toolset matching a VS version</summary>
/// <remarks>
@@ -81,13 +88,7 @@ namespace vcpkg
private:
Lazy<std::vector<std::string>> available_triplets;
- Lazy<fs::path> _7za_exe;
- Lazy<fs::path> cmake_exe;
- Lazy<fs::path> git_exe;
- Lazy<fs::path> nuget_exe;
- Lazy<fs::path> ifw_installerbase_exe;
- Lazy<fs::path> ifw_binarycreator_exe;
- Lazy<fs::path> ifw_repogen_exe;
+ Cache<std::string, fs::path> tool_paths;
Lazy<std::vector<Toolset>> toolsets;
Lazy<std::vector<Toolset>> toolsets_vs2013;
diff --git a/toolsrc/include/vcpkg/versiont.h b/toolsrc/include/vcpkg/versiont.h
index 8427dfe3b..e893f1abc 100644
--- a/toolsrc/include/vcpkg/versiont.h
+++ b/toolsrc/include/vcpkg/versiont.h
@@ -5,7 +5,7 @@ namespace vcpkg
{
struct VersionT
{
- VersionT();
+ VersionT() noexcept;
VersionT(std::string&& value);
VersionT(const std::string& value);
@@ -23,7 +23,7 @@ namespace vcpkg
VersionT left;
VersionT right;
- VersionDiff();
+ VersionDiff() noexcept;
VersionDiff(const VersionT& left, const VersionT& right);
std::string to_string() const;
diff --git a/toolsrc/src/tests.paragraph.cpp b/toolsrc/src/tests.paragraph.cpp
index dca89bc59..9a56ad9ee 100644
--- a/toolsrc/src/tests.paragraph.cpp
+++ b/toolsrc/src/tests.paragraph.cpp
@@ -5,15 +5,6 @@
using namespace Microsoft::VisualStudio::CppUnitTestFramework;
-namespace Microsoft::VisualStudio::CppUnitTestFramework
-{
- template<>
- inline std::wstring ToString<vcpkg::PackageSpecParseResult>(const vcpkg::PackageSpecParseResult& t)
- {
- return ToString(static_cast<uint32_t>(t));
- }
-}
-
namespace Strings = vcpkg::Strings;
namespace UnitTest1
diff --git a/toolsrc/src/tests.plan.cpp b/toolsrc/src/tests.plan.cpp
index 95056810c..238aa7032 100644
--- a/toolsrc/src/tests.plan.cpp
+++ b/toolsrc/src/tests.plan.cpp
@@ -81,7 +81,7 @@ namespace UnitTest1
{
std::unordered_map<std::string, SourceControlFile> map;
Triplet triplet;
- PackageSpecMap(const Triplet& t) { triplet = t; }
+ PackageSpecMap(const Triplet& t = Triplet::X86_WINDOWS) noexcept { triplet = t; }
PackageSpec emplace(const char* name,
const char* depends = "",
@@ -105,7 +105,7 @@ namespace UnitTest1
{
std::vector<std::unique_ptr<StatusParagraph>> status_paragraphs;
- PackageSpecMap spec_map(Triplet::X86_WINDOWS);
+ PackageSpecMap spec_map;
auto spec_a = spec_map.emplace("a", "b");
auto spec_b = spec_map.emplace("b", "c");
auto spec_c = spec_map.emplace("c");
@@ -124,7 +124,7 @@ namespace UnitTest1
{
std::vector<std::unique_ptr<StatusParagraph>> status_paragraphs;
- PackageSpecMap spec_map(Triplet::X86_WINDOWS);
+ PackageSpecMap spec_map;
auto spec_a = spec_map.emplace("a", "d");
auto spec_b = spec_map.emplace("b", "d, e");
auto spec_c = spec_map.emplace("c", "e, h");
@@ -167,7 +167,7 @@ namespace UnitTest1
std::vector<std::unique_ptr<StatusParagraph>> status_paragraphs;
status_paragraphs.push_back(make_status_pgh("a"));
- PackageSpecMap spec_map(Triplet::X86_WINDOWS);
+ PackageSpecMap spec_map;
auto spec_a = FullPackageSpec{spec_map.emplace("a")};
auto install_plan =
@@ -187,7 +187,7 @@ namespace UnitTest1
{
std::vector<std::unique_ptr<StatusParagraph>> status_paragraphs;
- PackageSpecMap spec_map(Triplet::X86_WINDOWS);
+ PackageSpecMap spec_map;
auto spec_a = FullPackageSpec{spec_map.emplace("a", "b")};
auto spec_b = FullPackageSpec{spec_map.emplace("b")};
@@ -216,7 +216,7 @@ namespace UnitTest1
status_paragraphs.push_back(make_status_pgh("j", "k"));
status_paragraphs.push_back(make_status_pgh("k"));
- PackageSpecMap spec_map(Triplet::X86_WINDOWS);
+ PackageSpecMap spec_map;
auto spec_a = spec_map.emplace("a", "b, c, d, e, f, g, h, j, k");
auto spec_b = spec_map.emplace("b", "c, d, e, f, g, h, j, k");
@@ -251,7 +251,7 @@ namespace UnitTest1
status_paragraphs.push_back(make_status_pgh("b"));
status_paragraphs.push_back(make_status_feature_pgh("b", "b1"));
- PackageSpecMap spec_map(Triplet::X86_WINDOWS);
+ PackageSpecMap spec_map;
auto spec_a = FullPackageSpec{spec_map.emplace("a", "b, b[b1]", {{"a1", "b[b2]"}}), {"a1"}};
auto spec_b = FullPackageSpec{spec_map.emplace("b", "", {{"b1", ""}, {"b2", ""}, {"b3", ""}})};
@@ -271,7 +271,7 @@ namespace UnitTest1
{
std::vector<std::unique_ptr<StatusParagraph>> status_paragraphs;
- PackageSpecMap spec_map(Triplet::X86_WINDOWS);
+ PackageSpecMap spec_map;
auto spec_a = FullPackageSpec{spec_map.emplace("a", "b[b1]", {{"a1", "b[b2]"}}), {"a1"}};
auto spec_b = FullPackageSpec{spec_map.emplace("b", "", {{"b1", ""}, {"b2", ""}, {"b3", ""}})};
@@ -291,7 +291,7 @@ namespace UnitTest1
std::vector<std::unique_ptr<StatusParagraph>> status_paragraphs;
status_paragraphs.push_back(make_status_pgh("a"));
- PackageSpecMap spec_map(Triplet::X86_WINDOWS);
+ PackageSpecMap spec_map;
auto spec_a = FullPackageSpec{spec_map.emplace("a", "b", {{"a1", ""}}), {"core"}};
auto spec_b = FullPackageSpec{spec_map.emplace("b")};
@@ -315,7 +315,7 @@ namespace UnitTest1
status_paragraphs.push_back(make_status_pgh("a"));
status_paragraphs.push_back(make_status_feature_pgh("a", "a1", ""));
- PackageSpecMap spec_map(Triplet::X86_WINDOWS);
+ PackageSpecMap spec_map;
auto spec_a = FullPackageSpec{spec_map.emplace("a", "b", {{"a1", ""}})};
auto spec_b = FullPackageSpec{spec_map.emplace("b")};
@@ -334,7 +334,7 @@ namespace UnitTest1
{
std::vector<std::unique_ptr<StatusParagraph>> status_paragraphs;
- PackageSpecMap spec_map(Triplet::X86_WINDOWS);
+ PackageSpecMap spec_map;
auto spec_a =
FullPackageSpec{spec_map.emplace("a", "", {{"a1", "b[b1]"}, {"a2", "b[b2]"}, {"a3", "a[a2]"}}), {"a3"}};
@@ -355,7 +355,7 @@ namespace UnitTest1
std::vector<std::unique_ptr<StatusParagraph>> status_paragraphs;
status_paragraphs.push_back(make_status_pgh("b"));
- PackageSpecMap spec_map(Triplet::X86_WINDOWS);
+ PackageSpecMap spec_map;
auto spec_a = FullPackageSpec{spec_map.emplace("a", "b[core]"), {"core"}};
auto spec_b = FullPackageSpec{spec_map.emplace("b", "", {{"b1", ""}}), {"b1"}};
@@ -376,7 +376,7 @@ namespace UnitTest1
status_paragraphs.push_back(make_status_pgh("x", "b"));
status_paragraphs.push_back(make_status_pgh("b"));
- PackageSpecMap spec_map(Triplet::X86_WINDOWS);
+ PackageSpecMap spec_map;
auto spec_a = FullPackageSpec{spec_map.emplace("a")};
auto spec_x = FullPackageSpec{spec_map.emplace("x", "a"), {"core"}};
@@ -593,17 +593,116 @@ namespace UnitTest1
features_check(&install_plan[0], "a", {"core"}, Triplet::X64_WINDOWS);
}
+ TEST_METHOD(install_plan_action_dependencies)
+ {
+ std::vector<std::unique_ptr<StatusParagraph>> status_paragraphs;
+
+ // Add a port "a" which depends on the core of "b", which was already
+ // installed explicitly
+ PackageSpecMap spec_map(Triplet::X64_WINDOWS);
+ auto spec_c = spec_map.emplace("c");
+ auto spec_b = spec_map.emplace("b", "c");
+ spec_map.emplace("a", "b");
+
+ // Install "a" (without explicit feature specification)
+ auto install_specs = FullPackageSpec::from_string("a", Triplet::X64_WINDOWS);
+ auto install_plan = Dependencies::create_feature_install_plan(
+ spec_map.map,
+ FullPackageSpec::to_feature_specs({install_specs.value_or_exit(VCPKG_LINE_INFO)}),
+ StatusParagraphs(std::move(status_paragraphs)));
+
+ Assert::IsTrue(install_plan.size() == 3);
+ features_check(&install_plan[0], "c", {"core"}, Triplet::X64_WINDOWS);
+
+ features_check(&install_plan[1], "b", {"core"}, Triplet::X64_WINDOWS);
+ Assert::IsTrue(install_plan[1].install_action.get()->computed_dependencies ==
+ std::vector<PackageSpec>{spec_c});
+
+ features_check(&install_plan[2], "a", {"core"}, Triplet::X64_WINDOWS);
+ Assert::IsTrue(install_plan[2].install_action.get()->computed_dependencies ==
+ std::vector<PackageSpec>{spec_b});
+ }
+
+ TEST_METHOD(install_plan_action_dependencies_2)
+ {
+ std::vector<std::unique_ptr<StatusParagraph>> status_paragraphs;
+
+ // Add a port "a" which depends on the core of "b", which was already
+ // installed explicitly
+ PackageSpecMap spec_map(Triplet::X64_WINDOWS);
+ auto spec_c = spec_map.emplace("c");
+ auto spec_b = spec_map.emplace("b", "c");
+ spec_map.emplace("a", "c, b");
+
+ // Install "a" (without explicit feature specification)
+ auto install_specs = FullPackageSpec::from_string("a", Triplet::X64_WINDOWS);
+ auto install_plan = Dependencies::create_feature_install_plan(
+ spec_map.map,
+ FullPackageSpec::to_feature_specs({install_specs.value_or_exit(VCPKG_LINE_INFO)}),
+ StatusParagraphs(std::move(status_paragraphs)));
+
+ Assert::IsTrue(install_plan.size() == 3);
+ features_check(&install_plan[0], "c", {"core"}, Triplet::X64_WINDOWS);
+
+ features_check(&install_plan[1], "b", {"core"}, Triplet::X64_WINDOWS);
+ Assert::IsTrue(install_plan[1].install_action.get()->computed_dependencies ==
+ std::vector<PackageSpec>{spec_c});
+
+ features_check(&install_plan[2], "a", {"core"}, Triplet::X64_WINDOWS);
+ Assert::IsTrue(install_plan[2].install_action.get()->computed_dependencies ==
+ std::vector<PackageSpec>{spec_b, spec_c});
+ }
+
+ TEST_METHOD(install_plan_action_dependencies_3)
+ {
+ std::vector<std::unique_ptr<StatusParagraph>> status_paragraphs;
+
+ // Add a port "a" which depends on the core of "b", which was already
+ // installed explicitly
+ PackageSpecMap spec_map(Triplet::X64_WINDOWS);
+ spec_map.emplace("a", "", {{"0", ""}, {"1", "a[0]"}}, {"1"});
+
+ // Install "a" (without explicit feature specification)
+ auto install_specs = FullPackageSpec::from_string("a", Triplet::X64_WINDOWS);
+ auto install_plan = Dependencies::create_feature_install_plan(
+ spec_map.map,
+ FullPackageSpec::to_feature_specs({install_specs.value_or_exit(VCPKG_LINE_INFO)}),
+ StatusParagraphs(std::move(status_paragraphs)));
+
+ Assert::IsTrue(install_plan.size() == 1);
+ features_check(&install_plan[0], "a", {"1", "0", "core"}, Triplet::X64_WINDOWS);
+ Assert::IsTrue(install_plan[0].install_action.get()->computed_dependencies == std::vector<PackageSpec>{});
+ }
+
+ TEST_METHOD(install_with_default_features)
+ {
+ std::vector<std::unique_ptr<StatusParagraph>> pghs;
+ pghs.push_back(make_status_pgh("a", ""));
+ StatusParagraphs status_db(std::move(pghs));
+
+ PackageSpecMap spec_map;
+ auto b_spec = spec_map.emplace("b", "", {{"0", ""}}, {"0"});
+ auto a_spec = spec_map.emplace("a", "b[core]", {{"0", ""}});
+
+ // Install "a" and indicate that "b" should not install default features
+ auto install_plan = Dependencies::create_feature_install_plan(
+ spec_map.map, {FeatureSpec{a_spec, "0"}, FeatureSpec{b_spec, "core"}}, status_db);
+
+ Assert::IsTrue(install_plan.size() == 3);
+ remove_plan_check(&install_plan[0], "a");
+ features_check(&install_plan[1], "b", {"core"});
+ features_check(&install_plan[2], "a", {"0", "core"});
+ }
+
TEST_METHOD(upgrade_with_default_features_1)
{
std::vector<std::unique_ptr<StatusParagraph>> pghs;
pghs.push_back(make_status_pgh("a", "", "1"));
pghs.push_back(make_status_feature_pgh("a", "0"));
- pghs.back()->package.spec =
- PackageSpec::from_name_and_triplet("a", Triplet::X86_WINDOWS).value_or_exit(VCPKG_LINE_INFO);
StatusParagraphs status_db(std::move(pghs));
// Add a port "a" of which "core" and "0" are already installed.
- PackageSpecMap spec_map(Triplet::X86_WINDOWS);
+ PackageSpecMap spec_map;
auto spec_a = spec_map.emplace("a", "", {{"0", ""}, {"1", ""}}, {"1"});
Dependencies::MapPortFileProvider provider(spec_map.map);
@@ -616,24 +715,47 @@ namespace UnitTest1
Assert::AreEqual(size_t(2), plan.size());
Assert::AreEqual("a", plan[0].spec().name().c_str());
- Assert::IsTrue(plan[0].remove_action.has_value());
-
- Assert::AreEqual("a", plan[1].spec().name().c_str());
- Assert::IsTrue(plan[1].install_action.has_value());
- features_check(&plan[1], "a", {"core", "0"}, Triplet::X86_WINDOWS);
+ remove_plan_check(&plan[0], "a");
+ features_check(&plan[1], "a", {"core", "0"});
}
TEST_METHOD(upgrade_with_default_features_2)
{
std::vector<std::unique_ptr<StatusParagraph>> pghs;
- pghs.push_back(make_status_pgh("b"));
- pghs.push_back(make_status_pgh("a", "b[core]"));
- pghs.back()->package.spec =
- PackageSpec::from_name_and_triplet("a", Triplet::X64_WINDOWS).value_or_exit(VCPKG_LINE_INFO);
+ // B is currently installed _without_ default feature b0
+ pghs.push_back(make_status_pgh("b", "", "b0", "x64-windows"));
+ pghs.push_back(make_status_pgh("a", "b[core]", "", "x64-windows"));
+
+ StatusParagraphs status_db(std::move(pghs));
+
+ PackageSpecMap spec_map(Triplet::X64_WINDOWS);
+ auto spec_a = spec_map.emplace("a", "b[core]");
+ auto spec_b = spec_map.emplace("b", "", {{"b0", ""}, {"b1", ""}}, {"b0", "b1"});
+
+ Dependencies::MapPortFileProvider provider(spec_map.map);
+ Dependencies::PackageGraph graph(provider, status_db);
+
+ graph.upgrade(spec_a);
+ graph.upgrade(spec_b);
+ auto plan = graph.serialize();
+
+ // The upgrade should install the new default feature b1 but not b0
+ Assert::AreEqual(size_t(4), plan.size());
+ remove_plan_check(&plan[0], "a", Triplet::X64_WINDOWS);
+ remove_plan_check(&plan[1], "b", Triplet::X64_WINDOWS);
+ features_check(&plan[2], "b", {"core", "b1"}, Triplet::X64_WINDOWS);
+ features_check(&plan[3], "a", {"core"}, Triplet::X64_WINDOWS);
+ }
+
+ TEST_METHOD(upgrade_with_default_features_3)
+ {
+ std::vector<std::unique_ptr<StatusParagraph>> pghs;
+ // note: unrelated package due to x86 triplet
+ pghs.push_back(make_status_pgh("b", "", "", "x86-windows"));
+ pghs.push_back(make_status_pgh("a", "", "", "x64-windows"));
StatusParagraphs status_db(std::move(pghs));
- // Add a port "a" of which "core" and "0" are already installed.
PackageSpecMap spec_map(Triplet::X64_WINDOWS);
auto spec_a = spec_map.emplace("a", "b[core]");
spec_map.emplace("b", "", {{"b0", ""}, {"b1", ""}}, {"b0"});
@@ -644,19 +766,33 @@ namespace UnitTest1
graph.upgrade(spec_a);
auto plan = graph.serialize();
- // The upgrade should not install the default feature
+ // The upgrade should install the default feature
Assert::AreEqual(size_t(3), plan.size());
+ remove_plan_check(&plan[0], "a", Triplet::X64_WINDOWS);
+ features_check(&plan[1], "b", {"b0", "core"}, Triplet::X64_WINDOWS);
+ features_check(&plan[2], "a", {"core"}, Triplet::X64_WINDOWS);
+ }
- Assert::AreEqual("a", plan[0].spec().name().c_str());
- Assert::IsTrue(plan[0].remove_action.has_value());
+ TEST_METHOD(upgrade_with_new_default_feature)
+ {
+ std::vector<std::unique_ptr<StatusParagraph>> pghs;
+ pghs.push_back(make_status_pgh("a", "", "0", "x86-windows"));
- Assert::AreEqual("b", plan[1].spec().name().c_str());
- Assert::IsTrue(plan[1].install_action.has_value());
- features_check(&plan[1], "b", {"b0", "core"}, Triplet::X64_WINDOWS);
+ StatusParagraphs status_db(std::move(pghs));
- Assert::AreEqual("a", plan[2].spec().name().c_str());
- Assert::IsTrue(plan[2].install_action.has_value());
- features_check(&plan[2], "a", {"core"}, Triplet::X64_WINDOWS);
+ PackageSpecMap spec_map;
+ auto spec_a = spec_map.emplace("a", "", {{"0", ""}, {"1", ""}, {"2", ""}}, {"0", "1"});
+
+ Dependencies::MapPortFileProvider provider(spec_map.map);
+ Dependencies::PackageGraph graph(provider, status_db);
+
+ graph.upgrade(spec_a);
+ auto plan = graph.serialize();
+
+ // The upgrade should install the new default feature but not the old default feature 0
+ Assert::AreEqual(size_t(2), plan.size());
+ remove_plan_check(&plan[0], "a", Triplet::X86_WINDOWS);
+ features_check(&plan[1], "a", {"core", "1"}, Triplet::X86_WINDOWS);
}
TEST_METHOD(transitive_features_test)
@@ -846,7 +982,7 @@ namespace UnitTest1
pghs.push_back(make_status_pgh("a"));
StatusParagraphs status_db(std::move(pghs));
- PackageSpecMap spec_map(Triplet::X86_WINDOWS);
+ PackageSpecMap spec_map;
auto spec_a = spec_map.emplace("a");
Dependencies::MapPortFileProvider provider(spec_map.map);
@@ -870,7 +1006,7 @@ namespace UnitTest1
pghs.push_back(make_status_pgh("b", "a"));
StatusParagraphs status_db(std::move(pghs));
- PackageSpecMap spec_map(Triplet::X86_WINDOWS);
+ PackageSpecMap spec_map;
auto spec_a = spec_map.emplace("a");
spec_map.emplace("b", "a");
@@ -902,7 +1038,7 @@ namespace UnitTest1
pghs.push_back(make_status_pgh("b"));
StatusParagraphs status_db(std::move(pghs));
- PackageSpecMap spec_map(Triplet::X86_WINDOWS);
+ PackageSpecMap spec_map;
auto spec_a = spec_map.emplace("a");
spec_map.emplace("b", "a");
@@ -926,7 +1062,7 @@ namespace UnitTest1
pghs.push_back(make_status_pgh("a"));
StatusParagraphs status_db(std::move(pghs));
- PackageSpecMap spec_map(Triplet::X86_WINDOWS);
+ PackageSpecMap spec_map;
auto spec_a = spec_map.emplace("a", "b");
spec_map.emplace("b");
@@ -953,7 +1089,7 @@ namespace UnitTest1
pghs.push_back(make_status_feature_pgh("a", "a1"));
StatusParagraphs status_db(std::move(pghs));
- PackageSpecMap spec_map(Triplet::X86_WINDOWS);
+ PackageSpecMap spec_map;
auto spec_a = spec_map.emplace("a", "", {{"a1", ""}});
Dependencies::MapPortFileProvider provider(spec_map.map);
@@ -979,7 +1115,7 @@ namespace UnitTest1
StatusParagraphs status_db(std::move(pghs));
// a1 was added as a default feature and should be installed in upgrade
- PackageSpecMap spec_map(Triplet::X86_WINDOWS);
+ PackageSpecMap spec_map;
auto spec_a = spec_map.emplace("a", "", {{"a1", ""}}, {"a1"});
Dependencies::MapPortFileProvider provider(spec_map.map);
@@ -1005,7 +1141,7 @@ namespace UnitTest1
pghs.push_back(make_status_feature_pgh("a", "a2", "a[a1]"));
StatusParagraphs status_db(std::move(pghs));
- PackageSpecMap spec_map(Triplet::X86_WINDOWS);
+ PackageSpecMap spec_map;
auto spec_a = spec_map.emplace("a", "", {{"a1", ""}, {"a2", "a[a1]"}});
Dependencies::MapPortFileProvider provider(spec_map.map);
@@ -1034,7 +1170,7 @@ namespace UnitTest1
pghs.push_back(make_status_pgh("a"));
StatusParagraphs status_db(std::move(pghs));
- PackageSpecMap spec_map(Triplet::X86_WINDOWS);
+ PackageSpecMap spec_map;
auto spec_a = spec_map.emplace("a");
auto plan = Dependencies::create_export_plan({spec_a}, status_db);
@@ -1051,7 +1187,7 @@ namespace UnitTest1
pghs.push_back(make_status_pgh("b", "a"));
StatusParagraphs status_db(std::move(pghs));
- PackageSpecMap spec_map(Triplet::X86_WINDOWS);
+ PackageSpecMap spec_map;
auto spec_a = spec_map.emplace("a");
auto spec_b = spec_map.emplace("b", "a");
@@ -1072,7 +1208,7 @@ namespace UnitTest1
pghs.push_back(make_status_pgh("b"));
StatusParagraphs status_db(std::move(pghs));
- PackageSpecMap spec_map(Triplet::X86_WINDOWS);
+ PackageSpecMap spec_map;
auto spec_a = spec_map.emplace("a");
auto spec_b = spec_map.emplace("b", "a");
@@ -1087,7 +1223,7 @@ namespace UnitTest1
{
StatusParagraphs status_db;
- PackageSpecMap spec_map(Triplet::X86_WINDOWS);
+ PackageSpecMap spec_map;
auto spec_a = spec_map.emplace("a");
auto plan = Dependencies::create_export_plan({spec_a}, status_db);
@@ -1105,7 +1241,7 @@ namespace UnitTest1
pghs.push_back(make_status_feature_pgh("a", "a1", "b[core]"));
StatusParagraphs status_db(std::move(pghs));
- PackageSpecMap spec_map(Triplet::X86_WINDOWS);
+ PackageSpecMap spec_map;
auto spec_a = spec_map.emplace("a", "", {{"a1", ""}});
auto plan = Dependencies::create_export_plan({spec_a}, status_db);
diff --git a/toolsrc/src/tests.utils.cpp b/toolsrc/src/tests.utils.cpp
index a3d8ffc7d..ac391f559 100644
--- a/toolsrc/src/tests.utils.cpp
+++ b/toolsrc/src/tests.utils.cpp
@@ -5,36 +5,6 @@
using namespace Microsoft::VisualStudio::CppUnitTestFramework;
using namespace vcpkg;
-namespace Microsoft::VisualStudio::CppUnitTestFramework
-{
- std::wstring ToString(const vcpkg::Dependencies::InstallPlanType& t)
- {
- switch (t)
- {
- case Dependencies::InstallPlanType::ALREADY_INSTALLED: return L"ALREADY_INSTALLED";
- case Dependencies::InstallPlanType::BUILD_AND_INSTALL: return L"BUILD_AND_INSTALL";
- case Dependencies::InstallPlanType::EXCLUDED: return L"EXCLUDED";
- case Dependencies::InstallPlanType::UNKNOWN: return L"UNKNOWN";
- default: return ToString(static_cast<int>(t));
- }
- }
-
- std::wstring ToString(const vcpkg::Dependencies::RequestType& t)
- {
- switch (t)
- {
- case Dependencies::RequestType::AUTO_SELECTED: return L"AUTO_SELECTED";
- case Dependencies::RequestType::USER_REQUESTED: return L"USER_REQUESTED";
- case Dependencies::RequestType::UNKNOWN: return L"UNKNOWN";
- default: return ToString(static_cast<int>(t));
- }
- }
-
- std::wstring ToString(const vcpkg::PackageSpecParseResult& t) { return ToString(static_cast<uint32_t>(t)); }
-
- std::wstring ToString(const vcpkg::PackageSpec& t) { return ToString(t.to_string()); }
-}
-
std::unique_ptr<StatusParagraph> make_status_pgh(const char* name,
const char* depends,
const char* default_features,
diff --git a/toolsrc/src/vcpkg.cpp b/toolsrc/src/vcpkg.cpp
index d9b915367..ac2eec876 100644
--- a/toolsrc/src/vcpkg.cpp
+++ b/toolsrc/src/vcpkg.cpp
@@ -70,7 +70,7 @@ static void inner(const VcpkgCmdArguments& args)
fs::path vcpkg_root_dir;
if (args.vcpkg_root_dir != nullptr)
{
- vcpkg_root_dir = fs::stdfs::absolute(Strings::to_utf16(*args.vcpkg_root_dir));
+ vcpkg_root_dir = fs::stdfs::absolute(fs::u8path(*args.vcpkg_root_dir));
}
else
{
@@ -94,6 +94,8 @@ static void inner(const VcpkgCmdArguments& args)
Checks::check_exit(VCPKG_LINE_INFO, !vcpkg_root_dir.empty(), "Error: Could not detect vcpkg-root.");
+ Debug::println("Using vcpkg-root: %s", vcpkg_root_dir.u8string());
+
auto default_vs_path = System::get_environment_variable("VCPKG_DEFAULT_VS_PATH").value_or("");
const Expected<VcpkgPaths> expected_paths = VcpkgPaths::create(vcpkg_root_dir, default_vs_path);
@@ -157,7 +159,15 @@ static void inner(const VcpkgCmdArguments& args)
}
else
{
+#if defined(_WIN32)
default_triplet = Triplet::X86_WINDOWS;
+#elif defined(__APPLE__)
+ default_triplet = Triplet::from_canonical_name("x64-osx");
+#elif defined(__FreeBSD__)
+ default_triplet = Triplet::from_canonical_name("x64-freebsd");
+#else
+ default_triplet = Triplet::from_canonical_name("x64-linux");
+#endif
}
}
@@ -215,6 +225,7 @@ static void load_config()
}
}
+#if defined(_WIN32)
static std::string trim_path_from_command_line(const std::string& full_command_line)
{
Checks::check_exit(
@@ -235,6 +246,7 @@ static std::string trim_path_from_command_line(const std::string& full_command_l
++it;
return std::string(it, full_command_line.cend());
}
+#endif
#if defined(_WIN32)
int wmain(const int argc, const wchar_t* const* const argv)
diff --git a/toolsrc/src/vcpkg/base/chrono.cpp b/toolsrc/src/vcpkg/base/chrono.cpp
index 00f8ba3f1..2a76f5df0 100644
--- a/toolsrc/src/vcpkg/base/chrono.cpp
+++ b/toolsrc/src/vcpkg/base/chrono.cpp
@@ -15,7 +15,7 @@ namespace vcpkg::Chrono
using std::chrono::nanoseconds;
using std::chrono::seconds;
- const double nanos_as_double = static_cast<double>(nanos.count());
+ const auto nanos_as_double = static_cast<double>(nanos.count());
if (duration_cast<hours>(nanos) > hours())
{
@@ -92,7 +92,7 @@ namespace vcpkg::Chrono
Optional<CTime> CTime::parse(CStringView str)
{
CTime ret;
- auto assigned =
+ const auto assigned =
#if defined(_WIN32)
sscanf_s
#else
@@ -117,15 +117,13 @@ namespace vcpkg::Chrono
std::string CTime::to_string() const
{
- std::array<char, 80> date;
- date.fill(0);
-
+ std::array<char, 80> date{};
strftime(&date[0], date.size(), "%Y-%m-%dT%H:%M:%S.0Z", &m_tm);
return &date[0];
}
std::chrono::system_clock::time_point CTime::to_time_point() const
{
- auto t = mktime(&m_tm);
+ const time_t t = mktime(&m_tm);
return std::chrono::system_clock::from_time_t(t);
}
}
diff --git a/toolsrc/src/vcpkg/base/cofffilereader.cpp b/toolsrc/src/vcpkg/base/cofffilereader.cpp
index 96d280108..2c09e2c19 100644
--- a/toolsrc/src/vcpkg/base/cofffilereader.cpp
+++ b/toolsrc/src/vcpkg/base/cofffilereader.cpp
@@ -2,6 +2,7 @@
#include <vcpkg/base/checks.h>
#include <vcpkg/base/cofffilereader.h>
+#include <vcpkg/base/stringliteral.h>
using namespace std;
@@ -43,21 +44,21 @@ namespace vcpkg::CoffFileReader
actual);
}
- static void read_and_verify_PE_signature(fstream& fs)
+ static void read_and_verify_pe_signature(fstream& fs)
{
- static const size_t OFFSET_TO_PE_SIGNATURE_OFFSET = 0x3c;
+ static constexpr size_t OFFSET_TO_PE_SIGNATURE_OFFSET = 0x3c;
- static const char* PE_SIGNATURE = "PE\0\0";
- static const size_t PE_SIGNATURE_SIZE = 4;
+ static constexpr StringLiteral PE_SIGNATURE = "PE\0\0";
+ static constexpr size_t PE_SIGNATURE_SIZE = 4;
fs.seekg(OFFSET_TO_PE_SIGNATURE_OFFSET, ios_base::beg);
- const int32_t offset_to_PE_signature = read_value_from_stream<int32_t>(fs);
+ const auto offset_to_pe_signature = read_value_from_stream<int32_t>(fs);
- fs.seekg(offset_to_PE_signature);
+ fs.seekg(offset_to_pe_signature);
char signature[PE_SIGNATURE_SIZE];
fs.read(signature, PE_SIGNATURE_SIZE);
- verify_equal_strings(VCPKG_LINE_INFO, PE_SIGNATURE, signature, PE_SIGNATURE_SIZE, "PE_SIGNATURE");
- fs.seekg(offset_to_PE_signature + PE_SIGNATURE_SIZE, ios_base::beg);
+ verify_equal_strings(VCPKG_LINE_INFO, PE_SIGNATURE.c_str(), signature, PE_SIGNATURE_SIZE, "PE_SIGNATURE");
+ fs.seekg(offset_to_pe_signature + PE_SIGNATURE_SIZE, ios_base::beg);
}
static fpos_t align_to_size(const uint64_t unaligned, const uint64_t alignment_size)
@@ -71,7 +72,7 @@ namespace vcpkg::CoffFileReader
struct CoffFileHeader
{
- static const size_t HEADER_SIZE = 20;
+ static constexpr size_t HEADER_SIZE = 20;
static CoffFileHeader read(fstream& fs)
{
@@ -83,11 +84,11 @@ namespace vcpkg::CoffFileReader
MachineType machine_type() const
{
- static const size_t MACHINE_TYPE_OFFSET = 0;
- static const size_t MACHINE_TYPE_SIZE = 2;
+ static constexpr size_t MACHINE_TYPE_OFFSET = 0;
+ static constexpr size_t MACHINE_TYPE_SIZE = 2;
std::string machine_field_as_string = data.substr(MACHINE_TYPE_OFFSET, MACHINE_TYPE_SIZE);
- const uint16_t machine = reinterpret_bytes<uint16_t>(machine_field_as_string.c_str());
+ const auto machine = reinterpret_bytes<uint16_t>(machine_field_as_string.c_str());
return to_machine_type(machine);
}
@@ -97,13 +98,13 @@ namespace vcpkg::CoffFileReader
struct ArchiveMemberHeader
{
- static const size_t HEADER_SIZE = 60;
+ static constexpr size_t HEADER_SIZE = 60;
static ArchiveMemberHeader read(fstream& fs)
{
- static const size_t HEADER_END_OFFSET = 58;
- static const char* HEADER_END = "`\n";
- static const size_t HEADER_END_SIZE = 2;
+ static constexpr size_t HEADER_END_OFFSET = 58;
+ static constexpr StringLiteral HEADER_END = "`\n";
+ static constexpr size_t HEADER_END_SIZE = 2;
ArchiveMemberHeader ret;
ret.data.resize(HEADER_SIZE);
@@ -113,7 +114,7 @@ namespace vcpkg::CoffFileReader
{
const std::string header_end = ret.data.substr(HEADER_END_OFFSET, HEADER_END_SIZE);
verify_equal_strings(
- VCPKG_LINE_INFO, HEADER_END, header_end.c_str(), HEADER_END_SIZE, "LIB HEADER_END");
+ VCPKG_LINE_INFO, HEADER_END.c_str(), header_end.c_str(), HEADER_END_SIZE, "LIB HEADER_END");
}
return ret;
@@ -121,17 +122,17 @@ namespace vcpkg::CoffFileReader
std::string name() const
{
- static const size_t HEADER_NAME_OFFSET = 0;
- static const size_t HEADER_NAME_SIZE = 16;
+ static constexpr size_t HEADER_NAME_OFFSET = 0;
+ static constexpr size_t HEADER_NAME_SIZE = 16;
return data.substr(HEADER_NAME_OFFSET, HEADER_NAME_SIZE);
}
uint64_t member_size() const
{
- static const size_t ALIGNMENT_SIZE = 2;
+ static constexpr size_t ALIGNMENT_SIZE = 2;
- static const size_t HEADER_SIZE_OFFSET = 48;
- static const size_t HEADER_SIZE_FIELD_SIZE = 10;
+ static constexpr size_t HEADER_SIZE_OFFSET = 48;
+ static constexpr size_t HEADER_SIZE_FIELD_SIZE = 10;
const std::string as_string = data.substr(HEADER_SIZE_OFFSET, HEADER_SIZE_FIELD_SIZE);
// This is in ASCII decimal representation
const uint64_t value = std::strtoull(as_string.c_str(), nullptr, 10);
@@ -147,18 +148,19 @@ namespace vcpkg::CoffFileReader
{
static OffsetsArray read(fstream& fs, const uint32_t offset_count)
{
- static const size_t OFFSET_WIDTH = 4;
+ static constexpr uint32_t OFFSET_WIDTH = 4;
std::string raw_offsets;
- const size_t raw_offset_size = offset_count * OFFSET_WIDTH;
+ const uint32_t raw_offset_size = offset_count * OFFSET_WIDTH;
raw_offsets.resize(raw_offset_size);
fs.read(&raw_offsets[0], raw_offset_size);
OffsetsArray ret;
for (uint32_t i = 0; i < offset_count; ++i)
{
- const std::string value_as_string = raw_offsets.substr(OFFSET_WIDTH * i, OFFSET_WIDTH * (i + 1));
- const uint32_t value = reinterpret_bytes<uint32_t>(value_as_string.c_str());
+ const std::string value_as_string = raw_offsets.substr(OFFSET_WIDTH * static_cast<size_t>(i),
+ OFFSET_WIDTH * (static_cast<size_t>(i) + 1));
+ const auto value = reinterpret_bytes<uint32_t>(value_as_string.c_str());
// Ignore offsets that point to offset 0. See vcpkg github #223 #288 #292
if (value != 0)
@@ -177,28 +179,28 @@ namespace vcpkg::CoffFileReader
struct ImportHeader
{
- static const size_t HEADER_SIZE = 20;
+ static constexpr size_t HEADER_SIZE = 20;
static ImportHeader read(fstream& fs)
{
- static const size_t SIG1_OFFSET = 0;
- static const uint16_t SIG1 = static_cast<uint16_t>(MachineType::UNKNOWN);
- static const size_t SIG1_SIZE = 2;
+ static constexpr size_t SIG1_OFFSET = 0;
+ static constexpr auto SIG1 = static_cast<uint16_t>(MachineType::UNKNOWN);
+ static constexpr size_t SIG1_SIZE = 2;
- static const size_t SIG2_OFFSET = 2;
- static const uint16_t SIG2 = 0xFFFF;
- static const size_t SIG2_SIZE = 2;
+ static constexpr size_t SIG2_OFFSET = 2;
+ static constexpr uint16_t SIG2 = 0xFFFF;
+ static constexpr size_t SIG2_SIZE = 2;
ImportHeader ret;
ret.data.resize(HEADER_SIZE);
fs.read(&ret.data[0], HEADER_SIZE);
const std::string sig1_as_string = ret.data.substr(SIG1_OFFSET, SIG1_SIZE);
- const uint16_t sig1 = reinterpret_bytes<uint16_t>(sig1_as_string.c_str());
+ const auto sig1 = reinterpret_bytes<uint16_t>(sig1_as_string.c_str());
Checks::check_exit(VCPKG_LINE_INFO, sig1 == SIG1, "Sig1 was incorrect. Expected %s but got %s", SIG1, sig1);
const std::string sig2_as_string = ret.data.substr(SIG2_OFFSET, SIG2_SIZE);
- const uint16_t sig2 = reinterpret_bytes<uint16_t>(sig2_as_string.c_str());
+ const auto sig2 = reinterpret_bytes<uint16_t>(sig2_as_string.c_str());
Checks::check_exit(VCPKG_LINE_INFO, sig2 == SIG2, "Sig2 was incorrect. Expected %s but got %s", SIG2, sig2);
return ret;
@@ -206,11 +208,11 @@ namespace vcpkg::CoffFileReader
MachineType machine_type() const
{
- static const size_t MACHINE_TYPE_OFFSET = 6;
- static const size_t MACHINE_TYPE_SIZE = 2;
+ static constexpr size_t MACHINE_TYPE_OFFSET = 6;
+ static constexpr size_t MACHINE_TYPE_SIZE = 2;
std::string machine_field_as_string = data.substr(MACHINE_TYPE_OFFSET, MACHINE_TYPE_SIZE);
- const uint16_t machine = reinterpret_bytes<uint16_t>(machine_field_as_string.c_str());
+ const auto machine = reinterpret_bytes<uint16_t>(machine_field_as_string.c_str());
return to_machine_type(machine);
}
@@ -220,14 +222,14 @@ namespace vcpkg::CoffFileReader
static void read_and_verify_archive_file_signature(fstream& fs)
{
- static const char* FILE_START = "!<arch>\n";
- static const size_t FILE_START_SIZE = 8;
+ static constexpr StringLiteral FILE_START = "!<arch>\n";
+ static constexpr size_t FILE_START_SIZE = 8;
- fs.seekg(fs.beg);
+ fs.seekg(std::fstream::beg);
char file_start[FILE_START_SIZE];
fs.read(file_start, FILE_START_SIZE);
- verify_equal_strings(VCPKG_LINE_INFO, FILE_START, file_start, FILE_START_SIZE, "LIB FILE_START");
+ verify_equal_strings(VCPKG_LINE_INFO, FILE_START.c_str(), file_start, FILE_START_SIZE, "LIB FILE_START");
}
DllInfo read_dll(const fs::path& path)
@@ -235,7 +237,7 @@ namespace vcpkg::CoffFileReader
std::fstream fs(path, std::ios::in | std::ios::binary | std::ios::ate);
Checks::check_exit(VCPKG_LINE_INFO, fs.is_open(), "Could not open file %s for reading", path.generic_string());
- read_and_verify_PE_signature(fs);
+ read_and_verify_pe_signature(fs);
CoffFileHeader header = CoffFileHeader::read(fs);
const MachineType machine = header.machine_type();
return {machine};
@@ -245,7 +247,7 @@ namespace vcpkg::CoffFileReader
{
void set_to_offset(const fpos_t position) { this->m_absolute_position = position; }
- void set_to_current_pos(fstream& fs) { this->m_absolute_position = fs.tellg().seekpos(); }
+ void set_to_current_pos(fstream& fs) { this->m_absolute_position = fs.tellg(); }
void seek_to_marker(fstream& fs) const { fs.seekg(this->m_absolute_position, ios_base::beg); }
@@ -278,13 +280,13 @@ namespace vcpkg::CoffFileReader
second_linker_member_header.name().substr(0, 2) == "/ ",
"Could not find proper second linker member");
// The first 4 bytes contains the number of archive members
- const uint32_t archive_member_count = read_value_from_stream<uint32_t>(fs);
+ const auto archive_member_count = read_value_from_stream<uint32_t>(fs);
const OffsetsArray offsets = OffsetsArray::read(fs, archive_member_count);
marker.advance_by(ArchiveMemberHeader::HEADER_SIZE + second_linker_member_header.member_size());
marker.seek_to_marker(fs);
- const bool hasLongnameMemberHeader = peek_value_from_stream<uint16_t>(fs) == 0x2F2F;
- if (hasLongnameMemberHeader)
+ const bool has_longname_member_header = peek_value_from_stream<uint16_t>(fs) == 0x2F2F;
+ if (has_longname_member_header)
{
const ArchiveMemberHeader longnames_member_header = ArchiveMemberHeader::read(fs);
marker.advance_by(ArchiveMemberHeader::HEADER_SIZE + longnames_member_header.member_size());
@@ -297,10 +299,10 @@ namespace vcpkg::CoffFileReader
{
marker.set_to_offset(offset + ArchiveMemberHeader::HEADER_SIZE); // Skip the header, no need to read it.
marker.seek_to_marker(fs);
- const uint16_t first_two_bytes = peek_value_from_stream<uint16_t>(fs);
- const bool isImportHeader = to_machine_type(first_two_bytes) == MachineType::UNKNOWN;
+ const auto first_two_bytes = peek_value_from_stream<uint16_t>(fs);
+ const bool is_import_header = to_machine_type(first_two_bytes) == MachineType::UNKNOWN;
const MachineType machine =
- isImportHeader ? ImportHeader::read(fs).machine_type() : CoffFileHeader::read(fs).machine_type();
+ is_import_header ? ImportHeader::read(fs).machine_type() : CoffFileHeader::read(fs).machine_type();
machine_types.insert(machine);
}
diff --git a/toolsrc/src/vcpkg/base/files.cpp b/toolsrc/src/vcpkg/base/files.cpp
index b59104a59..3d96e834b 100644
--- a/toolsrc/src/vcpkg/base/files.cpp
+++ b/toolsrc/src/vcpkg/base/files.cpp
@@ -22,9 +22,9 @@ namespace vcpkg::Files
auto length = file_stream.tellg();
file_stream.seekg(0, file_stream.beg);
- if (length > SIZE_MAX)
+ if (length == std::streampos(-1))
{
- return std::make_error_code(std::errc::file_too_large);
+ return std::make_error_code(std::errc::io_error);
}
std::string output;
@@ -55,17 +55,18 @@ namespace vcpkg::Files
virtual fs::path find_file_recursively_up(const fs::path& starting_dir,
const std::string& filename) const override
{
+ static const fs::path UNIX_ROOT = "/";
fs::path current_dir = starting_dir;
- for (; !current_dir.empty(); current_dir = current_dir.parent_path())
+ for (; !current_dir.empty() && current_dir != UNIX_ROOT; current_dir = current_dir.parent_path())
{
const fs::path candidate = current_dir / filename;
if (exists(candidate))
{
- break;
+ return current_dir;
}
}
- return current_dir;
+ return fs::path();
}
virtual std::vector<fs::path> get_files_recursive(const fs::path& dir) const override
@@ -108,6 +109,10 @@ namespace vcpkg::Files
output.close();
}
+ virtual void rename(const fs::path& oldpath, const fs::path& newpath, std::error_code& ec) override
+ {
+ fs::stdfs::rename(oldpath, newpath, ec);
+ }
virtual void rename(const fs::path& oldpath, const fs::path& newpath) override
{
fs::stdfs::rename(oldpath, newpath);
@@ -181,12 +186,15 @@ namespace vcpkg::Files
return;
}
- auto count = fwrite(data.data(), sizeof(data[0]), data.size(), f);
- fclose(f);
-
- if (count != data.size())
+ if (f != nullptr)
{
- ec = std::make_error_code(std::errc::no_space_on_device);
+ auto count = fwrite(data.data(), sizeof(data[0]), data.size(), f);
+ fclose(f);
+
+ if (count != data.size())
+ {
+ ec = std::make_error_code(std::errc::no_space_on_device);
+ }
}
}
};
diff --git a/toolsrc/src/vcpkg/base/strings.cpp b/toolsrc/src/vcpkg/base/strings.cpp
index d912734e3..48dc5ed09 100644
--- a/toolsrc/src/vcpkg/base/strings.cpp
+++ b/toolsrc/src/vcpkg/base/strings.cpp
@@ -7,10 +7,11 @@
namespace vcpkg::Strings::details
{
// To disambiguate between two overloads
- static const auto isspace = [](const char c) { return std::isspace(c); };
+ static bool is_space(const char c) { return std::isspace(c) != 0; }
// Avoids C4244 warnings because of char<->int conversion that occur when using std::tolower()
static char tolower_char(const char c) { return static_cast<char>(std::tolower(c)); }
+ static char toupper_char(const char c) { return static_cast<char>(std::toupper(c)); }
#if defined(_WIN32)
static _locale_t& c_locale()
@@ -38,7 +39,7 @@ namespace vcpkg::Strings::details
_vsnprintf_s_l(&output.at(0), output.size() + 1, output.size(), fmtstr, c_locale(), args);
#else
va_start(args, fmtstr);
- auto res = vsnprintf(&output.at(0), output.size() + 1, fmtstr, args);
+ vsnprintf(&output.at(0), output.size() + 1, fmtstr, args);
#endif
va_end(args);
@@ -48,31 +49,29 @@ namespace vcpkg::Strings::details
namespace vcpkg::Strings
{
+#if defined(_WIN32)
std::wstring to_utf16(const CStringView& s)
{
-#if defined(_WIN32)
- const int size = MultiByteToWideChar(CP_UTF8, 0, s.c_str(), -1, nullptr, 0);
std::wstring output;
+ const size_t size = MultiByteToWideChar(CP_UTF8, 0, s.c_str(), -1, nullptr, 0);
+ if (size == 0) return output;
output.resize(size - 1);
- MultiByteToWideChar(CP_UTF8, 0, s.c_str(), -1, output.data(), size - 1);
+ MultiByteToWideChar(CP_UTF8, 0, s.c_str(), -1, output.data(), static_cast<int>(size) - 1);
return output;
-#else
- Checks::unreachable(VCPKG_LINE_INFO);
-#endif
}
+#endif
- std::string to_utf8(const CWStringView& w)
- {
#if defined(_WIN32)
- const int size = WideCharToMultiByte(CP_UTF8, 0, w.c_str(), -1, nullptr, 0, nullptr, nullptr);
+ std::string to_utf8(const wchar_t* w)
+ {
std::string output;
+ const size_t size = WideCharToMultiByte(CP_UTF8, 0, w, -1, nullptr, 0, nullptr, nullptr);
+ if (size == 0) return output;
output.resize(size - 1);
- WideCharToMultiByte(CP_UTF8, 0, w.c_str(), -1, output.data(), size - 1, nullptr, nullptr);
+ WideCharToMultiByte(CP_UTF8, 0, w, -1, output.data(), static_cast<int>(size) - 1, nullptr, nullptr);
return output;
-#else
- Checks::unreachable(VCPKG_LINE_INFO);
-#endif
}
+#endif
std::string escape_string(const CStringView& s, char char_to_escape, char escape_char)
{
@@ -108,11 +107,16 @@ namespace vcpkg::Strings
#endif
}
- std::string ascii_to_lowercase(const std::string& input)
+ std::string ascii_to_lowercase(std::string s)
{
- std::string output(input);
- std::transform(output.begin(), output.end(), output.begin(), &details::tolower_char);
- return output;
+ std::transform(s.begin(), s.end(), s.begin(), &details::tolower_char);
+ return s;
+ }
+
+ std::string ascii_to_uppercase(std::string s)
+ {
+ std::transform(s.begin(), s.end(), s.begin(), &details::toupper_char);
+ return s;
}
bool case_insensitive_ascii_starts_with(const std::string& s, const std::string& pattern)
@@ -137,8 +141,8 @@ namespace vcpkg::Strings
std::string trim(std::string&& s)
{
- s.erase(std::find_if_not(s.rbegin(), s.rend(), details::isspace).base(), s.end());
- s.erase(s.begin(), std::find_if_not(s.begin(), s.end(), details::isspace));
+ s.erase(std::find_if_not(s.rbegin(), s.rend(), details::is_space).base(), s.end());
+ s.erase(s.begin(), std::find_if_not(s.begin(), s.end(), details::is_space));
return std::move(s);
}
diff --git a/toolsrc/src/vcpkg/base/system.cpp b/toolsrc/src/vcpkg/base/system.cpp
index e55db9461..95c9511f9 100644
--- a/toolsrc/src/vcpkg/base/system.cpp
+++ b/toolsrc/src/vcpkg/base/system.cpp
@@ -5,10 +5,14 @@
#include <vcpkg/globalstate.h>
#include <vcpkg/metrics.h>
-#include <time.h>
+#include <ctime>
#if defined(__APPLE__)
-# include <mach-o/dyld.h>
+#include <mach-o/dyld.h>
+#endif
+
+#if defined(__FreeBSD__)
+#include <sys/sysctl.h>
#endif
#pragma comment(lib, "Advapi32")
@@ -19,7 +23,7 @@ namespace vcpkg::System
{
using std::chrono::system_clock;
std::time_t now_time = system_clock::to_time_t(system_clock::now());
- tm parts;
+ tm parts{};
#if defined(_WIN32)
localtime_s(&parts, &now_time);
#else
@@ -35,14 +39,22 @@ namespace vcpkg::System
const int bytes = GetModuleFileNameW(nullptr, buf, _MAX_PATH);
if (bytes == 0) std::abort();
return fs::path(buf, buf + bytes);
-#elif __APPLE__
+#elif defined(__APPLE__)
uint32_t size = 1024 * 32;
char buf[size] = {};
bool result = _NSGetExecutablePath(buf, &size);
Checks::check_exit(VCPKG_LINE_INFO, result != -1, "Could not determine current executable path.");
- std::unique_ptr<char> canonicalPath (realpath(buf, NULL));
+ std::unique_ptr<char> canonicalPath(realpath(buf, NULL));
Checks::check_exit(VCPKG_LINE_INFO, result != -1, "Could not determine current executable path.");
return fs::path(std::string(canonicalPath.get()));
+#elif defined(__FreeBSD__)
+ int mib[4] = {CTL_KERN, KERN_PROC, KERN_PROC_PATHNAME, -1};
+ char exePath[2048];
+ size_t len = sizeof(exePath);
+ auto rcode = sysctl(mib, 4, exePath, &len, NULL, 0);
+ Checks::check_exit(VCPKG_LINE_INFO, rcode == 0, "Could not determine current executable path.");
+ Checks::check_exit(VCPKG_LINE_INFO, len > 0, "Could not determine current executable path.");
+ return fs::path(exePath, exePath + len - 1);
#else /* LINUX */
std::array<char, 1024 * 4> buf;
auto written = readlink("/proc/self/exe", buf.data(), buf.size());
@@ -141,12 +153,12 @@ namespace vcpkg::System
R"(powershell -NoProfile -ExecutionPolicy Bypass -Command "& {& '%s' %s}")", script_path.u8string(), args);
}
- int cmd_execute_clean(const CStringView cmd_line)
+ int cmd_execute_clean(const CStringView cmd_line, const std::unordered_map<std::string, std::string>& extra_env)
{
#if defined(_WIN32)
static const std::string SYSTEM_ROOT = get_environment_variable("SystemRoot").value_or_exit(VCPKG_LINE_INFO);
static const std::string SYSTEM_32 = SYSTEM_ROOT + R"(\system32)";
- static const std::string NEW_PATH = Strings::format(
+ std::string new_path = Strings::format(
R"(Path=%s;%s;%s\Wbem;%s\WindowsPowerShell\v1.0\)", SYSTEM_32, SYSTEM_ROOT, SYSTEM_32, SYSTEM_32);
std::vector<std::wstring> env_wstrings = {
@@ -202,7 +214,7 @@ namespace vcpkg::System
for (auto&& env_wstring : env_wstrings)
{
- const Optional<std::string> value = System::get_environment_variable(Strings::to_utf8(env_wstring));
+ const Optional<std::string> value = System::get_environment_variable(Strings::to_utf8(env_wstring.c_str()));
const auto v = value.get();
if (!v || v->empty()) continue;
@@ -212,11 +224,22 @@ namespace vcpkg::System
env_cstr.push_back(L'\0');
}
- env_cstr.append(Strings::to_utf16(NEW_PATH));
+ if (extra_env.find("PATH") != extra_env.end())
+ new_path += Strings::format(";%s", extra_env.find("PATH")->second);
+ env_cstr.append(Strings::to_utf16(new_path));
env_cstr.push_back(L'\0');
env_cstr.append(L"VSLANG=1033");
env_cstr.push_back(L'\0');
+ for (const auto& item : extra_env)
+ {
+ if (item.first == "PATH") continue;
+ env_cstr.append(Strings::to_utf16(item.first));
+ env_cstr.push_back(L'=');
+ env_cstr.append(Strings::to_utf16(item.second));
+ env_cstr.push_back(L'\0');
+ }
+
STARTUPINFOW startup_info;
memset(&startup_info, 0, sizeof(STARTUPINFOW));
startup_info.cb = sizeof(STARTUPINFOW);
@@ -251,8 +274,11 @@ namespace vcpkg::System
Debug::println("CreateProcessW() returned %lu", exit_code);
return static_cast<int>(exit_code);
#else
+ Debug::println("system(%s)", cmd_line.c_str());
fflush(nullptr);
- return system(cmd_line.c_str());
+ int rc = system(cmd_line.c_str());
+ Debug::println("system() returned %d", rc);
+ return rc;
#endif
}
@@ -262,35 +288,26 @@ namespace vcpkg::System
fflush(nullptr);
// Basically we are wrapping it in quotes
- const std::string& actual_cmd_line = Strings::format(R"###("%s")###", cmd_line);
#if defined(_WIN32)
+ const std::string& actual_cmd_line = Strings::format(R"###("%s")###", cmd_line);
Debug::println("_wsystem(%s)", actual_cmd_line);
const int exit_code = _wsystem(Strings::to_utf16(actual_cmd_line).c_str());
Debug::println("_wsystem() returned %d", exit_code);
#else
- Debug::println("_system(%s)", actual_cmd_line);
- const int exit_code = system(actual_cmd_line.c_str());
+ Debug::println("_system(%s)", cmd_line);
+ const int exit_code = system(cmd_line.c_str());
Debug::println("_system() returned %d", exit_code);
#endif
return exit_code;
}
- // On Win7, output from powershell calls contain a byte order mark, so we strip it out if it is present
- static void remove_byte_order_marks(std::wstring* s)
- {
- const wchar_t* a = s->c_str();
- // This is the UTF-8 byte-order mark
- while (s->size() >= 3 && a[0] == 0xEF && a[1] == 0xBB && a[2] == 0xBF)
- {
- s->erase(0, 3);
- }
- }
-
ExitCodeAndOutput cmd_execute_and_capture_output(const CStringView cmd_line)
{
// Flush stdout before launching external process
fflush(stdout);
+ auto timer = Chrono::ElapsedTimer::create_started();
+
#if defined(_WIN32)
const auto actual_cmd_line = Strings::format(R"###("%s 2>&1")###", cmd_line);
@@ -300,7 +317,7 @@ namespace vcpkg::System
const auto pipe = _wpopen(Strings::to_utf16(actual_cmd_line).c_str(), L"r");
if (pipe == nullptr)
{
- return {1, Strings::to_utf8(output)};
+ return {1, Strings::to_utf8(output.c_str())};
}
while (fgetws(buf, 1024, pipe))
{
@@ -308,13 +325,22 @@ namespace vcpkg::System
}
if (!feof(pipe))
{
- return {1, Strings::to_utf8(output)};
+ return {1, Strings::to_utf8(output.c_str())};
}
const auto ec = _pclose(pipe);
- Debug::println("_pclose() returned %d", ec);
- remove_byte_order_marks(&output);
- return {ec, Strings::to_utf8(output)};
+
+ // On Win7, output from powershell calls contain a utf-8 byte order mark in the utf-16 stream, so we strip it
+ // out if it is present. 0xEF,0xBB,0xBF is the UTF-8 byte-order mark
+ const wchar_t* a = output.c_str();
+ while (output.size() >= 3 && a[0] == 0xEF && a[1] == 0xBB && a[2] == 0xBF)
+ {
+ output.erase(0, 3);
+ }
+
+ Debug::println("_pclose() returned %d after %8d us", ec, static_cast<int>(timer.microseconds()));
+
+ return {ec, Strings::to_utf8(output.c_str())};
#else
const auto actual_cmd_line = Strings::format(R"###(%s 2>&1)###", cmd_line);
@@ -336,7 +362,9 @@ namespace vcpkg::System
}
const auto ec = pclose(pipe);
- Debug::println("pclose() returned %d", ec);
+
+ Debug::println("_pclose() returned %d after %8d us", ec, (int)timer.microseconds());
+
return {ec, output};
#endif
}
@@ -452,7 +480,7 @@ namespace vcpkg::System
const auto sz2 = GetEnvironmentVariableW(w_varname.c_str(), ret.data(), static_cast<DWORD>(ret.size()));
Checks::check_exit(VCPKG_LINE_INFO, sz2 + 1 == sz);
ret.pop_back();
- return Strings::to_utf8(ret);
+ return Strings::to_utf8(ret.c_str());
#else
auto v = getenv(varname.c_str());
if (!v) return nullopt;
@@ -493,7 +521,7 @@ namespace vcpkg::System
return nullopt;
ret.pop_back(); // remove extra trailing null byte
- return Strings::to_utf8(ret);
+ return Strings::to_utf8(ret.c_str());
}
#else
Optional<std::string> get_registry_string(void* base_hkey, const CStringView sub_key, const CStringView valuename)
@@ -502,32 +530,41 @@ namespace vcpkg::System
}
#endif
- static const fs::path& get_program_files()
+ static const Optional<fs::path>& get_program_files()
{
- static const fs::path PATH = System::get_environment_variable("PROGRAMFILES").value_or_exit(VCPKG_LINE_INFO);
+ static const auto PATH = []() -> Optional<fs::path> {
+ auto value = System::get_environment_variable("PROGRAMFILES");
+ if (auto v = value.get())
+ {
+ return *v;
+ }
+
+ return nullopt;
+ }();
+
return PATH;
}
- const fs::path& get_program_files_32_bit()
+ const Optional<fs::path>& get_program_files_32_bit()
{
- static const fs::path PATH = []() -> fs::path {
+ static const auto PATH = []() -> Optional<fs::path> {
auto value = System::get_environment_variable("ProgramFiles(x86)");
if (auto v = value.get())
{
- return std::move(*v);
+ return *v;
}
return get_program_files();
}();
return PATH;
}
- const fs::path& get_program_files_platform_bitness()
+ const Optional<fs::path>& get_program_files_platform_bitness()
{
- static const fs::path PATH = []() -> fs::path {
+ static const auto PATH = []() -> Optional<fs::path> {
auto value = System::get_environment_variable("ProgramW6432");
if (auto v = value.get())
{
- return std::move(*v);
+ return *v;
}
return get_program_files();
}();
diff --git a/toolsrc/src/vcpkg/binaryparagraph.cpp b/toolsrc/src/vcpkg/binaryparagraph.cpp
index 7a8b0d577..73ca23df1 100644
--- a/toolsrc/src/vcpkg/binaryparagraph.cpp
+++ b/toolsrc/src/vcpkg/binaryparagraph.cpp
@@ -79,7 +79,7 @@ namespace vcpkg
}
BinaryParagraph::BinaryParagraph(const SourceParagraph& spgh, const FeatureParagraph& fpgh, const Triplet& triplet)
- : version(), feature(fpgh.name), description(fpgh.description), maintainer()
+ : version(), description(fpgh.description), maintainer(), feature(fpgh.name)
{
this->spec = PackageSpec::from_name_and_triplet(spgh.name, triplet).value_or_exit(VCPKG_LINE_INFO);
this->depends = filter_dependencies(fpgh.depends, triplet);
diff --git a/toolsrc/src/vcpkg/build.cpp b/toolsrc/src/vcpkg/build.cpp
index 408dde798..1ed5e744a 100644
--- a/toolsrc/src/vcpkg/build.cpp
+++ b/toolsrc/src/vcpkg/build.cpp
@@ -64,7 +64,8 @@ namespace vcpkg::Build::Command
const Build::BuildPackageOptions build_package_options{Build::UseHeadVersion::NO,
Build::AllowDownloads::YES,
Build::CleanBuildtrees::NO,
- Build::CleanPackages::NO};
+ Build::CleanPackages::NO,
+ Build::DownloadTool::BUILT_IN};
std::set<std::string> features_as_set(full_spec.features.begin(), full_spec.features.end());
features_as_set.emplace("core");
@@ -165,6 +166,19 @@ namespace vcpkg::Build
}
}
+ static const std::string NAME_BUILD_IN_DOWNLOAD = "BUILT_IN";
+ static const std::string NAME_ARIA2_DOWNLOAD = "ARIA2";
+
+ const std::string& to_string(DownloadTool tool)
+ {
+ switch (tool)
+ {
+ case DownloadTool::BUILT_IN: return NAME_BUILD_IN_DOWNLOAD;
+ case DownloadTool::ARIA2: return NAME_ARIA2_DOWNLOAD;
+ default: Checks::unreachable(VCPKG_LINE_INFO);
+ }
+ }
+
Optional<LinkageType> to_linkage_type(const std::string& str)
{
if (str == "dynamic") return LinkageType::DYNAMIC;
@@ -197,13 +211,18 @@ namespace vcpkg::Build
for (auto&& host : host_architectures)
{
- auto it = Util::find_if(toolset.supported_architectures, [&](const ToolsetArchOption& opt) {
+ const auto it = Util::find_if(toolset.supported_architectures, [&](const ToolsetArchOption& opt) {
return host == opt.host_arch && target_arch == opt.target_arch;
});
if (it != toolset.supported_architectures.end()) return it->name;
}
- Checks::exit_with_message(VCPKG_LINE_INFO, "Unsupported toolchain combination %s", target_architecture);
+ Checks::exit_with_message(VCPKG_LINE_INFO,
+ "Unsupported toolchain combination. Target was: %s but supported ones were:\n%s",
+ target_architecture,
+ Strings::join(",", toolset.supported_architectures, [](const ToolsetArchOption& t) {
+ return t.name.c_str();
+ }));
}
std::string make_build_env_cmd(const PreBuildInfo& pre_build_info, const Toolset& toolset)
@@ -266,19 +285,17 @@ namespace vcpkg::Build
{
const Triplet& triplet = config.triplet;
- auto dep_strings =
+ const std::vector<std::string> dep_strings =
Util::fmap_flatten(config.feature_list, [&](std::string const& feature) -> std::vector<std::string> {
if (feature == "core")
{
return filter_dependencies(config.scf.core_paragraph->depends, triplet);
}
- auto it =
- Util::find_if(config.scf.feature_paragraphs,
- [&](std::unique_ptr<FeatureParagraph> const& fpgh) { return fpgh->name == feature; });
- Checks::check_exit(VCPKG_LINE_INFO, it != config.scf.feature_paragraphs.end());
+ auto maybe_feature = config.scf.find_feature(feature);
+ Checks::check_exit(VCPKG_LINE_INFO, maybe_feature.has_value());
- return filter_dependencies(it->get()->depends, triplet);
+ return filter_dependencies(maybe_feature.get()->depends, triplet);
});
auto dep_fspecs = FeatureSpec::from_strings_and_triplet(dep_strings, triplet);
@@ -291,7 +308,7 @@ namespace vcpkg::Build
if (fspec.feature().empty())
{
// reference to default features
- auto it = status_db.find_installed(fspec.spec());
+ const auto it = status_db.find_installed(fspec.spec());
if (it == status_db.end())
{
// not currently installed, so just leave the default reference so it will fail later
@@ -299,9 +316,9 @@ namespace vcpkg::Build
}
else
{
- ret.push_back(FeatureSpec{fspec.spec(), "core"});
+ ret.emplace_back(fspec.spec(), "core");
for (auto&& default_feature : it->get()->package.default_features)
- ret.push_back(FeatureSpec{fspec.spec(), default_feature});
+ ret.emplace_back(fspec.spec(), default_feature);
}
}
else
@@ -315,280 +332,334 @@ namespace vcpkg::Build
}
static ExtendedBuildResult do_build_package(const VcpkgPaths& paths,
- const BuildPackageConfig& config,
- const StatusParagraphs& status_db)
+ const PreBuildInfo& pre_build_info,
+ const PackageSpec& spec,
+ const std::string& abi_tag,
+ const BuildPackageConfig& config)
{
auto& fs = paths.get_filesystem();
- const Triplet& triplet = config.triplet;
+ const Triplet& triplet = spec.triplet();
- struct AbiEntry
- {
- std::string key;
- std::string value;
- };
+#if !defined(_WIN32)
+ // TODO: remove when vcpkg.exe is in charge for acquiring tools. Change introduced in vcpkg v0.0.107.
+ // bootstrap should have already downloaded ninja, but making sure it is present in case it was deleted.
+ vcpkg::Util::unused(paths.get_tool_exe(Tools::NINJA));
+#endif
- std::vector<AbiEntry> abi_tag_entries;
+ const fs::path& cmake_exe_path = paths.get_tool_exe(Tools::CMAKE);
+ const fs::path& git_exe_path = paths.get_tool_exe(Tools::GIT);
- const PackageSpec spec =
- PackageSpec::from_name_and_triplet(config.scf.core_paragraph->name, triplet).value_or_exit(VCPKG_LINE_INFO);
+ std::string all_features;
+ for (auto& feature : config.scf.feature_paragraphs)
+ {
+ all_features.append(feature->name + ";");
+ }
- std::vector<FeatureSpec> required_fspecs = compute_required_feature_specs(config, status_db);
+ const Toolset& toolset = paths.get_toolset(pre_build_info);
+ const std::string cmd_launch_cmake = System::make_cmake_cmd(
+ cmake_exe_path,
+ paths.ports_cmake,
+ {
+ {"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_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)},
+ {"GIT", git_exe_path},
+ {"FEATURES", Strings::join(";", config.feature_list)},
+ {"ALL_FEATURES", all_features},
+ });
- // extract out the actual package ids
- auto dep_pspecs = Util::fmap(required_fspecs, [](FeatureSpec const& fspec) { return fspec.spec(); });
- Util::sort_unique_erase(dep_pspecs);
+ auto command = make_build_env_cmd(pre_build_info, toolset);
+ if (!command.empty()) command.append(" && ");
+ command.append(cmd_launch_cmake);
- // Find all features that aren't installed. This destroys required_fspecs.
- Util::unstable_keep_if(required_fspecs, [&](FeatureSpec const& fspec) {
- return !status_db.is_installed(fspec) && fspec.name() != spec.name();
- });
+ const auto timer = Chrono::ElapsedTimer::create_started();
+
+ const int return_code = System::cmd_execute_clean(command);
+ const auto buildtimeus = timer.microseconds();
+ const auto spec_string = spec.to_string();
- if (!required_fspecs.empty())
{
- return {BuildResult::CASCADED_DUE_TO_MISSING_DEPENDENCIES, std::move(required_fspecs)};
+ auto locked_metrics = Metrics::g_metrics.lock();
+ locked_metrics->track_buildtime(spec.to_string() + ":[" + Strings::join(",", config.feature_list) + "]",
+ buildtimeus);
+ if (return_code != 0)
+ {
+ locked_metrics->track_property("error", "build failed");
+ locked_metrics->track_property("build_error", spec_string);
+ return BuildResult::BUILD_FAILED;
+ }
}
- // dep_pspecs was not destroyed
- for (auto&& pspec : dep_pspecs)
+ const BuildInfo build_info = read_build_info(fs, paths.build_info_file_path(spec));
+ const size_t error_count = PostBuildLint::perform_all_checks(spec, paths, pre_build_info, build_info);
+
+ auto bcf = create_binary_control_file(*config.scf.core_paragraph, triplet, build_info, abi_tag);
+
+ if (error_count != 0)
{
- if (pspec == spec) continue;
- auto status_it = status_db.find_installed(pspec);
- Checks::check_exit(VCPKG_LINE_INFO, status_it != status_db.end());
- abi_tag_entries.emplace_back(
- AbiEntry{status_it->get()->package.spec.name(), status_it->get()->package.abi});
+ return BuildResult::POST_BUILD_CHECKS_FAILED;
+ }
+ for (auto&& feature : config.feature_list)
+ {
+ for (auto&& f_pgh : config.scf.feature_paragraphs)
+ {
+ if (f_pgh->name == feature)
+ bcf->features.push_back(
+ create_binary_feature_control_file(*config.scf.core_paragraph, *f_pgh, triplet));
+ }
}
- const fs::path& cmake_exe_path = paths.get_cmake_exe();
- const fs::path& git_exe_path = paths.get_git_exe();
+ write_binary_control_file(paths, *bcf);
+ return {BuildResult::SUCCEEDED, std::move(bcf)};
+ }
- const fs::path ports_cmake_script_path = paths.ports_cmake;
+ static ExtendedBuildResult do_build_package_and_clean_buildtrees(const VcpkgPaths& paths,
+ const PreBuildInfo& pre_build_info,
+ const PackageSpec& spec,
+ const std::string& abi_tag,
+ const BuildPackageConfig& config)
+ {
+ auto result = do_build_package(paths, pre_build_info, spec, abi_tag, config);
- if (GlobalState::g_binary_caching)
+ if (config.build_package_options.clean_buildtrees == CleanBuildtrees::YES)
{
- abi_tag_entries.emplace_back(AbiEntry{
- "portfile", Commands::Hash::get_file_hash(cmake_exe_path, config.port_dir / "portfile.cmake", "SHA1")});
- abi_tag_entries.emplace_back(AbiEntry{
- "control", Commands::Hash::get_file_hash(cmake_exe_path, config.port_dir / "CONTROL", "SHA1")});
+ auto& fs = paths.get_filesystem();
+ const fs::path buildtrees_dir = paths.buildtrees / config.scf.core_paragraph->name;
+ auto buildtree_files = fs.get_files_non_recursive(buildtrees_dir);
+ for (auto&& file : buildtree_files)
+ {
+ if (fs.is_directory(file) && file.filename() != "src")
+ {
+ std::error_code ec;
+ fs.remove_all(file, ec);
+ }
+ }
}
- const auto pre_build_info = PreBuildInfo::from_triplet_file(paths, triplet);
+ return result;
+ }
+
+ Optional<AbiTagAndFile> compute_abi_tag(const VcpkgPaths& paths,
+ const BuildPackageConfig& config,
+ const PreBuildInfo& pre_build_info,
+ Span<const AbiEntry> dependency_abis)
+ {
+ if (!GlobalState::g_binary_caching) return nullopt;
+
+ auto& fs = paths.get_filesystem();
+ const Triplet& triplet = config.triplet;
+ const std::string& name = config.scf.core_paragraph->name;
+
+ std::vector<AbiEntry> abi_tag_entries;
+
+ abi_tag_entries.insert(abi_tag_entries.end(), dependency_abis.begin(), dependency_abis.end());
+
+ abi_tag_entries.emplace_back(
+ AbiEntry{"portfile", Commands::Hash::get_file_hash(paths, config.port_dir / "portfile.cmake", "SHA1")});
+ abi_tag_entries.emplace_back(
+ AbiEntry{"control", Commands::Hash::get_file_hash(paths, config.port_dir / "CONTROL", "SHA1")});
+
abi_tag_entries.emplace_back(AbiEntry{"triplet", pre_build_info.triplet_abi_tag});
- std::string features = Strings::join(";", config.feature_list);
+ const std::string features = Strings::join(";", config.feature_list);
abi_tag_entries.emplace_back(AbiEntry{"features", features});
if (config.build_package_options.use_head_version == UseHeadVersion::YES)
abi_tag_entries.emplace_back(AbiEntry{"head", ""});
- std::string full_abi_info =
- Strings::join("", abi_tag_entries, [](const AbiEntry& p) { return p.key + " " + p.value + "\n"; });
+ Util::sort(abi_tag_entries);
- std::string abi_tag;
+ const std::string full_abi_info =
+ Strings::join("", abi_tag_entries, [](const AbiEntry& p) { return p.key + " " + p.value + "\n"; });
- if (GlobalState::g_binary_caching)
+ if (GlobalState::debugging)
{
- if (GlobalState::debugging)
+ System::println("[DEBUG] <abientries>");
+ for (auto&& entry : abi_tag_entries)
{
- System::println("[DEBUG] <abientries>");
- for (auto&& entry : abi_tag_entries)
- {
- System::println("[DEBUG] %s|%s", entry.key, entry.value);
- }
- System::println("[DEBUG] </abientries>");
+ System::println("[DEBUG] %s|%s", entry.key, entry.value);
}
+ System::println("[DEBUG] </abientries>");
+ }
- auto abi_tag_entries_missing = abi_tag_entries;
- Util::stable_keep_if(abi_tag_entries_missing, [](const AbiEntry& p) { return p.value.empty(); });
+ auto abi_tag_entries_missing = abi_tag_entries;
+ Util::stable_keep_if(abi_tag_entries_missing, [](const AbiEntry& p) { return p.value.empty(); });
- if (abi_tag_entries_missing.empty())
- {
- std::error_code ec;
- fs.create_directories(paths.buildtrees / spec.name(), ec);
- auto abi_file_path = paths.buildtrees / spec.name() / "vcpkg_abi_info";
- fs.write_contents(abi_file_path, full_abi_info);
+ if (abi_tag_entries_missing.empty())
+ {
+ std::error_code ec;
+ fs.create_directories(paths.buildtrees / name, ec);
+ const auto abi_file_path = paths.buildtrees / name / (triplet.canonical_name() + ".vcpkg_abi_info.txt");
+ fs.write_contents(abi_file_path, full_abi_info);
- abi_tag = Commands::Hash::get_file_hash(paths.get_cmake_exe(), abi_file_path, "SHA1");
- }
- else
- {
- System::println("Warning: binary caching disabled because abi keys are missing values:\n%s",
- Strings::join("", abi_tag_entries_missing, [](const AbiEntry& e) {
- return " " + e.key + "\n";
- }));
- }
+ return AbiTagAndFile{Commands::Hash::get_file_hash(paths, abi_file_path, "SHA1"), abi_file_path};
}
- std::unique_ptr<BinaryControlFile> bcf;
+ System::println(
+ "Warning: binary caching disabled because abi keys are missing values:\n%s",
+ Strings::join("", abi_tag_entries_missing, [](const AbiEntry& e) { return " " + e.key + "\n"; }));
- auto archives_dir = paths.root / "archives";
- if (!abi_tag.empty())
- {
- archives_dir /= abi_tag.substr(0, 2);
- }
- auto archive_path = archives_dir / (abi_tag + ".zip");
+ return nullopt;
+ }
- if (GlobalState::g_binary_caching && !abi_tag.empty() && fs.exists(archive_path))
- {
- System::println("Using cached binary package: %s", archive_path.u8string());
+ static void decompress_archive(const VcpkgPaths& paths, const PackageSpec& spec, const fs::path& archive_path)
+ {
+ auto& fs = paths.get_filesystem();
- auto pkg_path = paths.package_dir(spec);
- std::error_code ec;
- fs.remove_all(pkg_path, ec);
- fs.create_directories(pkg_path, ec);
- auto files = fs.get_files_non_recursive(pkg_path);
- Checks::check_exit(VCPKG_LINE_INFO, files.empty(), "unable to clear path: %s", pkg_path.u8string());
+ auto pkg_path = paths.package_dir(spec);
+ std::error_code ec;
+ fs.remove_all(pkg_path, ec);
+ fs.create_directories(pkg_path, ec);
+ auto files = fs.get_files_non_recursive(pkg_path);
+ Checks::check_exit(VCPKG_LINE_INFO, files.empty(), "unable to clear path: %s", pkg_path.u8string());
#if defined(_WIN32)
- auto&& _7za = paths.get_7za_exe();
+ auto&& seven_zip_exe = paths.get_tool_exe(Tools::SEVEN_ZIP);
- System::cmd_execute_clean(Strings::format(
- R"("%s" x "%s" -o"%s" -y >nul)", _7za.u8string(), archive_path.u8string(), pkg_path.u8string()));
+ System::cmd_execute_clean(Strings::format(
+ R"("%s" x "%s" -o"%s" -y >nul)", seven_zip_exe.u8string(), archive_path.u8string(), pkg_path.u8string()));
#else
- System::cmd_execute_clean(Strings::format(
- R"(unzip -qq "%s" "-d%s")", archive_path.u8string(), pkg_path.u8string()));
+ System::cmd_execute_clean(
+ Strings::format(R"(unzip -qq "%s" "-d%s")", archive_path.u8string(), pkg_path.u8string()));
#endif
+ }
- auto maybe_bcf = Paragraphs::try_load_cached_control_package(paths, spec);
- bcf = std::make_unique<BinaryControlFile>(std::move(maybe_bcf).value_or_exit(VCPKG_LINE_INFO));
- }
- else
+ static void compress_archive(const VcpkgPaths& paths, const PackageSpec& spec, const fs::path& tmp_archive_path)
+ {
+ auto& fs = paths.get_filesystem();
+
+ std::error_code ec;
+
+ fs.remove(tmp_archive_path, ec);
+ Checks::check_exit(
+ VCPKG_LINE_INFO, !fs.exists(tmp_archive_path), "Could not remove file: %s", tmp_archive_path.u8string());
+#if defined(_WIN32)
+ auto&& seven_zip_exe = paths.get_tool_exe(Tools::SEVEN_ZIP);
+
+ System::cmd_execute_clean(Strings::format(R"("%s" a "%s" "%s\*" >nul)",
+ seven_zip_exe.u8string(),
+ tmp_archive_path.u8string(),
+ paths.package_dir(spec).u8string()));
+#else
+ System::cmd_execute_clean(Strings::format(
+ R"(cd '%s' && zip --quiet -r '%s' *)", paths.package_dir(spec).u8string(), tmp_archive_path.u8string()));
+#endif
+ }
+
+ ExtendedBuildResult build_package(const VcpkgPaths& paths,
+ const BuildPackageConfig& config,
+ const StatusParagraphs& status_db)
+ {
+ auto& fs = paths.get_filesystem();
+ const Triplet& triplet = config.triplet;
+ const std::string& name = config.scf.core_paragraph->name;
+
+ std::vector<FeatureSpec> required_fspecs = compute_required_feature_specs(config, status_db);
+
+ // extract out the actual package ids
+ auto dep_pspecs = Util::fmap(required_fspecs, [](FeatureSpec const& fspec) { return fspec.spec(); });
+ Util::sort_unique_erase(dep_pspecs);
+
+ // Find all features that aren't installed. This mutates required_fspecs.
+ Util::unstable_keep_if(required_fspecs, [&](FeatureSpec const& fspec) {
+ return !status_db.is_installed(fspec) && fspec.name() != name;
+ });
+
+ if (!required_fspecs.empty())
{
- if (GlobalState::g_binary_caching && !abi_tag.empty())
- {
- System::println("Could not locate cached archive: %s", archive_path.u8string());
- }
+ return {BuildResult::CASCADED_DUE_TO_MISSING_DEPENDENCIES, std::move(required_fspecs)};
+ }
- std::string all_features;
- for (auto& feature : config.scf.feature_paragraphs)
- {
- all_features.append(feature->name + ";");
- }
+ const PackageSpec spec =
+ PackageSpec::from_name_and_triplet(config.scf.core_paragraph->name, triplet).value_or_exit(VCPKG_LINE_INFO);
- const Toolset& toolset = paths.get_toolset(pre_build_info);
- const std::string cmd_launch_cmake = System::make_cmake_cmd(
- cmake_exe_path,
- ports_cmake_script_path,
- {
- {"CMD", "BUILD"},
- {"PORT", config.scf.core_paragraph->name},
- {"CURRENT_PORT_DIR", config.port_dir / "/."},
- {"TARGET_TRIPLET", 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_NO_DOWNLOADS",
- !Util::Enum::to_bool(config.build_package_options.allow_downloads) ? "1" : "0"},
- {"GIT", git_exe_path},
- {"FEATURES", features},
- {"ALL_FEATURES", all_features},
- });
-
- auto command = make_build_env_cmd(pre_build_info, toolset);
- if (!command.empty()) command.append(" && ");
- command.append(cmd_launch_cmake);
-
- const auto timer = Chrono::ElapsedTimer::create_started();
-
- const int return_code = System::cmd_execute_clean(command);
- const auto buildtimeus = timer.microseconds();
- const auto spec_string = spec.to_string();
+ std::vector<AbiEntry> dependency_abis;
- {
- auto locked_metrics = Metrics::g_metrics.lock();
- locked_metrics->track_buildtime(spec.to_string() + ":[" + Strings::join(",", config.feature_list) + "]",
- buildtimeus);
- if (return_code != 0)
- {
- locked_metrics->track_property("error", "build failed");
- locked_metrics->track_property("build_error", spec_string);
- return BuildResult::BUILD_FAILED;
- }
- }
+ // dep_pspecs was not destroyed
+ for (auto&& pspec : dep_pspecs)
+ {
+ if (pspec == spec) continue;
+ const auto status_it = status_db.find_installed(pspec);
+ Checks::check_exit(VCPKG_LINE_INFO, status_it != status_db.end());
+ dependency_abis.emplace_back(
+ AbiEntry{status_it->get()->package.spec.name(), status_it->get()->package.abi});
+ }
- const BuildInfo build_info = read_build_info(fs, paths.build_info_file_path(spec));
- const size_t error_count = PostBuildLint::perform_all_checks(spec, paths, pre_build_info, build_info);
+ const auto pre_build_info = PreBuildInfo::from_triplet_file(paths, triplet);
- bcf = create_binary_control_file(*config.scf.core_paragraph, triplet, build_info, abi_tag);
+ auto maybe_abi_tag_and_file = compute_abi_tag(paths, config, pre_build_info, dependency_abis);
- if (error_count != 0)
- {
- return BuildResult::POST_BUILD_CHECKS_FAILED;
- }
- for (auto&& feature : config.feature_list)
+ const auto abi_tag_and_file = maybe_abi_tag_and_file.get();
+
+ if (GlobalState::g_binary_caching && abi_tag_and_file)
+ {
+ const fs::path archives_root_dir = paths.root / "archives";
+ const std::string archive_name = abi_tag_and_file->tag + ".zip";
+ const fs::path archive_subpath = fs::u8path(abi_tag_and_file->tag.substr(0, 2)) / archive_name;
+ const fs::path archive_path = archives_root_dir / archive_subpath;
+ const fs::path archive_tombstone_path = archives_root_dir / "fail" / archive_subpath;
+
+ if (fs.exists(archive_path))
{
- for (auto&& f_pgh : config.scf.feature_paragraphs)
- {
- if (f_pgh->name == feature)
- bcf->features.push_back(
- create_binary_feature_control_file(*config.scf.core_paragraph, *f_pgh, triplet));
- }
+ System::println("Using cached binary package: %s", archive_path.u8string());
+
+ decompress_archive(paths, spec, archive_path);
+
+ auto maybe_bcf = Paragraphs::try_load_cached_package(paths, spec);
+ std::unique_ptr<BinaryControlFile> bcf =
+ std::make_unique<BinaryControlFile>(std::move(maybe_bcf).value_or_exit(VCPKG_LINE_INFO));
+ return {BuildResult::SUCCEEDED, std::move(bcf)};
}
- if (GlobalState::g_binary_caching && !abi_tag.empty())
+ if (fs.exists(archive_tombstone_path))
{
- std::error_code ec;
- fs.write_contents(
- paths.package_dir(spec) / "share" / spec.name() / "vcpkg_abi_info.txt", full_abi_info, ec);
+ System::println("Found failure tombstone: %s", archive_tombstone_path.u8string());
+ return BuildResult::BUILD_FAILED;
}
- write_binary_control_file(paths, *bcf);
+ System::println("Could not locate cached archive: %s", archive_path.u8string());
- if (GlobalState::g_binary_caching && !abi_tag.empty())
- {
- auto tmp_archive_path = paths.buildtrees / spec.name() / (spec.triplet().to_string() + ".zip");
-
- std::error_code ec;
- fs.remove(tmp_archive_path, ec);
- Checks::check_exit(VCPKG_LINE_INFO,
- !fs.exists(tmp_archive_path),
- "Could not remove file: %s",
- tmp_archive_path.u8string());
-#if defined(_WIN32)
- auto&& _7za = paths.get_7za_exe();
+ ExtendedBuildResult result = do_build_package_and_clean_buildtrees(
+ paths, pre_build_info, spec, maybe_abi_tag_and_file.value_or(AbiTagAndFile{}).tag, config);
- System::cmd_execute_clean(Strings::format(
- R"("%s" a "%s" "%s\*" >nul)",
- _7za.u8string(),
- tmp_archive_path.u8string(),
- paths.package_dir(spec).u8string()));
-#else
- System::cmd_execute_clean(Strings::format(
- R"(cd '%s' && zip --quiet -r '%s' *)",
- paths.package_dir(spec).u8string(),
- tmp_archive_path.u8string()));
-#endif
- fs.create_directories(archives_dir, ec);
-
- fs.rename(tmp_archive_path, archive_path);
+ std::error_code ec;
+ fs.create_directories(paths.package_dir(spec) / "share" / spec.name(), ec);
+ auto abi_file_in_package = paths.package_dir(spec) / "share" / spec.name() / "vcpkg_abi_info.txt";
+ fs.copy_file(abi_tag_and_file->tag_file, abi_file_in_package, fs::stdfs::copy_options::none, ec);
+ Checks::check_exit(VCPKG_LINE_INFO, !ec, "Could not copy into file: %s", abi_file_in_package.u8string());
- System::println("Stored binary cache: %s", archive_path.u8string());
- }
- }
- return {BuildResult::SUCCEEDED, std::move(bcf)};
- }
+ if (result.code == BuildResult::SUCCEEDED)
+ {
+ const auto tmp_archive_path = paths.buildtrees / spec.name() / (spec.triplet().to_string() + ".zip");
- ExtendedBuildResult build_package(const VcpkgPaths& paths,
- const BuildPackageConfig& config,
- const StatusParagraphs& status_db)
- {
- ExtendedBuildResult result = do_build_package(paths, config, status_db);
+ compress_archive(paths, spec, tmp_archive_path);
- if (config.build_package_options.clean_buildtrees == CleanBuildtrees::YES)
- {
- auto& fs = paths.get_filesystem();
- const fs::path buildtrees_dir = paths.buildtrees / config.scf.core_paragraph->name;
- auto buildtree_files = fs.get_files_non_recursive(buildtrees_dir);
- for (auto&& file : buildtree_files)
+ fs.create_directories(archive_path.parent_path(), ec);
+ fs.rename(tmp_archive_path, archive_path, ec);
+ if (ec)
+ System::println(
+ System::Color::warning, "Failed to store binary cache: %s", archive_path.u8string());
+ else
+ System::println("Stored binary cache: %s", archive_path.u8string());
+ }
+ else if (result.code == BuildResult::BUILD_FAILED || result.code == BuildResult::POST_BUILD_CHECKS_FAILED)
{
- if (fs.is_directory(file) && file.filename() != "src")
- {
- std::error_code ec;
- fs.remove_all(file, ec);
- }
+ // Build failed, so store tombstone archive
+ fs.create_directories(archive_tombstone_path.parent_path(), ec);
+ fs.write_contents(archive_tombstone_path, "", ec);
}
+
+ return result;
}
- return result;
+ return do_build_package_and_clean_buildtrees(
+ paths, pre_build_info, spec, maybe_abi_tag_and_file.value_or(AbiTagAndFile{}).tag, config);
}
const std::string& to_string(const BuildResult build_result)
@@ -698,11 +769,11 @@ namespace vcpkg::Build
{
static constexpr CStringView FLAG_GUID = "c35112b6-d1ba-415b-aa5d-81de856ef8eb";
- const fs::path& cmake_exe_path = paths.get_cmake_exe();
+ const fs::path& cmake_exe_path = paths.get_tool_exe(Tools::CMAKE);
const fs::path ports_cmake_script_path = paths.scripts / "get_triplet_environment.cmake";
const fs::path triplet_file_path = paths.triplets / (triplet.canonical_name() + ".cmake");
- auto triplet_abi_tag = [&]() {
+ const std::string triplet_abi_tag = [&]() {
static std::map<fs::path, std::string> s_hash_cache;
if (GlobalState::g_binary_caching)
@@ -712,7 +783,7 @@ namespace vcpkg::Build
{
return it_hash->second;
}
- auto hash = Commands::Hash::get_file_hash(paths.get_cmake_exe(), triplet_file_path, "SHA1");
+ auto hash = Commands::Hash::get_file_hash(paths, triplet_file_path, "SHA1");
s_hash_cache.emplace(triplet_file_path, hash);
return hash;
}
diff --git a/toolsrc/src/vcpkg/commands.cache.cpp b/toolsrc/src/vcpkg/commands.cache.cpp
index 85bf5fb4d..a9d8ba03c 100644
--- a/toolsrc/src/vcpkg/commands.cache.cpp
+++ b/toolsrc/src/vcpkg/commands.cache.cpp
@@ -38,7 +38,7 @@ namespace vcpkg::Commands::Cache
void perform_and_exit(const VcpkgCmdArguments& args, const VcpkgPaths& paths)
{
- args.parse_arguments(COMMAND_STRUCTURE);
+ Util::unused(args.parse_arguments(COMMAND_STRUCTURE));
const std::vector<BinaryParagraph> binary_paragraphs = read_all_binary_paragraphs(paths);
if (binary_paragraphs.empty())
diff --git a/toolsrc/src/vcpkg/commands.ci.cpp b/toolsrc/src/vcpkg/commands.ci.cpp
index c43f25b40..e2b93dc7e 100644
--- a/toolsrc/src/vcpkg/commands.ci.cpp
+++ b/toolsrc/src/vcpkg/commands.ci.cpp
@@ -1,5 +1,6 @@
#include "pch.h"
+#include <vcpkg/base/cache.h>
#include <vcpkg/base/files.h>
#include <vcpkg/base/stringliteral.h>
#include <vcpkg/base/system.h>
@@ -7,6 +8,7 @@
#include <vcpkg/build.h>
#include <vcpkg/commands.h>
#include <vcpkg/dependencies.h>
+#include <vcpkg/globalstate.h>
#include <vcpkg/help.h>
#include <vcpkg/input.h>
#include <vcpkg/install.h>
@@ -24,6 +26,7 @@ namespace vcpkg::Commands::CI
Install::InstallSummary summary;
};
+ static constexpr StringLiteral OPTION_DRY_RUN = "--dry-run";
static constexpr StringLiteral OPTION_EXCLUDE = "--exclude";
static constexpr StringLiteral OPTION_XUNIT = "--x-xunit";
@@ -32,16 +35,130 @@ namespace vcpkg::Commands::CI
{OPTION_XUNIT, "File to output results in XUnit format (internal)"},
}};
+ static constexpr std::array<CommandSwitch, 1> CI_SWITCHES = {
+ {{OPTION_DRY_RUN, "Print out plan without execution"}}};
+
const CommandStructure COMMAND_STRUCTURE = {
Help::create_example_string("ci x64-windows"),
- 0,
+ 1,
SIZE_MAX,
- {{}, CI_SETTINGS},
+ {CI_SWITCHES, CI_SETTINGS},
nullptr,
};
+ UnknownCIPortsResults find_unknown_ports_for_ci(const VcpkgPaths& paths,
+ const std::set<std::string>& exclusions,
+ const Dependencies::PortFileProvider& provider,
+ const std::vector<FeatureSpec>& fspecs)
+ {
+ UnknownCIPortsResults ret;
+
+ auto& fs = paths.get_filesystem();
+
+ std::map<PackageSpec, std::string> abi_tag_map;
+ std::set<PackageSpec> will_fail;
+
+ const Build::BuildPackageOptions install_plan_options = {Build::UseHeadVersion::NO,
+ Build::AllowDownloads::YES,
+ Build::CleanBuildtrees::YES,
+ Build::CleanPackages::YES};
+
+ vcpkg::Cache<Triplet, Build::PreBuildInfo> pre_build_info_cache;
+
+ auto action_plan = Dependencies::create_feature_install_plan(provider, fspecs, StatusParagraphs{});
+
+ for (auto&& action : action_plan)
+ {
+ if (auto p = action.install_action.get())
+ {
+ // determine abi tag
+ std::string abi;
+ if (auto scf = p->source_control_file.get())
+ {
+ auto triplet = p->spec.triplet();
+
+ const Build::BuildPackageConfig build_config{
+ *scf, triplet, paths.port_dir(p->spec), install_plan_options, p->feature_list};
+
+ auto dependency_abis =
+ Util::fmap(p->computed_dependencies, [&](const PackageSpec& spec) -> Build::AbiEntry {
+ auto it = abi_tag_map.find(spec);
+
+ if (it == abi_tag_map.end())
+ return {spec.name(), ""};
+ else
+ return {spec.name(), it->second};
+ });
+ const auto& pre_build_info = pre_build_info_cache.get_lazy(
+ triplet, [&]() { return Build::PreBuildInfo::from_triplet_file(paths, triplet); });
+
+ auto maybe_tag_and_file =
+ Build::compute_abi_tag(paths, build_config, pre_build_info, dependency_abis);
+ if (auto tag_and_file = maybe_tag_and_file.get())
+ {
+ abi = tag_and_file->tag;
+ abi_tag_map.emplace(p->spec, abi);
+ }
+ }
+ else if (auto ipv = p->installed_package.get())
+ {
+ abi = ipv->core->package.abi;
+ if (!abi.empty()) abi_tag_map.emplace(p->spec, abi);
+ }
+
+ std::string state;
+
+ auto archives_root_dir = paths.root / "archives";
+ auto archive_name = abi + ".zip";
+ auto archive_subpath = fs::u8path(abi.substr(0, 2)) / archive_name;
+ auto archive_path = archives_root_dir / archive_subpath;
+ auto archive_tombstone_path = archives_root_dir / "fail" / archive_subpath;
+
+ bool b_will_build = false;
+
+ if (Util::Sets::contains(exclusions, p->spec.name()))
+ {
+ ret.known.emplace(p->spec, BuildResult::EXCLUDED);
+ will_fail.emplace(p->spec);
+ }
+ else if (std::any_of(p->computed_dependencies.begin(),
+ p->computed_dependencies.end(),
+ [&](const PackageSpec& spec) { return Util::Sets::contains(will_fail, spec); }))
+ {
+ ret.known.emplace(p->spec, BuildResult::CASCADED_DUE_TO_MISSING_DEPENDENCIES);
+ will_fail.emplace(p->spec);
+ }
+ else if (fs.exists(archive_path))
+ {
+ state += "pass";
+ ret.known.emplace(p->spec, BuildResult::SUCCEEDED);
+ }
+ else if (fs.exists(archive_tombstone_path))
+ {
+ state += "fail";
+ ret.known.emplace(p->spec, BuildResult::BUILD_FAILED);
+ will_fail.emplace(p->spec);
+ }
+ else
+ {
+ ret.unknown.push_back(p->spec);
+ b_will_build = true;
+ }
+
+ System::println("%40s: %1s %8s: %s", p->spec, (b_will_build ? "*" : " "), state, abi);
+ }
+ }
+
+ return ret;
+ }
+
void perform_and_exit(const VcpkgCmdArguments& args, const VcpkgPaths& paths, const Triplet& default_triplet)
{
+ if (!GlobalState::g_binary_caching)
+ {
+ System::println(System::Color::warning, "Warning: Running ci without binary caching!");
+ }
+
const ParsedArguments options = args.parse_arguments(COMMAND_STRUCTURE);
std::set<std::string> exclusions_set;
@@ -52,6 +169,8 @@ namespace vcpkg::Commands::CI
exclusions_set.insert(exclusions.begin(), exclusions.end());
}
+ auto is_dry_run = Util::Sets::contains(options.switches, OPTION_DRY_RUN);
+
std::vector<Triplet> triplets;
for (const std::string& triplet : args.command_arguments)
{
@@ -71,16 +190,21 @@ namespace vcpkg::Commands::CI
Build::CleanBuildtrees::YES,
Build::CleanPackages::YES};
- std::vector<std::string> ports = Install::get_all_port_names(paths);
+ std::vector<std::map<PackageSpec, BuildResult>> all_known_results;
+
+ std::vector<std::string> all_ports = Install::get_all_port_names(paths);
std::vector<TripletAndSummary> results;
for (const Triplet& triplet : triplets)
{
Input::check_triplet(triplet, paths);
- std::vector<PackageSpec> specs = PackageSpec::to_package_specs(ports, triplet);
+
+ std::vector<PackageSpec> specs = PackageSpec::to_package_specs(all_ports, triplet);
// Install the default features for every package
- const auto featurespecs = Util::fmap(specs, [](auto& spec) { return FeatureSpec(spec, ""); });
+ auto all_fspecs = Util::fmap(specs, [](auto& spec) { return FeatureSpec(spec, ""); });
+ auto split_specs = find_unknown_ports_for_ci(paths, exclusions_set, paths_port_file, all_fspecs);
+ auto fspecs = Util::fmap(split_specs.unknown, [](auto& spec) { return FeatureSpec(spec, ""); });
- auto action_plan = Dependencies::create_feature_install_plan(paths_port_file, featurespecs, status_db);
+ auto action_plan = Dependencies::create_feature_install_plan(paths_port_file, fspecs, status_db);
for (auto&& action : action_plan)
{
@@ -94,8 +218,18 @@ namespace vcpkg::Commands::CI
}
}
- auto summary = Install::perform(action_plan, Install::KeepGoing::YES, paths, status_db);
- results.push_back({triplet, std::move(summary)});
+ if (is_dry_run)
+ {
+ Dependencies::print_plan(action_plan);
+ }
+ else
+ {
+ auto summary = Install::perform(action_plan, Install::KeepGoing::YES, paths, status_db);
+ for (auto&& result : summary.results)
+ split_specs.known.erase(result.spec);
+ results.push_back({triplet, std::move(summary)});
+ all_known_results.emplace_back(std::move(split_specs.known));
+ }
}
for (auto&& result : results)
@@ -112,6 +246,14 @@ namespace vcpkg::Commands::CI
for (auto&& result : results)
xunit_doc += result.summary.xunit_results();
+ for (auto&& known_result : all_known_results)
+ {
+ for (auto&& result : known_result)
+ {
+ xunit_doc +=
+ Install::InstallSummary::xunit_result(result.first, Chrono::ElapsedTime{}, result.second);
+ }
+ }
xunit_doc += "</collection></assembly></assemblies>\n";
paths.get_filesystem().write_contents(fs::u8path(it_xunit->second), xunit_doc);
diff --git a/toolsrc/src/vcpkg/commands.contact.cpp b/toolsrc/src/vcpkg/commands.contact.cpp
index ffed07557..9f86a67dc 100644
--- a/toolsrc/src/vcpkg/commands.contact.cpp
+++ b/toolsrc/src/vcpkg/commands.contact.cpp
@@ -14,24 +14,28 @@ namespace vcpkg::Commands::Contact
return S_EMAIL;
}
- static const CommandSwitch switches[] = {{"--survey", "Launch default browser to the current vcpkg survey"}};
+ static constexpr StringLiteral OPTION_SURVEY = "--survey";
+
+ static constexpr std::array<CommandSwitch, 1> SWITCHES = {{
+ {OPTION_SURVEY, "Launch default browser to the current vcpkg survey"},
+ }};
const CommandStructure COMMAND_STRUCTURE = {
Help::create_example_string("contact"),
0,
0,
- {switches, {}},
+ {SWITCHES, {}},
nullptr,
};
void perform_and_exit(const VcpkgCmdArguments& args)
{
- auto parsed_args = args.parse_arguments(COMMAND_STRUCTURE);
+ const ParsedArguments parsed_args = args.parse_arguments(COMMAND_STRUCTURE);
- if (Util::Sets::contains(parsed_args.switches, switches[0].name))
+ if (Util::Sets::contains(parsed_args.switches, SWITCHES[0].name))
{
auto maybe_now = Chrono::CTime::get_current_date_time();
- if (auto p_now = maybe_now.get())
+ if (const auto p_now = maybe_now.get())
{
auto& fs = Files::get_real_filesystem();
auto config = UserConfig::try_read_data(fs);
diff --git a/toolsrc/src/vcpkg/commands.cpp b/toolsrc/src/vcpkg/commands.cpp
index d9c0e54cd..8b6ffb3d7 100644
--- a/toolsrc/src/vcpkg/commands.cpp
+++ b/toolsrc/src/vcpkg/commands.cpp
@@ -43,7 +43,8 @@ namespace vcpkg::Commands
{"portsdiff", &PortsDiff::perform_and_exit},
{"autocomplete", &Autocomplete::perform_and_exit},
{"hash", &Hash::perform_and_exit},
- };
+ // {"fetch", &Fetch::perform_and_exit},
+ };
return t;
}
@@ -51,7 +52,7 @@ namespace vcpkg::Commands
{
static std::vector<PackageNameAndFunction<CommandTypeC>> t = {
{"version", &Version::perform_and_exit},
- {"contact", &Contact::perform_and_exit}
+ {"contact", &Contact::perform_and_exit},
};
return t;
}
diff --git a/toolsrc/src/vcpkg/commands.create.cpp b/toolsrc/src/vcpkg/commands.create.cpp
index 25c34cf09..dfb3ab784 100644
--- a/toolsrc/src/vcpkg/commands.create.cpp
+++ b/toolsrc/src/vcpkg/commands.create.cpp
@@ -18,11 +18,11 @@ namespace vcpkg::Commands::Create
void perform_and_exit(const VcpkgCmdArguments& args, const VcpkgPaths& paths)
{
- args.parse_arguments(COMMAND_STRUCTURE);
+ Util::unused(args.parse_arguments(COMMAND_STRUCTURE));
const std::string port_name = args.command_arguments.at(0);
const std::string url = args.command_arguments.at(1);
- const fs::path& cmake_exe = paths.get_cmake_exe();
+ const fs::path& cmake_exe = paths.get_tool_exe(Tools::CMAKE);
std::vector<System::CMakeVariable> cmake_args{{"CMD", "CREATE"}, {"PORT", port_name}, {"URL", url}};
diff --git a/toolsrc/src/vcpkg/commands.dependinfo.cpp b/toolsrc/src/vcpkg/commands.dependinfo.cpp
index bb300d96e..1ca658216 100644
--- a/toolsrc/src/vcpkg/commands.dependinfo.cpp
+++ b/toolsrc/src/vcpkg/commands.dependinfo.cpp
@@ -19,7 +19,7 @@ namespace vcpkg::Commands::DependInfo
void perform_and_exit(const VcpkgCmdArguments& args, const VcpkgPaths& paths)
{
- args.parse_arguments(COMMAND_STRUCTURE);
+ Util::unused(args.parse_arguments(COMMAND_STRUCTURE));
std::vector<std::unique_ptr<SourceControlFile>> source_control_files =
Paragraphs::load_all_ports(paths.get_filesystem(), paths.ports);
@@ -30,7 +30,6 @@ namespace vcpkg::Commands::DependInfo
Util::erase_remove_if(source_control_files,
[&](const std::unique_ptr<SourceControlFile>& source_control_file) {
-
const SourceParagraph& source_paragraph = *source_control_file->core_paragraph;
if (Strings::case_insensitive_ascii_contains(source_paragraph.name, filter))
diff --git a/toolsrc/src/vcpkg/commands.edit.cpp b/toolsrc/src/vcpkg/commands.edit.cpp
index 41f261a53..b6324565c 100644
--- a/toolsrc/src/vcpkg/commands.edit.cpp
+++ b/toolsrc/src/vcpkg/commands.edit.cpp
@@ -1,5 +1,6 @@
#include "pch.h"
+#include <vcpkg/base/strings.h>
#include <vcpkg/base/system.h>
#include <vcpkg/commands.h>
#include <vcpkg/help.h>
@@ -9,14 +10,15 @@ namespace vcpkg::Commands::Edit
{
static std::vector<fs::path> find_from_registry()
{
+ std::vector<fs::path> output;
+
+#if defined(_WIN32)
static const std::array<const char*, 3> REGKEYS = {
R"(SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{C26E74D1-022E-4238-8B9D-1E7564A36CC9}_is1)",
R"(SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{1287CAD5-7C8D-410D-88B9-0D1EE4A83FF2}_is1)",
R"(SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{F8A2A208-72B3-4D61-95FC-8A65D340689B}_is1)",
};
- std::vector<fs::path> output;
-#if defined(_WIN32)
for (auto&& keypath : REGKEYS)
{
const Optional<std::string> code_installpath =
@@ -34,6 +36,8 @@ namespace vcpkg::Commands::Edit
static constexpr StringLiteral OPTION_BUILDTREES = "--buildtrees";
+ static constexpr StringLiteral OPTION_ALL = "--all";
+
static std::vector<std::string> valid_arguments(const VcpkgPaths& paths)
{
auto sources_and_errors = Paragraphs::try_load_all_ports(paths.get_filesystem(), paths.ports);
@@ -42,18 +46,49 @@ namespace vcpkg::Commands::Edit
[](auto&& pgh) -> std::string { return pgh->core_paragraph->name; });
}
- static constexpr std::array<CommandSwitch, 1> EDIT_SWITCHES = {{
- {OPTION_BUILDTREES, "Open editor into the port-specific buildtree subfolder"},
- }};
+ static constexpr std::array<CommandSwitch, 2> EDIT_SWITCHES = {
+ {{OPTION_BUILDTREES, "Open editor into the port-specific buildtree subfolder"},
+ {OPTION_ALL, "Open editor into the port as well as the port-specific buildtree subfolder"}}};
const CommandStructure COMMAND_STRUCTURE = {
Help::create_example_string("edit zlib"),
1,
- 1,
+ 10,
{EDIT_SWITCHES, {}},
&valid_arguments,
};
+ static std::vector<std::string> create_editor_arguments(const VcpkgPaths& paths,
+ const ParsedArguments& options,
+ const std::vector<std::string>& ports)
+ {
+ if (Util::Sets::contains(options.switches, OPTION_ALL))
+ {
+ return Util::fmap(ports, [&](const std::string& port_name) -> std::string {
+ const auto portpath = paths.ports / port_name;
+ const auto portfile = portpath / "portfile.cmake";
+ const auto buildtrees_current_dir = paths.buildtrees / port_name;
+ return Strings::format(R"###("%s" "%s" "%s")###",
+ portpath.u8string(),
+ portfile.u8string(),
+ buildtrees_current_dir.u8string());
+ });
+ }
+
+ if (Util::Sets::contains(options.switches, OPTION_BUILDTREES))
+ {
+ return Util::fmap(ports, [&](const std::string& port_name) -> std::string {
+ return (paths.buildtrees / port_name).u8string();
+ });
+ }
+
+ return Util::fmap(ports, [&](const std::string& port_name) -> std::string {
+ const auto portpath = paths.ports / port_name;
+ const auto portfile = portpath / "portfile.cmake";
+ return Strings::format(R"###("%s" "%s")###", portpath.u8string(), portfile.u8string());
+ });
+ }
+
void perform_and_exit(const VcpkgCmdArguments& args, const VcpkgPaths& paths)
{
static const fs::path VS_CODE_INSIDERS = fs::path{"Microsoft VS Code Insiders"} / "Code - Insiders.exe";
@@ -62,26 +97,40 @@ namespace vcpkg::Commands::Edit
auto& fs = paths.get_filesystem();
const ParsedArguments options = args.parse_arguments(COMMAND_STRUCTURE);
- const std::string port_name = args.command_arguments.at(0);
- const fs::path portpath = paths.ports / port_name;
- Checks::check_exit(VCPKG_LINE_INFO, fs.is_directory(portpath), R"(Could not find port named "%s")", port_name);
+ const std::vector<std::string>& ports = args.command_arguments;
+ for (auto&& port_name : ports)
+ {
+ const fs::path portpath = paths.ports / port_name;
+ Checks::check_exit(
+ VCPKG_LINE_INFO, fs.is_directory(portpath), R"(Could not find port named "%s")", port_name);
+ }
std::vector<fs::path> candidate_paths;
auto maybe_editor_path = System::get_environment_variable("EDITOR");
- if (auto editor_path = maybe_editor_path.get())
+ if (const std::string* editor_path = maybe_editor_path.get())
{
candidate_paths.emplace_back(*editor_path);
}
- candidate_paths.push_back(System::get_program_files_platform_bitness() / VS_CODE_INSIDERS);
- candidate_paths.push_back(System::get_program_files_32_bit() / VS_CODE_INSIDERS);
- candidate_paths.push_back(System::get_program_files_platform_bitness() / VS_CODE);
- candidate_paths.push_back(System::get_program_files_32_bit() / VS_CODE);
+
+ const auto& program_files = System::get_program_files_platform_bitness();
+ if (const fs::path* pf = program_files.get())
+ {
+ candidate_paths.push_back(*pf / VS_CODE_INSIDERS);
+ candidate_paths.push_back(*pf / VS_CODE);
+ }
+
+ const auto& program_files_32_bit = System::get_program_files_32_bit();
+ if (const fs::path* pf = program_files_32_bit.get())
+ {
+ candidate_paths.push_back(*pf / VS_CODE_INSIDERS);
+ candidate_paths.push_back(*pf / VS_CODE);
+ }
const std::vector<fs::path> from_registry = find_from_registry();
candidate_paths.insert(candidate_paths.end(), from_registry.cbegin(), from_registry.cend());
- auto it = Util::find_if(candidate_paths, [&](const fs::path& p) { return fs.exists(p); });
+ const auto it = Util::find_if(candidate_paths, [&](const fs::path& p) { return fs.exists(p); });
if (it == candidate_paths.cend())
{
System::println(
@@ -94,20 +143,9 @@ namespace vcpkg::Commands::Edit
}
const fs::path env_editor = *it;
- if (Util::Sets::contains(options.switches, OPTION_BUILDTREES))
- {
- const auto buildtrees_current_dir = paths.buildtrees / port_name;
-
- const auto cmd_line =
- Strings::format(R"("%s" "%s" -n)", env_editor.u8string(), buildtrees_current_dir.u8string());
- Checks::exit_with_code(VCPKG_LINE_INFO, System::cmd_execute(cmd_line));
- }
-
- const auto cmd_line = Strings::format(
- R"("%s" "%s" "%s" -n)",
- env_editor.u8string(),
- portpath.u8string(),
- (portpath / "portfile.cmake").u8string());
+ const std::vector<std::string> arguments = create_editor_arguments(paths, options, ports);
+ const auto args_as_string = Strings::join(" ", arguments);
+ const auto cmd_line = Strings::format(R"("%s" %s -n)", env_editor.u8string(), args_as_string);
Checks::exit_with_code(VCPKG_LINE_INFO, System::cmd_execute(cmd_line));
}
}
diff --git a/toolsrc/src/vcpkg/commands.env.cpp b/toolsrc/src/vcpkg/commands.env.cpp
index f3beef6cd..d078baedb 100644
--- a/toolsrc/src/vcpkg/commands.env.cpp
+++ b/toolsrc/src/vcpkg/commands.env.cpp
@@ -1,5 +1,6 @@
#include "pch.h"
+#include <vcpkg/base/strings.h>
#include <vcpkg/base/system.h>
#include <vcpkg/build.h>
#include <vcpkg/commands.h>
@@ -7,25 +8,66 @@
namespace vcpkg::Commands::Env
{
+ static constexpr StringLiteral OPTION_BIN = "--bin";
+ static constexpr StringLiteral OPTION_INCLUDE = "--include";
+ static constexpr StringLiteral OPTION_DEBUG_BIN = "--debug-bin";
+ static constexpr StringLiteral OPTION_TOOLS = "--tools";
+ static constexpr StringLiteral OPTION_PYTHON = "--python";
+
+ static constexpr std::array<CommandSwitch, 5> SWITCHES = {{
+ {OPTION_BIN, "Add installed bin/ to PATH"},
+ {OPTION_INCLUDE, "Add installed include/ to INCLUDE"},
+ {OPTION_DEBUG_BIN, "Add installed debug/bin/ to PATH"},
+ {OPTION_TOOLS, "Add installed tools/*/ to PATH"},
+ {OPTION_PYTHON, "Add installed python/ to PYTHONPATH"},
+ }};
+
const CommandStructure COMMAND_STRUCTURE = {
Help::create_example_string("env --triplet x64-windows"),
0,
0,
- {},
+ {SWITCHES, {}},
nullptr,
};
- void perform_and_exit(const VcpkgCmdArguments& args, const VcpkgPaths& paths, const Triplet& default_triplet)
+ void perform_and_exit(const VcpkgCmdArguments& args, const VcpkgPaths& paths, const Triplet& triplet)
{
- args.parse_arguments(COMMAND_STRUCTURE);
+ const auto& fs = paths.get_filesystem();
+
+ const ParsedArguments options = args.parse_arguments(COMMAND_STRUCTURE);
- const auto pre_build_info = Build::PreBuildInfo::from_triplet_file(paths, default_triplet);
+ const auto pre_build_info = Build::PreBuildInfo::from_triplet_file(paths, triplet);
const Toolset& toolset = paths.get_toolset(pre_build_info);
auto env_cmd = Build::make_build_env_cmd(pre_build_info, toolset);
+
+ std::unordered_map<std::string, std::string> extra_env = {};
+ const bool add_bin = Util::Sets::contains(options.switches, OPTION_BIN);
+ const bool add_include = Util::Sets::contains(options.switches, OPTION_INCLUDE);
+ const bool add_debug_bin = Util::Sets::contains(options.switches, OPTION_DEBUG_BIN);
+ const bool add_tools = Util::Sets::contains(options.switches, OPTION_TOOLS);
+ const bool add_python = Util::Sets::contains(options.switches, OPTION_PYTHON);
+
+ std::vector<std::string> path_vars;
+ if (add_bin) path_vars.push_back((paths.installed / triplet.to_string() / "bin").u8string());
+ if (add_debug_bin) path_vars.push_back((paths.installed / triplet.to_string() / "debug" / "bin").u8string());
+ if (add_include) extra_env.emplace("INCLUDE", (paths.installed / triplet.to_string() / "include").u8string());
+ if (add_tools)
+ {
+ auto tools_dir = paths.installed / triplet.to_string() / "tools";
+ auto tool_files = fs.get_files_non_recursive(tools_dir);
+ path_vars.push_back(tools_dir.u8string());
+ for (auto&& tool_dir : tool_files)
+ {
+ if (fs.is_directory(tool_dir)) path_vars.push_back(tool_dir.u8string());
+ }
+ }
+ if (add_python) extra_env.emplace("PYTHONPATH", (paths.installed / triplet.to_string() / "python").u8string());
+ if (path_vars.size() > 0) extra_env.emplace("PATH", Strings::join(";", path_vars));
+
if (env_cmd.empty())
- System::cmd_execute_clean("cmd");
+ System::cmd_execute_clean("cmd", extra_env);
else
- System::cmd_execute_clean(env_cmd + " && cmd");
+ System::cmd_execute_clean(env_cmd + " && cmd", extra_env);
Checks::exit_success(VCPKG_LINE_INFO);
}
diff --git a/toolsrc/src/vcpkg/commands.exportifw.cpp b/toolsrc/src/vcpkg/commands.exportifw.cpp
index 58d9aa0be..ae106196a 100644
--- a/toolsrc/src/vcpkg/commands.exportifw.cpp
+++ b/toolsrc/src/vcpkg/commands.exportifw.cpp
@@ -291,7 +291,7 @@ namespace vcpkg::Export::IFW
std::error_code ec;
Files::Filesystem& fs = paths.get_filesystem();
- const fs::path& installerbase_exe = paths.get_ifw_installerbase_exe();
+ const fs::path& installerbase_exe = paths.get_tool_exe(Tools::IFW_INSTALLER_BASE);
fs::path tempmaintenancetool = ifw_packages_dir_path / "maintenance" / "data" / "tempmaintenancetool.exe";
fs.create_directories(tempmaintenancetool.parent_path(), ec);
Checks::check_exit(VCPKG_LINE_INFO,
@@ -335,7 +335,7 @@ namespace vcpkg::Export::IFW
void do_repository(const std::string& export_id, const Options& ifw_options, const VcpkgPaths& paths)
{
- const fs::path& repogen_exe = paths.get_ifw_repogen_exe();
+ const fs::path& repogen_exe = paths.get_tool_exe(Tools::IFW_REPOGEN);
const fs::path packages_dir = get_packages_dir_path(export_id, ifw_options, paths);
const fs::path repository_dir = get_repository_dir_path(export_id, ifw_options, paths);
@@ -361,7 +361,7 @@ namespace vcpkg::Export::IFW
void do_installer(const std::string& export_id, const Options& ifw_options, const VcpkgPaths& paths)
{
- const fs::path& binarycreator_exe = paths.get_ifw_binarycreator_exe();
+ const fs::path& binarycreator_exe = paths.get_tool_exe(Tools::IFW_BINARYCREATOR);
const fs::path config_file = get_config_file_path(export_id, ifw_options, paths);
const fs::path packages_dir = get_packages_dir_path(export_id, ifw_options, paths);
const fs::path repository_dir = get_repository_dir_path(export_id, ifw_options, paths);
diff --git a/toolsrc/src/vcpkg/commands.fetch.cpp b/toolsrc/src/vcpkg/commands.fetch.cpp
new file mode 100644
index 000000000..a6cfec3f0
--- /dev/null
+++ b/toolsrc/src/vcpkg/commands.fetch.cpp
@@ -0,0 +1,716 @@
+#include "pch.h"
+
+#include <vcpkg/base/checks.h>
+#include <vcpkg/base/strings.h>
+#include <vcpkg/base/system.h>
+#include <vcpkg/base/util.h>
+#include <vcpkg/commands.h>
+#include <vcpkg/help.h>
+
+namespace vcpkg::Commands::Fetch
+{
+ static constexpr CStringView V_120 = "v120";
+ static constexpr CStringView V_140 = "v140";
+ static constexpr CStringView V_141 = "v141";
+
+ struct ToolData
+ {
+ std::array<int, 3> version;
+ fs::path exe_path;
+ std::string url;
+ fs::path download_path;
+ fs::path tool_dir_path;
+ std::string sha512;
+ };
+
+ static Optional<std::array<int, 3>> parse_version_string(const std::string& version_as_string)
+ {
+ static const std::regex RE(R"###((\d+)\.(\d+)\.(\d+))###");
+
+ std::match_results<std::string::const_iterator> match;
+ const auto found = std::regex_search(version_as_string, match, RE);
+ if (!found)
+ {
+ return {};
+ }
+
+ const int d1 = atoi(match[1].str().c_str());
+ const int d2 = atoi(match[2].str().c_str());
+ const int d3 = atoi(match[3].str().c_str());
+ const std::array<int, 3> result = {d1, d2, d3};
+ return result;
+ }
+
+ static Optional<std::string> extract_string_between_delimiters(const std::string& input,
+ const std::string& left_delim,
+ const std::string& right_delim,
+ const size_t& starting_offset = 0)
+ {
+ const size_t from = input.find(left_delim, starting_offset);
+ if (from == std::string::npos) return nullopt;
+
+ const size_t substring_start = from + left_delim.length();
+
+ const size_t to = input.find(right_delim, substring_start);
+ if (from == std::string::npos) return nullopt;
+
+ return input.substr(substring_start, to - substring_start);
+ }
+
+ static ToolData parse_tool_data_from_xml(const VcpkgPaths& paths, const std::string& tool)
+ {
+#if defined(_WIN32)
+ static constexpr StringLiteral OS_STRING = "windows";
+#elif defined(__APPLE__)
+ static constexpr StringLiteral OS_STRING = "osx";
+#elif defined(__linux__)
+ static constexpr StringLiteral OS_STRING = "linux";
+#else
+ return ToolData{};
+#endif
+
+#if defined(_WIN32) || defined(__APPLE__) || defined(__linux__)
+ static const std::string XML_VERSION = "2";
+ static const fs::path XML_PATH = paths.scripts / "vcpkgTools.xml";
+
+ const auto get_string_inside_tags =
+ [](const std::string& input, const std::string& left_delim, const std::string& right_delim) -> std::string {
+ Optional<std::string> result = extract_string_between_delimiters(input, left_delim, right_delim);
+ Checks::check_exit(VCPKG_LINE_INFO,
+ result.has_value(),
+ "Could not find tag <%s>.*<%s> in %s",
+ left_delim,
+ right_delim,
+ XML_PATH.generic_string());
+
+ auto r = *result.get();
+ return Strings::trim(std::move(r));
+ };
+
+ 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);
+ Checks::check_exit(VCPKG_LINE_INFO,
+ has_xml_version,
+ R"(Could not find <tools version="%s"> in %s)",
+ XML_VERSION,
+ XML_PATH.generic_string());
+ Checks::check_exit(VCPKG_LINE_INFO,
+ XML_VERSION == match_xml_version[1],
+ "Expected %s version: [%s], but was [%s]. Please re-run bootstrap-vcpkg.",
+ XML_PATH.generic_string(),
+ XML_VERSION,
+ match_xml_version[1]);
+
+ 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);
+ Checks::check_exit(VCPKG_LINE_INFO,
+ has_tool_entry,
+ "Could not find entry for tool [%s] in %s",
+ tool,
+ XML_PATH.generic_string());
+
+ const std::string tool_data = get_string_inside_tags(XML, match_tool_entry[0], R"(</tool>)");
+
+ const std::string version_as_string = get_string_inside_tags(tool_data, "<version>", R"(</version>)");
+ const std::string exe_relative_path =
+ get_string_inside_tags(tool_data, "<exeRelativePath>", R"(</exeRelativePath>)");
+ const std::string url = get_string_inside_tags(tool_data, "<url>", R"(</url>)");
+ const std::string sha512 = get_string_inside_tags(tool_data, "<sha512>", R"(</sha512>)");
+ auto archive_name = extract_string_between_delimiters(tool_data, "<archiveName>", R"(</archiveName>)");
+
+ const Optional<std::array<int, 3>> version = parse_version_string(version_as_string);
+ Checks::check_exit(VCPKG_LINE_INFO,
+ version.has_value(),
+ "Could not parse version for tool %s. Version string was: %s",
+ tool,
+ version_as_string);
+
+ const std::string tool_dir_name = Strings::format("%s-%s-%s", tool, version_as_string, OS_STRING);
+ const fs::path tool_dir_path = paths.downloads / "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),
+ tool_dir_path,
+ sha512};
+#endif
+ }
+
+ static bool exists_and_has_equal_or_greater_version(const std::string& version_cmd,
+ const std::array<int, 3>& expected_version)
+ {
+ const auto rc = System::cmd_execute_and_capture_output(Strings::format(R"(%s)", version_cmd));
+ if (rc.exit_code != 0)
+ {
+ return false;
+ }
+
+ const Optional<std::array<int, 3>> v = parse_version_string(rc.output);
+ if (!v.has_value())
+ {
+ return false;
+ }
+
+ const std::array<int, 3> actual_version = *v.get();
+ return (actual_version[0] > expected_version[0] ||
+ (actual_version[0] == expected_version[0] && actual_version[1] > expected_version[1]) ||
+ (actual_version[0] == expected_version[0] && actual_version[1] == expected_version[1] &&
+ actual_version[2] >= expected_version[2]));
+ }
+
+ static Optional<fs::path> find_if_has_equal_or_greater_version(const std::vector<fs::path>& candidate_paths,
+ const std::string& version_check_arguments,
+ const std::array<int, 3>& expected_version)
+ {
+ auto it = Util::find_if(candidate_paths, [&](const fs::path& p) {
+ const std::string cmd = Strings::format(R"("%s" %s)", p.u8string(), version_check_arguments);
+ return exists_and_has_equal_or_greater_version(cmd, expected_version);
+ });
+
+ if (it != candidate_paths.cend())
+ {
+ return std::move(*it);
+ }
+
+ return nullopt;
+ }
+
+ static std::vector<std::string> keep_data_lines(const std::string& data_blob)
+ {
+ static const std::regex DATA_LINE_REGEX(R"(<sol>::(.+?)(?=::<eol>))");
+
+ std::vector<std::string> data_lines;
+
+ const std::sregex_iterator it(data_blob.cbegin(), data_blob.cend(), DATA_LINE_REGEX);
+ const std::sregex_iterator end;
+ for (std::sregex_iterator i = it; i != end; ++i)
+ {
+ const std::smatch match = *i;
+ data_lines.push_back(match[1].str());
+ }
+
+ return data_lines;
+ }
+
+#if !defined(_WIN32)
+ static void extract_archive(const VcpkgPaths& paths, const fs::path& archive, const fs::path& to_path)
+ {
+ Files::Filesystem& fs = paths.get_filesystem();
+ const fs::path to_path_partial = to_path.u8string() + ".partial";
+
+ std::error_code ec;
+ fs.remove_all(to_path_partial, ec);
+ fs.create_directories(to_path_partial, ec);
+
+ const auto ext = archive.extension();
+ if (ext == ".gz" && ext.extension() != ".tar")
+ {
+ const auto code = System::cmd_execute(
+ Strings::format(R"(cd '%s' && tar xzf '%s')", to_path_partial.u8string(), archive.u8string()));
+ Checks::check_exit(VCPKG_LINE_INFO, code == 0, "tar failed while extracting %s", archive.u8string());
+ }
+ else if (ext == ".zip")
+ {
+ const auto code = System::cmd_execute(
+ Strings::format(R"(cd '%s' && unzip -qqo '%s')", to_path_partial.u8string(), archive.u8string()));
+ Checks::check_exit(VCPKG_LINE_INFO, code == 0, "unzip failed while extracting %s", archive.u8string());
+ }
+ else
+ {
+ Checks::exit_with_message(VCPKG_LINE_INFO, "Unexpected archive extension: %s", ext.u8string());
+ }
+
+ fs.rename(to_path_partial, to_path);
+ }
+
+ static void verify_hash(const VcpkgPaths& paths,
+ const std::string& url,
+ const fs::path& path,
+ const std::string& sha512)
+ {
+ const std::string actual_hash = Hash::get_file_hash(paths, path, "SHA512");
+ Checks::check_exit(VCPKG_LINE_INFO,
+ sha512 == actual_hash,
+ "File does not have the expected hash:\n"
+ " url : [ %s ]\n"
+ " File path : [ %s ]\n"
+ " Expected hash : [ %s ]\n"
+ " Actual hash : [ %s ]\n",
+ url,
+ path.u8string(),
+ sha512,
+ actual_hash);
+ }
+
+ static void download_file(const VcpkgPaths& paths,
+ const std::string& url,
+ const fs::path& download_path,
+ const std::string& sha512)
+ {
+ Files::Filesystem& fs = paths.get_filesystem();
+ const std::string download_path_part = download_path.u8string() + ".part";
+ std::error_code ec;
+ fs.remove(download_path_part, ec);
+ const auto code = System::cmd_execute(
+ Strings::format(R"(curl -L '%s' --create-dirs --output '%s')", url, download_path_part));
+ Checks::check_exit(VCPKG_LINE_INFO, code == 0, "Could not download %s", url);
+
+ verify_hash(paths, url, download_path_part, sha512);
+ fs.rename(download_path_part, download_path);
+ }
+
+#endif
+ static fs::path fetch_tool(const VcpkgPaths& paths, const std::string& tool_name, const ToolData& tool_data)
+ {
+ const std::array<int, 3>& version = tool_data.version;
+ const std::string version_as_string = Strings::format("%d.%d.%d", version[0], version[1], version[2]);
+ Checks::check_exit(VCPKG_LINE_INFO,
+ !tool_data.url.empty(),
+ "A suitable version of %s was not found (required v%s) and unable to automatically "
+ "download a portable one. Please install a newer version of git.",
+ tool_name,
+ version_as_string);
+ System::println("A suitable version of %s was not found (required v%s). Downloading portable %s v%s...",
+ tool_name,
+ version_as_string,
+ tool_name,
+ version_as_string);
+#if defined(_WIN32)
+ const fs::path script = paths.scripts / "fetchtool.ps1";
+ const std::string title = Strings::format(
+ "Fetching %s version %s (No sufficient installed version was found)", tool_name, version_as_string);
+ const System::PowershellParameter tool_param("tool", tool_name);
+ const std::string output = System::powershell_execute_and_capture_output(title, script, {tool_param});
+
+ const std::vector<std::string> tool_path = keep_data_lines(output);
+ Checks::check_exit(VCPKG_LINE_INFO, tool_path.size() == 1, "Expected tool path, but got %s", output);
+
+ const fs::path actual_downloaded_path = Strings::trim(std::string{tool_path.at(0)});
+ const fs::path& expected_downloaded_path = tool_data.exe_path;
+ std::error_code ec;
+ const auto eq = fs::stdfs::equivalent(expected_downloaded_path, actual_downloaded_path, ec);
+ Checks::check_exit(VCPKG_LINE_INFO,
+ eq && !ec,
+ "Expected tool downloaded path to be %s, but was %s",
+ expected_downloaded_path.u8string(),
+ actual_downloaded_path.u8string());
+ return actual_downloaded_path;
+#else
+ const auto& fs = paths.get_filesystem();
+ if (!fs.exists(tool_data.download_path))
+ {
+ System::println("Downloading %s...", tool_name);
+ download_file(paths, tool_data.url, tool_data.download_path, tool_data.sha512);
+ System::println("Downloading %s... done.", tool_name);
+ }
+ else
+ {
+ verify_hash(paths, tool_data.url, tool_data.download_path, tool_data.sha512);
+ }
+
+ System::println("Extracting %s...", tool_name);
+ extract_archive(paths, tool_data.download_path, tool_data.tool_dir_path);
+ System::println("Extracting %s... done.", tool_name);
+
+ Checks::check_exit(VCPKG_LINE_INFO,
+ fs.exists(tool_data.exe_path),
+ "Expected %s to exist after extracting",
+ tool_data.exe_path);
+
+ return tool_data.exe_path;
+#endif
+ }
+
+ static fs::path get_cmake_path(const VcpkgPaths& paths)
+ {
+ std::vector<fs::path> candidate_paths;
+#if defined(_WIN32) || defined(__APPLE__) || defined(__linux__)
+ static const ToolData TOOL_DATA = parse_tool_data_from_xml(paths, "cmake");
+ candidate_paths.push_back(TOOL_DATA.exe_path);
+#else
+ static const ToolData TOOL_DATA = ToolData{{3, 5, 1}, ""};
+#endif
+ static const std::string VERSION_CHECK_ARGUMENTS = "--version";
+
+ const std::vector<fs::path> from_path = Files::find_from_PATH("cmake");
+ candidate_paths.insert(candidate_paths.end(), from_path.cbegin(), from_path.cend());
+
+ const auto& program_files = System::get_program_files_platform_bitness();
+ if (const auto pf = program_files.get()) candidate_paths.push_back(*pf / "CMake" / "bin" / "cmake.exe");
+ const auto& program_files_32_bit = System::get_program_files_32_bit();
+ if (const auto pf = program_files_32_bit.get()) candidate_paths.push_back(*pf / "CMake" / "bin" / "cmake.exe");
+
+ const Optional<fs::path> path =
+ find_if_has_equal_or_greater_version(candidate_paths, VERSION_CHECK_ARGUMENTS, TOOL_DATA.version);
+ if (const auto p = path.get())
+ {
+ return *p;
+ }
+
+ return fetch_tool(paths, "cmake", TOOL_DATA);
+ }
+
+ static fs::path get_7za_path(const VcpkgPaths& paths)
+ {
+#if defined(_WIN32)
+ static const ToolData TOOL_DATA = parse_tool_data_from_xml(paths, "7zip");
+ if (!paths.get_filesystem().exists(TOOL_DATA.exe_path))
+ {
+ return fetch_tool(paths, "7zip", TOOL_DATA);
+ }
+ return TOOL_DATA.exe_path;
+#else
+ Checks::exit_with_message(VCPKG_LINE_INFO, "Cannot download 7zip for non-Windows platforms.");
+#endif
+ }
+
+ static fs::path get_ninja_path(const VcpkgPaths& paths)
+ {
+ static const ToolData TOOL_DATA = parse_tool_data_from_xml(paths, "ninja");
+
+ std::vector<fs::path> candidate_paths;
+ candidate_paths.push_back(TOOL_DATA.exe_path);
+ const std::vector<fs::path> from_path = Files::find_from_PATH("ninja");
+ candidate_paths.insert(candidate_paths.end(), from_path.cbegin(), from_path.cend());
+
+ auto path = find_if_has_equal_or_greater_version(candidate_paths, "--version", TOOL_DATA.version);
+ if (const auto p = path.get())
+ {
+ return *p;
+ }
+
+ return fetch_tool(paths, "ninja", TOOL_DATA);
+ }
+
+ static fs::path get_nuget_path(const VcpkgPaths& paths)
+ {
+ static const ToolData TOOL_DATA = parse_tool_data_from_xml(paths, "nuget");
+
+ std::vector<fs::path> candidate_paths;
+ candidate_paths.push_back(TOOL_DATA.exe_path);
+ const std::vector<fs::path> from_path = Files::find_from_PATH("nuget");
+ candidate_paths.insert(candidate_paths.end(), from_path.cbegin(), from_path.cend());
+
+ auto path = find_if_has_equal_or_greater_version(candidate_paths, "", TOOL_DATA.version);
+ if (const auto p = path.get())
+ {
+ return *p;
+ }
+
+ return fetch_tool(paths, "nuget", TOOL_DATA);
+ }
+
+ static fs::path get_git_path(const VcpkgPaths& paths)
+ {
+ static const ToolData TOOL_DATA = parse_tool_data_from_xml(paths, "git");
+ static const std::string VERSION_CHECK_ARGUMENTS = "--version";
+
+ std::vector<fs::path> candidate_paths;
+#if defined(_WIN32)
+ candidate_paths.push_back(TOOL_DATA.exe_path);
+#endif
+ const std::vector<fs::path> from_path = Files::find_from_PATH("git");
+ candidate_paths.insert(candidate_paths.end(), from_path.cbegin(), from_path.cend());
+
+ const auto& program_files = System::get_program_files_platform_bitness();
+ if (const auto pf = program_files.get()) candidate_paths.push_back(*pf / "git" / "cmd" / "git.exe");
+ const auto& program_files_32_bit = System::get_program_files_32_bit();
+ if (const auto pf = program_files_32_bit.get()) candidate_paths.push_back(*pf / "git" / "cmd" / "git.exe");
+
+ const Optional<fs::path> path =
+ find_if_has_equal_or_greater_version(candidate_paths, VERSION_CHECK_ARGUMENTS, TOOL_DATA.version);
+ if (const auto p = path.get())
+ {
+ return *p;
+ }
+
+ return fetch_tool(paths, "git", TOOL_DATA);
+ }
+
+ static fs::path get_ifw_installerbase_path(const VcpkgPaths& paths)
+ {
+ static const ToolData TOOL_DATA = parse_tool_data_from_xml(paths, "installerbase");
+
+ static const std::string VERSION_CHECK_ARGUMENTS = "--framework-version";
+
+ std::vector<fs::path> candidate_paths;
+ candidate_paths.push_back(TOOL_DATA.exe_path);
+ // TODO: Uncomment later
+ // const std::vector<fs::path> from_path = Files::find_from_PATH("installerbase");
+ // candidate_paths.insert(candidate_paths.end(), from_path.cbegin(), from_path.cend());
+ // candidate_paths.push_back(fs::path(System::get_environment_variable("HOMEDRIVE").value_or("C:")) / "Qt" /
+ // "Tools" / "QtInstallerFramework" / "3.1" / "bin" / "installerbase.exe");
+ // candidate_paths.push_back(fs::path(System::get_environment_variable("HOMEDRIVE").value_or("C:")) / "Qt" /
+ // "QtIFW-3.1.0" / "bin" / "installerbase.exe");
+
+ const Optional<fs::path> path =
+ find_if_has_equal_or_greater_version(candidate_paths, VERSION_CHECK_ARGUMENTS, TOOL_DATA.version);
+ if (const auto p = path.get())
+ {
+ return *p;
+ }
+
+ return fetch_tool(paths, "installerbase", TOOL_DATA);
+ }
+
+ struct VisualStudioInstance
+ {
+ fs::path root_path;
+ std::string version;
+ std::string release_type;
+ std::string preference_weight; // Mostly unused, just for verification that order is as intended
+
+ std::string major_version() const { return version.substr(0, 2); }
+ };
+
+ static std::vector<VisualStudioInstance> get_visual_studio_instances(const VcpkgPaths& paths)
+ {
+ const fs::path script = paths.scripts / "findVisualStudioInstallationInstances.ps1";
+ const std::string output =
+ System::powershell_execute_and_capture_output("Detecting Visual Studio instances", script);
+
+ const std::vector<std::string> instances_as_strings = keep_data_lines(output);
+ Checks::check_exit(VCPKG_LINE_INFO,
+ !instances_as_strings.empty(),
+ "Could not detect any Visual Studio instances.\n"
+ "Powershell script:\n"
+ " %s\n"
+ "returned:\n"
+ "%s",
+ script.generic_string(),
+ output);
+
+ std::vector<VisualStudioInstance> instances;
+ for (const std::string& instance_as_string : instances_as_strings)
+ {
+ const std::vector<std::string> split = Strings::split(instance_as_string, "::");
+ Checks::check_exit(VCPKG_LINE_INFO,
+ split.size() == 4,
+ "Invalid Visual Studio instance format.\n"
+ "Expected: PreferenceWeight::ReleaseType::Version::PathToVisualStudio\n"
+ "Actual : %s\n",
+ instance_as_string);
+ instances.push_back({split.at(3), split.at(2), split.at(1), split.at(0)});
+ }
+
+ return instances;
+ }
+
+ std::vector<Toolset> find_toolset_instances(const VcpkgPaths& paths)
+ {
+ using CPU = System::CPUArchitecture;
+
+ const auto& fs = paths.get_filesystem();
+
+ // Note: this will contain a mix of vcvarsall.bat locations and dumpbin.exe locations.
+ std::vector<fs::path> paths_examined;
+
+ std::vector<Toolset> found_toolsets;
+ std::vector<Toolset> excluded_toolsets;
+
+ const std::vector<VisualStudioInstance> vs_instances = get_visual_studio_instances(paths);
+ const bool v140_is_available = Util::find_if(vs_instances, [&](const VisualStudioInstance& vs_instance) {
+ return vs_instance.major_version() == "14";
+ }) != vs_instances.cend();
+
+ for (const VisualStudioInstance& vs_instance : vs_instances)
+ {
+ const std::string major_version = vs_instance.major_version();
+ if (major_version == "15")
+ {
+ const fs::path vc_dir = vs_instance.root_path / "VC";
+
+ // Skip any instances that do not have vcvarsall.
+ const fs::path vcvarsall_dir = vc_dir / "Auxiliary" / "Build";
+ const fs::path vcvarsall_bat = vcvarsall_dir / "vcvarsall.bat";
+ paths_examined.push_back(vcvarsall_bat);
+ if (!fs.exists(vcvarsall_bat)) continue;
+
+ // Get all supported architectures
+ std::vector<ToolsetArchOption> supported_architectures;
+ if (fs.exists(vcvarsall_dir / "vcvars32.bat"))
+ supported_architectures.push_back({"x86", CPU::X86, CPU::X86});
+ if (fs.exists(vcvarsall_dir / "vcvars64.bat"))
+ supported_architectures.push_back({"amd64", CPU::X64, CPU::X64});
+ if (fs.exists(vcvarsall_dir / "vcvarsx86_amd64.bat"))
+ supported_architectures.push_back({"x86_amd64", CPU::X86, CPU::X64});
+ if (fs.exists(vcvarsall_dir / "vcvarsx86_arm.bat"))
+ supported_architectures.push_back({"x86_arm", CPU::X86, CPU::ARM});
+ if (fs.exists(vcvarsall_dir / "vcvarsx86_arm64.bat"))
+ supported_architectures.push_back({"x86_arm64", CPU::X86, CPU::ARM64});
+ if (fs.exists(vcvarsall_dir / "vcvarsamd64_x86.bat"))
+ supported_architectures.push_back({"amd64_x86", CPU::X64, CPU::X86});
+ if (fs.exists(vcvarsall_dir / "vcvarsamd64_arm.bat"))
+ supported_architectures.push_back({"amd64_arm", CPU::X64, CPU::ARM});
+ if (fs.exists(vcvarsall_dir / "vcvarsamd64_arm64.bat"))
+ supported_architectures.push_back({"amd64_arm64", CPU::X64, CPU::ARM64});
+
+ // Locate the "best" MSVC toolchain version
+ const fs::path msvc_path = vc_dir / "Tools" / "MSVC";
+ std::vector<fs::path> msvc_subdirectories = fs.get_files_non_recursive(msvc_path);
+ Util::unstable_keep_if(msvc_subdirectories,
+ [&fs](const fs::path& path) { return fs.is_directory(path); });
+
+ // Sort them so that latest comes first
+ std::sort(
+ msvc_subdirectories.begin(),
+ msvc_subdirectories.end(),
+ [](const fs::path& left, const fs::path& right) { return left.filename() > right.filename(); });
+
+ for (const fs::path& subdir : msvc_subdirectories)
+ {
+ const fs::path dumpbin_path = subdir / "bin" / "HostX86" / "x86" / "dumpbin.exe";
+ paths_examined.push_back(dumpbin_path);
+ if (fs.exists(dumpbin_path))
+ {
+ const Toolset v141toolset = Toolset{
+ vs_instance.root_path, dumpbin_path, vcvarsall_bat, {}, V_141, supported_architectures};
+
+ auto english_language_pack = dumpbin_path.parent_path() / "1033";
+
+ if (!fs.exists(english_language_pack))
+ {
+ excluded_toolsets.push_back(v141toolset);
+ break;
+ }
+
+ found_toolsets.push_back(v141toolset);
+
+ if (v140_is_available)
+ {
+ const Toolset v140toolset = Toolset{vs_instance.root_path,
+ dumpbin_path,
+ vcvarsall_bat,
+ {"-vcvars_ver=14.0"},
+ V_140,
+ supported_architectures};
+ found_toolsets.push_back(v140toolset);
+ }
+
+ break;
+ }
+ }
+
+ continue;
+ }
+
+ if (major_version == "14" || major_version == "12")
+ {
+ const fs::path vcvarsall_bat = vs_instance.root_path / "VC" / "vcvarsall.bat";
+
+ paths_examined.push_back(vcvarsall_bat);
+ if (fs.exists(vcvarsall_bat))
+ {
+ const fs::path vs_dumpbin_exe = vs_instance.root_path / "VC" / "bin" / "dumpbin.exe";
+ paths_examined.push_back(vs_dumpbin_exe);
+
+ const fs::path vs_bin_dir = vcvarsall_bat.parent_path() / "bin";
+ std::vector<ToolsetArchOption> supported_architectures;
+ if (fs.exists(vs_bin_dir / "vcvars32.bat"))
+ supported_architectures.push_back({"x86", CPU::X86, CPU::X86});
+ if (fs.exists(vs_bin_dir / "amd64\\vcvars64.bat"))
+ supported_architectures.push_back({"x64", CPU::X64, CPU::X64});
+ if (fs.exists(vs_bin_dir / "x86_amd64\\vcvarsx86_amd64.bat"))
+ supported_architectures.push_back({"x86_amd64", CPU::X86, CPU::X64});
+ if (fs.exists(vs_bin_dir / "x86_arm\\vcvarsx86_arm.bat"))
+ supported_architectures.push_back({"x86_arm", CPU::X86, CPU::ARM});
+ if (fs.exists(vs_bin_dir / "amd64_x86\\vcvarsamd64_x86.bat"))
+ supported_architectures.push_back({"amd64_x86", CPU::X64, CPU::X86});
+ if (fs.exists(vs_bin_dir / "amd64_arm\\vcvarsamd64_arm.bat"))
+ supported_architectures.push_back({"amd64_arm", CPU::X64, CPU::ARM});
+
+ if (fs.exists(vs_dumpbin_exe))
+ {
+ const Toolset toolset = {vs_instance.root_path,
+ vs_dumpbin_exe,
+ vcvarsall_bat,
+ {},
+ major_version == "14" ? V_140 : V_120,
+ supported_architectures};
+
+ auto english_language_pack = vs_dumpbin_exe.parent_path() / "1033";
+
+ if (!fs.exists(english_language_pack))
+ {
+ excluded_toolsets.push_back(toolset);
+ break;
+ }
+
+ found_toolsets.push_back(toolset);
+ }
+ }
+ }
+ }
+
+ if (!excluded_toolsets.empty())
+ {
+ System::println(
+ System::Color::warning,
+ "Warning: The following VS instances are excluded because the English language pack is unavailable.");
+ for (const Toolset& toolset : excluded_toolsets)
+ {
+ System::println(" %s", toolset.visual_studio_root_path.u8string());
+ }
+ System::println(System::Color::warning, "Please install the English language pack.");
+ }
+
+ if (found_toolsets.empty())
+ {
+ System::println(System::Color::error, "Could not locate a complete toolset.");
+ System::println("The following paths were examined:");
+ for (const fs::path& path : paths_examined)
+ {
+ System::println(" %s", path.u8string());
+ }
+ Checks::exit_fail(VCPKG_LINE_INFO);
+ }
+
+ return found_toolsets;
+ }
+
+ fs::path get_tool_path(const VcpkgPaths& paths, const std::string& tool)
+ {
+ // First deal with specially handled tools.
+ // For these we may look in locations like Program Files, the PATH etc as well as the auto-downloaded location.
+ if (tool == Tools::SEVEN_ZIP) return get_7za_path(paths);
+ if (tool == Tools::CMAKE) return get_cmake_path(paths);
+ if (tool == Tools::GIT) return get_git_path(paths);
+ if (tool == Tools::NINJA) return get_ninja_path(paths);
+ if (tool == Tools::NUGET) return get_nuget_path(paths);
+ if (tool == Tools::IFW_INSTALLER_BASE) return get_ifw_installerbase_path(paths);
+ if (tool == Tools::IFW_BINARYCREATOR)
+ return get_ifw_installerbase_path(paths).parent_path() / "binarycreator.exe";
+ if (tool == Tools::IFW_REPOGEN) return get_ifw_installerbase_path(paths).parent_path() / "repogen.exe";
+
+ // For other tools, we simply always auto-download them.
+ const ToolData tool_data = parse_tool_data_from_xml(paths, tool);
+ if (paths.get_filesystem().exists(tool_data.exe_path))
+ {
+ return tool_data.exe_path;
+ }
+ return fetch_tool(paths, tool, tool_data);
+ }
+
+ const CommandStructure COMMAND_STRUCTURE = {
+ Strings::format("The argument should be tool name\n%s", Help::create_example_string("fetch cmake")),
+ 1,
+ 1,
+ {},
+ nullptr,
+ };
+
+ void perform_and_exit(const VcpkgCmdArguments& args, const VcpkgPaths& paths)
+ {
+ Util::unused(args.parse_arguments(COMMAND_STRUCTURE));
+
+ const std::string tool = args.command_arguments[0];
+ const fs::path tool_path = get_tool_path(paths, tool);
+ System::println(tool_path.u8string());
+ Checks::exit_success(VCPKG_LINE_INFO);
+ }
+}
diff --git a/toolsrc/src/vcpkg/commands.hash.cpp b/toolsrc/src/vcpkg/commands.hash.cpp
index bbbbed036..1f709f87b 100644
--- a/toolsrc/src/vcpkg/commands.hash.cpp
+++ b/toolsrc/src/vcpkg/commands.hash.cpp
@@ -1,5 +1,7 @@
#include "pch.h"
+#include <vcpkg/base/checks.h>
+#include <vcpkg/base/strings.h>
#include <vcpkg/base/system.h>
#include <vcpkg/base/util.h>
#include <vcpkg/commands.h>
@@ -7,32 +9,221 @@
namespace vcpkg::Commands::Hash
{
- std::string get_file_hash(fs::path const& cmake_exe_path, fs::path const& path, std::string const& hash_type)
+ static void verify_has_only_allowed_chars(const std::string& s)
{
- const std::string cmd_line = Strings::format(
- R"("%s" -E %ssum "%s")",
- cmake_exe_path.u8string(),
- Strings::ascii_to_lowercase(hash_type),
- path.u8string());
+ static const std::regex ALLOWED_CHARS{"^[a-zA-Z0-9-]*$"};
+ Checks::check_exit(VCPKG_LINE_INFO,
+ std::regex_match(s, ALLOWED_CHARS),
+ "Only alphanumeric chars and dashes are currently allowed. String was:\n"
+ " % s",
+ s);
+ }
+}
- const auto ec_data = System::cmd_execute_and_capture_output(cmd_line);
- Checks::check_exit(VCPKG_LINE_INFO, ec_data.exit_code == 0, "Running command:\n %s\n failed", cmd_line);
+#if defined(_WIN32)
+#include <bcrypt.h>
+
+#ifndef NT_SUCCESS
+#define NT_SUCCESS(Status) (((NTSTATUS)(Status)) >= 0)
+#endif
+
+namespace vcpkg::Commands::Hash
+{
+ namespace
+ {
+ std::string to_hex(const unsigned char* string, const size_t bytes)
+ {
+ static constexpr char HEX_MAP[] = "0123456789abcdef";
+
+ std::string output;
+ output.resize(2 * bytes);
+
+ size_t current_char = 0;
+ for (size_t i = 0; i < bytes; i++)
+ {
+ // high
+ output[current_char] = HEX_MAP[(string[i] & 0xF0) >> 4];
+ ++current_char;
+ // low
+ output[current_char] = HEX_MAP[(string[i] & 0x0F)];
+ ++current_char;
+ }
+
+ return output;
+ }
+
+ class BCryptHasher
+ {
+ struct BCryptAlgorithmHandle : Util::ResourceBase
+ {
+ BCRYPT_ALG_HANDLE handle = nullptr;
- std::string const& output = ec_data.output;
+ ~BCryptAlgorithmHandle()
+ {
+ if (handle) BCryptCloseAlgorithmProvider(handle, 0);
+ }
+ };
- const auto start = output.find_first_of(' ');
+ struct BCryptHashHandle : Util::ResourceBase
+ {
+ BCRYPT_HASH_HANDLE handle = nullptr;
+
+ ~BCryptHashHandle()
+ {
+ if (handle) BCryptDestroyHash(handle);
+ }
+ };
+
+ static void initialize_hash_handle(BCryptHashHandle& hash_handle,
+ const BCryptAlgorithmHandle& algorithm_handle)
+ {
+ const NTSTATUS error_code =
+ BCryptCreateHash(algorithm_handle.handle, &hash_handle.handle, nullptr, 0, nullptr, 0, 0);
+ Checks::check_exit(VCPKG_LINE_INFO, NT_SUCCESS(error_code), "Failed to initialize the hasher");
+ }
+
+ static void hash_data(BCryptHashHandle& hash_handle, const unsigned char* buffer, const size_t& data_size)
+ {
+ const NTSTATUS error_code = BCryptHashData(
+ hash_handle.handle, const_cast<unsigned char*>(buffer), static_cast<ULONG>(data_size), 0);
+ Checks::check_exit(VCPKG_LINE_INFO, NT_SUCCESS(error_code), "Failed to hash data");
+ }
+
+ static std::string finalize_hash_handle(const BCryptHashHandle& hash_handle, const ULONG length_in_bytes)
+ {
+ std::unique_ptr<unsigned char[]> hash_buffer = std::make_unique<UCHAR[]>(length_in_bytes);
+ const NTSTATUS error_code = BCryptFinishHash(hash_handle.handle, hash_buffer.get(), length_in_bytes, 0);
+ Checks::check_exit(VCPKG_LINE_INFO, NT_SUCCESS(error_code), "Failed to finalize the hash");
+ return to_hex(hash_buffer.get(), length_in_bytes);
+ }
+
+ public:
+ explicit BCryptHasher(const std::string& hash_type)
+ {
+ NTSTATUS error_code =
+ BCryptOpenAlgorithmProvider(&this->algorithm_handle.handle,
+ Strings::to_utf16(Strings::ascii_to_uppercase(hash_type)).c_str(),
+ nullptr,
+ 0);
+ Checks::check_exit(VCPKG_LINE_INFO, NT_SUCCESS(error_code), "Failed to open the algorithm provider");
+
+ DWORD hash_buffer_bytes;
+ DWORD cb_data;
+ error_code = BCryptGetProperty(this->algorithm_handle.handle,
+ BCRYPT_HASH_LENGTH,
+ reinterpret_cast<PUCHAR>(&hash_buffer_bytes),
+ sizeof(DWORD),
+ &cb_data,
+ 0);
+ Checks::check_exit(VCPKG_LINE_INFO, NT_SUCCESS(error_code), "Failed to get hash length");
+ this->length_in_bytes = hash_buffer_bytes;
+ }
+
+ std::string hash_file(const fs::path& path) const
+ {
+ BCryptHashHandle hash_handle;
+ initialize_hash_handle(hash_handle, this->algorithm_handle);
+
+ FILE* file = nullptr;
+ const auto ec = _wfopen_s(&file, path.c_str(), L"rb");
+ Checks::check_exit(VCPKG_LINE_INFO, ec == 0, "Failed to open file: %s", path.u8string());
+ if (file != nullptr)
+ {
+ unsigned char buffer[4096];
+ while (const auto actual_size = fread(buffer, 1, sizeof(buffer), file))
+ {
+ hash_data(hash_handle, buffer, actual_size);
+ }
+ fclose(file);
+ }
+
+ return finalize_hash_handle(hash_handle, length_in_bytes);
+ }
+
+ std::string hash_string(const std::string& s) const
+ {
+ BCryptHashHandle hash_handle;
+ initialize_hash_handle(hash_handle, this->algorithm_handle);
+ hash_data(hash_handle, reinterpret_cast<const unsigned char*>(s.c_str()), s.size());
+ return finalize_hash_handle(hash_handle, length_in_bytes);
+ }
+
+ private:
+ BCryptAlgorithmHandle algorithm_handle;
+ ULONG length_in_bytes;
+ };
+ }
+
+ std::string get_file_hash(const VcpkgPaths& paths, const fs::path& path, const std::string& hash_type)
+ {
Checks::check_exit(
- VCPKG_LINE_INFO, start != std::string::npos, "Unexpected output format from command: %s", cmd_line);
+ VCPKG_LINE_INFO, paths.get_filesystem().exists(path), "File %s does not exist", path.u8string());
+ return BCryptHasher{hash_type}.hash_file(path);
+ }
- const auto end = output.find_first_of("\r\n", start + 1);
+ std::string get_string_hash(const std::string& s, const std::string& hash_type)
+ {
+ verify_has_only_allowed_chars(s);
+ return BCryptHasher{hash_type}.hash_string(s);
+ }
+}
+
+#else
+namespace vcpkg::Commands::Hash
+{
+ static std::string get_digest_size(const std::string& hash_type)
+ {
+ if (!Strings::case_insensitive_ascii_starts_with(hash_type, "SHA"))
+ {
+ Checks::exit_with_message(
+ VCPKG_LINE_INFO, "shasum only supports SHA hashes, but %s was provided", hash_type);
+ }
+
+ return hash_type.substr(3, hash_type.length() - 3);
+ }
+
+ static std::string run_shasum_and_post_process(const std::string& cmd_line)
+ {
+ const auto ec_data = System::cmd_execute_and_capture_output(cmd_line);
+ Checks::check_exit(VCPKG_LINE_INFO,
+ ec_data.exit_code == 0,
+ "Failed to run:\n"
+ " %s",
+ cmd_line);
+
+ std::vector<std::string> split = Strings::split(ec_data.output, " ");
+ Checks::check_exit(VCPKG_LINE_INFO,
+ split.size() == 3,
+ "Expected output of the form [hash filename\n] (3 tokens), but got\n"
+ "[%s] (%s tokens)",
+ ec_data.output,
+ std::to_string(split.size()));
+
+ return split[0];
+ }
+
+ std::string get_file_hash(const VcpkgPaths& paths, const fs::path& path, const std::string& hash_type)
+ {
+ const std::string digest_size = get_digest_size(hash_type);
Checks::check_exit(
- VCPKG_LINE_INFO, end != std::string::npos, "Unexpected output format from command: %s", cmd_line);
+ VCPKG_LINE_INFO, paths.get_filesystem().exists(path), "File %s does not exist", path.u8string());
+ const std::string cmd_line = Strings::format(R"(shasum -a %s "%s")", digest_size, path.u8string());
+ return run_shasum_and_post_process(cmd_line);
+ }
+
+ std::string get_string_hash(const std::string& s, const std::string& hash_type)
+ {
+ const std::string digest_size = get_digest_size(hash_type);
+ verify_has_only_allowed_chars(s);
- auto hash = output.substr(0, start);
- Util::erase_remove_if(hash, isspace);
- return hash;
+ const std::string cmd_line = Strings::format(R"(echo -n "%s" | shasum -a %s)", s, digest_size);
+ return run_shasum_and_post_process(cmd_line);
}
+}
+#endif
+namespace vcpkg::Commands::Hash
+{
const CommandStructure COMMAND_STRUCTURE = {
Strings::format("The argument should be a file path\n%s",
Help::create_example_string("hash boost_1_62_0.tar.bz2")),
@@ -44,19 +235,12 @@ namespace vcpkg::Commands::Hash
void perform_and_exit(const VcpkgCmdArguments& args, const VcpkgPaths& paths)
{
- args.parse_arguments(COMMAND_STRUCTURE);
-
- if (args.command_arguments.size() == 1)
- {
- auto hash = get_file_hash(paths.get_cmake_exe(), args.command_arguments[0], "SHA512");
- System::println(hash);
- }
- if (args.command_arguments.size() == 2)
- {
- auto hash = get_file_hash(paths.get_cmake_exe(), args.command_arguments[0], args.command_arguments[1]);
- System::println(hash);
- }
+ Util::unused(args.parse_arguments(COMMAND_STRUCTURE));
+ const fs::path file_to_hash = args.command_arguments[0];
+ const std::string algorithm = args.command_arguments.size() == 2 ? args.command_arguments[1] : "SHA512";
+ const std::string hash = get_file_hash(paths, file_to_hash, algorithm);
+ System::println(hash);
Checks::exit_success(VCPKG_LINE_INFO);
}
}
diff --git a/toolsrc/src/vcpkg/commands.import.cpp b/toolsrc/src/vcpkg/commands.import.cpp
index 24394207b..4b595697a 100644
--- a/toolsrc/src/vcpkg/commands.import.cpp
+++ b/toolsrc/src/vcpkg/commands.import.cpp
@@ -103,7 +103,7 @@ namespace vcpkg::Commands::Import
void perform_and_exit(const VcpkgCmdArguments& args, const VcpkgPaths& paths)
{
- args.parse_arguments(COMMAND_STRUCTURE);
+ Util::unused(args.parse_arguments(COMMAND_STRUCTURE));
const fs::path control_file_path(args.command_arguments[0]);
const fs::path include_directory(args.command_arguments[1]);
diff --git a/toolsrc/src/vcpkg/commands.integrate.cpp b/toolsrc/src/vcpkg/commands.integrate.cpp
index 460e99b88..8897ea138 100644
--- a/toolsrc/src/vcpkg/commands.integrate.cpp
+++ b/toolsrc/src/vcpkg/commands.integrate.cpp
@@ -5,9 +5,11 @@
#include <vcpkg/base/system.h>
#include <vcpkg/base/util.h>
#include <vcpkg/commands.h>
+#include <vcpkg/userconfig.h>
namespace vcpkg::Commands::Integrate
{
+#if defined(_WIN32)
static std::string create_appdata_targets_shortcut(const std::string& target_path) noexcept
{
return Strings::format(R"###(
@@ -18,7 +20,9 @@ namespace vcpkg::Commands::Integrate
target_path,
target_path);
}
+#endif
+#if defined(_WIN32)
static std::string create_system_targets_shortcut() noexcept
{
return R"###(
@@ -31,7 +35,9 @@ namespace vcpkg::Commands::Integrate
</Project>
)###";
}
+#endif
+#if defined(_WIN32)
static std::string create_nuget_targets_file_contents(const fs::path& msbuild_vcpkg_targets_file) noexcept
{
const std::string as_string = msbuild_vcpkg_targets_file.string();
@@ -47,7 +53,9 @@ namespace vcpkg::Commands::Integrate
as_string,
as_string);
}
+#endif
+#if defined(_WIN32)
static std::string create_nuget_props_file_contents() noexcept
{
return R"###(
@@ -58,7 +66,9 @@ namespace vcpkg::Commands::Integrate
</Project>
)###";
}
+#endif
+#if defined(_WIN32)
static std::string get_nuget_id(const fs::path& vcpkg_root_dir)
{
std::string dir_id = vcpkg_root_dir.generic_string();
@@ -71,7 +81,9 @@ namespace vcpkg::Commands::Integrate
const std::string nuget_id = "vcpkg." + dir_id;
return nuget_id;
}
+#endif
+#if defined(_WIN32)
static std::string create_nuspec_file_contents(const fs::path& vcpkg_root_dir,
const std::string& nuget_id,
const std::string& nupkg_version)
@@ -98,17 +110,18 @@ namespace vcpkg::Commands::Integrate
content = Strings::replace_all(std::move(content), "@VERSION@", nupkg_version);
return content;
}
+#endif
+#if defined(_WIN32)
enum class ElevationPromptChoice
{
YES,
NO
};
-#if defined(_WIN32)
static ElevationPromptChoice elevated_cmd_execute(const std::string& param)
{
- SHELLEXECUTEINFOW sh_ex_info = {0};
+ SHELLEXECUTEINFOW sh_ex_info{};
sh_ex_info.cbSize = sizeof(sh_ex_info);
sh_ex_info.fMask = SEE_MASK_NOCLOSEPROCESS;
sh_ex_info.hwnd = nullptr;
@@ -144,20 +157,20 @@ namespace vcpkg::Commands::Integrate
}
#endif
+ static fs::path get_path_txt_path() { return get_user_dir() / "vcpkg.path.txt"; }
+
#if defined(_WIN32)
- static void integrate_install(const VcpkgPaths& paths)
+ static void integrate_install_msbuild14(Files::Filesystem& fs, const fs::path& tmp_dir)
{
static const std::array<fs::path, 2> OLD_SYSTEM_TARGET_FILES = {
- System::get_program_files_32_bit() /
+ System::get_program_files_32_bit().value_or_exit(VCPKG_LINE_INFO) /
"MSBuild/14.0/Microsoft.Common.Targets/ImportBefore/vcpkg.nuget.targets",
- System::get_program_files_32_bit() /
+ System::get_program_files_32_bit().value_or_exit(VCPKG_LINE_INFO) /
"MSBuild/14.0/Microsoft.Common.Targets/ImportBefore/vcpkg.system.targets"};
static const fs::path SYSTEM_WIDE_TARGETS_FILE =
- System::get_program_files_32_bit() /
+ System::get_program_files_32_bit().value_or_exit(VCPKG_LINE_INFO) /
"MSBuild/Microsoft.Cpp/v4.0/V140/ImportBefore/Default/vcpkg.system.props";
- auto& fs = paths.get_filesystem();
-
// TODO: This block of code should eventually be removed
for (auto&& old_system_wide_targets_file : OLD_SYSTEM_TARGET_FILES)
{
@@ -176,12 +189,6 @@ namespace vcpkg::Commands::Integrate
}
}
}
-
- std::error_code ec;
- const fs::path tmp_dir = paths.buildsystems / "tmp";
- fs.create_directory(paths.buildsystems, ec);
- fs.create_directory(tmp_dir, ec);
-
bool should_install_system = true;
const Expected<std::string> system_wide_file_contents = fs.read_contents(SYSTEM_WIDE_TARGETS_FILE);
static const std::regex RE(R"###(<!-- version (\d+) -->)###");
@@ -220,24 +227,52 @@ namespace vcpkg::Commands::Integrate
"Error: failed to copy targets file to %s",
SYSTEM_WIDE_TARGETS_FILE.string());
}
+ }
+#endif
+
+ static void integrate_install(const VcpkgPaths& paths)
+ {
+ auto& fs = paths.get_filesystem();
+
+#if defined(_WIN32)
+ {
+ std::error_code ec;
+ const fs::path tmp_dir = paths.buildsystems / "tmp";
+ fs.create_directory(paths.buildsystems, ec);
+ fs.create_directory(tmp_dir, ec);
+
+ integrate_install_msbuild14(fs, tmp_dir);
+
+ const fs::path appdata_src_path = tmp_dir / "vcpkg.user.targets";
+ fs.write_contents(appdata_src_path,
+ create_appdata_targets_shortcut(paths.buildsystems_msbuild_targets.string()));
+ auto appdata_dst_path = get_appdata_targets_path();
- const fs::path appdata_src_path = tmp_dir / "vcpkg.user.targets";
- fs.write_contents(appdata_src_path,
- create_appdata_targets_shortcut(paths.buildsystems_msbuild_targets.string()));
- auto appdata_dst_path = get_appdata_targets_path();
+ const auto rc = fs.copy_file(appdata_src_path, appdata_dst_path, fs::copy_options::overwrite_existing, ec);
- const auto rc = fs.copy_file(appdata_src_path, appdata_dst_path, fs::copy_options::overwrite_existing, ec);
+ if (!rc || ec)
+ {
+ System::println(System::Color::error,
+ "Error: Failed to copy file: %s -> %s",
+ appdata_src_path.string(),
+ appdata_dst_path.string());
+ Checks::exit_fail(VCPKG_LINE_INFO);
+ }
+ }
+#endif
- if (!rc || ec)
+ const auto pathtxt = get_path_txt_path();
+ std::error_code ec;
+ fs.write_contents(pathtxt, paths.root.generic_u8string(), ec);
+ if (ec)
{
- System::println(System::Color::error,
- "Error: Failed to copy file: %s -> %s",
- appdata_src_path.string(),
- appdata_dst_path.string());
+ System::println(System::Color::error, "Error: Failed to write file: %s", pathtxt.string());
Checks::exit_fail(VCPKG_LINE_INFO);
}
+
System::println(System::Color::success, "Applied user-wide integration for this vcpkg root.");
const fs::path cmake_toolchain = paths.buildsystems / "vcpkg.cmake";
+#if defined(_WIN32)
System::println(
R"(
All MSBuild C++ projects can now #include any installed libraries.
@@ -246,17 +281,29 @@ Installing new libraries will make them instantly available.
CMake projects should use: "-DCMAKE_TOOLCHAIN_FILE=%s")",
cmake_toolchain.generic_string());
+#else
+ System::println(
+ R"(
+CMake projects should use: "-DCMAKE_TOOLCHAIN_FILE=%s")",
+ cmake_toolchain.generic_string());
+#endif
Checks::exit_success(VCPKG_LINE_INFO);
}
static void integrate_remove(Files::Filesystem& fs)
{
+ std::error_code ec;
+ bool was_deleted = false;
+
+#if defined(_WIN32)
const fs::path path = get_appdata_targets_path();
- std::error_code ec;
- const bool was_deleted = fs.remove(path, ec);
+ was_deleted |= fs.remove(path, ec);
+ Checks::check_exit(VCPKG_LINE_INFO, !ec, "Error: Unable to remove user-wide integration: %s", ec.message());
+#endif
+ was_deleted |= fs.remove(get_path_txt_path(), ec);
Checks::check_exit(VCPKG_LINE_INFO, !ec, "Error: Unable to remove user-wide integration: %s", ec.message());
if (was_deleted)
@@ -270,13 +317,13 @@ CMake projects should use: "-DCMAKE_TOOLCHAIN_FILE=%s")",
Checks::exit_success(VCPKG_LINE_INFO);
}
-#endif
+#if defined(WIN32)
static void integrate_project(const VcpkgPaths& paths)
{
auto& fs = paths.get_filesystem();
- const fs::path& nuget_exe = paths.get_nuget_exe();
+ const fs::path& nuget_exe = paths.get_tool_exe(Tools::NUGET);
const fs::path& buildsystems_dir = paths.buildsystems;
const fs::path tmp_dir = buildsystems_dir / "tmp";
@@ -319,13 +366,20 @@ With a project open, go to Tools->NuGet Package Manager->Package Manager Console
Checks::exit_success(VCPKG_LINE_INFO);
}
+#endif
+#if defined(_WIN32)
const char* const INTEGRATE_COMMAND_HELPSTRING =
" vcpkg integrate install Make installed packages available user-wide. Requires admin privileges on "
"first use\n"
" vcpkg integrate remove Remove user-wide integration\n"
" vcpkg integrate project Generate a referencing nuget package for individual VS project use\n"
" vcpkg integrate powershell Enable PowerShell Tab-Completion\n";
+#else
+ const char* const INTEGRATE_COMMAND_HELPSTRING =
+ " vcpkg integrate install Make installed packages available user-wide.\n"
+ " vcpkg integrate remove Remove user-wide integration\n";
+#endif
namespace Subcommand
{
@@ -352,9 +406,8 @@ With a project open, go to Tools->NuGet Package Manager->Package Manager Console
void perform_and_exit(const VcpkgCmdArguments& args, const VcpkgPaths& paths)
{
- args.parse_arguments(COMMAND_STRUCTURE);
+ Util::unused(args.parse_arguments(COMMAND_STRUCTURE));
-#if defined(_WIN32)
if (args.command_arguments[0] == Subcommand::INSTALL)
{
return integrate_install(paths);
@@ -363,6 +416,7 @@ With a project open, go to Tools->NuGet Package Manager->Package Manager Console
{
return integrate_remove(paths.get_filesystem());
}
+#if defined(_WIN32)
if (args.command_arguments[0] == Subcommand::PROJECT)
{
return integrate_project(paths);
diff --git a/toolsrc/src/vcpkg/commands.list.cpp b/toolsrc/src/vcpkg/commands.list.cpp
index a5efd5442..1bfbc4247 100644
--- a/toolsrc/src/vcpkg/commands.list.cpp
+++ b/toolsrc/src/vcpkg/commands.list.cpp
@@ -10,7 +10,7 @@ namespace vcpkg::Commands::List
static constexpr StringLiteral OPTION_FULLDESC =
"--x-full-desc"; // TODO: This should find a better home, eventually
- static void do_print(const StatusParagraph& pgh, bool full_desc)
+ static void do_print(const StatusParagraph& pgh, const bool full_desc)
{
if (full_desc)
{
@@ -44,14 +44,19 @@ namespace vcpkg::Commands::List
const ParsedArguments options = args.parse_arguments(COMMAND_STRUCTURE);
const StatusParagraphs status_paragraphs = database_load_check(paths);
- std::vector<StatusParagraph*> installed_packages = get_installed_ports(status_paragraphs);
+ auto installed_ipv = get_installed_ports(status_paragraphs);
- if (installed_packages.empty())
+ if (installed_ipv.empty())
{
System::println("No packages are installed. Did you mean `search`?");
Checks::exit_success(VCPKG_LINE_INFO);
}
+ auto installed_packages = Util::fmap(installed_ipv, [](const InstalledPackageView& ipv) { return ipv.core; });
+ auto installed_features =
+ Util::fmap_flatten(installed_ipv, [](const InstalledPackageView& ipv) { return ipv.features; });
+ installed_packages.insert(installed_packages.end(), installed_features.begin(), installed_features.end());
+
std::sort(installed_packages.begin(),
installed_packages.end(),
[](const StatusParagraph* lhs, const StatusParagraph* rhs) -> bool {
diff --git a/toolsrc/src/vcpkg/commands.owns.cpp b/toolsrc/src/vcpkg/commands.owns.cpp
index 52249187b..ee9584651 100644
--- a/toolsrc/src/vcpkg/commands.owns.cpp
+++ b/toolsrc/src/vcpkg/commands.owns.cpp
@@ -34,7 +34,7 @@ namespace vcpkg::Commands::Owns
void perform_and_exit(const VcpkgCmdArguments& args, const VcpkgPaths& paths)
{
- args.parse_arguments(COMMAND_STRUCTURE);
+ Util::unused(args.parse_arguments(COMMAND_STRUCTURE));
const StatusParagraphs status_db = database_load_check(paths);
search_file(paths, args.command_arguments[0], status_db);
diff --git a/toolsrc/src/vcpkg/commands.portsdiff.cpp b/toolsrc/src/vcpkg/commands.portsdiff.cpp
index dba04ce5b..2d2b4bd5f 100644
--- a/toolsrc/src/vcpkg/commands.portsdiff.cpp
+++ b/toolsrc/src/vcpkg/commands.portsdiff.cpp
@@ -3,6 +3,7 @@
#include <vcpkg/commands.h>
#include <vcpkg/help.h>
#include <vcpkg/paragraphs.h>
+#include <vcpkg/versiont.h>
#include <vcpkg/base/sortedvector.h>
#include <vcpkg/base/system.h>
@@ -79,7 +80,7 @@ namespace vcpkg::Commands::PortsDiff
{
std::error_code ec;
auto& fs = paths.get_filesystem();
- const fs::path& git_exe = paths.get_git_exe();
+ const fs::path& git_exe = paths.get_tool_exe(Tools::GIT);
const fs::path dot_git_dir = paths.root / ".git";
const std::string ports_dir_name_as_string = paths.ports.filename().u8string();
const fs::path temp_checkout_path =
@@ -128,9 +129,9 @@ namespace vcpkg::Commands::PortsDiff
void perform_and_exit(const VcpkgCmdArguments& args, const VcpkgPaths& paths)
{
- args.parse_arguments(COMMAND_STRUCTURE);
+ Util::unused(args.parse_arguments(COMMAND_STRUCTURE));
- const fs::path& git_exe = paths.get_git_exe();
+ const fs::path& git_exe = paths.get_tool_exe(Tools::GIT);
const std::string git_commit_id_for_previous_snapshot = args.command_arguments.at(0);
const std::string git_commit_id_for_current_snapshot =
diff --git a/toolsrc/src/vcpkg/commands.upgrade.cpp b/toolsrc/src/vcpkg/commands.upgrade.cpp
index c5b48f2a2..a902ddeaf 100644
--- a/toolsrc/src/vcpkg/commands.upgrade.cpp
+++ b/toolsrc/src/vcpkg/commands.upgrade.cpp
@@ -144,7 +144,8 @@ namespace vcpkg::Commands::Upgrade
const Build::BuildPackageOptions install_plan_options = {Build::UseHeadVersion::NO,
Build::AllowDownloads::YES,
Build::CleanBuildtrees::NO,
- Build::CleanPackages::NO};
+ Build::CleanPackages::NO,
+ Build::DownloadTool::BUILT_IN};
// Set build settings for all install actions
for (auto&& action : plan)
diff --git a/toolsrc/src/vcpkg/commands.version.cpp b/toolsrc/src/vcpkg/commands.version.cpp
index ffc5d2c8f..2ad91b57d 100644
--- a/toolsrc/src/vcpkg/commands.version.cpp
+++ b/toolsrc/src/vcpkg/commands.version.cpp
@@ -83,7 +83,7 @@ namespace vcpkg::Commands::Version
void perform_and_exit(const VcpkgCmdArguments& args)
{
- args.parse_arguments(COMMAND_STRUCTURE);
+ Util::unused(args.parse_arguments(COMMAND_STRUCTURE));
System::println("Vcpkg package management program version %s\n"
"\n"
diff --git a/toolsrc/src/vcpkg/dependencies.cpp b/toolsrc/src/vcpkg/dependencies.cpp
index 1d017a8d3..8fb35b0da 100644
--- a/toolsrc/src/vcpkg/dependencies.cpp
+++ b/toolsrc/src/vcpkg/dependencies.cpp
@@ -13,11 +13,17 @@
namespace vcpkg::Dependencies
{
- struct FeatureNodeEdges
+ struct ClusterInstalled
{
- std::vector<FeatureSpec> remove_edges;
- std::vector<FeatureSpec> build_edges;
- bool plus = false;
+ InstalledPackageView ipv;
+ std::set<PackageSpec> remove_edges;
+ std::set<std::string> original_features;
+ };
+
+ struct ClusterSource
+ {
+ const SourceControlFile* scf = nullptr;
+ std::unordered_map<std::string, std::vector<FeatureSpec>> build_edges;
};
/// <summary>
@@ -25,14 +31,15 @@ namespace vcpkg::Dependencies
/// </summary>
struct Cluster : Util::MoveOnlyBase
{
- InstalledPackageView installed_package;
-
- Optional<const SourceControlFile*> source_control_file;
PackageSpec spec;
- std::unordered_map<std::string, FeatureNodeEdges> edges_by_feature;
+
+ Optional<ClusterInstalled> installed;
+ Optional<ClusterSource> source;
+
+ // Note: this map can contain "special" strings such as "" and "*"
+ std::unordered_map<std::string, bool> plus;
std::set<std::string> to_install_features;
- std::set<std::string> original_features;
- bool will_remove = false;
+ bool minus = false;
bool transient_uninstalled = true;
RequestType request_type = RequestType::AUTO_SELECTED;
};
@@ -88,27 +95,26 @@ namespace vcpkg::Dependencies
auto maybe_scf = m_provider.get_control_file(spec.name());
auto& clust = m_graph[spec];
clust.spec = spec;
- if (auto p_scf = maybe_scf.get()) cluster_from_scf(*p_scf, clust);
+ if (auto p_scf = maybe_scf.get())
+ {
+ clust.source = cluster_from_scf(*p_scf, clust.spec.triplet());
+ }
return clust;
}
return it->second;
}
private:
- void cluster_from_scf(const SourceControlFile& scf, Cluster& out_cluster) const
+ static ClusterSource cluster_from_scf(const SourceControlFile& scf, Triplet t)
{
- FeatureNodeEdges core_dependencies;
- core_dependencies.build_edges =
- filter_dependencies_to_specs(scf.core_paragraph->depends, out_cluster.spec.triplet());
- out_cluster.edges_by_feature.emplace("core", std::move(core_dependencies));
+ ClusterSource ret;
+ ret.build_edges.emplace("core", filter_dependencies_to_specs(scf.core_paragraph->depends, t));
for (const auto& feature : scf.feature_paragraphs)
- {
- FeatureNodeEdges added_edges;
- added_edges.build_edges = filter_dependencies_to_specs(feature->depends, out_cluster.spec.triplet());
- out_cluster.edges_by_feature.emplace(feature->name, std::move(added_edges));
- }
- out_cluster.source_control_file = &scf;
+ ret.build_edges.emplace(feature->name, filter_dependencies_to_specs(feature->depends, t));
+
+ ret.scf = &scf;
+ return ret;
}
std::unordered_map<PackageSpec, Cluster> m_graph;
@@ -139,29 +145,36 @@ namespace vcpkg::Dependencies
}
}
- InstallPlanAction::InstallPlanAction() : plan_type(InstallPlanType::UNKNOWN), request_type(RequestType::UNKNOWN) {}
+ InstallPlanAction::InstallPlanAction() noexcept
+ : plan_type(InstallPlanType::UNKNOWN), request_type(RequestType::UNKNOWN), build_options{}
+ {
+ }
InstallPlanAction::InstallPlanAction(const PackageSpec& spec,
const SourceControlFile& scf,
const std::set<std::string>& features,
- const RequestType& request_type)
+ const RequestType& request_type,
+ std::vector<PackageSpec>&& dependencies)
: spec(spec)
, source_control_file(scf)
, plan_type(InstallPlanType::BUILD_AND_INSTALL)
, request_type(request_type)
+ , build_options{}
, feature_list(features)
+ , computed_dependencies(std::move(dependencies))
{
}
- InstallPlanAction::InstallPlanAction(const PackageSpec& spec,
- InstalledPackageView&& ipv,
+ InstallPlanAction::InstallPlanAction(InstalledPackageView&& ipv,
const std::set<std::string>& features,
const RequestType& request_type)
- : spec(spec)
+ : spec(ipv.spec())
, installed_package(std::move(ipv))
, plan_type(InstallPlanType::ALREADY_INSTALLED)
, request_type(request_type)
+ , build_options{}
, feature_list(features)
+ , computed_dependencies(installed_package.get()->dependencies())
{
}
@@ -181,7 +194,10 @@ namespace vcpkg::Dependencies
return left->spec.name() < right->spec.name();
}
- RemovePlanAction::RemovePlanAction() : plan_type(RemovePlanType::UNKNOWN), request_type(RequestType::UNKNOWN) {}
+ RemovePlanAction::RemovePlanAction() noexcept
+ : plan_type(RemovePlanType::UNKNOWN), request_type(RequestType::UNKNOWN)
+ {
+ }
RemovePlanAction::RemovePlanAction(const PackageSpec& spec,
const RemovePlanType& plan_type,
@@ -210,7 +226,10 @@ namespace vcpkg::Dependencies
return left->spec.name() < right->spec.name();
}
- ExportPlanAction::ExportPlanAction() : plan_type(ExportPlanType::UNKNOWN), request_type(RequestType::UNKNOWN) {}
+ ExportPlanAction::ExportPlanAction() noexcept
+ : plan_type(ExportPlanType::UNKNOWN), request_type(RequestType::UNKNOWN)
+ {
+ }
ExportPlanAction::ExportPlanAction(const PackageSpec& spec,
InstalledPackageView&& installed_package,
@@ -286,11 +305,11 @@ namespace vcpkg::Dependencies
struct RemoveAdjacencyProvider final : Graphs::AdjacencyProvider<PackageSpec, RemovePlanAction>
{
const StatusParagraphs& status_db;
- const std::vector<StatusParagraph*>& installed_ports;
+ const std::vector<InstalledPackageView>& installed_ports;
const std::unordered_set<PackageSpec>& specs_as_set;
RemoveAdjacencyProvider(const StatusParagraphs& status_db,
- const std::vector<StatusParagraph*>& installed_ports,
+ const std::vector<InstalledPackageView>& installed_ports,
const std::unordered_set<PackageSpec>& specs_as_set)
: status_db(status_db), installed_ports(installed_ports), specs_as_set(specs_as_set)
{
@@ -305,24 +324,13 @@ namespace vcpkg::Dependencies
const PackageSpec& spec = plan.spec;
std::vector<PackageSpec> dependents;
- for (const StatusParagraph* an_installed_package : installed_ports)
+ for (auto&& ipv : installed_ports)
{
- if (an_installed_package->package.spec.triplet() != spec.triplet()) continue;
+ auto deps = ipv.dependencies();
- std::vector<std::string> deps = an_installed_package->package.depends;
- // <hack>
- // This is a hack to work around existing installations that put featurespecs into binary packages
- // (example: curl[core]) Eventually, this can be returned to a simple string search.
- for (auto&& dep : deps)
- {
- dep.erase(std::find(dep.begin(), dep.end(), '['), dep.end());
- }
- Util::unstable_keep_if(deps,
- [&](auto&& e) { return e != an_installed_package->package.spec.name(); });
- // </hack>
- if (std::find(deps.begin(), deps.end(), spec.name()) == deps.end()) continue;
+ if (std::find(deps.begin(), deps.end(), spec) == deps.end()) continue;
- dependents.push_back(an_installed_package->package.spec);
+ dependents.push_back(ipv.spec());
}
return dependents;
@@ -344,7 +352,7 @@ namespace vcpkg::Dependencies
std::string to_string(const PackageSpec& spec) const override { return spec.to_string(); }
};
- const std::vector<StatusParagraph*>& installed_ports = get_installed_ports(status_db);
+ auto installed_ports = get_installed_ports(status_db);
const std::unordered_set<PackageSpec> specs_as_set(specs.cbegin(), specs.cend());
return Graphs::topological_sort(specs, RemoveAdjacencyProvider{status_db, installed_ports, specs_as_set});
}
@@ -402,9 +410,73 @@ namespace vcpkg::Dependencies
Cluster& cluster,
ClusterGraph& graph,
GraphPlan& graph_plan,
- const std::unordered_set<std::string>& prevent_default_features = {});
+ const std::unordered_set<std::string>& prevent_default_features);
- static void mark_minus(Cluster& cluster, ClusterGraph& graph, GraphPlan& graph_plan);
+ static void mark_minus(Cluster& cluster,
+ ClusterGraph& graph,
+ GraphPlan& graph_plan,
+ const std::unordered_set<std::string>& prevent_default_features);
+
+ static MarkPlusResult follow_plus_dependencies(const std::string& feature,
+ Cluster& cluster,
+ ClusterGraph& graph,
+ GraphPlan& graph_plan,
+ const std::unordered_set<std::string>& prevent_default_features)
+ {
+ if (auto p_source = cluster.source.get())
+ {
+ auto it_build_edges = p_source->build_edges.find(feature);
+ if (it_build_edges != p_source->build_edges.end())
+ {
+ // mark this package for rebuilding if needed
+ mark_minus(cluster, graph, graph_plan, prevent_default_features);
+
+ graph_plan.install_graph.add_vertex({&cluster});
+ cluster.to_install_features.insert(feature);
+
+ if (feature != "core")
+ {
+ // All features implicitly depend on core
+ auto res = mark_plus("core", cluster, graph, graph_plan, prevent_default_features);
+
+ // Should be impossible for "core" to not exist
+ Checks::check_exit(VCPKG_LINE_INFO, res == MarkPlusResult::SUCCESS);
+ }
+
+ if (!cluster.installed.get() && !Util::Sets::contains(prevent_default_features, cluster.spec.name()))
+ {
+ // Add the default features of this package if it was not previously installed and it isn't being
+ // suppressed.
+ auto res = mark_plus("", cluster, graph, graph_plan, prevent_default_features);
+
+ Checks::check_exit(VCPKG_LINE_INFO,
+ res == MarkPlusResult::SUCCESS,
+ "Error: Unable to satisfy default dependencies of %s",
+ cluster.spec);
+ }
+
+ for (auto&& depend : it_build_edges->second)
+ {
+ auto& depend_cluster = graph.get(depend.spec());
+ auto res = mark_plus(depend.feature(), depend_cluster, graph, graph_plan, prevent_default_features);
+
+ Checks::check_exit(VCPKG_LINE_INFO,
+ res == MarkPlusResult::SUCCESS,
+ "Error: Unable to satisfy dependency %s of %s",
+ depend,
+ FeatureSpec(cluster.spec, feature));
+
+ if (&depend_cluster == &cluster) continue;
+ graph_plan.install_graph.add_edge({&cluster}, {&depend_cluster});
+ }
+
+ return MarkPlusResult::SUCCESS;
+ }
+ }
+
+ // The feature was not available in the installed package nor the source paragraph.
+ return MarkPlusResult::FEATURE_NOT_FOUND;
+ }
MarkPlusResult mark_plus(const std::string& feature,
Cluster& cluster,
@@ -412,151 +484,127 @@ namespace vcpkg::Dependencies
GraphPlan& graph_plan,
const std::unordered_set<std::string>& prevent_default_features)
{
+ auto& plus = cluster.plus[feature];
+ if (plus) return MarkPlusResult::SUCCESS;
+ plus = true;
+
if (feature.empty())
{
- if (prevent_default_features.find(cluster.spec.name()) == prevent_default_features.end())
+ // Add default features for this package. This is an exact reference, so ignore prevent_default_features.
+ if (auto p_source = cluster.source.get())
{
- // Indicates that core was not specified in the reference
-
- // Add default features for this package, if this is the "core" feature and we
- // are not supposed to prevent default features for this package
- if (auto scf = cluster.source_control_file.value_or(nullptr))
+ for (auto&& default_feature : p_source->scf->core_paragraph.get()->default_features)
{
- for (auto&& default_feature : scf->core_paragraph.get()->default_features)
+ auto res = mark_plus(default_feature, cluster, graph, graph_plan, prevent_default_features);
+ if (res != MarkPlusResult::SUCCESS)
{
- auto res = mark_plus(default_feature, cluster, graph, graph_plan, prevent_default_features);
- if (res != MarkPlusResult::SUCCESS)
- {
- return res;
- }
+ return res;
}
}
-
- // "core" is always an implicit default feature. In case we did not add it as
- // a dependency above (e.g. no default features), add it here.
- auto res = mark_plus("core", cluster, graph, graph_plan, prevent_default_features);
- if (res != MarkPlusResult::SUCCESS)
- {
- return res;
- }
-
- return MarkPlusResult::SUCCESS;
}
else
{
- // Skip adding the default features, as explicitly told not to.
- return MarkPlusResult::SUCCESS;
+ Checks::exit_with_message(VCPKG_LINE_INFO,
+ "Error: Unable to install default features because can't find CONTROL for %s",
+ cluster.spec);
}
- }
-
- auto it = cluster.edges_by_feature.find(feature);
- if (it == cluster.edges_by_feature.end()) return MarkPlusResult::FEATURE_NOT_FOUND;
- if (cluster.edges_by_feature[feature].plus) return MarkPlusResult::SUCCESS;
-
- if (cluster.original_features.find(feature) == cluster.original_features.end())
- {
- cluster.transient_uninstalled = true;
+ // "core" is always required.
+ return mark_plus("core", cluster, graph, graph_plan, prevent_default_features);
}
- if (!cluster.transient_uninstalled)
+ if (feature == "*")
{
- return MarkPlusResult::SUCCESS;
- }
- cluster.edges_by_feature[feature].plus = true;
-
- if (!cluster.original_features.empty())
- {
- mark_minus(cluster, graph, graph_plan);
- }
+ if (auto p_source = cluster.source.get())
+ {
+ for (auto&& fpgh : p_source->scf->feature_paragraphs)
+ {
+ auto res = mark_plus(fpgh->name, cluster, graph, graph_plan, prevent_default_features);
- graph_plan.install_graph.add_vertex({&cluster});
- auto& tracked = cluster.to_install_features;
- tracked.insert(feature);
+ Checks::check_exit(VCPKG_LINE_INFO,
+ res == MarkPlusResult::SUCCESS,
+ "Error: Unable to locate feature %s in %s",
+ fpgh->name,
+ cluster.spec);
+ }
- if (feature != "core")
- {
- // All features implicitly depend on core
- auto res = mark_plus("core", cluster, graph, graph_plan, prevent_default_features);
+ auto res = mark_plus("core", cluster, graph, graph_plan, prevent_default_features);
- // Should be impossible for "core" to not exist
- Checks::check_exit(VCPKG_LINE_INFO, res == MarkPlusResult::SUCCESS);
- }
- else
- {
- // Add the default features of this package.
- auto res = mark_plus("", cluster, graph, graph_plan, prevent_default_features);
+ Checks::check_exit(VCPKG_LINE_INFO, res == MarkPlusResult::SUCCESS);
+ }
+ else
+ {
+ Checks::exit_with_message(
+ VCPKG_LINE_INFO, "Error: Unable to handle '*' because can't find CONTROL for %s", cluster.spec);
+ }
+ return MarkPlusResult::SUCCESS;
}
- for (auto&& depend : cluster.edges_by_feature[feature].build_edges)
+ if (auto p_installed = cluster.installed.get())
{
- auto& depend_cluster = graph.get(depend.spec());
- auto res = mark_plus(depend.feature(), depend_cluster, graph, graph_plan, prevent_default_features);
-
- Checks::check_exit(VCPKG_LINE_INFO,
- res == MarkPlusResult::SUCCESS,
- "Error: Unable to satisfy dependency %s of %s",
- depend,
- FeatureSpec(cluster.spec, feature));
-
- if (&depend_cluster == &cluster) continue;
- graph_plan.install_graph.add_edge({&cluster}, {&depend_cluster});
+ if (p_installed->original_features.find(feature) != p_installed->original_features.end())
+ {
+ return MarkPlusResult::SUCCESS;
+ }
}
- return MarkPlusResult::SUCCESS;
+ // This feature was or will be uninstalled, therefore we need to rebuild
+ mark_minus(cluster, graph, graph_plan, prevent_default_features);
+
+ return follow_plus_dependencies(feature, cluster, graph, graph_plan, prevent_default_features);
}
- void mark_minus(Cluster& cluster, ClusterGraph& graph, GraphPlan& graph_plan)
+ void mark_minus(Cluster& cluster,
+ ClusterGraph& graph,
+ GraphPlan& graph_plan,
+ const std::unordered_set<std::string>& prevent_default_features)
{
- if (cluster.will_remove) return;
- cluster.will_remove = true;
-
- std::unordered_set<std::string> prevent_default_features;
+ if (cluster.minus) return;
+ cluster.minus = true;
+ cluster.transient_uninstalled = true;
- if (cluster.request_type == RequestType::USER_REQUESTED)
- {
- // Do not install default features for packages which the user
- // installed explicitly. New default features for dependent
- // clusters should still be upgraded.
- prevent_default_features.insert(cluster.spec.name());
+ auto p_installed = cluster.installed.get();
+ auto p_source = cluster.source.get();
- // For dependent packages this is handles through the recursion
- }
+ Checks::check_exit(
+ VCPKG_LINE_INFO,
+ p_source,
+ "Error: cannot locate new portfile for %s. Please explicitly remove this package with `vcpkg remove %s`.",
+ cluster.spec,
+ cluster.spec);
- graph_plan.remove_graph.add_vertex({&cluster});
- for (auto&& pair : cluster.edges_by_feature)
+ if (p_installed)
{
- auto& remove_edges_edges = pair.second.remove_edges;
- for (auto&& depend : remove_edges_edges)
+ graph_plan.remove_graph.add_vertex({&cluster});
+ for (auto&& edge : p_installed->remove_edges)
{
- auto& depend_cluster = graph.get(depend.spec());
- if (&depend_cluster != &cluster) graph_plan.remove_graph.add_edge({&cluster}, {&depend_cluster});
- mark_minus(depend_cluster, graph, graph_plan);
+ auto& depend_cluster = graph.get(edge);
+ Checks::check_exit(VCPKG_LINE_INFO, &cluster != &depend_cluster);
+ graph_plan.remove_graph.add_edge({&cluster}, {&depend_cluster});
+ mark_minus(depend_cluster, graph, graph_plan, prevent_default_features);
}
- }
- cluster.transient_uninstalled = true;
- for (auto&& original_feature : cluster.original_features)
- {
- auto res = mark_plus(original_feature, cluster, graph, graph_plan, prevent_default_features);
- if (res != MarkPlusResult::SUCCESS)
+ // Reinstall all original features. Don't use mark_plus because it will ignore them since they are
+ // "already installed".
+ for (auto&& f : p_installed->original_features)
{
- System::println(System::Color::warning,
- "Warning: could not reinstall feature %s",
- FeatureSpec{cluster.spec, original_feature});
+ auto res = follow_plus_dependencies(f, cluster, graph, graph_plan, prevent_default_features);
+ if (res != MarkPlusResult::SUCCESS)
+ {
+ System::println(System::Color::warning,
+ "Warning: could not reinstall feature %s",
+ FeatureSpec{cluster.spec, f});
+ }
}
- }
- // Check if any default features have been added
- if (auto scf = cluster.source_control_file.value_or(nullptr))
- {
- auto& previous_df = cluster.installed_package.core->package.default_features;
- for (auto&& default_feature : scf->core_paragraph->default_features)
+ // Check if any default features have been added
+ auto& previous_df = p_installed->ipv.core->package.default_features;
+ for (auto&& default_feature : p_source->scf->core_paragraph->default_features)
{
if (std::find(previous_df.begin(), previous_df.end(), default_feature) == previous_df.end())
{
- // this is a new default feature, mark it for installation
- auto res = mark_plus(default_feature, cluster, graph, graph_plan);
+ // This is a new default feature, mark it for installation
+ auto res = mark_plus(default_feature, cluster, graph, graph_plan, prevent_default_features);
if (res != MarkPlusResult::SUCCESS)
{
System::println(System::Color::warning,
@@ -585,7 +633,11 @@ namespace vcpkg::Dependencies
PackageGraph pgraph(provider, status_db);
for (auto&& spec : specs)
+ {
+ // If preventing default features, ignore the automatically generated "" references
+ if (spec.feature().empty() && Util::Sets::contains(prevent_default_features, spec.name())) continue;
pgraph.install(spec, prevent_default_features);
+ }
return pgraph.serialize();
}
@@ -611,37 +663,10 @@ namespace vcpkg::Dependencies
{
Cluster& spec_cluster = m_graph->get(spec.spec());
spec_cluster.request_type = RequestType::USER_REQUESTED;
- if (spec.feature() == "*")
- {
- if (auto p_scf = spec_cluster.source_control_file.value_or(nullptr))
- {
- for (auto&& feature : p_scf->feature_paragraphs)
- {
- auto res =
- mark_plus(feature->name, spec_cluster, *m_graph, *m_graph_plan, prevent_default_features);
-
- Checks::check_exit(
- VCPKG_LINE_INFO, res == MarkPlusResult::SUCCESS, "Error: Unable to locate feature %s", spec);
- }
-
- auto res = mark_plus("core", spec_cluster, *m_graph, *m_graph_plan, prevent_default_features);
- Checks::check_exit(
- VCPKG_LINE_INFO, res == MarkPlusResult::SUCCESS, "Error: Unable to locate feature %s", spec);
- }
- else
- {
- Checks::exit_with_message(
- VCPKG_LINE_INFO, "Error: Unable to handle '*' because can't find CONTROL for %s", spec.spec());
- }
- }
- else
- {
- auto res = mark_plus(spec.feature(), spec_cluster, *m_graph, *m_graph_plan, prevent_default_features);
+ auto res = mark_plus(spec.feature(), spec_cluster, *m_graph, *m_graph_plan, prevent_default_features);
- Checks::check_exit(
- VCPKG_LINE_INFO, res == MarkPlusResult::SUCCESS, "Error: Unable to locate feature %s", spec);
- }
+ Checks::check_exit(VCPKG_LINE_INFO, res == MarkPlusResult::SUCCESS, "Error: Unable to locate feature %s", spec);
m_graph_plan->install_graph.add_vertex(ClusterPtr{&spec_cluster});
}
@@ -651,7 +676,7 @@ namespace vcpkg::Dependencies
Cluster& spec_cluster = m_graph->get(spec);
spec_cluster.request_type = RequestType::USER_REQUESTED;
- mark_minus(spec_cluster, *m_graph, *m_graph_plan);
+ mark_minus(spec_cluster, *m_graph, *m_graph_plan, {});
}
std::vector<AnyAction> PackageGraph::serialize() const
@@ -666,11 +691,8 @@ namespace vcpkg::Dependencies
for (auto&& p_cluster : remove_toposort)
{
- auto scf = *p_cluster->source_control_file.get();
- auto spec = PackageSpec::from_name_and_triplet(scf->core_paragraph->name, p_cluster->spec.triplet())
- .value_or_exit(VCPKG_LINE_INFO);
plan.emplace_back(RemovePlanAction{
- std::move(spec),
+ std::move(p_cluster->spec),
RemovePlanType::REMOVE,
p_cluster->request_type,
});
@@ -681,23 +703,28 @@ namespace vcpkg::Dependencies
if (p_cluster->transient_uninstalled)
{
// If it will be transiently uninstalled, we need to issue a full installation command
- auto pscf = p_cluster->source_control_file.value_or_exit(VCPKG_LINE_INFO);
- Checks::check_exit(VCPKG_LINE_INFO, pscf != nullptr);
+ auto pscf = p_cluster->source.value_or_exit(VCPKG_LINE_INFO).scf;
+
+ auto dep_specs = Util::fmap(m_graph_plan->install_graph.adjacency_list(p_cluster),
+ [](ClusterPtr const& p) { return p->spec; });
+ Util::sort_unique_erase(dep_specs);
+
plan.emplace_back(InstallPlanAction{
p_cluster->spec,
*pscf,
p_cluster->to_install_features,
p_cluster->request_type,
+ std::move(dep_specs),
});
}
else
{
// If the package isn't transitively installed, still include it if the user explicitly requested it
if (p_cluster->request_type != RequestType::USER_REQUESTED) continue;
+ auto&& installed = p_cluster->installed.value_or_exit(VCPKG_LINE_INFO);
plan.emplace_back(InstallPlanAction{
- p_cluster->spec,
- InstalledPackageView{p_cluster->installed_package},
- p_cluster->original_features,
+ InstalledPackageView{installed.ipv},
+ installed.original_features,
p_cluster->request_type,
});
}
@@ -713,44 +740,36 @@ namespace vcpkg::Dependencies
auto installed_ports = get_installed_ports(status_db);
- for (auto&& status_paragraph : installed_ports)
+ for (auto&& ipv : installed_ports)
{
- Cluster& cluster = graph->get(status_paragraph->package.spec);
+ Cluster& cluster = graph->get(ipv.spec());
cluster.transient_uninstalled = false;
- auto& status_paragraph_feature = status_paragraph->package.feature;
-
- // In this case, empty string indicates the "core" paragraph for a package.
- if (status_paragraph_feature.empty())
- {
- cluster.original_features.insert("core");
- cluster.installed_package.core = status_paragraph;
- }
- else
- {
- cluster.original_features.insert(status_paragraph_feature);
- cluster.installed_package.features.emplace_back(status_paragraph);
- }
+ cluster.installed = [](const InstalledPackageView& ipv) -> ClusterInstalled {
+ ClusterInstalled ret;
+ ret.ipv = ipv;
+ ret.original_features.emplace("core");
+ for (auto&& feature : ipv.features)
+ ret.original_features.emplace(feature->package.feature);
+ return ret;
+ }(ipv);
}
// Populate the graph with "remove edges", which are the reverse of the Build-Depends edges.
- for (auto&& status_paragraph : installed_ports)
+ for (auto&& ipv : installed_ports)
{
- auto& spec = status_paragraph->package.spec;
- auto& status_paragraph_feature = status_paragraph->package.feature;
- auto reverse_edges = FeatureSpec::from_strings_and_triplet(status_paragraph->package.depends,
- status_paragraph->package.spec.triplet());
+ auto deps = ipv.dependencies();
- for (auto&& dependency : reverse_edges)
+ for (auto&& dep : deps)
{
- auto& dep_cluster = graph->get(dependency.spec());
-
- auto depends_name = dependency.feature();
- if (depends_name.empty()) depends_name = "core";
-
- auto& target_node = dep_cluster.edges_by_feature[depends_name];
- target_node.remove_edges.emplace_back(FeatureSpec{spec, status_paragraph_feature});
+ auto p_installed = graph->get(dep).installed.get();
+ Checks::check_exit(VCPKG_LINE_INFO,
+ p_installed,
+ "Error: database corrupted. Package %s is installed but dependency %s is not.",
+ ipv.spec(),
+ dep);
+ p_installed->remove_edges.emplace(ipv.spec());
}
}
return graph;
diff --git a/toolsrc/src/vcpkg/export.cpp b/toolsrc/src/vcpkg/export.cpp
index 16c84f99d..152252018 100644
--- a/toolsrc/src/vcpkg/export.cpp
+++ b/toolsrc/src/vcpkg/export.cpp
@@ -13,8 +13,6 @@
#include <vcpkg/paragraphs.h>
#include <vcpkg/vcpkglib.h>
-#include <regex>
-
namespace vcpkg::Export
{
using Dependencies::ExportPlanAction;
@@ -70,8 +68,11 @@ namespace vcpkg::Export
{
static constexpr std::array<ExportPlanType, 2> ORDER = {ExportPlanType::ALREADY_BUILT,
ExportPlanType::NOT_BUILT};
- static constexpr Build::BuildPackageOptions build_options = {Build::UseHeadVersion::NO,
- Build::AllowDownloads::YES};
+ static constexpr Build::BuildPackageOptions BUILD_OPTIONS = {Build::UseHeadVersion::NO,
+ Build::AllowDownloads::YES,
+ Build::CleanBuildtrees::NO,
+ Build::CleanPackages::NO,
+ Build::DownloadTool::BUILT_IN};
for (const ExportPlanType plan_type : ORDER)
{
@@ -84,7 +85,7 @@ namespace vcpkg::Export
std::vector<const ExportPlanAction*> cont = it->second;
std::sort(cont.begin(), cont.end(), &ExportPlanAction::compare_by_name);
const std::string as_string = Strings::join("\n", cont, [](const ExportPlanAction* p) {
- return Dependencies::to_output_string(p->request_type, p->spec.to_string(), build_options);
+ return Dependencies::to_output_string(p->request_type, p->spec.to_string(), BUILD_OPTIONS);
});
switch (plan_type)
@@ -123,7 +124,7 @@ namespace vcpkg::Export
const fs::path& output_dir)
{
Files::Filesystem& fs = paths.get_filesystem();
- const fs::path& nuget_exe = paths.get_nuget_exe();
+ const fs::path& nuget_exe = paths.get_tool_exe(Tools::NUGET);
// This file will be placed in "build\native" in the nuget package. Therefore, go up two dirs.
const std::string targets_redirect_content =
@@ -189,7 +190,7 @@ namespace vcpkg::Export
const fs::path& output_dir,
const ArchiveFormat& format)
{
- const fs::path& cmake_exe = paths.get_cmake_exe();
+ const fs::path& cmake_exe = paths.get_tool_exe(Tools::CMAKE);
const std::string exported_dir_filename = raw_exported_dir.filename().u8string();
const std::string exported_archive_filename =
@@ -246,12 +247,12 @@ namespace vcpkg::Export
struct ExportArguments
{
- bool dry_run;
- bool raw;
- bool nuget;
- bool ifw;
- bool zip;
- bool seven_zip;
+ bool dry_run = false;
+ bool raw = false;
+ bool nuget = false;
+ bool ifw = false;
+ bool zip = false;
+ bool seven_zip = false;
Optional<std::string> maybe_output;
diff --git a/toolsrc/src/vcpkg/help.cpp b/toolsrc/src/vcpkg/help.cpp
index b7d355742..743619937 100644
--- a/toolsrc/src/vcpkg/help.cpp
+++ b/toolsrc/src/vcpkg/help.cpp
@@ -98,14 +98,10 @@ namespace vcpkg::Help
" vcpkg create <pkg> <url>\n"
" [archivename] Create a new package\n"
" vcpkg owns <pat> Search for files in installed packages\n"
- " vcpkg cache List cached compiled packages\n"
+ " vcpkg env Creates a clean shell environment for development or compiling.\n"
" vcpkg version Display version information\n"
" vcpkg contact Display contact information to send feedback\n"
"\n"
- //"internal commands:\n"
- //" --check-build-deps <controlfile>\n"
- //" --create-binary-control <controlfile>\n"
- //"\n"
"Options:\n"
" --triplet <t> Specify the target architecture triplet.\n"
" (default: %%VCPKG_DEFAULT_TRIPLET%%, see 'vcpkg help triplet')\n"
diff --git a/toolsrc/src/vcpkg/install.cpp b/toolsrc/src/vcpkg/install.cpp
index 46c7c53b8..fc336d6c7 100644
--- a/toolsrc/src/vcpkg/install.cpp
+++ b/toolsrc/src/vcpkg/install.cpp
@@ -70,8 +70,8 @@ namespace vcpkg::Install
}
const std::string filename = file.filename().u8string();
- if (fs::is_regular_file(status) && (Strings::case_insensitive_ascii_equals(filename.c_str(), "CONTROL") ||
- Strings::case_insensitive_ascii_equals(filename.c_str(), "BUILD_INFO")))
+ if (fs::is_regular_file(status) && (Strings::case_insensitive_ascii_equals(filename, "CONTROL") ||
+ Strings::case_insensitive_ascii_equals(filename, "BUILD_INFO")))
{
// Do not copy the control file
continue;
@@ -306,7 +306,7 @@ namespace vcpkg::Install
System::println("Building package %s... done", display_name_with_features);
auto bcf = std::make_unique<BinaryControlFile>(
- Paragraphs::try_load_cached_control_package(paths, action.spec).value_or_exit(VCPKG_LINE_INFO));
+ Paragraphs::try_load_cached_package(paths, action.spec).value_or_exit(VCPKG_LINE_INFO));
auto code = aux_install(display_name_with_features, *bcf);
if (action.build_options.clean_packages == Build::CleanPackages::YES)
@@ -412,13 +412,15 @@ namespace vcpkg::Install
static constexpr StringLiteral OPTION_RECURSE = "--recurse";
static constexpr StringLiteral OPTION_KEEP_GOING = "--keep-going";
static constexpr StringLiteral OPTION_XUNIT = "--x-xunit";
+ static constexpr StringLiteral OPTION_USE_ARIA2 = "--x-use-aria2";
- static constexpr std::array<CommandSwitch, 5> INSTALL_SWITCHES = {{
+ static constexpr std::array<CommandSwitch, 6> INSTALL_SWITCHES = {{
{OPTION_DRY_RUN, "Do not actually build or install"},
{OPTION_USE_HEAD_VERSION, "Install the libraries on the command line using the latest upstream sources"},
{OPTION_NO_DOWNLOADS, "Do not download new sources"},
{OPTION_RECURSE, "Allow removal of packages as part of installation"},
{OPTION_KEEP_GOING, "Continue installing packages on failure"},
+ {OPTION_USE_ARIA2, "Use aria2 to perform download tasks"},
}};
static constexpr std::array<CommandSetting, 1> INSTALL_SETTINGS = {{
{OPTION_XUNIT, "File to output results in XUnit format (Internal use)"},
@@ -547,19 +549,21 @@ namespace vcpkg::Install
const bool use_head_version = Util::Sets::contains(options.switches, (OPTION_USE_HEAD_VERSION));
const bool no_downloads = Util::Sets::contains(options.switches, (OPTION_NO_DOWNLOADS));
const bool is_recursive = Util::Sets::contains(options.switches, (OPTION_RECURSE));
+ const bool use_aria2 = Util::Sets::contains(options.switches, (OPTION_USE_ARIA2));
const KeepGoing keep_going = to_keep_going(Util::Sets::contains(options.switches, OPTION_KEEP_GOING));
// create the plan
StatusParagraphs status_db = database_load_check(paths);
+ Build::DownloadTool download_tool = Build::DownloadTool::BUILT_IN;
+ if (use_aria2) download_tool = Build::DownloadTool::ARIA2;
+
const Build::BuildPackageOptions install_plan_options = {
Util::Enum::to_enum<Build::UseHeadVersion>(use_head_version),
Util::Enum::to_enum<Build::AllowDownloads>(!no_downloads),
Build::CleanBuildtrees::NO,
- Build::CleanPackages::NO};
-
- // Note: action_plan will hold raw pointers to SourceControlFiles from this map
- std::vector<AnyAction> action_plan;
+ Build::CleanPackages::NO,
+ download_tool};
auto all_ports = Paragraphs::load_all_ports(paths.get_filesystem(), paths.ports);
std::unordered_map<std::string, SourceControlFile> scf_map;
@@ -567,7 +571,9 @@ namespace vcpkg::Install
scf_map[port->core_paragraph->name] = std::move(*port);
MapPortFileProvider provider(scf_map);
- action_plan = create_feature_install_plan(provider, FullPackageSpec::to_feature_specs(specs), status_db);
+ // Note: action_plan will hold raw pointers to SourceControlFiles from this map
+ std::vector<AnyAction> action_plan =
+ create_feature_install_plan(provider, FullPackageSpec::to_feature_specs(specs), status_db);
if (!GlobalState::feature_packages)
{
@@ -668,39 +674,42 @@ namespace vcpkg::Install
return nullptr;
}
+ std::string InstallSummary::xunit_result(const PackageSpec& spec, Chrono::ElapsedTime time, BuildResult code)
+ {
+ std::string inner_block;
+ const char* result_string = "";
+ switch (code)
+ {
+ case BuildResult::POST_BUILD_CHECKS_FAILED:
+ case BuildResult::FILE_CONFLICTS:
+ case BuildResult::BUILD_FAILED:
+ result_string = "Fail";
+ inner_block = Strings::format("<failure><message><![CDATA[%s]]></message></failure>", to_string(code));
+ break;
+ case BuildResult::EXCLUDED:
+ case BuildResult::CASCADED_DUE_TO_MISSING_DEPENDENCIES:
+ result_string = "Skip";
+ inner_block = Strings::format("<reason><![CDATA[%s]]></reason>", to_string(code));
+ break;
+ case BuildResult::SUCCEEDED: result_string = "Pass"; break;
+ default: Checks::exit_fail(VCPKG_LINE_INFO);
+ }
+
+ return Strings::format(R"(<test name="%s" method="%s" time="%lld" result="%s">%s</test>)"
+ "\n",
+ spec,
+ spec,
+ time.as<std::chrono::seconds>().count(),
+ result_string,
+ inner_block);
+ }
+
std::string InstallSummary::xunit_results() const
{
std::string xunit_doc;
for (auto&& result : results)
{
- std::string inner_block;
- const char* result_string = "";
- switch (result.build_result.code)
- {
- case BuildResult::POST_BUILD_CHECKS_FAILED:
- case BuildResult::FILE_CONFLICTS:
- case BuildResult::BUILD_FAILED:
- result_string = "Fail";
- inner_block = Strings::format("<failure><message><![CDATA[%s]]></message></failure>",
- to_string(result.build_result.code));
- break;
- case BuildResult::EXCLUDED:
- case BuildResult::CASCADED_DUE_TO_MISSING_DEPENDENCIES:
- result_string = "Skip";
- inner_block =
- Strings::format("<reason><![CDATA[%s]]></reason>", to_string(result.build_result.code));
- break;
- case BuildResult::SUCCEEDED: result_string = "Pass"; break;
- default: Checks::exit_fail(VCPKG_LINE_INFO);
- }
-
- xunit_doc += Strings::format(R"(<test name="%s" method="%s" time="%lld" result="%s">%s</test>)"
- "\n",
- result.spec,
- result.spec,
- result.timing.as<std::chrono::seconds>().count(),
- result_string,
- inner_block);
+ xunit_doc += xunit_result(result.spec, result.timing, result.build_result.code);
}
return xunit_doc;
}
diff --git a/toolsrc/src/vcpkg/metrics.cpp b/toolsrc/src/vcpkg/metrics.cpp
index d49cadbe2..8890c067f 100644
--- a/toolsrc/src/vcpkg/metrics.cpp
+++ b/toolsrc/src/vcpkg/metrics.cpp
@@ -92,7 +92,7 @@ namespace vcpkg::Metrics
{
encoded.append("\\\"");
}
- else if (ch < 0x20 || ch >= 0x80)
+ else if (ch < 0x20 || static_cast<unsigned char>(ch) >= 0x80)
{
// Note: this treats incoming Strings as Latin-1
static constexpr const char HEX[16] = {
@@ -245,12 +245,6 @@ namespace vcpkg::Metrics
bool get_compiled_metrics_enabled() { return DISABLE_METRICS == 0; }
- static fs::path get_vcpkg_root()
- {
- return Files::get_real_filesystem().find_file_recursively_up(
- fs::stdfs::absolute(System::get_exe_path_of_current_process()), ".vcpkg-root");
- }
-
std::string get_MAC_user()
{
#if defined(_WIN32)
@@ -264,17 +258,10 @@ namespace vcpkg::Metrics
while (next != last)
{
- auto match = *next;
+ const auto match = *next;
if (match[0] != "00-00-00-00-00-00")
{
- const std::string matchstr = match[0];
- const System::PowershellParameter value("Value", matchstr);
- auto hash_result = System::powershell_execute_and_capture_output(
- "SHA256Hash", get_vcpkg_root() / "scripts" / "SHA256Hash.ps1", {value});
- Util::erase_remove_if(hash_result,
- [](char ch) { return !(ch >= 'A' && ch <= 'F') && !(ch >= '0' && ch <= '9'); });
- hash_result = Strings::ascii_to_lowercase(hash_result);
- return hash_result;
+ return vcpkg::Commands::Hash::get_string_hash(match[0], "SHA256");
}
++next;
}
diff --git a/toolsrc/src/vcpkg/paragraphs.cpp b/toolsrc/src/vcpkg/paragraphs.cpp
index b66d53994..77c028937 100644
--- a/toolsrc/src/vcpkg/paragraphs.cpp
+++ b/toolsrc/src/vcpkg/paragraphs.cpp
@@ -228,7 +228,7 @@ namespace vcpkg::Paragraphs
return error_info;
}
- Expected<BinaryControlFile> try_load_cached_control_package(const VcpkgPaths& paths, const PackageSpec& spec)
+ Expected<BinaryControlFile> try_load_cached_package(const VcpkgPaths& paths, const PackageSpec& spec)
{
Expected<std::vector<std::unordered_map<std::string, std::string>>> pghs =
get_paragraphs(paths.get_filesystem(), paths.package_dir(spec) / "CONTROL");
@@ -251,7 +251,13 @@ namespace vcpkg::Paragraphs
LoadResults try_load_all_ports(const Files::Filesystem& fs, const fs::path& ports_dir)
{
LoadResults ret;
- for (auto&& path : fs.get_files_non_recursive(ports_dir))
+ auto port_dirs = fs.get_files_non_recursive(ports_dir);
+ Util::sort(port_dirs);
+ Util::erase_remove_if(port_dirs, [&](auto&& port_dir_entry) {
+ return fs.is_regular_file(port_dir_entry) && port_dir_entry.filename() == ".DS_Store";
+ });
+
+ for (auto&& path : port_dirs)
{
auto maybe_spgh = try_load_port(fs, path);
if (const auto spgh = maybe_spgh.get())
diff --git a/toolsrc/src/vcpkg/parse.cpp b/toolsrc/src/vcpkg/parse.cpp
index c2670f561..d50296cf8 100644
--- a/toolsrc/src/vcpkg/parse.cpp
+++ b/toolsrc/src/vcpkg/parse.cpp
@@ -2,7 +2,6 @@
#include <vcpkg/parse.h>
-#include <vcpkg/base/checks.h>
#include <vcpkg/base/util.h>
namespace vcpkg::Parse
diff --git a/toolsrc/src/vcpkg/postbuildlint.cpp b/toolsrc/src/vcpkg/postbuildlint.cpp
index a31518ad7..6fe11951f 100644
--- a/toolsrc/src/vcpkg/postbuildlint.cpp
+++ b/toolsrc/src/vcpkg/postbuildlint.cpp
@@ -361,6 +361,7 @@ namespace vcpkg::PostBuildLint
std::string actual_arch;
};
+#if defined(_WIN32)
static std::string get_actual_architecture(const MachineType& machine_type)
{
switch (machine_type)
@@ -374,7 +375,9 @@ namespace vcpkg::PostBuildLint
default: return "Machine Type Code = " + std::to_string(static_cast<uint16_t>(machine_type));
}
}
+#endif
+#if defined(_WIN32)
static void print_invalid_architecture_files(const std::string& expected_architecture,
std::vector<FileAndArch> binaries_with_invalid_architecture)
{
@@ -391,7 +394,6 @@ namespace vcpkg::PostBuildLint
static LintStatus check_dll_architecture(const std::string& expected_architecture,
const std::vector<fs::path>& files)
{
-#if defined(_WIN32)
std::vector<FileAndArch> binaries_with_invalid_architecture;
for (const fs::path& file : files)
@@ -414,10 +416,10 @@ namespace vcpkg::PostBuildLint
print_invalid_architecture_files(expected_architecture, binaries_with_invalid_architecture);
return LintStatus::ERROR_DETECTED;
}
-#endif
return LintStatus::SUCCESS;
}
+#endif
static LintStatus check_lib_architecture(const std::string& expected_architecture,
const std::vector<fs::path>& files)
@@ -802,7 +804,9 @@ namespace vcpkg::PostBuildLint
check_outdated_crt_linkage_of_dlls(dlls, toolset.dumpbin, build_info, pre_build_info);
}
+#if defined(_WIN32)
error_count += check_dll_architecture(pre_build_info.target_architecture, dlls);
+#endif
break;
}
case Build::LinkageType::STATIC:
diff --git a/toolsrc/src/vcpkg/remove.cpp b/toolsrc/src/vcpkg/remove.cpp
index 32433b234..13cc9325e 100644
--- a/toolsrc/src/vcpkg/remove.cpp
+++ b/toolsrc/src/vcpkg/remove.cpp
@@ -201,9 +201,9 @@ namespace vcpkg::Remove
static std::vector<std::string> valid_arguments(const VcpkgPaths& paths)
{
const StatusParagraphs status_db = database_load_check(paths);
- const std::vector<StatusParagraph*> installed_packages = get_installed_ports(status_db);
+ auto installed_packages = get_installed_ports(status_db);
- return Util::fmap(installed_packages, [](auto&& pgh) -> std::string { return pgh->package.spec.to_string(); });
+ return Util::fmap(installed_packages, [](auto&& pgh) -> std::string { return pgh.spec().to_string(); });
}
const CommandStructure COMMAND_STRUCTURE = {
diff --git a/toolsrc/src/vcpkg/sourceparagraph.cpp b/toolsrc/src/vcpkg/sourceparagraph.cpp
index 0b4baf189..ed61cb42a 100644
--- a/toolsrc/src/vcpkg/sourceparagraph.cpp
+++ b/toolsrc/src/vcpkg/sourceparagraph.cpp
@@ -158,6 +158,16 @@ namespace vcpkg
return std::move(control_file);
}
+ Optional<const FeatureParagraph&> SourceControlFile::find_feature(const std::string& featurename) const
+ {
+ auto it = Util::find_if(feature_paragraphs,
+ [&](const std::unique_ptr<FeatureParagraph>& p) { return p->name == featurename; });
+ if (it != feature_paragraphs.end())
+ return **it;
+ else
+ return nullopt;
+ }
+
Dependency Dependency::parse_dependency(std::string name, std::string qualifier)
{
Dependency dep;
diff --git a/toolsrc/src/vcpkg/statusparagraph.cpp b/toolsrc/src/vcpkg/statusparagraph.cpp
index 62d1d4b42..462d8d8ed 100644
--- a/toolsrc/src/vcpkg/statusparagraph.cpp
+++ b/toolsrc/src/vcpkg/statusparagraph.cpp
@@ -12,7 +12,7 @@ namespace vcpkg
static const std::string STATUS = "Status";
}
- StatusParagraph::StatusParagraph() : want(Want::ERROR_STATE), state(InstallState::ERROR_STATE) {}
+ StatusParagraph::StatusParagraph() noexcept : want(Want::ERROR_STATE), state(InstallState::ERROR_STATE) {}
void serialize(const StatusParagraph& pgh, std::string& out_str)
{
@@ -25,6 +25,7 @@ namespace vcpkg
}
StatusParagraph::StatusParagraph(std::unordered_map<std::string, std::string>&& fields)
+ : want(Want::ERROR_STATE), state(InstallState::ERROR_STATE)
{
auto status_it = fields.find(BinaryParagraphRequiredField::STATUS);
Checks::check_exit(VCPKG_LINE_INFO, status_it != fields.end(), "Expected 'Status' field in status paragraph");
@@ -95,7 +96,7 @@ namespace vcpkg
// Add the core paragraph dependencies to the list
deps.insert(deps.end(), core->package.depends.begin(), core->package.depends.end());
- auto&& spec = core->package.spec;
+ auto&& l_spec = spec();
// <hack>
// This is a hack to work around existing installations that put featurespecs into binary packages
@@ -104,12 +105,12 @@ namespace vcpkg
{
dep.erase(std::find(dep.begin(), dep.end(), '['), dep.end());
}
- Util::unstable_keep_if(deps, [&](auto&& e) { return e != spec.name(); });
+ Util::unstable_keep_if(deps, [&](auto&& e) { return e != l_spec.name(); });
// </hack>
Util::sort_unique_erase(deps);
return Util::fmap(deps, [&](const std::string& dep) -> PackageSpec {
- auto maybe_dependency_spec = PackageSpec::from_name_and_triplet(dep, spec.triplet());
+ auto maybe_dependency_spec = PackageSpec::from_name_and_triplet(dep, l_spec.triplet());
if (auto dependency_spec = maybe_dependency_spec.get())
{
return std::move(*dependency_spec);
@@ -120,7 +121,7 @@ namespace vcpkg
"Invalid dependency [%s] in package [%s]\n"
"%s",
dep,
- spec.name(),
+ l_spec.name(),
vcpkg::to_string(error_type));
});
}
diff --git a/toolsrc/src/vcpkg/triplet.cpp b/toolsrc/src/vcpkg/triplet.cpp
index ef0fab183..c4ad3f690 100644
--- a/toolsrc/src/vcpkg/triplet.cpp
+++ b/toolsrc/src/vcpkg/triplet.cpp
@@ -1,6 +1,5 @@
#include "pch.h"
-#include <vcpkg/base/checks.h>
#include <vcpkg/base/strings.h>
#include <vcpkg/triplet.h>
@@ -38,7 +37,7 @@ namespace vcpkg
const Triplet Triplet::ARM_UWP = from_canonical_name("arm-uwp");
const Triplet Triplet::ARM64_UWP = from_canonical_name("arm64-uwp");
const Triplet Triplet::ARM_WINDOWS = from_canonical_name("arm-windows");
- const Triplet Triplet::ARM64_WINDOWS = from_canonical_name("arm64-windows");
+ const Triplet Triplet::ARM64_WINDOWS = from_canonical_name("arm64-windows");
bool Triplet::operator==(const Triplet& other) const { return this->m_instance == other.m_instance; }
diff --git a/toolsrc/src/vcpkg/update.cpp b/toolsrc/src/vcpkg/update.cpp
index d6c5614ed..57259f952 100644
--- a/toolsrc/src/vcpkg/update.cpp
+++ b/toolsrc/src/vcpkg/update.cpp
@@ -17,17 +17,12 @@ namespace vcpkg::Update
std::vector<OutdatedPackage> find_outdated_packages(const Dependencies::PortFileProvider& provider,
const StatusParagraphs& status_db)
{
- const std::vector<StatusParagraph*> installed_packages = get_installed_ports(status_db);
+ auto installed_packages = get_installed_ports(status_db);
std::vector<OutdatedPackage> output;
- for (const StatusParagraph* pgh : installed_packages)
+ for (auto&& ipv : installed_packages)
{
- if (!pgh->package.feature.empty())
- {
- // Skip feature paragraphs; only consider master paragraphs for needing updates.
- continue;
- }
-
+ const auto& pgh = ipv.core;
auto maybe_scf = provider.get_control_file(pgh->package.spec.name());
if (auto p_scf = maybe_scf.get())
{
diff --git a/toolsrc/src/vcpkg/userconfig.cpp b/toolsrc/src/vcpkg/userconfig.cpp
index 9db2e5d47..4945fdaaa 100644
--- a/toolsrc/src/vcpkg/userconfig.cpp
+++ b/toolsrc/src/vcpkg/userconfig.cpp
@@ -29,16 +29,21 @@ namespace
namespace vcpkg
{
- static fs::path get_config_path()
+ fs::path get_user_dir()
{
#if defined(_WIN32)
- return get_localappdata() / "vcpkg" / "config";
+ return get_localappdata() / "vcpkg";
#else
auto maybe_home = System::get_environment_variable("HOME");
- return fs::path(maybe_home.value_or("/var")) / "vcpkg" / "config";
+ return fs::path(maybe_home.value_or("/var")) / ".vcpkg";
#endif
}
+ static fs::path get_config_path()
+ {
+ return get_user_dir() / "config";
+ }
+
UserConfig UserConfig::try_read_data(const Files::Filesystem& fs)
{
UserConfig ret;
diff --git a/toolsrc/src/vcpkg/vcpkglib.cpp b/toolsrc/src/vcpkg/vcpkglib.cpp
index 220c29720..c8e95dab1 100644
--- a/toolsrc/src/vcpkg/vcpkglib.cpp
+++ b/toolsrc/src/vcpkg/vcpkglib.cpp
@@ -54,6 +54,7 @@ namespace vcpkg
StatusParagraphs current_status_db = load_current_database(fs, status_file, status_file_old);
auto update_files = fs.get_files_non_recursive(updates_dir);
+ Util::sort(update_files);
if (update_files.empty())
{
// updates directory is empty, control file is up-to-date.
@@ -168,16 +169,32 @@ namespace vcpkg
fs.rename(updated_listfile_path, listfile_path);
}
- std::vector<StatusParagraph*> get_installed_ports(const StatusParagraphs& status_db)
+ std::vector<InstalledPackageView> get_installed_ports(const StatusParagraphs& status_db)
{
- std::vector<StatusParagraph*> installed_packages;
+ std::map<PackageSpec, InstalledPackageView> ipv_map;
+
+ std::vector<InstalledPackageView> installed_packages;
for (auto&& pgh : status_db)
{
if (!pgh->is_installed()) continue;
- installed_packages.push_back(pgh.get());
+ auto& ipv = ipv_map[pgh->package.spec];
+ if (pgh->package.feature.empty())
+ {
+ ipv.core = pgh.get();
+ }
+ else
+ {
+ ipv.features.emplace_back(pgh.get());
+ }
}
- return installed_packages;
+ for (auto&& ipv : ipv_map)
+ Checks::check_exit(VCPKG_LINE_INFO,
+ ipv.second.core != nullptr,
+ "Database is corrupted: package %s has features but no core paragraph.",
+ ipv.first);
+
+ return Util::fmap(ipv_map, [](auto&& p) -> InstalledPackageView { return std::move(p.second); });
}
std::vector<StatusParagraphAndAssociatedFiles> get_installed_files(const VcpkgPaths& paths,
diff --git a/toolsrc/src/vcpkg/vcpkgpaths.cpp b/toolsrc/src/vcpkg/vcpkgpaths.cpp
index 46e80c4a9..0903c2d76 100644
--- a/toolsrc/src/vcpkg/vcpkgpaths.cpp
+++ b/toolsrc/src/vcpkg/vcpkgpaths.cpp
@@ -5,294 +5,13 @@
#include <vcpkg/base/system.h>
#include <vcpkg/base/util.h>
#include <vcpkg/build.h>
+#include <vcpkg/commands.h>
#include <vcpkg/metrics.h>
#include <vcpkg/packagespec.h>
#include <vcpkg/vcpkgpaths.h>
namespace vcpkg
{
- static constexpr CStringView V_120 = "v120";
- static constexpr CStringView V_140 = "v140";
- static constexpr CStringView V_141 = "v141";
-
- struct ToolData
- {
- std::array<int, 3> required_version;
- fs::path downloaded_exe_path;
- };
-
- static Optional<std::array<int, 3>> parse_version_string(const std::string& version_as_string)
- {
- static const std::regex RE(R"###((\d+)\.(\d+)\.(\d+))###");
-
- std::match_results<std::string::const_iterator> match;
- const auto found = std::regex_search(version_as_string, match, RE);
- if (!found)
- {
- return {};
- }
-
- const int d1 = atoi(match[1].str().c_str());
- const int d2 = atoi(match[2].str().c_str());
- const int d3 = atoi(match[3].str().c_str());
- const std::array<int, 3> result = {d1, d2, d3};
- return result;
- }
-
- static ToolData parse_tool_data_from_xml(const VcpkgPaths& paths, const std::string& tool)
- {
- static const fs::path XML_PATH = paths.scripts / "vcpkgTools.xml";
-
- const auto get_string_inside_tags =
- [](const std::string& input, const std::regex& regex, const std::string& tag_name) -> std::string {
- std::smatch match;
- const bool has_match = std::regex_search(input.cbegin(), input.cend(), match, regex);
- Checks::check_exit(
- VCPKG_LINE_INFO, has_match, "Could not find tag <%s> in %s", tag_name, XML_PATH.generic_string());
-
- return match[1];
- };
-
- static const std::string XML = paths.get_filesystem().read_contents(XML_PATH).value_or_exit(VCPKG_LINE_INFO);
- static const std::regex VERSION_REGEX{
- Strings::format(R"###(<requiredVersion>([\s\S]*?)</requiredVersion>)###", tool)};
- static const std::regex EXE_RELATIVE_PATH_REGEX{
- Strings::format(R"###(<exeRelativePath>([\s\S]*?)</exeRelativePath>)###", tool)};
-
- const std::regex tool_regex{Strings::format(R"###(<tool[\s]+name="%s">([\s\S]*?)</tool>)###", tool)};
-
- std::smatch match_tool;
- const bool has_match_tool = std::regex_search(XML.cbegin(), XML.cend(), match_tool, tool_regex);
- Checks::check_exit(VCPKG_LINE_INFO,
- has_match_tool,
- "Could not find entry for tool [%s] in %s",
- tool,
- XML_PATH.generic_string());
-
- const std::string tool_data_as_string = get_string_inside_tags(XML, tool_regex, tool);
-
- const std::string required_version_as_string =
- get_string_inside_tags(tool_data_as_string, VERSION_REGEX, "requiredVersion");
-
- const std::string exe_relative_path =
- get_string_inside_tags(tool_data_as_string, EXE_RELATIVE_PATH_REGEX, "exeRelativePath");
-
- const Optional<std::array<int, 3>> required_version = parse_version_string(required_version_as_string);
- Checks::check_exit(VCPKG_LINE_INFO,
- required_version.has_value(),
- "Could not parse version for tool %s. Version string was: %s",
- tool,
- required_version_as_string);
-
- const fs::path exe_path = paths.downloads / exe_relative_path;
- return ToolData{*required_version.get(), exe_path};
- }
-
- static bool exists_and_has_equal_or_greater_version(const std::string& version_cmd,
- const std::array<int, 3>& expected_version)
- {
- const auto rc = System::cmd_execute_and_capture_output(Strings::format(R"(%s)", version_cmd));
- if (rc.exit_code != 0)
- {
- return false;
- }
-
- const Optional<std::array<int, 3>> v = parse_version_string(rc.output);
- if (!v.has_value())
- {
- return false;
- }
-
- const std::array<int, 3> actual_version = *v.get();
- return (actual_version[0] > expected_version[0] ||
- (actual_version[0] == expected_version[0] && actual_version[1] > expected_version[1]) ||
- (actual_version[0] == expected_version[0] && actual_version[1] == expected_version[1] &&
- actual_version[2] >= expected_version[2]));
- }
-
- static Optional<fs::path> find_if_has_equal_or_greater_version(const std::vector<fs::path>& candidate_paths,
- const std::string& version_check_arguments,
- const std::array<int, 3>& expected_version)
- {
- auto it = Util::find_if(candidate_paths, [&](const fs::path& p) {
- const std::string cmd = Strings::format(R"("%s" %s)", p.u8string(), version_check_arguments);
- return exists_and_has_equal_or_greater_version(cmd, expected_version);
- });
-
- if (it != candidate_paths.cend())
- {
- return std::move(*it);
- }
-
- return nullopt;
- }
-
- static std::vector<std::string> keep_data_lines(const std::string& data_blob)
- {
- static const std::regex DATA_LINE_REGEX(R"(<sol>::(.+?)(?=::<eol>))");
-
- std::vector<std::string> data_lines;
-
- const std::sregex_iterator it(data_blob.cbegin(), data_blob.cend(), DATA_LINE_REGEX);
- const std::sregex_iterator end;
- for (std::sregex_iterator i = it; i != end; ++i)
- {
- const std::smatch match = *i;
- data_lines.push_back(match[1].str());
- }
-
- return data_lines;
- }
-
- static fs::path fetch_tool(const fs::path& scripts_folder, const std::string& tool_name, const ToolData& tool_data)
- {
- const std::array<int, 3>& version = tool_data.required_version;
-
- const std::string version_as_string = Strings::format("%d.%d.%d", version[0], version[1], version[2]);
- System::println("A suitable version of %s was not found (required v%s). Downloading portable %s v%s...",
- tool_name,
- version_as_string,
- tool_name,
- version_as_string);
- const fs::path script = scripts_folder / "fetchtool.ps1";
- const std::string title = Strings::format(
- "Fetching %s version %s (No sufficient installed version was found)", tool_name, version_as_string);
- const System::PowershellParameter tool_param("tool", tool_name);
- const std::string output = System::powershell_execute_and_capture_output(title, script, {tool_param});
-
- const std::vector<std::string> tool_path = keep_data_lines(output);
- Checks::check_exit(VCPKG_LINE_INFO, tool_path.size() == 1, "Expected tool path, but got %s", output);
-
- const fs::path actual_downloaded_path = Strings::trim(std::string{tool_path.at(0)});
- const fs::path& expected_downloaded_path = tool_data.downloaded_exe_path;
- std::error_code ec;
- const auto eq = fs::stdfs::equivalent(expected_downloaded_path, actual_downloaded_path, ec);
- Checks::check_exit(VCPKG_LINE_INFO,
- eq && !ec,
- "Expected tool downloaded path to be %s, but was %s",
- expected_downloaded_path.u8string(),
- actual_downloaded_path.u8string());
- return actual_downloaded_path;
- }
-
- static fs::path get_cmake_path(const VcpkgPaths& paths)
- {
-#if defined(_WIN32)
- static const ToolData TOOL_DATA = parse_tool_data_from_xml(paths, "cmake");
-#else
- static const ToolData TOOL_DATA = ToolData{{3, 5, 1}, ""};
-#endif
- static const std::string VERSION_CHECK_ARGUMENTS = "--version";
-
- std::vector<fs::path> candidate_paths;
-#if defined(_WIN32)
- candidate_paths.push_back(TOOL_DATA.downloaded_exe_path);
-#endif
- const std::vector<fs::path> from_path = Files::find_from_PATH("cmake");
- candidate_paths.insert(candidate_paths.end(), from_path.cbegin(), from_path.cend());
-#if defined(_WIN32)
- candidate_paths.push_back(System::get_program_files_platform_bitness() / "CMake" / "bin" / "cmake.exe");
- candidate_paths.push_back(System::get_program_files_32_bit() / "CMake" / "bin");
-#endif
-
- const Optional<fs::path> path =
- find_if_has_equal_or_greater_version(candidate_paths, VERSION_CHECK_ARGUMENTS, TOOL_DATA.required_version);
- if (const auto p = path.get())
- {
- return *p;
- }
-
- return fetch_tool(paths.scripts, "cmake", TOOL_DATA);
- }
-
- static fs::path get_7za_path(const VcpkgPaths& paths)
- {
-#if defined(_WIN32)
- static const ToolData TOOL_DATA = parse_tool_data_from_xml(paths, "7zip");
- if (!paths.get_filesystem().exists(TOOL_DATA.downloaded_exe_path))
- {
- return fetch_tool(paths.scripts, "7zip", TOOL_DATA);
- }
- return TOOL_DATA.downloaded_exe_path;
-#else
- Checks::exit_with_message(VCPKG_LINE_INFO, "Cannot download 7zip for non-Windows platforms.");
-#endif
- }
-
- static fs::path get_nuget_path(const VcpkgPaths& paths)
- {
- static const ToolData TOOL_DATA = parse_tool_data_from_xml(paths, "nuget");
-
- std::vector<fs::path> candidate_paths;
- candidate_paths.push_back(TOOL_DATA.downloaded_exe_path);
- const std::vector<fs::path> from_path = Files::find_from_PATH("nuget");
- candidate_paths.insert(candidate_paths.end(), from_path.cbegin(), from_path.cend());
-
- auto path = find_if_has_equal_or_greater_version(candidate_paths, "", TOOL_DATA.required_version);
- if (const auto p = path.get())
- {
- return *p;
- }
-
- return fetch_tool(paths.scripts, "nuget", TOOL_DATA);
- }
-
- static fs::path get_git_path(const VcpkgPaths& paths)
- {
-#if defined(_WIN32)
- static const ToolData TOOL_DATA = parse_tool_data_from_xml(paths, "git");
-#else
- static const ToolData TOOL_DATA = ToolData{{2, 7, 4}, ""};
-#endif
- static const std::string VERSION_CHECK_ARGUMENTS = "--version";
-
- std::vector<fs::path> candidate_paths;
-#if defined(_WIN32)
- candidate_paths.push_back(TOOL_DATA.downloaded_exe_path);
-#endif
- const std::vector<fs::path> from_path = Files::find_from_PATH("git");
- candidate_paths.insert(candidate_paths.end(), from_path.cbegin(), from_path.cend());
-#if defined(_WIN32)
- candidate_paths.push_back(System::get_program_files_platform_bitness() / "git" / "cmd" / "git.exe");
- candidate_paths.push_back(System::get_program_files_32_bit() / "git" / "cmd" / "git.exe");
-#endif
-
- const Optional<fs::path> path =
- find_if_has_equal_or_greater_version(candidate_paths, VERSION_CHECK_ARGUMENTS, TOOL_DATA.required_version);
- if (const auto p = path.get())
- {
- return *p;
- }
-
- return fetch_tool(paths.scripts, "git", TOOL_DATA);
- }
-
- static fs::path get_ifw_installerbase_path(const VcpkgPaths& paths)
- {
- static const ToolData TOOL_DATA = parse_tool_data_from_xml(paths, "installerbase");
-
- static const std::string VERSION_CHECK_ARGUMENTS = "--framework-version";
-
- std::vector<fs::path> candidate_paths;
- candidate_paths.push_back(TOOL_DATA.downloaded_exe_path);
- // TODO: Uncomment later
- // const std::vector<fs::path> from_path = Files::find_from_PATH("installerbase");
- // candidate_paths.insert(candidate_paths.end(), from_path.cbegin(), from_path.cend());
- // candidate_paths.push_back(fs::path(System::get_environment_variable("HOMEDRIVE").value_or("C:")) / "Qt" /
- // "Tools" / "QtInstallerFramework" / "3.1" / "bin" / "installerbase.exe");
- // candidate_paths.push_back(fs::path(System::get_environment_variable("HOMEDRIVE").value_or("C:")) / "Qt" /
- // "QtIFW-3.1.0" / "bin" / "installerbase.exe");
-
- const Optional<fs::path> path =
- find_if_has_equal_or_greater_version(candidate_paths, VERSION_CHECK_ARGUMENTS, TOOL_DATA.required_version);
- if (const auto p = path.get())
- {
- return *p;
- }
-
- return fetch_tool(paths.scripts, "installerbase", TOOL_DATA);
- }
-
Expected<VcpkgPaths> VcpkgPaths::create(const fs::path& vcpkg_root_dir, const std::string& default_vs_path)
{
std::error_code ec;
@@ -356,6 +75,7 @@ namespace vcpkg
{
output.push_back(path.stem().filename().string());
}
+ Util::sort(output);
return output;
});
@@ -363,261 +83,15 @@ namespace vcpkg
bool VcpkgPaths::is_valid_triplet(const Triplet& t) const
{
- auto it = Util::find_if(this->get_available_triplets(),
- [&](auto&& available_triplet) { return t.canonical_name() == available_triplet; });
+ const auto it = Util::find_if(this->get_available_triplets(), [&](auto&& available_triplet) {
+ return t.canonical_name() == available_triplet;
+ });
return it != this->get_available_triplets().cend();
}
- const fs::path& VcpkgPaths::get_7za_exe() const
- {
- return this->_7za_exe.get_lazy([this]() { return get_7za_path(*this); });
- }
-
- const fs::path& VcpkgPaths::get_cmake_exe() const
- {
- return this->cmake_exe.get_lazy([this]() { return get_cmake_path(*this); });
- }
-
- const fs::path& VcpkgPaths::get_git_exe() const
- {
- return this->git_exe.get_lazy([this]() { return get_git_path(*this); });
- }
-
- const fs::path& VcpkgPaths::get_nuget_exe() const
- {
- return this->nuget_exe.get_lazy([this]() { return get_nuget_path(*this); });
- }
-
- const fs::path& VcpkgPaths::get_ifw_installerbase_exe() const
- {
- return this->ifw_installerbase_exe.get_lazy([this]() { return get_ifw_installerbase_path(*this); });
- }
-
- const fs::path& VcpkgPaths::get_ifw_binarycreator_exe() const
- {
- return this->ifw_binarycreator_exe.get_lazy(
- [this]() { return get_ifw_installerbase_exe().parent_path() / "binarycreator.exe"; });
- }
-
- const fs::path& VcpkgPaths::get_ifw_repogen_exe() const
- {
- return this->ifw_repogen_exe.get_lazy(
- [this]() { return get_ifw_installerbase_exe().parent_path() / "repogen.exe"; });
- }
-
- struct VisualStudioInstance
- {
- fs::path root_path;
- std::string version;
- std::string release_type;
- std::string preference_weight; // Mostly unused, just for verification that order is as intended
-
- std::string major_version() const { return version.substr(0, 2); }
- };
-
- static std::vector<VisualStudioInstance> get_visual_studio_instances(const VcpkgPaths& paths)
- {
- const fs::path script = paths.scripts / "findVisualStudioInstallationInstances.ps1";
- const std::string output =
- System::powershell_execute_and_capture_output("Detecting Visual Studio instances", script);
-
- const std::vector<std::string> instances_as_strings = keep_data_lines(output);
- Checks::check_exit(VCPKG_LINE_INFO,
- !instances_as_strings.empty(),
- "Could not detect any Visual Studio instances.\n"
- "Powershell script:\n"
- " %s\n"
- "returned:\n"
- "%s",
- script.generic_string(),
- output);
-
- std::vector<VisualStudioInstance> instances;
- for (const std::string& instance_as_string : instances_as_strings)
- {
- const std::vector<std::string> split = Strings::split(instance_as_string, "::");
- Checks::check_exit(VCPKG_LINE_INFO,
- split.size() == 4,
- "Invalid Visual Studio instance format.\n"
- "Expected: PreferenceWeight::ReleaseType::Version::PathToVisualStudio\n"
- "Actual : %s\n",
- instance_as_string);
- instances.push_back({split.at(3), split.at(2), split.at(1), split.at(0)});
- }
-
- return instances;
- }
-
- static std::vector<Toolset> find_toolset_instances(const VcpkgPaths& paths)
+ const fs::path& VcpkgPaths::get_tool_exe(const std::string& tool) const
{
- using CPU = System::CPUArchitecture;
-
- const auto& fs = paths.get_filesystem();
-
- // Note: this will contain a mix of vcvarsall.bat locations and dumpbin.exe locations.
- std::vector<fs::path> paths_examined;
-
- std::vector<Toolset> found_toolsets;
- std::vector<Toolset> excluded_toolsets;
-
- const std::vector<VisualStudioInstance> vs_instances = get_visual_studio_instances(paths);
- const bool v140_is_available = Util::find_if(vs_instances, [&](const VisualStudioInstance& vs_instance) {
- return vs_instance.major_version() == "14";
- }) != vs_instances.cend();
-
- for (const VisualStudioInstance& vs_instance : vs_instances)
- {
- const std::string major_version = vs_instance.major_version();
- if (major_version == "15")
- {
- const fs::path vc_dir = vs_instance.root_path / "VC";
-
- // Skip any instances that do not have vcvarsall.
- const fs::path vcvarsall_dir = vc_dir / "Auxiliary" / "Build";
- const fs::path vcvarsall_bat = vcvarsall_dir / "vcvarsall.bat";
- paths_examined.push_back(vcvarsall_bat);
- if (!fs.exists(vcvarsall_bat)) continue;
-
- // Get all supported architectures
- std::vector<ToolsetArchOption> supported_architectures;
- if (fs.exists(vcvarsall_dir / "vcvars32.bat"))
- supported_architectures.push_back({"x86", CPU::X86, CPU::X86});
- if (fs.exists(vcvarsall_dir / "vcvars64.bat"))
- supported_architectures.push_back({"amd64", CPU::X64, CPU::X64});
- if (fs.exists(vcvarsall_dir / "vcvarsx86_amd64.bat"))
- supported_architectures.push_back({"x86_amd64", CPU::X86, CPU::X64});
- if (fs.exists(vcvarsall_dir / "vcvarsx86_arm.bat"))
- supported_architectures.push_back({"x86_arm", CPU::X86, CPU::ARM});
- if (fs.exists(vcvarsall_dir / "vcvarsx86_arm64.bat"))
- supported_architectures.push_back({"x86_arm64", CPU::X86, CPU::ARM64});
- if (fs.exists(vcvarsall_dir / "vcvarsamd64_x86.bat"))
- supported_architectures.push_back({"amd64_x86", CPU::X64, CPU::X86});
- if (fs.exists(vcvarsall_dir / "vcvarsamd64_arm.bat"))
- supported_architectures.push_back({"amd64_arm", CPU::X64, CPU::ARM});
- if (fs.exists(vcvarsall_dir / "vcvarsamd64_arm64.bat"))
- supported_architectures.push_back({"amd64_arm64", CPU::X64, CPU::ARM64});
-
- // Locate the "best" MSVC toolchain version
- const fs::path msvc_path = vc_dir / "Tools" / "MSVC";
- std::vector<fs::path> msvc_subdirectories = fs.get_files_non_recursive(msvc_path);
- Util::unstable_keep_if(msvc_subdirectories,
- [&fs](const fs::path& path) { return fs.is_directory(path); });
-
- // Sort them so that latest comes first
- std::sort(
- msvc_subdirectories.begin(),
- msvc_subdirectories.end(),
- [](const fs::path& left, const fs::path& right) { return left.filename() > right.filename(); });
-
- for (const fs::path& subdir : msvc_subdirectories)
- {
- const fs::path dumpbin_path = subdir / "bin" / "HostX86" / "x86" / "dumpbin.exe";
- paths_examined.push_back(dumpbin_path);
- if (fs.exists(dumpbin_path))
- {
- const Toolset v141toolset = Toolset{
- vs_instance.root_path, dumpbin_path, vcvarsall_bat, {}, V_141, supported_architectures};
-
- auto english_language_pack = dumpbin_path.parent_path() / "1033";
-
- if (!fs.exists(english_language_pack))
- {
- excluded_toolsets.push_back(v141toolset);
- break;
- }
-
- found_toolsets.push_back(v141toolset);
-
- if (v140_is_available)
- {
- const Toolset v140toolset = Toolset{vs_instance.root_path,
- dumpbin_path,
- vcvarsall_bat,
- {"-vcvars_ver=14.0"},
- V_140,
- supported_architectures};
- found_toolsets.push_back(v140toolset);
- }
-
- break;
- }
- }
-
- continue;
- }
-
- if (major_version == "14" || major_version == "12")
- {
- const fs::path vcvarsall_bat = vs_instance.root_path / "VC" / "vcvarsall.bat";
-
- paths_examined.push_back(vcvarsall_bat);
- if (fs.exists(vcvarsall_bat))
- {
- const fs::path vs_dumpbin_exe = vs_instance.root_path / "VC" / "bin" / "dumpbin.exe";
- paths_examined.push_back(vs_dumpbin_exe);
-
- const fs::path vs_bin_dir = vcvarsall_bat.parent_path() / "bin";
- std::vector<ToolsetArchOption> supported_architectures;
- if (fs.exists(vs_bin_dir / "vcvars32.bat"))
- supported_architectures.push_back({"x86", CPU::X86, CPU::X86});
- if (fs.exists(vs_bin_dir / "amd64\\vcvars64.bat"))
- supported_architectures.push_back({"x64", CPU::X64, CPU::X64});
- if (fs.exists(vs_bin_dir / "x86_amd64\\vcvarsx86_amd64.bat"))
- supported_architectures.push_back({"x86_amd64", CPU::X86, CPU::X64});
- if (fs.exists(vs_bin_dir / "x86_arm\\vcvarsx86_arm.bat"))
- supported_architectures.push_back({"x86_arm", CPU::X86, CPU::ARM});
- if (fs.exists(vs_bin_dir / "amd64_x86\\vcvarsamd64_x86.bat"))
- supported_architectures.push_back({"amd64_x86", CPU::X64, CPU::X86});
- if (fs.exists(vs_bin_dir / "amd64_arm\\vcvarsamd64_arm.bat"))
- supported_architectures.push_back({"amd64_arm", CPU::X64, CPU::ARM});
-
- if (fs.exists(vs_dumpbin_exe))
- {
- const Toolset toolset = {vs_instance.root_path,
- vs_dumpbin_exe,
- vcvarsall_bat,
- {},
- major_version == "14" ? V_140 : V_120,
- supported_architectures};
-
- auto english_language_pack = vs_dumpbin_exe.parent_path() / "1033";
-
- if (!fs.exists(english_language_pack))
- {
- excluded_toolsets.push_back(toolset);
- break;
- }
-
- found_toolsets.push_back(toolset);
- }
- }
- }
- }
-
- if (!excluded_toolsets.empty())
- {
- System::println(
- System::Color::warning,
- "Warning: The following VS instances are excluded because the English language pack is unavailable.");
- for (const Toolset& toolset : excluded_toolsets)
- {
- System::println(" %s", toolset.visual_studio_root_path.u8string());
- }
- System::println(System::Color::warning, "Please install the English language pack.");
- }
-
- if (found_toolsets.empty())
- {
- System::println(System::Color::error, "Could not locate a complete toolset.");
- System::println("The following paths were examined:");
- for (const fs::path& path : paths_examined)
- {
- System::println(" %s", path.u8string());
- }
- Checks::exit_fail(VCPKG_LINE_INFO);
- }
-
- return found_toolsets;
+ return this->tool_paths.get_lazy(tool, [&]() { return Commands::Fetch::get_tool_path(*this, tool); });
}
const Toolset& VcpkgPaths::get_toolset(const Build::PreBuildInfo& prebuildinfo) const
@@ -641,7 +115,7 @@ namespace vcpkg
// Invariant: toolsets are non-empty and sorted with newest at back()
const std::vector<Toolset>& vs_toolsets =
- this->toolsets.get_lazy([this]() { return find_toolset_instances(*this); });
+ this->toolsets.get_lazy([this]() { return Commands::Fetch::find_toolset_instances(*this); });
std::vector<const Toolset*> candidates = Util::element_pointers(vs_toolsets);
const auto tsv = prebuildinfo.platform_toolset.get();
diff --git a/toolsrc/src/vcpkg/versiont.cpp b/toolsrc/src/vcpkg/versiont.cpp
index 0d4a39255..d20e6b577 100644
--- a/toolsrc/src/vcpkg/versiont.cpp
+++ b/toolsrc/src/vcpkg/versiont.cpp
@@ -5,7 +5,7 @@
namespace vcpkg
{
- VersionT::VersionT() : value("0.0.0") {}
+ VersionT::VersionT() noexcept : value("0.0.0") {}
VersionT::VersionT(std::string&& value) : value(std::move(value)) {}
VersionT::VersionT(const std::string& value) : value(value) {}
const std::string& VersionT::to_string() const { return value; }
@@ -13,7 +13,7 @@ namespace vcpkg
bool operator!=(const VersionT& left, const VersionT& right) { return left.to_string() != right.to_string(); }
std::string to_printf_arg(const VersionT& version) { return version.to_string(); }
- VersionDiff::VersionDiff() : left(), right() {}
+ VersionDiff::VersionDiff() noexcept : left(), right() {}
VersionDiff::VersionDiff(const VersionT& left, const VersionT& right) : left(left), right(right) {}
std::string VersionDiff::to_string() const
diff --git a/toolsrc/vcpkg/vcpkg.vcxproj b/toolsrc/vcpkg/vcpkg.vcxproj
index 4def6a74b..2ab94eb0a 100644
--- a/toolsrc/vcpkg/vcpkg.vcxproj
+++ b/toolsrc/vcpkg/vcpkg.vcxproj
@@ -77,7 +77,7 @@
<MinimalRebuild>false</MinimalRebuild>
</ClCompile>
<Link>
- <AdditionalDependencies>winhttp.lib;version.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>winhttp.lib;version.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;Bcrypt.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
@@ -91,7 +91,7 @@
<MinimalRebuild>false</MinimalRebuild>
</ClCompile>
<Link>
- <AdditionalDependencies>winhttp.lib;version.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>winhttp.lib;version.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;Bcrypt.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
@@ -109,7 +109,7 @@
<Link>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
- <AdditionalDependencies>winhttp.lib;version.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>winhttp.lib;version.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;Bcrypt.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
@@ -127,7 +127,7 @@
<Link>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
- <AdditionalDependencies>winhttp.lib;version.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>winhttp.lib;version.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;Bcrypt.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
diff --git a/toolsrc/vcpkglib/vcpkglib.vcxproj b/toolsrc/vcpkglib/vcpkglib.vcxproj
index ae699a840..871d0c58d 100644
--- a/toolsrc/vcpkglib/vcpkglib.vcxproj
+++ b/toolsrc/vcpkglib/vcpkglib.vcxproj
@@ -214,6 +214,7 @@
<ClCompile Include="..\src\vcpkg\commands.edit.cpp" />
<ClCompile Include="..\src\vcpkg\commands.env.cpp" />
<ClCompile Include="..\src\vcpkg\commands.exportifw.cpp" />
+ <ClCompile Include="..\src\vcpkg\commands.fetch.cpp" />
<ClCompile Include="..\src\vcpkg\commands.hash.cpp" />
<ClCompile Include="..\src\vcpkg\commands.import.cpp" />
<ClCompile Include="..\src\vcpkg\commands.integrate.cpp" />
diff --git a/toolsrc/vcpkglib/vcpkglib.vcxproj.filters b/toolsrc/vcpkglib/vcpkglib.vcxproj.filters
index 74bfebf3b..6a23a09b5 100644
--- a/toolsrc/vcpkglib/vcpkglib.vcxproj.filters
+++ b/toolsrc/vcpkglib/vcpkglib.vcxproj.filters
@@ -198,6 +198,9 @@
<ClCompile Include="..\src\vcpkg\commands.upgrade.cpp">
<Filter>Source Files\vcpkg</Filter>
</ClCompile>
+ <ClCompile Include="..\src\vcpkg\commands.fetch.cpp">
+ <Filter>Source Files\vcpkg</Filter>
+ </ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\include\pch.h">
diff --git a/toolsrc/vcpkgmetricsuploader/vcpkgmetricsuploader.vcxproj b/toolsrc/vcpkgmetricsuploader/vcpkgmetricsuploader.vcxproj
index d78e48e13..a2ceef9ce 100644
--- a/toolsrc/vcpkgmetricsuploader/vcpkgmetricsuploader.vcxproj
+++ b/toolsrc/vcpkgmetricsuploader/vcpkgmetricsuploader.vcxproj
@@ -77,7 +77,7 @@
<MinimalRebuild>false</MinimalRebuild>
</ClCompile>
<Link>
- <AdditionalDependencies>winhttp.lib;version.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>winhttp.lib;version.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;Bcrypt.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
@@ -91,7 +91,7 @@
<MinimalRebuild>false</MinimalRebuild>
</ClCompile>
<Link>
- <AdditionalDependencies>winhttp.lib;version.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>winhttp.lib;version.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;Bcrypt.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
@@ -109,7 +109,7 @@
<Link>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
- <AdditionalDependencies>winhttp.lib;version.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>winhttp.lib;version.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;Bcrypt.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
@@ -127,7 +127,7 @@
<Link>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
- <AdditionalDependencies>winhttp.lib;version.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>winhttp.lib;version.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;Bcrypt.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
diff --git a/toolsrc/vcpkgtest/vcpkgtest.vcxproj b/toolsrc/vcpkgtest/vcpkgtest.vcxproj
index d61b15a71..a0d44918d 100644
--- a/toolsrc/vcpkgtest/vcpkgtest.vcxproj
+++ b/toolsrc/vcpkgtest/vcpkgtest.vcxproj
@@ -120,6 +120,7 @@
<Link>
<SubSystem>Windows</SubSystem>
<AdditionalLibraryDirectories>$(VCInstallDir)UnitTest\lib;$(VsInstallRoot)\VC\Auxiliary\VS\UnitTest\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;Bcrypt.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
@@ -138,6 +139,7 @@
<Link>
<SubSystem>Windows</SubSystem>
<AdditionalLibraryDirectories>$(VCInstallDir)UnitTest\lib;$(VsInstallRoot)\VC\Auxiliary\VS\UnitTest\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;Bcrypt.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
@@ -159,6 +161,7 @@
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<AdditionalLibraryDirectories>$(VCInstallDir)UnitTest\lib;$(VsInstallRoot)\VC\Auxiliary\VS\UnitTest\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;Bcrypt.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
@@ -180,6 +183,7 @@
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<AdditionalLibraryDirectories>$(VCInstallDir)UnitTest\lib;$(VsInstallRoot)\VC\Auxiliary\VS\UnitTest\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;Bcrypt.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
diff --git a/triplets/x64-linux.cmake b/triplets/x64-linux.cmake
new file mode 100644
index 000000000..519618463
--- /dev/null
+++ b/triplets/x64-linux.cmake
@@ -0,0 +1,5 @@
+set(VCPKG_TARGET_ARCHITECTURE x64)
+set(VCPKG_CRT_LINKAGE dynamic)
+set(VCPKG_LIBRARY_LINKAGE static)
+
+set(VCPKG_CMAKE_SYSTEM_NAME Linux)
diff --git a/triplets/x64-osx.cmake b/triplets/x64-osx.cmake
new file mode 100644
index 000000000..af3a8c348
--- /dev/null
+++ b/triplets/x64-osx.cmake
@@ -0,0 +1,5 @@
+set(VCPKG_TARGET_ARCHITECTURE x64)
+set(VCPKG_CRT_LINKAGE dynamic)
+set(VCPKG_LIBRARY_LINKAGE static)
+
+set(VCPKG_CMAKE_SYSTEM_NAME Darwin)