aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhil Christensen <philc@microsoft.com>2019-08-23 11:18:34 -0700
committerGitHub <noreply@github.com>2019-08-23 11:18:34 -0700
commitbd4678610b221ae6cd4911295e84808ea7924cc6 (patch)
tree1e51033d924c41cd147f33665990b75fe19ff4b7
parent1245f1dbfc383d33b2fa576f010644de9687280e (diff)
parentcf447c050c734fc71e5254ea9e05e1bc4a9d208d (diff)
downloadvcpkg-bd4678610b221ae6cd4911295e84808ea7924cc6.tar.gz
vcpkg-bd4678610b221ae6cd4911295e84808ea7924cc6.zip
Merge branch 'master' into multi_line_depends
-rw-r--r--ports/argagg/CONTROL2
-rw-r--r--ports/argagg/portfile.cmake4
-rw-r--r--ports/argparse/CONTROL2
-rw-r--r--ports/argparse/portfile.cmake4
-rw-r--r--ports/azure-c-shared-utility/CONTROL2
-rw-r--r--ports/azure-c-shared-utility/portfile.cmake8
-rw-r--r--ports/azure-iot-sdk-c/CONTROL2
-rw-r--r--ports/azure-iot-sdk-c/portfile.cmake4
-rw-r--r--ports/azure-macro-utils-c/CONTROL2
-rw-r--r--ports/azure-macro-utils-c/portfile.cmake4
-rw-r--r--ports/azure-uamqp-c/CONTROL2
-rw-r--r--ports/azure-uamqp-c/portfile.cmake8
-rw-r--r--ports/azure-uhttp-c/CONTROL2
-rw-r--r--ports/azure-uhttp-c/portfile.cmake8
-rw-r--r--ports/azure-umqtt-c/CONTROL2
-rw-r--r--ports/azure-umqtt-c/portfile.cmake8
-rw-r--r--ports/basisu/CONTROL5
-rw-r--r--ports/basisu/portfile.cmake4
-rw-r--r--ports/cgltf/CONTROL2
-rw-r--r--ports/cgltf/portfile.cmake4
-rw-r--r--ports/clara/CONTROL2
-rw-r--r--ports/clara/portfile.cmake4
-rw-r--r--ports/clp/CONTROL2
-rw-r--r--ports/clp/portfile.cmake4
-rw-r--r--ports/cryptopp/CONTROL2
-rw-r--r--ports/cryptopp/missing-flags.patch20
-rw-r--r--ports/cryptopp/portfile.cmake10
-rw-r--r--ports/cryptopp/simon-speck.patch13
-rw-r--r--ports/dimcli/CONTROL2
-rw-r--r--ports/dimcli/portfile.cmake4
-rw-r--r--ports/distorm/CONTROL2
-rw-r--r--ports/distorm/portfile.cmake4
-rw-r--r--ports/eastl/CONTROL2
-rw-r--r--ports/eastl/fixchar8_t.patch13
-rw-r--r--ports/eastl/portfile.cmake5
-rw-r--r--ports/embree3/CONTROL3
-rw-r--r--ports/embree3/fix-InstallPath.patch15
-rw-r--r--ports/embree3/portfile.cmake13
-rw-r--r--ports/fribidi/CONTROL2
-rw-r--r--ports/fribidi/fix-win-static-suffix.patch39
-rw-r--r--ports/fribidi/portfile.cmake1
-rw-r--r--ports/gtest/CONTROL2
-rw-r--r--ports/gtest/fix-gmock-cmake.patch30
-rw-r--r--ports/gtest/fix-main-lib-path.patch68
-rw-r--r--ports/gtest/portfile.cmake11
-rw-r--r--ports/gtest/usage5
-rw-r--r--ports/inih/CONTROL2
-rw-r--r--ports/inih/portfile.cmake4
-rw-r--r--ports/ixwebsocket/CONTROL4
-rw-r--r--ports/ixwebsocket/portfile.cmake4
-rw-r--r--ports/leaf/CONTROL2
-rw-r--r--ports/leaf/portfile.cmake4
-rw-r--r--ports/leptonica/CONTROL4
-rw-r--r--ports/leptonica/find-dependency.patch37
-rw-r--r--ports/leptonica/fix-find-libwebp.patch14
-rw-r--r--ports/leptonica/portfile.cmake15
-rw-r--r--ports/libcopp/CONTROL2
-rw-r--r--ports/libcopp/portfile.cmake4
-rw-r--r--ports/libfabric/CONTROL2
-rw-r--r--ports/libfabric/portfile.cmake4
-rw-r--r--ports/libmodbus/CMakeLists.txt2
-rw-r--r--ports/libmodbus/CONTROL2
-rw-r--r--ports/libmodbus/portfile.cmake4
-rw-r--r--ports/libspatialindex/CONTROL6
-rw-r--r--ports/libspatialindex/portfile.cmake27
-rw-r--r--ports/libspatialindex/static.patch21
-rw-r--r--ports/luajit/002-fix-build-path.patch124
-rw-r--r--ports/luajit/CONTROL2
-rw-r--r--ports/luajit/portfile.cmake108
-rw-r--r--ports/lz4/CONTROL2
-rw-r--r--ports/lz4/portfile.cmake4
-rw-r--r--ports/mp3lame/00001-msvc-upgrade-solution-up-to-vc11.patch1018
-rw-r--r--ports/mp3lame/CONTROL4
-rw-r--r--ports/mp3lame/Config.cmake.in60
-rw-r--r--ports/mp3lame/portfile.cmake152
-rw-r--r--ports/mp3lame/usage4
-rw-r--r--ports/nanort/CONTROL4
-rw-r--r--ports/nanort/portfile.cmake47
-rw-r--r--ports/openimageio/CONTROL2
-rw-r--r--ports/openimageio/fix_find_openexr.patch48
-rw-r--r--ports/openimageio/portfile.cmake1
-rw-r--r--ports/paho-mqttpp3/CONTROL2
-rw-r--r--ports/paho-mqttpp3/fix-include-path.patch182
-rw-r--r--ports/paho-mqttpp3/portfile.cmake4
-rw-r--r--ports/qt-advanced-docking-system/CONTROL4
-rw-r--r--ports/qt-advanced-docking-system/config_changes.patch36
-rw-r--r--ports/qt-advanced-docking-system/portfile.cmake25
-rw-r--r--ports/qt5/CONTROL2
-rw-r--r--ports/qtkeychain/CONTROL4
-rw-r--r--ports/qtkeychain/portfile.cmake43
-rw-r--r--ports/quickfast/00001-fix-boost-asio.patch39
-rw-r--r--ports/quickfast/CMakeLists.txt54
-rw-r--r--ports/quickfast/CONTROL5
-rw-r--r--ports/quickfast/portfile.cmake50
-rw-r--r--ports/quickfast/usage4
-rw-r--r--ports/quickfix/00001-fix-build.patch98
-rw-r--r--ports/quickfix/CONTROL5
-rw-r--r--ports/quickfix/portfile.cmake50
-rw-r--r--ports/quickfix/usage4
-rw-r--r--ports/range-v3/CONTROL2
-rw-r--r--ports/range-v3/portfile.cmake4
-rw-r--r--ports/re2/CONTROL2
-rw-r--r--ports/re2/portfile.cmake4
-rw-r--r--ports/reproc/CONTROL2
-rw-r--r--ports/reproc/portfile.cmake4
-rw-r--r--ports/riffcpp/CONTROL2
-rw-r--r--ports/riffcpp/portfile.cmake4
-rw-r--r--ports/safeint/CONTROL2
-rw-r--r--ports/safeint/portfile.cmake4
-rw-r--r--ports/selene/CONTROL1
-rw-r--r--ports/snowhouse/CONTROL2
-rw-r--r--ports/snowhouse/portfile.cmake4
-rw-r--r--ports/sol2/CONTROL2
-rw-r--r--ports/sol2/portfile.cmake4
-rw-r--r--ports/sparsehash/00001-windows-use-std.patch17
-rw-r--r--ports/sparsehash/CONTROL4
-rw-r--r--ports/sparsehash/Config.cmake.in10
-rw-r--r--ports/sparsehash/portfile.cmake41
-rw-r--r--ports/sparsehash/usage4
-rw-r--r--ports/spectra/CONTROL2
-rw-r--r--ports/spectra/portfile.cmake4
-rw-r--r--ports/spirv-cross/CONTROL2
-rw-r--r--ports/spirv-cross/portfile.cmake4
-rw-r--r--ports/tensorflow-cc/CONTROL4
-rw-r--r--ports/tensorflow-cc/TensorflowCCConfig.cmake28
-rw-r--r--ports/tensorflow-cc/file-exists.patch13
-rw-r--r--ports/tensorflow-cc/portfile.cmake116
-rw-r--r--ports/umock-c/CONTROL2
-rw-r--r--ports/umock-c/portfile.cmake4
-rw-r--r--ports/wxwidgets/CONTROL2
-rw-r--r--ports/wxwidgets/portfile.cmake7
-rw-r--r--scripts/cmake/vcpkg_common_definitions.cmake123
-rw-r--r--scripts/cmake/vcpkg_find_acquire_program.cmake24
-rw-r--r--scripts/get_triplet_environment.cmake4
-rw-r--r--scripts/ports.cmake18
-rw-r--r--toolsrc/include/vcpkg/base/util.h11
-rw-r--r--toolsrc/include/vcpkg/build.h3
-rw-r--r--toolsrc/src/vcpkg/base/files.cpp32
-rw-r--r--toolsrc/src/vcpkg/build.cpp84
-rw-r--r--toolsrc/src/vcpkg/dependencies.cpp2
-rw-r--r--toolsrc/src/vcpkg/export.cpp37
141 files changed, 2974 insertions, 383 deletions
diff --git a/ports/argagg/CONTROL b/ports/argagg/CONTROL
index d4265021d..d317cbe27 100644
--- a/ports/argagg/CONTROL
+++ b/ports/argagg/CONTROL
@@ -1,3 +1,3 @@
Source: argagg
-Version: 2019-01-25
+Version: 0.4.6
Description: A simple C++11 command line argument parser
diff --git a/ports/argagg/portfile.cmake b/ports/argagg/portfile.cmake
index 1f7ed54de..f32855eae 100644
--- a/ports/argagg/portfile.cmake
+++ b/ports/argagg/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO vietjtnguyen/argagg
- REF e678cebf90d8f132f5e54f19c6b95b75e655226c
- SHA512 10085caaf9bfb507ae7117b61bfe6174dc2af91c347393c3cbb994fe5b824d4b439e1e0d2e2580dc34568d8046529acc211f76863be047d05d3845e9ff19ccbf
+ REF 0.4.6
+ SHA512 7d8cf04a7c679518f01120830637c68719dd67a765457789eb4afedbead7be9efadc6bcdf640999329aaaf8659a5e5d1896f66587068cc668a7c49703aca3070
HEAD_REF master
)
diff --git a/ports/argparse/CONTROL b/ports/argparse/CONTROL
index c7c33adac..58aee48ef 100644
--- a/ports/argparse/CONTROL
+++ b/ports/argparse/CONTROL
@@ -1,4 +1,4 @@
Source: argparse
-Version: 2019-06-10
+Version: 1.9
Description: Argument parser for modern C++
Homepage: https://github.com/p-ranav/argparse
diff --git a/ports/argparse/portfile.cmake b/ports/argparse/portfile.cmake
index 0ad21e10a..a3d38d4b4 100644
--- a/ports/argparse/portfile.cmake
+++ b/ports/argparse/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO p-ranav/argparse
- REF 2c71311b5fa49b7d65e6628375f2748d58830856
- SHA512 08a28a3fb424befe7df9a428fbad8e2687a1b331d7099bfaca2c3e04d8d4b4888e99d481226407bf90bfce282388545b09e4125128215cc95dc56fb313641bf6
+ REF v1.9
+ SHA512 6cfc7fc274a11093fe5254f244adaacdcc81123b1d7e9b51110ffdfe9a344fb59044ec9d98017f25aa8ea417d57cfca330fdea7161226da26f1b4fc199fdc4fb
HEAD_REF master
)
diff --git a/ports/azure-c-shared-utility/CONTROL b/ports/azure-c-shared-utility/CONTROL
index 08223a62c..40cf38523 100644
--- a/ports/azure-c-shared-utility/CONTROL
+++ b/ports/azure-c-shared-utility/CONTROL
@@ -1,5 +1,5 @@
Source: azure-c-shared-utility
-Version: 2019-05-16.1
+Version: 2019-08-20.1
Description: Azure C SDKs common code
Build-Depends: curl (linux), openssl (linux), azure-macro-utils-c, umock-c
diff --git a/ports/azure-c-shared-utility/portfile.cmake b/ports/azure-c-shared-utility/portfile.cmake
index c43bf4451..3b95bd6dd 100644
--- a/ports/azure-c-shared-utility/portfile.cmake
+++ b/ports/azure-c-shared-utility/portfile.cmake
@@ -6,8 +6,8 @@ if("public-preview" IN_LIST FEATURES)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Azure/azure-c-shared-utility
- REF f0642196af85aeb4f2717d9cc11176290f321fb8
- SHA512 fd8ee6e2be11c13f7388e57eb9c98397b6cb026ca370131db55b6118908701cdff2a1eaabb89bfe84591d6ee17163d06b7b86ad615216203bcbf0c8595d45452
+ REF 1f3fd807c8c47b6607d349469301afb64643aa89
+ SHA512 312ef2668ad62cb676c51474ba08307bacf9843d661233f7a6145e565ae58dcecb7bfa2e8a157efef1b54e8c07621bf2ec47b4d76ea180d77767b1ad44b951c2
HEAD_REF master
PATCHES no-double-expand-cmake.patch
)
@@ -15,8 +15,8 @@ else()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Azure/azure-c-shared-utility
- REF f0642196af85aeb4f2717d9cc11176290f321fb8
- SHA512 fd8ee6e2be11c13f7388e57eb9c98397b6cb026ca370131db55b6118908701cdff2a1eaabb89bfe84591d6ee17163d06b7b86ad615216203bcbf0c8595d45452
+ REF 1f3fd807c8c47b6607d349469301afb64643aa89
+ SHA512 312ef2668ad62cb676c51474ba08307bacf9843d661233f7a6145e565ae58dcecb7bfa2e8a157efef1b54e8c07621bf2ec47b4d76ea180d77767b1ad44b951c2
HEAD_REF master
PATCHES no-double-expand-cmake.patch
)
diff --git a/ports/azure-iot-sdk-c/CONTROL b/ports/azure-iot-sdk-c/CONTROL
index 8cebc0601..33349bef1 100644
--- a/ports/azure-iot-sdk-c/CONTROL
+++ b/ports/azure-iot-sdk-c/CONTROL
@@ -1,5 +1,5 @@
Source: azure-iot-sdk-c
-Version: 2019-07-01.1
+Version: 2019-08-20.1
Build-Depends: azure-uamqp-c, azure-umqtt-c, azure-c-shared-utility, parson, azure-uhttp-c, azure-macro-utils-c, umock-c
Description: A C99 SDK for connecting devices to Microsoft Azure IoT services
diff --git a/ports/azure-iot-sdk-c/portfile.cmake b/ports/azure-iot-sdk-c/portfile.cmake
index 290dc304b..318856a30 100644
--- a/ports/azure-iot-sdk-c/portfile.cmake
+++ b/ports/azure-iot-sdk-c/portfile.cmake
@@ -6,8 +6,8 @@ if("public-preview" IN_LIST FEATURES)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Azure/azure-iot-sdk-c
- REF f3f9538960d9b29033e52522dd63e985ba970504
- SHA512 f8ce98d62425da4bec1c9e99b7b662a615d90a9407e03f7ce31a56fb8848f6bda1a39156bbabf351383e490dc3438d842136220dcf08efb1560e21d9ac76a0ba
+ REF 8b7cc18456f377b7f0df42dcdefb24ae81d9e7fc
+ SHA512 0386889fc3d32a795998a35a382cce6d11f6712416f3a1a49de6ea7d9c0c973ca05989353ee9a3ec5ca02dc55c2b59dc803cbf4866b918274667e52d03d1490f
HEAD_REF public-preview
PATCHES improve-external-deps.patch
)
diff --git a/ports/azure-macro-utils-c/CONTROL b/ports/azure-macro-utils-c/CONTROL
index 40aaa75fe..8e75a6088 100644
--- a/ports/azure-macro-utils-c/CONTROL
+++ b/ports/azure-macro-utils-c/CONTROL
@@ -1,5 +1,5 @@
Source: azure-macro-utils-c
-Version: 2019-05-16.1
+Version: 2019-08-20.1
Description: A library of macros for the Azure IoT SDK Suite
Build-Depends:
diff --git a/ports/azure-macro-utils-c/portfile.cmake b/ports/azure-macro-utils-c/portfile.cmake
index d516e59e9..6f4713e74 100644
--- a/ports/azure-macro-utils-c/portfile.cmake
+++ b/ports/azure-macro-utils-c/portfile.cmake
@@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Azure/azure-macro-utils-c
- REF 38729b4b7ac3ea8b7d71e394782b861ecb25193e
- SHA512 c9c820e74aee403d45f257359318d3435e5d6534afe821da5679bc462e26ad256dd01ed253a80ba1c58343f850ef1026280533a152c4b0465527f6537b3092d3
+ REF 17a6ad1df91e57d6981366710096798bcb5991a6
+ SHA512 8f5b9561ff303832834113098a3c9eeace1f1fbbc55e508c50d0f75bfe08ee05b54a8d6a0786148c5e7861a0149317a2cc113022626f8ac72df732bda9162855
HEAD_REF master
)
diff --git a/ports/azure-uamqp-c/CONTROL b/ports/azure-uamqp-c/CONTROL
index db9200f4c..c9625f49a 100644
--- a/ports/azure-uamqp-c/CONTROL
+++ b/ports/azure-uamqp-c/CONTROL
@@ -1,5 +1,5 @@
Source: azure-uamqp-c
-Version: 2019-05-16.1
+Version: 2019-08-20.1
Build-Depends: azure-c-shared-utility, azure-macro-utils-c, umock-c
Description: AMQP library for C
diff --git a/ports/azure-uamqp-c/portfile.cmake b/ports/azure-uamqp-c/portfile.cmake
index 517eca19a..1b3d71cda 100644
--- a/ports/azure-uamqp-c/portfile.cmake
+++ b/ports/azure-uamqp-c/portfile.cmake
@@ -6,16 +6,16 @@ if("public-preview" IN_LIST FEATURES)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Azure/azure-uamqp-c
- REF 5ceebf6ec8d1973cfa80804077c7cef23d3b36af
- SHA512 6dc7ffc386339db54ff387760119ae5ffd564642cd18d0dc177e6302167cc3b40bdd0f4d9e50478db8d2760166b15058b53b9eb2d1c160f234693a59ac762a75
+ REF 6922680bda8581e8c8df34a764d32e62a8498943
+ SHA512 1ba060efc2330967aae53b43879c7566f90ec539f28cc6e7054852235c916ad9254628415b79ff25e4191302911673ec501d97c6707e8f65a5583f687a64b2aa
HEAD_REF master
)
else()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Azure/azure-uamqp-c
- REF 5ceebf6ec8d1973cfa80804077c7cef23d3b36af
- SHA512 6dc7ffc386339db54ff387760119ae5ffd564642cd18d0dc177e6302167cc3b40bdd0f4d9e50478db8d2760166b15058b53b9eb2d1c160f234693a59ac762a75
+ REF 6922680bda8581e8c8df34a764d32e62a8498943
+ SHA512 1ba060efc2330967aae53b43879c7566f90ec539f28cc6e7054852235c916ad9254628415b79ff25e4191302911673ec501d97c6707e8f65a5583f687a64b2aa
HEAD_REF master
)
endif()
diff --git a/ports/azure-uhttp-c/CONTROL b/ports/azure-uhttp-c/CONTROL
index f282a27f2..de229540e 100644
--- a/ports/azure-uhttp-c/CONTROL
+++ b/ports/azure-uhttp-c/CONTROL
@@ -1,5 +1,5 @@
Source: azure-uhttp-c
-Version: 2019-05-16.1
+Version: 2019-08-20.1
Build-Depends: azure-c-shared-utility, azure-macro-utils-c, umock-c
Description: Azure HTTP Library written in C
diff --git a/ports/azure-uhttp-c/portfile.cmake b/ports/azure-uhttp-c/portfile.cmake
index af5afc875..491309455 100644
--- a/ports/azure-uhttp-c/portfile.cmake
+++ b/ports/azure-uhttp-c/portfile.cmake
@@ -6,16 +6,16 @@ if("public-preview" IN_LIST FEATURES)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Azure/azure-uhttp-c
- REF b8976adff02e543fc00e7db59eae9ce78dd014fe
- SHA512 65ddccc07831309c4f3f8546bb1a45a6eff84674013311a15c99389d4fc33eaf2ef3da6c7c8e4bb03d32955d12c978190e7badb597379a9fefda4ebcf18827ec
+ REF 15fba15a8247746d6131aeefbcd394bdea202fc0
+ SHA512 f7f93d2041407b353cd407d8487469a2e7131911b826b7fd4598025432cc0625124a935ca6346d6db2fe2149747cdb3a8b19040dc7f90e1a196c020a85f454f4
HEAD_REF master
)
else()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Azure/azure-uhttp-c
- REF b8976adff02e543fc00e7db59eae9ce78dd014fe
- SHA512 65ddccc07831309c4f3f8546bb1a45a6eff84674013311a15c99389d4fc33eaf2ef3da6c7c8e4bb03d32955d12c978190e7badb597379a9fefda4ebcf18827ec
+ REF 15fba15a8247746d6131aeefbcd394bdea202fc0
+ SHA512 f7f93d2041407b353cd407d8487469a2e7131911b826b7fd4598025432cc0625124a935ca6346d6db2fe2149747cdb3a8b19040dc7f90e1a196c020a85f454f4
HEAD_REF master
)
endif()
diff --git a/ports/azure-umqtt-c/CONTROL b/ports/azure-umqtt-c/CONTROL
index 2138a45b1..4d098b391 100644
--- a/ports/azure-umqtt-c/CONTROL
+++ b/ports/azure-umqtt-c/CONTROL
@@ -1,5 +1,5 @@
Source: azure-umqtt-c
-Version: 2019-05-16.1
+Version: 2019-08-20.1
Build-Depends: azure-c-shared-utility, azure-macro-utils-c, umock-c
Description: General purpose library for communication over the mqtt protocol
diff --git a/ports/azure-umqtt-c/portfile.cmake b/ports/azure-umqtt-c/portfile.cmake
index d64dd01d4..83bf227ab 100644
--- a/ports/azure-umqtt-c/portfile.cmake
+++ b/ports/azure-umqtt-c/portfile.cmake
@@ -6,16 +6,16 @@ if("public-preview" IN_LIST FEATURES)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Azure/azure-umqtt-c
- REF c37883fbb05218fd940b87899a116af240f90c40
- SHA512 21bbe6dfafcc96d35775ab83a75334fbfd41a55a82a7da483d5ff179aa3792424851f250007c9603ef17c789d8b23b1a8b81580fc2cf793fd00b487c321fdba3
+ REF 5764c24be5db7a7c5988a5f1d63c329f68f1c8d8
+ SHA512 c5a976b84a9efb0951ae60b3dc7bae9862c7eac633ced2cf252fc3133cb06f16c584f8dfd5ce74adeadc5c922742c8e8fa31813e00e80cd67c39fc1825002c64
HEAD_REF master
)
else()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Azure/azure-umqtt-c
- REF c37883fbb05218fd940b87899a116af240f90c40
- SHA512 21bbe6dfafcc96d35775ab83a75334fbfd41a55a82a7da483d5ff179aa3792424851f250007c9603ef17c789d8b23b1a8b81580fc2cf793fd00b487c321fdba3
+ REF 5764c24be5db7a7c5988a5f1d63c329f68f1c8d8
+ SHA512 c5a976b84a9efb0951ae60b3dc7bae9862c7eac633ced2cf252fc3133cb06f16c584f8dfd5ce74adeadc5c922742c8e8fa31813e00e80cd67c39fc1825002c64
HEAD_REF master
)
endif()
diff --git a/ports/basisu/CONTROL b/ports/basisu/CONTROL
index f31edab07..77b3891a1 100644
--- a/ports/basisu/CONTROL
+++ b/ports/basisu/CONTROL
@@ -1,5 +1,6 @@
Source: basisu
-Version: 0.0.1-1
+Version: 1.11-1
Homepage: https://github.com/BinomialLLC/basis_universal
Description: Basis Universal is a supercompressed GPU texture and video compression format that outputs a highly compressed intermediate file format (.basis) that can be quickly transcoded to a wide variety of GPU texture compression formats.
-Build-Depends: lodepng \ No newline at end of file
+Build-Depends: lodepng
+
diff --git a/ports/basisu/portfile.cmake b/ports/basisu/portfile.cmake
index 7882f0d22..6dfb2ba1f 100644
--- a/ports/basisu/portfile.cmake
+++ b/ports/basisu/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO jherico/basis_universal
- REF 11aa181a4bbf051475a01a1e73e39bf388819215
- SHA512 62d7de6c6ca5e6235c8a377767389a7d5393e05bb5d0c024ce756e77d235132efa48280c9d529b6a91eddf0c906c3c84b6b78fdf339b1a47039b28d04161d2fe
+ REF d303a93f48606829378dd413142d5e1ea744021c
+ SHA512 aeb29f60904eb19840748a1d6b1b11cd61828362df06c8715d59c7c1556bcd5f78b962dd02bf738249277346a357d2d0f53e0432015eee74978416a1e7e68272
HEAD_REF master
)
diff --git a/ports/cgltf/CONTROL b/ports/cgltf/CONTROL
index 948fde883..1de82b271 100644
--- a/ports/cgltf/CONTROL
+++ b/ports/cgltf/CONTROL
@@ -1,3 +1,3 @@
Source: cgltf
-Version: 1.2
+Version: 1.3
Description: Single-file glTF 2.0 parser written in C99
diff --git a/ports/cgltf/portfile.cmake b/ports/cgltf/portfile.cmake
index 75b5ce191..6754e969a 100644
--- a/ports/cgltf/portfile.cmake
+++ b/ports/cgltf/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO jkuhlmann/cgltf
- REF v1.2
- SHA512 3a678023ffd25416a1454da5e67bdf303d08dcd5a46e19a912dc2dfc549a6cd5800024649757c19653f9b2763fc6342d8dd398e940b2df6c3e1b222a4fd2e0e1
+ REF v1.3
+ SHA512 4fc68654b7903a21156d900184626d1325421092f0dd060b9f20cff1dec29d0a057fc1f3b4e79e36a0cfc6bc7447f7c2ac8a0ecb78c85a337356908a9c69478e
HEAD_REF master
)
diff --git a/ports/clara/CONTROL b/ports/clara/CONTROL
index cb0c84df3..bb0af5dfb 100644
--- a/ports/clara/CONTROL
+++ b/ports/clara/CONTROL
@@ -1,4 +1,4 @@
Source: clara
-Version: 2019-03-29
+Version: 1.1.5
Homepage: https://github.com/philsquared/Clara
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 583a07b53..e0f82af5a 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 e3061072fd5a3739fbd11e56ecb7fef5fbd33e04
- SHA512 5ad4b4842153e11b3e82579858c159a85c9ef76e8278ef97befecaedcd79508e89a3fcb5f5b5c3f0ac48064d5627e08cdd2a1db046a95f5b2d55d7b8a4437a92
+ REF v1.1.5
+ SHA512 10aed7452eaf95c785899086118181615d29496d9f6e5b7054005b565afb642fcdf18b87ebb2dae4e9e365c434be9463c1a5d1a4c4ab17b95a87b89a7f7e3b08
HEAD_REF master
)
file(INSTALL ${SOURCE_PATH}/single_include/clara.hpp DESTINATION ${CURRENT_PACKAGES_DIR}/include)
diff --git a/ports/clp/CONTROL b/ports/clp/CONTROL
index adf2036bf..5e83cb98e 100644
--- a/ports/clp/CONTROL
+++ b/ports/clp/CONTROL
@@ -1,4 +1,4 @@
Source: clp
-Version: 1.17.2-2
+Version: 1.17.3
Description: Clp (Coin-or linear programming) is an open-source linear programming solver written in C++. It is primarily meant to be used as a callable library, but a basic, stand-alone executable version is also available.
Build-Depends: coinutils, osi
diff --git a/ports/clp/portfile.cmake b/ports/clp/portfile.cmake
index 945a38199..993e7472e 100644
--- a/ports/clp/portfile.cmake
+++ b/ports/clp/portfile.cmake
@@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO coin-or/Clp
- REF releases/1.17.2
- SHA512 70c44f19fca58c64a745c22b6687f7885dfc88196e1dcb0c3be5b7187ccb541a7e85513eb448dd26a163dd78596c57762f4b103d4027056cf53c5c5a994dc35f
+ REF releases/1.17.3
+ SHA512 aa2ed96e01d7cf31ba85756001f430296b1983c6b16a814d845e63bbaca5331cfc71c5ef55e94200da389f138e9766cc745b21e5649f09cb9da473d454c5e062
)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
diff --git a/ports/cryptopp/CONTROL b/ports/cryptopp/CONTROL
index 04c25da70..23a7bb456 100644
--- a/ports/cryptopp/CONTROL
+++ b/ports/cryptopp/CONTROL
@@ -1,4 +1,4 @@
Source: cryptopp
-Version: 8.1.0-2
+Version: 8.2.0
Homepage: https://github.com/weidai11/cryptopp
Description: Crypto++ is a free C++ class library of cryptographic schemes.
diff --git a/ports/cryptopp/missing-flags.patch b/ports/cryptopp/missing-flags.patch
deleted file mode 100644
index 349219233..000000000
--- a/ports/cryptopp/missing-flags.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index b49fff6..f753e75 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -639,6 +639,7 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "GNU
- set_source_files_properties(${SRC_DIR}/simeck_simd.cpp PROPERTIES COMPILE_FLAGS "-mssse3")
- set_source_files_properties(${SRC_DIR}/simon128_simd.cpp PROPERTIES COMPILE_FLAGS "-mssse3")
- set_source_files_properties(${SRC_DIR}/speck128_simd.cpp PROPERTIES COMPILE_FLAGS "-mssse3")
-+ set_source_files_properties(${SRC_DIR}/keccak_simd.cpp PROPERTIES COMPILE_FLAGS "-mssse3")
- if (CRYPTOPP_IA32_SSE41 AND NOT DISABLE_SSE4)
- set_source_files_properties(${SRC_DIR}/blake2s_simd.cpp PROPERTIES COMPILE_FLAGS "-msse4.1")
- set_source_files_properties(${SRC_DIR}/blake2b_simd.cpp PROPERTIES COMPILE_FLAGS "-msse4.1")
-@@ -648,6 +649,7 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "GNU
- if (CRYPTOPP_IA32_SSE42 AND NOT DISABLE_SSE4)
- set_source_files_properties(${SRC_DIR}/crc_simd.cpp PROPERTIES COMPILE_FLAGS "-msse4.2")
- if (CRYPTOPP_IA32_CLMUL AND NOT DISABLE_AES)
-+ set_source_files_properties(${SRC_DIR}/gf2n_simd.cpp PROPERTIES COMPILE_FLAGS "-mpclmul")
- set_source_files_properties(${SRC_DIR}/gcm_simd.cpp PROPERTIES COMPILE_FLAGS "-mssse3 -mpclmul")
- endif ()
- if (CRYPTOPP_IA32_AES AND NOT DISABLE_AES)
diff --git a/ports/cryptopp/portfile.cmake b/ports/cryptopp/portfile.cmake
index 728436d59..d744deccd 100644
--- a/ports/cryptopp/portfile.cmake
+++ b/ports/cryptopp/portfile.cmake
@@ -5,20 +5,18 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH CMAKE_SOURCE_PATH
REPO noloader/cryptopp-cmake
- REF b97d72f083fefa249e46ae3c15a2c294e615fca2
- SHA512 e6c65bb81a47009fa568c957beea65c37f2283bdc5afad6a45983f685c0b9c9c01ac4bb334d45dacbdc74f9d834b316c09cbb16d3ead7fb48737fbad76ff3f8d
+ REF 6d0666c457fbbf6f81819fd2b80f0cb5b6646593
+ SHA512 0341f14ce734afaee8bcc1db1716684f241499c692a5478c83a3df3fd2e5331cd04b2f4f51d43cce231ca1d9fbe76220639573c05ef06be0cf33081a1ef7ab30
HEAD_REF master
PATCHES
cmake.patch
- simon-speck.patch
- missing-flags.patch
)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO weidai11/cryptopp
- REF CRYPTOPP_8_1_0
- SHA512 2b09b30c53a8f95a9c3204a48867174c70a1e97171854122f4d8454b25d5af9b94cab2c210dd9857c7db66df881849183e82b6155b80bfef6e69dac8efd2ea9a
+ REF CRYPTOPP_8_2_0
+ SHA512 d2dcc107091d00800de243abdce8286ccd7fcc5707eebf88b97675456a021e62002e942b862db0465f72142951f631c0c1f0b2ba56028b96461780a17f2dfdf9
HEAD_REF master
PATCHES patch.patch
)
diff --git a/ports/cryptopp/simon-speck.patch b/ports/cryptopp/simon-speck.patch
deleted file mode 100644
index a1d911930..000000000
--- a/ports/cryptopp/simon-speck.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 7d64977..4ec3ebd 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -497,6 +497,8 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "GNU
- set_source_files_properties(${SRC_DIR}/simeck-simd.cpp PROPERTIES COMPILE_FLAGS "-mssse3")
- set_source_files_properties(${SRC_DIR}/simon128-simd.cpp PROPERTIES COMPILE_FLAGS "-mssse3")
- set_source_files_properties(${SRC_DIR}/speck128-simd.cpp PROPERTIES COMPILE_FLAGS "-mssse3")
-+ set_source_files_properties(${SRC_DIR}/simon-simd.cpp PROPERTIES COMPILE_FLAGS "-mssse3")
-+ set_source_files_properties(${SRC_DIR}/speck-simd.cpp PROPERTIES COMPILE_FLAGS "-mssse3")
- if (CRYPTOPP_IA32_SSE41 AND NOT DISABLE_SSE4)
- set_source_files_properties(${SRC_DIR}/blake2-simd.cpp PROPERTIES COMPILE_FLAGS "-msse4.1")
- set_source_files_properties(${SRC_DIR}/simon64-simd.cpp PROPERTIES COMPILE_FLAGS "-msse4.1")
diff --git a/ports/dimcli/CONTROL b/ports/dimcli/CONTROL
index 12078257a..a477eb38b 100644
--- a/ports/dimcli/CONTROL
+++ b/ports/dimcli/CONTROL
@@ -1,4 +1,4 @@
Source: dimcli
-Version: 4.1.0-1
+Version: 5.0.0
Homepage: https://github.com/gknowles/dimcli
Description: C++ command line parser toolkit
diff --git a/ports/dimcli/portfile.cmake b/ports/dimcli/portfile.cmake
index 2d231117c..2c8049a43 100644
--- a/ports/dimcli/portfile.cmake
+++ b/ports/dimcli/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO gknowles/dimcli
- REF v4.1.0
- SHA512 5de010b5abfda9e6996bba8c621e03ae0cf81dbc2f69cd859e2ebf7b1706c451f7f8e142299784646d89ca3c3e5803e8711215680b8bdb8eb663158bff3b4f3d
+ REF v5.0.0
+ SHA512 504e6f53e83ce17e8e4b59ecf1a610c2249c2bf48a308b1ee5db0e0e85d3cb08178d24534b5dee8bfaac83fd44c68cbbe8d300283d0023467b724a9340b56e4c
HEAD_REF master
PATCHES
fix-NameBoolean.patch
diff --git a/ports/distorm/CONTROL b/ports/distorm/CONTROL
index 21dc43923..620dfa981 100644
--- a/ports/distorm/CONTROL
+++ b/ports/distorm/CONTROL
@@ -1,3 +1,3 @@
Source: distorm
-Version: 2018-08-26-16e6f435-1
+Version: 3.4.1
Description: Powerful Disassembler Library For x86/AMD64 \ No newline at end of file
diff --git a/ports/distorm/portfile.cmake b/ports/distorm/portfile.cmake
index 9afec4e49..b1066ccd8 100644
--- a/ports/distorm/portfile.cmake
+++ b/ports/distorm/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO gdabah/distorm
- REF 16e6f43509616234b8478187c00569a65f15287c
- SHA512 2ecbacaaf07a07cf725adf25732807476fdaa1d3a44994a90c70ddbd2ec3db4c75c88b28188f8a48a0fb7b4fe79ae4f7b717cf72b3a0154232310ed56677a9a3
+ REF v3.4.1
+ SHA512 0e9f8b62bc190ef7d516f1902b6003adef9c7d5d4a5f985fb0bdfc5d4838b2805e2b8836b02d5eccdb3401e814417de615dec675aed9e606c93122ca8a0d2083
HEAD_REF master
)
diff --git a/ports/eastl/CONTROL b/ports/eastl/CONTROL
index 5e0c40bf7..9a0c698db 100644
--- a/ports/eastl/CONTROL
+++ b/ports/eastl/CONTROL
@@ -1,5 +1,5 @@
Source: eastl
-Version: 3.14.00
+Version: 3.14.01
Homepage: https://github.com/electronicarts/EASTL
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/fixchar8_t.patch b/ports/eastl/fixchar8_t.patch
deleted file mode 100644
index 51fcfe69a..000000000
--- a/ports/eastl/fixchar8_t.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/scripts/CMake/CommonCppFlags.cmake b/scripts/CMake/CommonCppFlags.cmake
-index 566fbee..4fcca61 100644
---- a/scripts/CMake/CommonCppFlags.cmake
-+++ b/scripts/CMake/CommonCppFlags.cmake
-@@ -54,7 +54,7 @@ elseif(CMAKE_CXX_COMPILER_ID MATCHES "GNU")
- message(FATAL_ERROR "Building with a gcc version less than 4.7.3 is not supported.")
- endif()
- elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
-- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /std:c++latest /W4 /permissive-")
-+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /std:c++latest /W4 /permissive- /Zc:char8_t-")
- endif()
-
-
diff --git a/ports/eastl/portfile.cmake b/ports/eastl/portfile.cmake
index e1c1a0d44..fcbe02f7e 100644
--- a/ports/eastl/portfile.cmake
+++ b/ports/eastl/portfile.cmake
@@ -17,11 +17,10 @@ set(EABASE_PATH ${SOURCE_PATH})
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO electronicarts/EASTL
- REF dcd2b838d52de13691999aff8faeaa8f284928ac
- SHA512 9756ee47a30447f17ceb45fb5143d6e80905636cf709c171059a83f74094fb25391c896de0ea5e063cdad4e7334c5f963c75b1c34ad539fd24175983a2054159
+ REF 3.14.01
+ SHA512 efc03bdd4b6371b3fb4b75cac31ce3081290e9177453914a4fbb601d1ba44d65a86f2e98b7b27efbd985f37bd59a80169cf58beb3a32e5b3672ea2a2d6dd78d1
HEAD_REF master
PATCHES
- fixchar8_t.patch # can be removed after electronicarts/EASTL#274 is resolved
fix_cmake_install.patch
)
diff --git a/ports/embree3/CONTROL b/ports/embree3/CONTROL
index 77d06de9b..431f60704 100644
--- a/ports/embree3/CONTROL
+++ b/ports/embree3/CONTROL
@@ -1,4 +1,5 @@
Source: embree3
-Version: 3.5.2
+Version: 3.5.2-1
+Homepage: https://github.com/embree/embree
Description: High Performance Ray Tracing Kernels.
Build-Depends: tbb
diff --git a/ports/embree3/fix-InstallPath.patch b/ports/embree3/fix-InstallPath.patch
new file mode 100644
index 000000000..316fa594d
--- /dev/null
+++ b/ports/embree3/fix-InstallPath.patch
@@ -0,0 +1,15 @@
+diff --git a/common/cmake/package.cmake b/common/cmake/package.cmake
+index 3c3980d..0c365ac 100644
+--- a/common/cmake/package.cmake
++++ b/common/cmake/package.cmake
+@@ -124,8 +124,8 @@ CONFIGURE_FILE(common/cmake/embree-config-version.cmake embree-config-version.cm
+ # create a config file for the build directory
+ CONFIGURE_FILE(common/cmake/embree-config-builddir.cmake embree-config.cmake @ONLY)
+
+-INSTALL(FILES "${PROJECT_BINARY_DIR}/embree-config-install.cmake" DESTINATION ${EMBREE_CMAKECONFIG_DIR} RENAME "embree-config.cmake" COMPONENT devel)
+-INSTALL(FILES "${PROJECT_BINARY_DIR}/embree-config-version.cmake" DESTINATION ${EMBREE_CMAKECONFIG_DIR} COMPONENT devel)
++INSTALL(FILES "${PROJECT_BINARY_DIR}/embree-config-install.cmake" DESTINATION ${EMBREE_CMAKECONFIG_DIR}/share/embree3 RENAME "embree-config.cmake" COMPONENT devel)
++INSTALL(FILES "${PROJECT_BINARY_DIR}/embree-config-version.cmake" DESTINATION ${EMBREE_CMAKECONFIG_DIR}/share/embree3 COMPONENT devel)
+
+ ##############################################################
+ # CPack specific stuff
diff --git a/ports/embree3/portfile.cmake b/ports/embree3/portfile.cmake
index 142be6cd6..4abc91470 100644
--- a/ports/embree3/portfile.cmake
+++ b/ports/embree3/portfile.cmake
@@ -6,6 +6,8 @@ vcpkg_from_github(
REF v3.5.2
SHA512 f00403c8bc76428088a38990117245b5b11ac90a2df21fa12c2d5c2e8af45fb3708abb705c612e0d9d7b0cfe4edb51c8b9630b60081b39fcb4370f31ee37acc7
HEAD_REF master
+ PATCHES
+ fix-InstallPath.patch
)
file(REMOVE ${SOURCE_PATH}/common/cmake/FindTBB.cmake)
@@ -33,18 +35,13 @@ vcpkg_configure_cmake(
vcpkg_install_cmake()
vcpkg_copy_pdbs()
-# these cmake files do not seem to contain helpful configuration for find libs, just remove them
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/embree-config.cmake)
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/embree-config-version.cmake)
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/embree-config.cmake)
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/embree-config-version.cmake)
+if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin")
+ vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake)
+endif()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin/models)
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin/models)
-file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/embree3)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/doc ${CURRENT_PACKAGES_DIR}/share/embree3/doc)
# Handle copyright
diff --git a/ports/fribidi/CONTROL b/ports/fribidi/CONTROL
index 098748ee8..e493429d4 100644
--- a/ports/fribidi/CONTROL
+++ b/ports/fribidi/CONTROL
@@ -1,3 +1,3 @@
Source: fribidi
-Version: 58c6cb3
+Version: 2019-02-04-1
Description: GNU FriBidi is an implementation of the Unicode Bidirectional Algorithm (bidi)
diff --git a/ports/fribidi/fix-win-static-suffix.patch b/ports/fribidi/fix-win-static-suffix.patch
new file mode 100644
index 000000000..87f288e93
--- /dev/null
+++ b/ports/fribidi/fix-win-static-suffix.patch
@@ -0,0 +1,39 @@
+diff --git a/lib/meson.build b/lib/meson.build
+index 573d47f..c9b249e 100644
+--- a/lib/meson.build
++++ b/lib/meson.build
+@@ -71,14 +71,26 @@ fribidi_sources = [
+ 'fribidi-shape.c',
+ ]
+
+-libfribidi = library('fribidi',
+- fribidi_sources, fribidi_unicode_version_h, fribidi_config_h,
+- generated_tab_include_files, config_h,
+- include_directories: incs,
+- c_args: ['-DHAVE_CONFIG_H'] + visibility_args,
+- version: libversion,
+- soversion: soversion,
+- install: true)
++if host_machine.system() == 'windows' and get_option('default_library') == 'static'
++ libfribidi = library('fribidi',
++ fribidi_sources, fribidi_unicode_version_h, fribidi_config_h,
++ generated_tab_include_files, config_h,
++ include_directories: incs,
++ c_args: ['-DHAVE_CONFIG_H'] + visibility_args,
++ version: libversion,
++ soversion: soversion,
++ install: true,
++ name_suffix: 'lib')
++else
++ libfribidi = library('fribidi',
++ fribidi_sources, fribidi_unicode_version_h, fribidi_config_h,
++ generated_tab_include_files, config_h,
++ include_directories: incs,
++ c_args: ['-DHAVE_CONFIG_H'] + visibility_args,
++ version: libversion,
++ soversion: soversion,
++ install: true)
++endif
+
+ libfribidi_dep = declare_dependency(link_with: libfribidi,
+ include_directories: incs,
diff --git a/ports/fribidi/portfile.cmake b/ports/fribidi/portfile.cmake
index 5b45a17b1..843964500 100644
--- a/ports/fribidi/portfile.cmake
+++ b/ports/fribidi/portfile.cmake
@@ -6,6 +6,7 @@ vcpkg_from_github(
REF 58c6cb390a9a18c98b2cbaac555d8ea9352a9e4f
SHA512 1ec9c19faa87886786ce1589e2c66cab173b48e34d0e43487becc8606001f21f6ed17d0abd1c322fbbcaeb96a47ed882cad228be2e9beb019020ca2a475fc298
HEAD_REF master
+ PATCHES fix-win-static-suffix.patch
)
vcpkg_configure_meson(
diff --git a/ports/gtest/CONTROL b/ports/gtest/CONTROL
index 97b5ad3a8..203c90aca 100644
--- a/ports/gtest/CONTROL
+++ b/ports/gtest/CONTROL
@@ -1,4 +1,4 @@
Source: gtest
-Version: 2019-08-14
+Version: 2019-08-14-1
Homepage: https://github.com/google/googletest
Description: GoogleTest and GoogleMock testing frameworks.
diff --git a/ports/gtest/fix-gmock-cmake.patch b/ports/gtest/fix-gmock-cmake.patch
new file mode 100644
index 000000000..6bb963a2b
--- /dev/null
+++ b/ports/gtest/fix-gmock-cmake.patch
@@ -0,0 +1,30 @@
+diff --git a/googlemock/CMakeLists.txt b/googlemock/CMakeLists.txt
+index 9d135ff..0be8a22 100644
+--- a/googlemock/CMakeLists.txt
++++ b/googlemock/CMakeLists.txt
+@@ -66,6 +66,25 @@ endif()
+ # call it again here.
+ config_compiler_and_linker() # from ${gtest_dir}/cmake/internal_utils.cmake
+
++# Create the CMake package file descriptors.
++if (INSTALL_GTEST)
++ include(CMakePackageConfigHelpers)
++ set(cmake_package_name GMock)
++ set(targets_export_name ${cmake_package_name}Targets CACHE INTERNAL "")
++ set(generated_dir "${CMAKE_CURRENT_BINARY_DIR}/generated" CACHE INTERNAL "")
++ set(cmake_files_install_dir "share/${cmake_package_name}")
++ set(version_file "${generated_dir}/${cmake_package_name}ConfigVersion.cmake")
++ write_basic_package_version_file(${version_file} COMPATIBILITY AnyNewerVersion)
++ install(EXPORT ${targets_export_name}
++ NAMESPACE ${cmake_package_name}::
++ DESTINATION ${cmake_files_install_dir})
++ set(config_file "${generated_dir}/${cmake_package_name}Config.cmake")
++ configure_package_config_file("${gtest_SOURCE_DIR}/cmake/Config.cmake.in"
++ "${config_file}" INSTALL_DESTINATION ${cmake_files_install_dir})
++ install(FILES ${version_file} ${config_file}
++ DESTINATION ${cmake_files_install_dir})
++endif()
++
+ # Adds Google Mock's and Google Test's header directories to the search path.
+ set(gmock_build_include_dirs
+ "${gmock_SOURCE_DIR}/include"
diff --git a/ports/gtest/fix-main-lib-path.patch b/ports/gtest/fix-main-lib-path.patch
new file mode 100644
index 000000000..e07806eec
--- /dev/null
+++ b/ports/gtest/fix-main-lib-path.patch
@@ -0,0 +1,68 @@
+diff --git a/googlemock/CMakeLists.txt b/googlemock/CMakeLists.txt
+index 3e72d75..9d135ff 100644
+--- a/googlemock/CMakeLists.txt
++++ b/googlemock/CMakeLists.txt
+@@ -115,7 +115,8 @@ endif()
+ ########################################################################
+ #
+ # Install rules
+-install_project(gmock gmock_main)
++install_project(gmock)
++install_project(gmock_main)
+
+ ########################################################################
+ #
+diff --git a/googletest/CMakeLists.txt b/googletest/CMakeLists.txt
+index e33718b..a049c2c 100644
+--- a/googletest/CMakeLists.txt
++++ b/googletest/CMakeLists.txt
+@@ -136,7 +136,8 @@ target_link_libraries(gtest_main PUBLIC gtest)
+ ########################################################################
+ #
+ # Install rules
+-install_project(gtest gtest_main)
++install_project(gtest)
++install_project(gtest_main)
+
+ ########################################################################
+ #
+diff --git a/googletest/cmake/internal_utils.cmake b/googletest/cmake/internal_utils.cmake
+index 69defc8..cf7295a 100644
+--- a/googletest/cmake/internal_utils.cmake
++++ b/googletest/cmake/internal_utils.cmake
+@@ -317,11 +317,15 @@ function(install_project)
+ install(DIRECTORY "${PROJECT_SOURCE_DIR}/include/"
+ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
+ # Install the project targets.
++ set (LIB_INSTALL_DST ${CMAKE_INSTALL_LIBDIR})
++ if (${ARGN} MATCHES "_main")
++ set (LIB_INSTALL_DST ${CMAKE_INSTALL_LIBDIR}/manual-link)
++ endif()
+ install(TARGETS ${ARGN}
+ EXPORT ${targets_export_name}
+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
+- ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
+- LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}")
++ ARCHIVE DESTINATION "${LIB_INSTALL_DST}"
++ LIBRARY DESTINATION "${LIB_INSTALL_DST}")
+ if(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
+ # Install PDBs
+ foreach(t ${ARGN})
+@@ -330,7 +334,7 @@ function(install_project)
+ get_target_property(t_pdb_output_directory ${t} PDB_OUTPUT_DIRECTORY)
+ install(FILES
+ "${t_pdb_output_directory}/\${CMAKE_INSTALL_CONFIG_NAME}/$<$<CONFIG:Debug>:${t_pdb_name_debug}>$<$<NOT:$<CONFIG:Debug>>:${t_pdb_name}>.pdb"
+- DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ DESTINATION ${LIB_INSTALL_DST}
+ OPTIONAL)
+ endforeach()
+ endif()
+@@ -340,7 +344,7 @@ function(install_project)
+ configure_file("${PROJECT_SOURCE_DIR}/cmake/${t}.pc.in"
+ "${configured_pc}" @ONLY)
+ install(FILES "${configured_pc}"
+- DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
++ DESTINATION "${LIB_INSTALL_DST}/pkgconfig")
+ endforeach()
+ endif()
+ endfunction()
diff --git a/ports/gtest/portfile.cmake b/ports/gtest/portfile.cmake
index c6fd0162c..2c36341ef 100644
--- a/ports/gtest/portfile.cmake
+++ b/ports/gtest/portfile.cmake
@@ -11,7 +11,9 @@ vcpkg_from_github(
SHA512 fc874a7977f11be58dc63993b520b4ae6ca43654fb5250c8b56df62a21f4dca8fcbdc81dfa106374b2bb7c59bc88952fbfc0e3ae4c7d63fdb502afbaeb39c822
HEAD_REF master
PATCHES
- ${CMAKE_CURRENT_LIST_DIR}/0002-Fix-z7-override.patch
+ 0002-Fix-z7-override.patch
+ fix-main-lib-path.patch
+ fix-gmock-cmake.patch
)
string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "dynamic" GTEST_FORCE_SHARED_CRT)
@@ -28,6 +30,7 @@ vcpkg_configure_cmake(
vcpkg_install_cmake()
vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/GTest)
+vcpkg_fixup_cmake_targets(CONFIG_PATH share/GMock)
file(
INSTALL
@@ -49,6 +52,12 @@ file(
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(INSTALL ${SOURCE_PATH}/googletest/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/gtest RENAME copyright)
+# Install gmock cmake files.
+file(GLOB GMOCK_CMAKE_FILES ${CURRENT_PACKAGES_DIR}/share/gtest/GMock*.cmake)
+file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/gmock)
+file(COPY ${GMOCK_CMAKE_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/share/gmock)
+file(REMOVE ${GMOCK_CMAKE_FILES})
+
if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/gtest_maind.lib)
file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link)
file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/gtest_maind.lib ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link/gtest_maind.lib)
diff --git a/ports/gtest/usage b/ports/gtest/usage
index d40782e0e..9ba65996e 100644
--- a/ports/gtest/usage
+++ b/ports/gtest/usage
@@ -1,6 +1,11 @@
The package gtest is compatible with built-in CMake targets:
enable_testing()
+
find_package(GTest MODULE REQUIRED)
target_link_libraries(main PRIVATE GTest::GTest GTest::Main)
+
+ find_package(GMock CONFIG REQUIRED)
+ target_link_libraries(main PRIVATE GMock::gmock GMock::gmock_main)
+
add_test(AllTestsInMain main)
diff --git a/ports/inih/CONTROL b/ports/inih/CONTROL
index 22c519e21..1b933c675 100644
--- a/ports/inih/CONTROL
+++ b/ports/inih/CONTROL
@@ -1,3 +1,3 @@
Source: inih
-Version: 44
+Version: 45
Description: Simple .INI file parser
diff --git a/ports/inih/portfile.cmake b/ports/inih/portfile.cmake
index a0a34d77f..369791bb6 100644
--- a/ports/inih/portfile.cmake
+++ b/ports/inih/portfile.cmake
@@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO benhoyt/inih
- REF b1dbff4b0bd1e1f40d237e21011f6dee0ec2fa69
- SHA512 b250a7d2a9a1a18793a5f7421d444cbf92c21f1aca5f767781221e2e64b0ba5e0804e82c3f8e4f2c0e08516f4ddbf1533e4d254c557bfb38d9a0da879b98cffb
+ REF r45
+ SHA512 bbec8b798b2ca32741e58467bcb843f991eaa6d687e7ed14dfaf412a9ddea8086b3088267bd30ef6c775d7a81593e181c561f320f8466e38f4ecbbdce9ce26df
HEAD_REF master
)
diff --git a/ports/ixwebsocket/CONTROL b/ports/ixwebsocket/CONTROL
index 98b64cd28..1da0010bc 100644
--- a/ports/ixwebsocket/CONTROL
+++ b/ports/ixwebsocket/CONTROL
@@ -1,7 +1,7 @@
Source: ixwebsocket
-Version: 4.0.3
+Version: 5.0.4
Build-Depends: zlib
-Description: Lightweight WebSocket Client and Server + HTTP Client
+Description: Lightweight WebSocket Client and Server + HTTP Client and Server
Default-Features: ssl
Feature: ssl
diff --git a/ports/ixwebsocket/portfile.cmake b/ports/ixwebsocket/portfile.cmake
index b4beeed9b..af3ee420d 100644
--- a/ports/ixwebsocket/portfile.cmake
+++ b/ports/ixwebsocket/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO machinezone/IXWebSocket
- REF v4.0.3
- SHA512 41cda81ef28ae2a51d77bf09158f4c07350f22b17ed4b6645a87c7defd2a901b7656de260bc785c42990ddbea0ab23ad6e099694d2712537de0ca328aee8e229
+ REF v5.0.4
+ SHA512 8e8f0050251ba71fa3bba01adbf6fd1a797518115ac8207481b89aebcadc310b98451cc141f3c8f69a0b8397f35b6e0fe51c65fbdc3d7d5e2a4271472f422b13
)
vcpkg_configure_cmake(
diff --git a/ports/leaf/CONTROL b/ports/leaf/CONTROL
index d85d93d9a..e7a7c9480 100644
--- a/ports/leaf/CONTROL
+++ b/ports/leaf/CONTROL
@@ -1,3 +1,3 @@
Source: leaf
-Version: 0.2.1-2
+Version: 0.2.2
Description: Lightweight error augmentation framework \ No newline at end of file
diff --git a/ports/leaf/portfile.cmake b/ports/leaf/portfile.cmake
index 1ff5e1e53..4d5c129bf 100644
--- a/ports/leaf/portfile.cmake
+++ b/ports/leaf/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO zajo/leaf
- REF 5fd08ee095c92b2bf4623b7237393e81f995ca7a
- SHA512 92b86dbba55d31808f442d27dd873dce1162b28213533e124df448ae4f7b4442733501b6539ab15f67a85e184e458a66df4e4e020a3a213b44578ebbde281a42
+ REF 0.2.2
+ SHA512 200a78e33fa919fbf996cfa5715f166e194b87776de79dec4c23d7a60b1f1e1c9db699f3d94d17b52c655e802ea63e1e6539538b180ecaafbfcf106b280b5c1f
HEAD_REF master
)
diff --git a/ports/leptonica/CONTROL b/ports/leptonica/CONTROL
index 0d65a10d5..cb700cb8a 100644
--- a/ports/leptonica/CONTROL
+++ b/ports/leptonica/CONTROL
@@ -1,5 +1,5 @@
Source: leptonica
-Version: 1.78.0
+Version: 1.78.0-1
Homepage: https://github.com/DanBloomberg/leptonica
Description: An open source library containing software that is broadly useful for image processing and image analysis applications
-Build-Depends: libjpeg-turbo, zlib, libpng, tiff, giflib
+Build-Depends: libjpeg-turbo, zlib, libpng, tiff, giflib, libwebp
diff --git a/ports/leptonica/find-dependency.patch b/ports/leptonica/find-dependency.patch
index 46348833e..2ed7fbb8c 100644
--- a/ports/leptonica/find-dependency.patch
+++ b/ports/leptonica/find-dependency.patch
@@ -1,18 +1,19 @@
-diff --git a/cmake/templates/LeptonicaConfig.cmake.in b/cmake/templates/LeptonicaConfig.cmake.in
-index d53904a..2aa2fea 100644
---- a/cmake/templates/LeptonicaConfig.cmake.in
-+++ b/cmake/templates/LeptonicaConfig.cmake.in
-@@ -20,6 +20,13 @@
- #
- # ===================================================================================
-
-+include(CMakeFindDependencyMacro)
-+find_dependency(TIFF)
-+find_dependency(ZLIB)
-+find_dependency(PNG)
-+find_dependency(JPEG)
-+find_dependency(GIF)
-+
- include(${CMAKE_CURRENT_LIST_DIR}/LeptonicaTargets.cmake)
-
- # ======================================================
+diff --git a/cmake/templates/LeptonicaConfig.cmake.in b/cmake/templates/LeptonicaConfig.cmake.in
+index 4f7527a..c6759d1 100644
+--- a/cmake/templates/LeptonicaConfig.cmake.in
++++ b/cmake/templates/LeptonicaConfig.cmake.in
+@@ -20,6 +20,14 @@
+ #
+ # ===================================================================================
+
++include(CMakeFindDependencyMacro)
++find_dependency(TIFF)
++find_dependency(ZLIB)
++find_dependency(PNG)
++find_dependency(JPEG)
++find_dependency(GIF)
++find_dependency(WebP)
++
+ include(${CMAKE_CURRENT_LIST_DIR}/LeptonicaTargets.cmake)
+
+ # ======================================================
diff --git a/ports/leptonica/fix-find-libwebp.patch b/ports/leptonica/fix-find-libwebp.patch
new file mode 100644
index 000000000..636bf655f
--- /dev/null
+++ b/ports/leptonica/fix-find-libwebp.patch
@@ -0,0 +1,14 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index debc232..2aa2d3a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -60,8 +60,7 @@ if(NOT EXISTS ${PROJECT_SOURCE_DIR}/.cppan)
+ endif()
+ if(NOT WEBP)
+ message(STATUS "Looking for WEBP")
+- find_path(WEBP_INCLUDE_DIR /webp/decode.h)
+- find_library(WEBP_LIBRARY NAMES webp)
++ find_package(WebP CONFIG REQUIRED)
+ if (WEBP_INCLUDE_DIR AND WEBP_LIBRARY)
+ set(WEBP 1)
+ set(WEBP_FOUND TRUE)
diff --git a/ports/leptonica/portfile.cmake b/ports/leptonica/portfile.cmake
index 7b8479698..fb9214642 100644
--- a/ports/leptonica/portfile.cmake
+++ b/ports/leptonica/portfile.cmake
@@ -3,13 +3,14 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO DanBloomberg/leptonica
- REF 87b8219360bca3c9929a5705c3d9c50c42c34bca
+ REF 87b8219360bca3c9929a5705c3d9c50c42c34bca #1.78.0
SHA512 b7bfa9437be7e3d9276acacf8f62ccda1cd8f88741ada5106ef0232d4965617be2c5d0b8a6b4462896a1a0b6b44d9ecefd6e6b8d0e50d4fb881bdf5e821703a4
HEAD_REF master
PATCHES
- ${CMAKE_CURRENT_LIST_DIR}/fix-cmakelists.patch
- ${CMAKE_CURRENT_LIST_DIR}/use-tiff-libraries.patch
- ${CMAKE_CURRENT_LIST_DIR}/find-dependency.patch
+ fix-cmakelists.patch
+ use-tiff-libraries.patch
+ find-dependency.patch
+ fix-find-libwebp.patch
)
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" STATIC)
@@ -29,9 +30,7 @@ vcpkg_fixup_cmake_targets(CONFIG_PATH cmake)
vcpkg_copy_pdbs()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/pkgconfig)
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig)
# Handle copyright
-file(COPY ${SOURCE_PATH}/leptonica-license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/leptonica)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/leptonica/leptonica-license.txt ${CURRENT_PACKAGES_DIR}/share/leptonica/copyright)
+file(COPY ${SOURCE_PATH}/leptonica-license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/leptonica-license.txt ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright)
diff --git a/ports/libcopp/CONTROL b/ports/libcopp/CONTROL
index 68115219f..6722fb6ac 100644
--- a/ports/libcopp/CONTROL
+++ b/ports/libcopp/CONTROL
@@ -1,3 +1,3 @@
Source: libcopp
-Version: 1.1.0-2
+Version: 1.2.0
Description: A cross-platfrom coroutine library for C++
diff --git a/ports/libcopp/portfile.cmake b/ports/libcopp/portfile.cmake
index 026e4a14c..5df6cf737 100644
--- a/ports/libcopp/portfile.cmake
+++ b/ports/libcopp/portfile.cmake
@@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO owt5008137/libcopp
- REF 1.1.0
- SHA512 27b444d158281786154830c6e216e701ba0301af1d7a08873b33e27ce3d2db6ddb4753239878633f4c2aed9f759b46f961408a2eb7b50b5d445c3531c1fa9546
+ REF 1.2.0
+ SHA512 7e98380cb6a8d7ae9b458fe609e2ebce15da4b1ee6cc5570112685f484ef42466f4974aa14fce90715ef175125acef47097b36bb7707abd6950581b8ec03c541
HEAD_REF v2
)
diff --git a/ports/libfabric/CONTROL b/ports/libfabric/CONTROL
index 9666bc228..83ee15df5 100644
--- a/ports/libfabric/CONTROL
+++ b/ports/libfabric/CONTROL
@@ -1,5 +1,5 @@
Source: libfabric
-Version: 1.7.1-1
+Version: 1.8.0
Description: The OpenFabrics Interfaces Working Group (OFIWG) and the Libfabric open-source community are pleased to announce the release of version v1.6.2 of libfabric. See NEWS.md for the list of features and enhancements that have been added since the last release.
Homepage: https://github.com/ofiwg/libfabric
Build-Depends: networkdirect-sdk (windows)
diff --git a/ports/libfabric/portfile.cmake b/ports/libfabric/portfile.cmake
index f7dc21226..a0bb5f839 100644
--- a/ports/libfabric/portfile.cmake
+++ b/ports/libfabric/portfile.cmake
@@ -8,9 +8,9 @@ endif()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO ofiwg/libfabric
- REF v1.7.1
+ REF v1.8.0
HEAD_REF master
- SHA512 3ae06839295a5b581a5d9936ee991bb597672a4981cc7fa385f4db7645d5328156d758848827ec186c0056cf3abd97f8f3859ec16a8b5bbd0d1f979143ee7bb1
+ SHA512 1101b0967fcd5ac527f94a1e4dd72a58a007e348971eb01b57425a812e1ea8320e1cbcfba7dea35520dab2c47753d91495c6b360438ca0be98ce6ee6568e2e08
PATCHES
add_additional_includes.patch
)
diff --git a/ports/libmodbus/CMakeLists.txt b/ports/libmodbus/CMakeLists.txt
index 0abb4b6a7..c08abe838 100644
--- a/ports/libmodbus/CMakeLists.txt
+++ b/ports/libmodbus/CMakeLists.txt
@@ -1,5 +1,5 @@
cmake_minimum_required(VERSION 3.0)
-project(libmodbus VERSION 3.1.4)
+project(libmodbus VERSION 3.1.6)
set(LIBMODBUS_VERSION ${PROJECT_VERSION})
set(LIBMODBUS_VERSION_MAJOR ${PROJECT_VERSION_MAJOR})
diff --git a/ports/libmodbus/CONTROL b/ports/libmodbus/CONTROL
index 44cededd2..cb3f5a295 100644
--- a/ports/libmodbus/CONTROL
+++ b/ports/libmodbus/CONTROL
@@ -1,3 +1,3 @@
Source: libmodbus
-Version: 3.1.4-3
+Version: 3.1.6
Description: libmodbus is a free software library to send/receive data with a device which respects the Modbus protocol
diff --git a/ports/libmodbus/portfile.cmake b/ports/libmodbus/portfile.cmake
index 3b5e27c2a..fda250e4f 100644
--- a/ports/libmodbus/portfile.cmake
+++ b/ports/libmodbus/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO stephane/libmodbus
- REF v3.1.4
- SHA512 dc13b680a13ae2c952fe23cfe257a92a2be4823005b71b87e9520a3676df220b749d04c0825b1d1da02ac8b6995315e5cda2c8fd68e4672dd60e0b3fe739728b
+ REF v3.1.6
+ SHA512 9eaa395c75e1170e703e01f8c52c6e6e87efe4eaa22adfc3b51153fd5535d545aea35cf68e1aba29720a6c1dd13d9c60b6b08a5c8098dccd13ccfdc6944420a9
HEAD_REF master
)
diff --git a/ports/libspatialindex/CONTROL b/ports/libspatialindex/CONTROL
new file mode 100644
index 000000000..aa1da63c1
--- /dev/null
+++ b/ports/libspatialindex/CONTROL
@@ -0,0 +1,6 @@
+Source: libspatialindex
+Version: 1.9.0
+Homepage: http://libspatialindex.github.com
+Description: C++ implementation of R*-tree, an MVR-tree and a TPR-tree with C API.
+Build-Depends: zlib
+
diff --git a/ports/libspatialindex/portfile.cmake b/ports/libspatialindex/portfile.cmake
new file mode 100644
index 000000000..f71182d62
--- /dev/null
+++ b/ports/libspatialindex/portfile.cmake
@@ -0,0 +1,27 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO libspatialindex/libspatialindex
+ REF 1.9.0
+ SHA512 368537e9bfe52db96486a1febfabe035f9f7714fd1cb50450e3ab89d51c5ffffb0e2ea219e08bee34f772ba9813a3a7f9e63d8b8946887ce83811ef68d17d1cc
+ HEAD_REF master
+ PATCHES
+ static.patch
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ OPTIONS -DCMAKE_DEBUG_POSTFIX=d -DSIDX_BUILD_TESTS:BOOL=OFF
+)
+
+vcpkg_install_cmake()
+
+vcpkg_copy_pdbs()
+
+#Debug
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+# Handle copyright
+file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libspatialindex)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/libspatialindex/COPYING ${CURRENT_PACKAGES_DIR}/share/libspatialindex/copyright) \ No newline at end of file
diff --git a/ports/libspatialindex/static.patch b/ports/libspatialindex/static.patch
new file mode 100644
index 000000000..bf783bcca
--- /dev/null
+++ b/ports/libspatialindex/static.patch
@@ -0,0 +1,21 @@
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index e6b733bd..8f227ab0 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -194,9 +194,13 @@ if (NOT WITH_STATIC_LASZIP)
+ endif()
+ endif()
+
+-add_library(${SIDX_LIB_NAME} SHARED ${SIDX_SOURCES})
+-
+-add_library(${SIDX_C_LIB_NAME} SHARED ${SIDX_CAPI_CPP})
++if(BUILD_SHARED_LIBS)
++ add_library(${SIDX_LIB_NAME} SHARED ${SIDX_SOURCES})
++ add_library(${SIDX_C_LIB_NAME} SHARED ${SIDX_CAPI_CPP})
++else(BUILD_SHARED_LIBS)
++ add_library(${SIDX_LIB_NAME} STATIC ${SIDX_SOURCES})
++ add_library(${SIDX_C_LIB_NAME} STATIC ${SIDX_CAPI_CPP})
++endif(BUILD_SHARED_LIBS)
+
+ target_link_libraries(${SIDX_C_LIB_NAME}
+ ${SIDX_LIB_NAME}
diff --git a/ports/luajit/002-fix-build-path.patch b/ports/luajit/002-fix-build-path.patch
new file mode 100644
index 000000000..b97bf689f
--- /dev/null
+++ b/ports/luajit/002-fix-build-path.patch
@@ -0,0 +1,124 @@
+diff --git a/src/msvcbuild.bat b/src/msvcbuild.bat
+index 6f64a49..ba77cd5 100644
+--- a/src/msvcbuild.bat
++++ b/src/msvcbuild.bat
+@@ -14,17 +14,18 @@
+ @if not defined INCLUDE goto :FAIL
+
+ @setlocal
+-@set LJCOMPILE=cl /nologo /c /O2 /W3 /D_CRT_SECURE_NO_DEPRECATE /D_CRT_STDIO_INLINE=__declspec(dllexport)__inline
++@set SOURCEDIR=%1
++@set LJCOMPILE=cl /nologo /c /O2 /W3 /D_CRT_SECURE_NO_DEPRECATE /D_CRT_STDIO_INLINE=__declspec(dllexport)__inline /I%SOURCEDIR%
+ @set LJLINK=link /nologo
+ @set LJMT=mt /nologo
+ @set LJLIB=lib /nologo /nodefaultlib
+-@set DASMDIR=..\dynasm
++@set DASMDIR=%SOURCEDIR%\..\dynasm
+ @set DASM=%DASMDIR%\dynasm.lua
+ @set LJDLLNAME=lua51.dll
+ @set LJLIBNAME=lua51.lib
+-@set ALL_LIB=lib_base.c lib_math.c lib_bit.c lib_string.c lib_table.c lib_io.c lib_os.c lib_package.c lib_debug.c lib_jit.c lib_ffi.c
++@set ALL_LIB=%SOURCEDIR%\lib_base.c %SOURCEDIR%\lib_math.c %SOURCEDIR%\lib_bit.c %SOURCEDIR%\lib_string.c %SOURCEDIR%\lib_table.c %SOURCEDIR%\lib_io.c %SOURCEDIR%\lib_os.c %SOURCEDIR%\lib_package.c %SOURCEDIR%\lib_debug.c %SOURCEDIR%\lib_jit.c %SOURCEDIR%\lib_ffi.c
+
+-%LJCOMPILE% host\minilua.c
++%LJCOMPILE% %SOURCEDIR%\host\minilua.c /Fdminilua.pdb
+ @if errorlevel 1 goto :BAD
+ %LJLINK% /out:minilua.exe minilua.obj
+ @if errorlevel 1 goto :BAD
+@@ -38,10 +39,10 @@ if exist minilua.exe.manifest^
+ @set DASMFLAGS=-D WIN -D JIT -D FFI
+ @set LJARCH=x86
+ :X64
+-minilua %DASM% -LN %DASMFLAGS% -o host\buildvm_arch.h vm_x86.dasc
++minilua %DASM% -LN %DASMFLAGS% -o %SOURCEDIR%\host\buildvm_arch.h %SOURCEDIR%\vm_x86.dasc
+ @if errorlevel 1 goto :BAD
+
+-%LJCOMPILE% /I "." /I %DASMDIR% host\buildvm*.c
++%LJCOMPILE% /I "." /I %DASMDIR% %SOURCEDIR%\host\buildvm*.c /Fdbuildvm.pdb
+ @if errorlevel 1 goto :BAD
+ %LJLINK% /out:buildvm.exe buildvm*.obj
+ @if errorlevel 1 goto :BAD
+@@ -50,30 +51,30 @@ if exist buildvm.exe.manifest^
+
+ buildvm -m peobj -o lj_vm.obj
+ @if errorlevel 1 goto :BAD
+-buildvm -m bcdef -o lj_bcdef.h %ALL_LIB%
++buildvm -m bcdef -o %SOURCEDIR%\lj_bcdef.h %ALL_LIB%
+ @if errorlevel 1 goto :BAD
+-buildvm -m ffdef -o lj_ffdef.h %ALL_LIB%
++buildvm -m ffdef -o %SOURCEDIR%\lj_ffdef.h %ALL_LIB%
+ @if errorlevel 1 goto :BAD
+-buildvm -m libdef -o lj_libdef.h %ALL_LIB%
++buildvm -m libdef -o %SOURCEDIR%\lj_libdef.h %ALL_LIB%
+ @if errorlevel 1 goto :BAD
+-buildvm -m recdef -o lj_recdef.h %ALL_LIB%
++buildvm -m recdef -o %SOURCEDIR%\lj_recdef.h %ALL_LIB%
+ @if errorlevel 1 goto :BAD
+-buildvm -m vmdef -o jit\vmdef.lua %ALL_LIB%
++buildvm -m vmdef -o %SOURCEDIR%\jit\vmdef.lua %ALL_LIB%
+ @if errorlevel 1 goto :BAD
+-buildvm -m folddef -o lj_folddef.h lj_opt_fold.c
++buildvm -m folddef -o %SOURCEDIR%\lj_folddef.h %SOURCEDIR%\lj_opt_fold.c
+ @if errorlevel 1 goto :BAD
+
+-@if "%1" neq "debug" goto :NODEBUG
++@set LJLINK=%LJLINK% /debug
++@if "%2" neq "debug" goto :NODEBUG
+ @shift
+ @set LJCOMPILE=%LJCOMPILE% /Zi
+-@set LJLINK=%LJLINK% /debug
+ @set DEBUG=1
+ :NODEBUG
+-@if "%1"=="amalg" goto :AMALGDLL
+-@if "%1"=="static" goto :STATIC
++@if "%2"=="amalg" goto :AMALGDLL
++@if "%2"=="static" goto :STATIC
+ @if "%DEBUG%"=="1" set LJCOMPILE=%LJCOMPILE% /MDd
+ @if "%DEBUG%"=="" set LJCOMPILE=%LJCOMPILE% /MD
+-%LJCOMPILE% /DLUA_BUILD_AS_DLL lj_*.c lib_*.c
++%LJCOMPILE% /DLUA_BUILD_AS_DLL %SOURCEDIR%\lj_*.c %SOURCEDIR%\lib_*.c /Fdlua51.pdb
+ @if errorlevel 1 goto :BAD
+ %LJLINK% /DLL /out:%LJDLLNAME% lj_*.obj lib_*.obj
+ @if errorlevel 1 goto :BAD
+@@ -81,13 +82,13 @@ buildvm -m folddef -o lj_folddef.h lj_opt_fold.c
+ :STATIC
+ @if "%DEBUG%"=="1" set LJCOMPILE=%LJCOMPILE% /MTd
+ @if "%DEBUG%"=="" set LJCOMPILE=%LJCOMPILE% /MT
+-%LJCOMPILE% lj_*.c lib_*.c
++%LJCOMPILE% %SOURCEDIR%\lj_*.c %SOURCEDIR%\lib_*.c /Fdlua51.pdb
+ @if errorlevel 1 goto :BAD
+ %LJLIB% /OUT:%LJLIBNAME% lj_*.obj lib_*.obj
+ @if errorlevel 1 goto :BAD
+ @goto :MTDLL
+ :AMALGDLL
+-%LJCOMPILE% /MD /DLUA_BUILD_AS_DLL ljamalg.c
++%LJCOMPILE% /MD /DLUA_BUILD_AS_DLL %SOURCEDIR%\ljamalg.c
+ @if errorlevel 1 goto :BAD
+ %LJLINK% /DLL /out:%LJDLLNAME% ljamalg.obj lj_vm.obj
+ @if errorlevel 1 goto :BAD
+@@ -95,7 +96,7 @@ buildvm -m folddef -o lj_folddef.h lj_opt_fold.c
+ if exist %LJDLLNAME%.manifest^
+ %LJMT% -manifest %LJDLLNAME%.manifest -outputresource:%LJDLLNAME%;2
+
+-%LJCOMPILE% luajit.c
++%LJCOMPILE% %SOURCEDIR%\luajit.c /Fdluajit.pdb
+ @if errorlevel 1 goto :BAD
+ %LJLINK% /out:luajit.exe luajit.obj %LJLIBNAME%
+ @if errorlevel 1 goto :BAD
+@@ -103,8 +104,8 @@ if exist luajit.exe.manifest^
+ %LJMT% -manifest luajit.exe.manifest -outputresource:luajit.exe
+
+ @del *.obj *.manifest minilua.exe buildvm.exe
+-@del host\buildvm_arch.h
+-@del lj_bcdef.h lj_ffdef.h lj_libdef.h lj_recdef.h lj_folddef.h
++@del %SOURCEDIR%\host\buildvm_arch.h
++@del %SOURCEDIR%\lj_bcdef.h %SOURCEDIR%\lj_ffdef.h %SOURCEDIR%\lj_libdef.h %SOURCEDIR%\lj_recdef.h %SOURCEDIR%\lj_folddef.h
+ @echo.
+ @echo === Successfully built LuaJIT for Windows/%LJARCH% ===
+
+@@ -117,4 +118,5 @@ if exist luajit.exe.manifest^
+ @goto :END
+ :FAIL
+ @echo You must open a "Visual Studio .NET Command Prompt" to run this script
++exit 1
+ :END
diff --git a/ports/luajit/CONTROL b/ports/luajit/CONTROL
index fb9c9d646..9b02c5b2b 100644
--- a/ports/luajit/CONTROL
+++ b/ports/luajit/CONTROL
@@ -1,4 +1,4 @@
Source: luajit
-Version: 2.0.5-1
+Version: 2.0.5-2
Homepage: https://github.com/LuaJIT/LuaJIT
Description: LuaJIT is a Just-In-Time (JIT) compiler for the Lua programming language.
diff --git a/ports/luajit/portfile.cmake b/ports/luajit/portfile.cmake
index 326929d17..dff84bfcb 100644
--- a/ports/luajit/portfile.cmake
+++ b/ports/luajit/portfile.cmake
@@ -4,82 +4,72 @@ if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
message(FATAL_ERROR "LuaJIT currently only supports being built for desktop")
endif()
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/LuaJIT-2.0.5)
-
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO LuaJIT/LuaJIT
REF v2.0.5
SHA512 65d982d7fe532a61335613f414f3b8fa5333747bdf7aefc2c2d52022d227594ade827639049b97e3c4ffae9f38f32cb15f1a17b1780fb0a943e1a3af05e2b576
HEAD_REF master
+ PATCHES
+ 001-fixStaticBuild.patch
+ 002-fix-build-path.patch
)
-# Handle copyright
-file(COPY ${SOURCE_PATH}/COPYRIGHT DESTINATION ${CURRENT_PACKAGES_DIR}/share/luajit)
-
-set (SRC ${SOURCE_PATH}/src)
-
if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
set (LJIT_STATIC "")
else()
set (LJIT_STATIC "static")
endif()
-vcpkg_apply_patches(
- SOURCE_PATH ${SOURCE_PATH}
- PATCHES
- ${CMAKE_CURRENT_LIST_DIR}/001-fixStaticBuild.patch
-)
-
-message(STATUS "Building ${TARGET_TRIPLET}-dbg")
-
-file(REMOVE "${SRC}/*.dll")
-file(REMOVE "${SRC}/*.exe")
-file(REMOVE "${SRC}/*.lib")
-
-vcpkg_execute_required_process_repeat(
- COUNT 1
- COMMAND "${SOURCE_PATH}/src/msvcbuild.bat" debug ${LJIT_STATIC}
- WORKING_DIRECTORY "${SOURCE_PATH}/src/"
- LOGNAME build-${TARGET_TRIPLET}-dbg
-)
-
-file(INSTALL ${SRC}/luajit.exe DESTINATION ${CURRENT_PACKAGES_DIR}/debug/tools)
-file(INSTALL ${SRC}/lua51.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
-
-if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
- file(INSTALL ${SRC}/lua51.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
+if (NOT CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE STREQUAL debug)
+ message(STATUS "Building ${TARGET_TRIPLET}-dbg")
+ file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg")
+ file(MAKE_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg")
+
+ vcpkg_execute_required_process_repeat(
+ COUNT 1
+ COMMAND "${SOURCE_PATH}/src/msvcbuild.bat" ${SOURCE_PATH}/src debug ${LJIT_STATIC}
+ WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg"
+ LOGNAME build-${TARGET_TRIPLET}-dbg
+ )
+
+ file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/luajit.exe DESTINATION ${CURRENT_PACKAGES_DIR}/debug/tools)
+ file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/lua51.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
+
+ if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/lua51.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
+ endif()
+ vcpkg_copy_pdbs()
endif()
-vcpkg_copy_pdbs()
-file(REMOVE "${SRC}/*.dll")
-file(REMOVE "${SRC}/*.exe")
-file(REMOVE "${SRC}/*.lib")
-message(STATUS "Building ${TARGET_TRIPLET}-rel")
-
-vcpkg_execute_required_process_repeat(d8un
- COUNT 1
- COMMAND "${SOURCE_PATH}/src/msvcbuild.bat" ${LJIT_STATIC}
- WORKING_DIRECTORY "${SOURCE_PATH}/src/"
- LOGNAME build-${TARGET_TRIPLET}-rel
-)
-
-file(INSTALL ${SRC}/luajit.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools)
-file(INSTALL ${SRC}/lua51.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
-
-if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
- file(INSTALL ${SRC}/lua51.dll DESTINATION ${CURRENT_PACKAGES_DIR}/bin)
+if (NOT CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE STREQUAL release)
+ message(STATUS "Building ${TARGET_TRIPLET}-rel")
+ file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel")
+ file(MAKE_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel")
+
+ vcpkg_execute_required_process_repeat(d8un
+ COUNT 1
+ COMMAND "${SOURCE_PATH}/src/msvcbuild.bat" ${SOURCE_PATH}/src ${LJIT_STATIC}
+ WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel"
+ LOGNAME build-${TARGET_TRIPLET}-rel
+ )
+
+ file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/luajit.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools)
+ file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/lua51.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
+
+ if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/lua51.dll DESTINATION ${CURRENT_PACKAGES_DIR}/bin)
+ endif()
+ vcpkg_copy_pdbs()
endif()
-vcpkg_copy_pdbs()
-file(INSTALL ${SRC}/lua.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/luajit)
-file(INSTALL ${SRC}/luajit.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/luajit)
-file(INSTALL ${SRC}/luaconf.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/luajit)
-file(INSTALL ${SRC}/lualib.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/luajit)
-file(INSTALL ${SRC}/lauxlib.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/luajit)
-file(INSTALL ${SRC}/lua.hpp DESTINATION ${CURRENT_PACKAGES_DIR}/include/luajit)
+file(INSTALL ${SOURCE_PATH}/src/lua.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/${PORT})
+file(INSTALL ${SOURCE_PATH}/src/luajit.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/${PORT})
+file(INSTALL ${SOURCE_PATH}/src/luaconf.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/${PORT})
+file(INSTALL ${SOURCE_PATH}/src/lualib.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/${PORT})
+file(INSTALL ${SOURCE_PATH}/src/lauxlib.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/${PORT})
+file(INSTALL ${SOURCE_PATH}/src/lua.hpp DESTINATION ${CURRENT_PACKAGES_DIR}/include/${PORT})
-file(REMOVE "${SRC}/*.dll")
-file(REMOVE "${SRC}/*.exe")
-file(REMOVE "${SRC}/*.lib")
+# Handle copyright
+file(COPY ${SOURCE_PATH}/COPYRIGHT DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) \ No newline at end of file
diff --git a/ports/lz4/CONTROL b/ports/lz4/CONTROL
index e6e99dd6a..a00b88454 100644
--- a/ports/lz4/CONTROL
+++ b/ports/lz4/CONTROL
@@ -1,5 +1,5 @@
Source: lz4
-Version: 1.9.1-2
+Version: 1.9.2
Homepage: https://github.com/lz4/lz4
Description: Lossless compression algorithm, providing compression speed at 400 MB/s per core.
Build-Depends: xxhash \ No newline at end of file
diff --git a/ports/lz4/portfile.cmake b/ports/lz4/portfile.cmake
index e7f1ee461..3468236bf 100644
--- a/ports/lz4/portfile.cmake
+++ b/ports/lz4/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO lz4/lz4
- REF v1.9.1
- SHA512 536cdeb6dd73b4769cf9501ad312b004ab01699758534b47ca2eddbc815fd374a3caba40cde36f73a7a70e134065836b733e2b0c023c31740b877ef9317ccf3e
+ REF v1.9.2
+ SHA512 ae714c61ec8e33ed91359b63f2896cfa102d66b730dce112b74696ec5850e59d88bd5527173e01e354a70fbe8f036557a47c767ee0766bc5f9c257978116c3c1
HEAD_REF dev
)
diff --git a/ports/mp3lame/00001-msvc-upgrade-solution-up-to-vc11.patch b/ports/mp3lame/00001-msvc-upgrade-solution-up-to-vc11.patch
new file mode 100644
index 000000000..07778093b
--- /dev/null
+++ b/ports/mp3lame/00001-msvc-upgrade-solution-up-to-vc11.patch
@@ -0,0 +1,1018 @@
+diff --git a/vc_solution/arch_nasm.props b/vc_solution/arch_nasm.props
+new file mode 100644
+index 0000000..13174c9
+--- /dev/null
++++ b/vc_solution/arch_nasm.props
+@@ -0,0 +1,15 @@
++<?xml version="1.0" encoding="utf-8"?>
++<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++ <ImportGroup Label="PropertySheets">
++ </ImportGroup>
++ <PropertyGroup Label="UserMacros" />
++ <PropertyGroup>
++ <_ProjectFileVersion>11.0.61030.0</_ProjectFileVersion>
++ </PropertyGroup>
++ <ItemDefinitionGroup>
++ <ClCompile>
++ <PreprocessorDefinitions>TAKEHIRO_IEEE754_HACK;HAVE_NASM;MMX_choose_table;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ </ClCompile>
++ </ItemDefinitionGroup>
++ <ItemGroup />
++</Project>
+\ No newline at end of file
+diff --git a/vc_solution/arch_sse2.props b/vc_solution/arch_sse2.props
+new file mode 100644
+index 0000000..1f97d57
+--- /dev/null
++++ b/vc_solution/arch_sse2.props
+@@ -0,0 +1,17 @@
++<?xml version="1.0" encoding="utf-8"?>
++<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++ <ImportGroup Label="PropertySheets">
++ </ImportGroup>
++ <PropertyGroup Label="UserMacros" />
++ <PropertyGroup>
++ <_ProjectFileVersion>11.0.61030.0</_ProjectFileVersion>
++ </PropertyGroup>
++ <ItemDefinitionGroup>
++ <ClCompile>
++ <PreprocessorDefinitions>HAVE_XMMINTRIN_H;MIN_ARCH_SSE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
++ <FloatingPointModel>Fast</FloatingPointModel>
++ </ClCompile>
++ </ItemDefinitionGroup>
++ <ItemGroup />
++</Project>
+\ No newline at end of file
+diff --git a/vc_solution/arch_x87.props b/vc_solution/arch_x87.props
+new file mode 100644
+index 0000000..3268c6b
+--- /dev/null
++++ b/vc_solution/arch_x87.props
+@@ -0,0 +1,15 @@
++<?xml version="1.0" encoding="utf-8"?>
++<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++ <ImportGroup Label="PropertySheets">
++ </ImportGroup>
++ <PropertyGroup Label="UserMacros" />
++ <PropertyGroup>
++ <_ProjectFileVersion>11.0.61030.0</_ProjectFileVersion>
++ </PropertyGroup>
++ <ItemDefinitionGroup>
++ <ClCompile>
++ <PreprocessorDefinitions>TAKEHIRO_IEEE754_HACK;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ </ClCompile>
++ </ItemDefinitionGroup>
++ <ItemGroup />
++</Project>
+\ No newline at end of file
+diff --git a/vc_solution/vc11_lame.sln b/vc_solution/vc11_lame.sln
+new file mode 100644
+index 0000000..9453bb0
+--- /dev/null
++++ b/vc_solution/vc11_lame.sln
+@@ -0,0 +1,41 @@
++
++Microsoft Visual Studio Solution File, Format Version 12.00
++# Visual Studio 2012
++Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lame", "vc11_lame_lame.vcxproj", "{EEF5B49E-DBD1-4E1B-8B86-C5D64FCBAD38}"
++ ProjectSection(ProjectDependencies) = postProject
++ {92BD50AA-04D6-4FBF-ACE1-468FAF6778F2} = {92BD50AA-04D6-4FBF-ACE1-468FAF6778F2}
++ EndProjectSection
++EndProject
++Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libmp3lame-static", "vc11_libmp3lame.vcxproj", "{20536101-3B0E-43EF-94F9-080D595DAC57}"
++EndProject
++Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libmp3lame", "vc11_libmp3lame_dll.vcxproj", "{92BD50AA-04D6-4FBF-ACE1-468FAF6778F2}"
++EndProject
++Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libmpghip-static", "vc11_mpglib.vcxproj", "{E2DAB91A-8248-4625-8A85-2C2C2A390DD8}"
++EndProject
++Global
++ GlobalSection(SolutionConfigurationPlatforms) = preSolution
++ Debug|Win32 = Debug|Win32
++ Release|Win32 = Release|Win32
++ EndGlobalSection
++ GlobalSection(ProjectConfigurationPlatforms) = postSolution
++ {EEF5B49E-DBD1-4E1B-8B86-C5D64FCBAD38}.Debug|Win32.ActiveCfg = Debug|Win32
++ {EEF5B49E-DBD1-4E1B-8B86-C5D64FCBAD38}.Debug|Win32.Build.0 = Debug|Win32
++ {EEF5B49E-DBD1-4E1B-8B86-C5D64FCBAD38}.Release|Win32.ActiveCfg = Release|Win32
++ {EEF5B49E-DBD1-4E1B-8B86-C5D64FCBAD38}.Release|Win32.Build.0 = Release|Win32
++ {20536101-3B0E-43EF-94F9-080D595DAC57}.Debug|Win32.ActiveCfg = Debug|Win32
++ {20536101-3B0E-43EF-94F9-080D595DAC57}.Debug|Win32.Build.0 = Debug|Win32
++ {20536101-3B0E-43EF-94F9-080D595DAC57}.Release|Win32.ActiveCfg = Release|Win32
++ {20536101-3B0E-43EF-94F9-080D595DAC57}.Release|Win32.Build.0 = Release|Win32
++ {92BD50AA-04D6-4FBF-ACE1-468FAF6778F2}.Debug|Win32.ActiveCfg = Debug|Win32
++ {92BD50AA-04D6-4FBF-ACE1-468FAF6778F2}.Debug|Win32.Build.0 = Debug|Win32
++ {92BD50AA-04D6-4FBF-ACE1-468FAF6778F2}.Release|Win32.ActiveCfg = Release|Win32
++ {92BD50AA-04D6-4FBF-ACE1-468FAF6778F2}.Release|Win32.Build.0 = Release|Win32
++ {E2DAB91A-8248-4625-8A85-2C2C2A390DD8}.Debug|Win32.ActiveCfg = Debug|Win32
++ {E2DAB91A-8248-4625-8A85-2C2C2A390DD8}.Debug|Win32.Build.0 = Debug|Win32
++ {E2DAB91A-8248-4625-8A85-2C2C2A390DD8}.Release|Win32.ActiveCfg = Release|Win32
++ {E2DAB91A-8248-4625-8A85-2C2C2A390DD8}.Release|Win32.Build.0 = Release|Win32
++ EndGlobalSection
++ GlobalSection(SolutionProperties) = preSolution
++ HideSolutionNode = FALSE
++ EndGlobalSection
++EndGlobal
+diff --git a/vc_solution/vc11_lame_config.props b/vc_solution/vc11_lame_config.props
+new file mode 100644
+index 0000000..fd60017
+--- /dev/null
++++ b/vc_solution/vc11_lame_config.props
+@@ -0,0 +1,32 @@
++<?xml version="1.0" encoding="utf-8"?>
++<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++ <ImportGroup Label="PropertySheets">
++ </ImportGroup>
++ <PropertyGroup Label="UserMacros" />
++ <PropertyGroup>
++ <_ProjectFileVersion>11.0.61030.0</_ProjectFileVersion>
++ <OutDir>$(SolutionDir)..\output\$(Configuration)\</OutDir>
++ <IntDir>$(SolutionDir)..\obj\$(Configuration)\$(ProjectName)\</IntDir>
++ <LinkIncremental>false</LinkIncremental>
++ </PropertyGroup>
++ <ItemDefinitionGroup>
++ <Bscmake>
++ <OutputFile>$(IntDir)$(ProjectName).bsc</OutputFile>
++ </Bscmake>
++ <ClCompile>
++ <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATED;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <StringPooling>true</StringPooling>
++ <FunctionLevelLinking>true</FunctionLevelLinking>
++ <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
++ <BrowseInformation>true</BrowseInformation>
++ <WarningLevel>Level4</WarningLevel>
++ <DisableSpecificWarnings>4995;4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
++ </ClCompile>
++ <Link>
++ <AdditionalLibraryDirectories>$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
++ <ProgramDatabaseFile>$(OutDir)$(TargetName).pdb</ProgramDatabaseFile>
++ <OptimizeReferences>true</OptimizeReferences>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemGroup />
++</Project>
+\ No newline at end of file
+diff --git a/vc_solution/vc11_lame_lame.vcxproj b/vc_solution/vc11_lame_lame.vcxproj
+new file mode 100644
+index 0000000..faf101a
+--- /dev/null
++++ b/vc_solution/vc11_lame_lame.vcxproj
+@@ -0,0 +1,128 @@
++<?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="Release|Win32">
++ <Configuration>Release</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ </ItemGroup>
++ <PropertyGroup Label="Globals">
++ <ProjectName>lame</ProjectName>
++ <ProjectGuid>{EEF5B49E-DBD1-4E1B-8B86-C5D64FCBAD38}</ProjectGuid>
++ <RootNamespace>lame</RootNamespace>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <PlatformToolset>v110</PlatformToolset>
++ <UseOfMfc>false</UseOfMfc>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <PlatformToolset>v110</PlatformToolset>
++ <UseOfMfc>false</UseOfMfc>
++ </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="vc11_lame_config.props" />
++ <Import Project="arch_x87.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="vc11_lame_config.props" />
++ <Import Project="arch_x87.props" />
++ </ImportGroup>
++ <PropertyGroup Label="UserMacros" />
++ <PropertyGroup>
++ <_ProjectFileVersion>11.0.61030.0</_ProjectFileVersion>
++ </PropertyGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
++ <Midl>
++ <TypeLibraryName>..\output\Debug/lame.tlb</TypeLibraryName>
++ <HeaderFileName />
++ </Midl>
++ <ClCompile>
++ <Optimization>Disabled</Optimization>
++ <AdditionalIncludeDirectories>../;../mpglib;../libmp3lame;../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>_DEBUG;WIN32;_WIN32;_CONSOLE;_WINDOWS;HAVE_MPGLIB;HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ </ClCompile>
++ <ResourceCompile>
++ <PreprocessorDefinitions>_DEBUG;_APP=$(TargetFileName);%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <Culture>0x0409</Culture>
++ </ResourceCompile>
++ <Link>
++ <OutputFile>$(OutDir)lame.exe</OutputFile>
++ <GenerateDebugInformation>true</GenerateDebugInformation>
++ <SubSystem>Console</SubSystem>
++ <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
++ <AdditionalOptions>/APPCONTAINER /machine:x86 %(AdditionalOptions)</AdditionalOptions>
++ <TargetMachine>NotSet</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
++ <Midl>
++ <TypeLibraryName>..\output\Release/lame.tlb</TypeLibraryName>
++ <HeaderFileName />
++ </Midl>
++ <ClCompile>
++ <Optimization>Full</Optimization>
++ <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
++ <IntrinsicFunctions>true</IntrinsicFunctions>
++ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
++ <AdditionalIncludeDirectories>..;../mpglib;../libmp3lame;../include;../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>NDEBUG;WIN32;_WIN32;_CONSOLE;_WINDOWS;HAVE_MPGLIB;HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
++ </ClCompile>
++ <ResourceCompile>
++ <PreprocessorDefinitions>NDEBUG;_APP=$(TargetFileName);%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <Culture>0x0409</Culture>
++ </ResourceCompile>
++ <Link>
++ <OutputFile>$(OutDir)lame.exe</OutputFile>
++ <SubSystem>Console</SubSystem>
++ <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
++ <AdditionalOptions>/APPCONTAINER /machine:x86 %(AdditionalOptions)</AdditionalOptions>
++ <TargetMachine>NotSet</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemGroup>
++ <ClCompile Include="..\frontend\brhist.c" />
++ <ClCompile Include="..\frontend\console.c" />
++ <ClCompile Include="..\frontend\get_audio.c" />
++ <ClCompile Include="..\frontend\lame_main.c" />
++ <ClCompile Include="..\frontend\lametime.c" />
++ <ClCompile Include="..\frontend\main.c" />
++ <ClCompile Include="..\frontend\parse.c" />
++ <ClCompile Include="..\frontend\timestatus.c" />
++ </ItemGroup>
++ <ItemGroup>
++ <ClInclude Include="..\frontend\brhist.h" />
++ <ClInclude Include="..\frontend\console.h" />
++ <ClInclude Include="..\frontend\get_audio.h" />
++ <ClInclude Include="..\frontend\lametime.h" />
++ <ClInclude Include="..\frontend\main.h" />
++ <ClInclude Include="..\frontend\parse.h" />
++ <ClInclude Include="..\frontend\timestatus.h" />
++ </ItemGroup>
++ <ItemGroup>
++ <ResourceCompile Include="..\libmp3lame\lame.rc" />
++ </ItemGroup>
++ <ItemGroup>
++ <ProjectReference Include="vc11_libmp3lame.vcxproj">
++ <Project>{20536101-3b0e-43ef-94f9-080d595dac57}</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/vc_solution/vc11_libmp3lame.vcxproj b/vc_solution/vc11_libmp3lame.vcxproj
+new file mode 100644
+index 0000000..d4636b0
+--- /dev/null
++++ b/vc_solution/vc11_libmp3lame.vcxproj
+@@ -0,0 +1,188 @@
++<?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="Release|Win32">
++ <Configuration>Release</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ </ItemGroup>
++ <PropertyGroup Label="Globals">
++ <ProjectName>libmp3lame-static</ProjectName>
++ <ProjectGuid>{20536101-3B0E-43EF-94F9-080D595DAC57}</ProjectGuid>
++ <RootNamespace>libmp3lame</RootNamespace>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
++ <ConfigurationType>StaticLibrary</ConfigurationType>
++ <PlatformToolset>v110</PlatformToolset>
++ <UseOfMfc>false</UseOfMfc>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
++ <ConfigurationType>StaticLibrary</ConfigurationType>
++ <PlatformToolset>v110</PlatformToolset>
++ <UseOfMfc>false</UseOfMfc>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
++ <ImportGroup Label="ExtensionSettings">
++ <Import Project="vc11_nasm.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="vc11_lame_config.props" />
++ <Import Project="arch_x87.props" />
++ </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="vc11_lame_config.props" />
++ <Import Project="arch_x87.props" />
++ </ImportGroup>
++ <PropertyGroup Label="UserMacros" />
++ <PropertyGroup>
++ <_ProjectFileVersion>11.0.61030.0</_ProjectFileVersion>
++ </PropertyGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
++ <ClCompile>
++ <Optimization>Full</Optimization>
++ <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
++ <IntrinsicFunctions>true</IntrinsicFunctions>
++ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
++ <AdditionalIncludeDirectories>../mpglib;../include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>NDEBUG;_WINDOWS;HAVE_MPGLIB;WIN32;HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
++ </ClCompile>
++ <ResourceCompile>
++ <Culture>0x0409</Culture>
++ </ResourceCompile>
++ <Lib>
++ <OutputFile>$(OutDir)libmp3lame-static.lib</OutputFile>
++ </Lib>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
++ <ClCompile>
++ <Optimization>Disabled</Optimization>
++ <AdditionalIncludeDirectories>../mpglib;../include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>_DEBUG;_WINDOWS;HAVE_MPGLIB;WIN32;HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
++ <ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
++ <DebugInformationFormat>OldStyle</DebugInformationFormat>
++ </ClCompile>
++ <ResourceCompile>
++ <Culture>0x0409</Culture>
++ </ResourceCompile>
++ <Lib>
++ <OutputFile>$(OutDir)libmp3lame-static.lib</OutputFile>
++ </Lib>
++ </ItemDefinitionGroup>
++ <ItemGroup>
++ <ClCompile Include="..\libmp3lame\bitstream.c" />
++ <ClCompile Include="..\libmp3lame\encoder.c" />
++ <ClCompile Include="..\libmp3lame\fft.c" />
++ <ClCompile Include="..\libmp3lame\gain_analysis.c" />
++ <ClCompile Include="..\libmp3lame\id3tag.c" />
++ <ClCompile Include="..\libmp3lame\lame.c" />
++ <ClCompile Include="..\libmp3lame\mpglib_interface.c" />
++ <ClCompile Include="..\libmp3lame\newmdct.c" />
++ <ClCompile Include="..\libmp3lame\presets.c" />
++ <ClCompile Include="..\libmp3lame\psymodel.c" />
++ <ClCompile Include="..\libmp3lame\quantize.c" />
++ <ClCompile Include="..\libmp3lame\quantize_pvt.c" />
++ <ClCompile Include="..\libmp3lame\reservoir.c" />
++ <ClCompile Include="..\libmp3lame\set_get.c" />
++ <ClCompile Include="..\libmp3lame\tables.c">
++ <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Level1</WarningLevel>
++ <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Level1</WarningLevel>
++ </ClCompile>
++ <ClCompile Include="..\libmp3lame\takehiro.c" />
++ <ClCompile Include="..\libmp3lame\util.c" />
++ <ClCompile Include="..\libmp3lame\vbrquantize.c" />
++ <ClCompile Include="..\libmp3lame\VbrTag.c" />
++ <ClCompile Include="..\libmp3lame\version.c" />
++ <ClCompile Include="..\libmp3lame\vector\xmm_quantize_sub.c">
++ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../libmp3lame;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../libmp3lame;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ </ClCompile>
++ </ItemGroup>
++ <ItemGroup>
++ <ClInclude Include="..\libmp3lame\bitstream.h" />
++ <CustomBuild Include="..\configMS.h">
++ <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Performing Custom Build Step on %(Filename)</Message>
++ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy ..\configMS.h ..\config.h
++</Command>
++ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\config.h;%(Outputs)</Outputs>
++ <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Performing Custom Build Step on %(Filename)</Message>
++ <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy ..\configMS.h ..\config.h
++</Command>
++ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\config.h;%(Outputs)</Outputs>
++ </CustomBuild>
++ <ClInclude Include="..\libmp3lame\encoder.h" />
++ <ClInclude Include="..\libmp3lame\fft.h" />
++ <ClInclude Include="..\libmp3lame\gain_analysis.h" />
++ <ClInclude Include="..\libmp3lame\id3tag.h" />
++ <ClInclude Include="..\libmp3lame\l3side.h" />
++ <ClInclude Include="..\libmp3lame\lame-analysis.h" />
++ <ClInclude Include="..\libmp3lame\lame_global_flags.h" />
++ <ClInclude Include="..\libmp3lame\vector\lame_intrin.h" />
++ <ClInclude Include="..\libmp3lame\lameerror.h" />
++ <ClInclude Include="..\libmp3lame\machine.h" />
++ <ClInclude Include="..\libmp3lame\newmdct.h" />
++ <ClInclude Include="..\libmp3lame\psymodel.h" />
++ <ClInclude Include="..\libmp3lame\quantize.h" />
++ <ClInclude Include="..\libmp3lame\quantize_pvt.h" />
++ <ClInclude Include="..\libmp3lame\reservoir.h" />
++ <ClInclude Include="..\libmp3lame\set_get.h" />
++ <ClInclude Include="..\libmp3lame\tables.h" />
++ <ClInclude Include="..\libmp3lame\util.h" />
++ <ClInclude Include="..\libmp3lame\vbrquantize.h" />
++ <ClInclude Include="..\libmp3lame\VbrTag.h" />
++ <ClInclude Include="..\libmp3lame\version.h" />
++ <ClInclude Include="..\include\lame.h" />
++ </ItemGroup>
++ <ItemGroup>
++ <NASM Include="..\libmp3lame\i386\choose_table.nas">
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
++ </NASM>
++ <NASM Include="..\libmp3lame\i386\cpu_feat.nas">
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
++ </NASM>
++ <NASM Include="..\libmp3lame\i386\fft.nas">
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
++ </NASM>
++ <NASM Include="..\libmp3lame\i386\fft3dn.nas">
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
++ </NASM>
++ <NASM Include="..\libmp3lame\i386\fftfpu.nas">
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
++ </NASM>
++ <NASM Include="..\libmp3lame\i386\fftsse.nas">
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
++ </NASM>
++ <NASM Include="..\libmp3lame\i386\ffttbl.nas">
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
++ </NASM>
++ <NASM Include="..\libmp3lame\i386\scalar.nas">
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
++ </NASM>
++ </ItemGroup>
++ <ItemGroup>
++ <ProjectReference Include="vc11_mpglib.vcxproj">
++ <Project>{e2dab91a-8248-4625-8a85-2c2c2a390dd8}</Project>
++ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
++ </ProjectReference>
++ </ItemGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
++ <ImportGroup Label="ExtensionTargets">
++ <Import Project="vc11_nasm.targets" />
++ </ImportGroup>
++</Project>
+\ No newline at end of file
+diff --git a/vc_solution/vc11_libmp3lame_dll.vcxproj b/vc_solution/vc11_libmp3lame_dll.vcxproj
+new file mode 100644
+index 0000000..9dad9d5
+--- /dev/null
++++ b/vc_solution/vc11_libmp3lame_dll.vcxproj
+@@ -0,0 +1,125 @@
++<?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="Release|Win32">
++ <Configuration>Release</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ </ItemGroup>
++ <PropertyGroup Label="Globals">
++ <ProjectName>libmp3lame</ProjectName>
++ <ProjectGuid>{92BD50AA-04D6-4FBF-ACE1-468FAF6778F2}</ProjectGuid>
++ <RootNamespace>libmp3lameDLL</RootNamespace>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <PlatformToolset>v110</PlatformToolset>
++ <UseOfMfc>false</UseOfMfc>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <PlatformToolset>v110</PlatformToolset>
++ <UseOfMfc>false</UseOfMfc>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
++ <ImportGroup Label="ExtensionSettings">
++ <Import Project="vc11_nasm.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="vc11_lame_config.props" />
++ <Import Project="arch_x87.props" />
++ </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="vc11_lame_config.props" />
++ <Import Project="arch_x87.props" />
++ </ImportGroup>
++ <PropertyGroup Label="UserMacros" />
++ <PropertyGroup>
++ <_ProjectFileVersion>11.0.61030.0</_ProjectFileVersion>
++ </PropertyGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
++ <Midl>
++ <TypeLibraryName>..\output\Release/libmp3lame_dll.tlb</TypeLibraryName>
++ <HeaderFileName />
++ </Midl>
++ <ClCompile>
++ <Optimization>Full</Optimization>
++ <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
++ <IntrinsicFunctions>true</IntrinsicFunctions>
++ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
++ <AdditionalIncludeDirectories>../libmp3lame;../;../mpglib;../include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>NDEBUG;_WINDOWS;HAVE_MPGLIB;WIN32;HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
++ </ClCompile>
++ <ResourceCompile>
++ <PreprocessorDefinitions>_VC80_UPGRADE=0x0600;_DLL=$(TargetFileName);%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <Culture>0x0409</Culture>
++ </ResourceCompile>
++ <ProjectReference>
++ <UseLibraryDependencyInputs>false</UseLibraryDependencyInputs>
++ </ProjectReference>
++ <Link>
++ <OutputFile>$(OutDir)libmp3lame.dll</OutputFile>
++ <ModuleDefinitionFile>..\include\lame.def</ModuleDefinitionFile>
++ <ImportLibrary>$(OutDir)libmp3lame.lib</ImportLibrary>
++ <AdditionalOptions>/APPCONTAINER /machine:x86 %(AdditionalOptions)</AdditionalOptions>
++ <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
++ <TargetMachine>NotSet</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
++ <Midl>
++ <TypeLibraryName>..\output\Debug/libmp3lame_dll.tlb</TypeLibraryName>
++ <HeaderFileName />
++ </Midl>
++ <ClCompile>
++ <Optimization>Disabled</Optimization>
++ <AdditionalIncludeDirectories>../libmp3lame;../;../mpglib;../include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>_DEBUG;_WINDOWS;HAVE_MPGLIB;WIN32;HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ </ClCompile>
++ <ResourceCompile>
++ <PreprocessorDefinitions>_VC80_UPGRADE=0x0600;_DLL=$(TargetFileName);_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <Culture>0x0409</Culture>
++ </ResourceCompile>
++ <ProjectReference>
++ <UseLibraryDependencyInputs>false</UseLibraryDependencyInputs>
++ </ProjectReference>
++ <Link>
++ <OutputFile>$(OutDir)libmp3lame.dll</OutputFile>
++ <ModuleDefinitionFile>..\include\lame.def</ModuleDefinitionFile>
++ <GenerateDebugInformation>true</GenerateDebugInformation>
++ <ImportLibrary>$(OutDir)libmp3lame.lib</ImportLibrary>
++ <AdditionalOptions>/APPCONTAINER /machine:x86 %(AdditionalOptions)</AdditionalOptions>
++ <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
++ <TargetMachine>NotSet</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemGroup>
++ <CustomBuild Include="..\include\lame.def">
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
++ </CustomBuild>
++ </ItemGroup>
++ <ItemGroup>
++ <ResourceCompile Include="..\libmp3lame\lame.rc" />
++ </ItemGroup>
++ <ItemGroup>
++ <ProjectReference Include="vc11_libmp3lame.vcxproj">
++ <Project>{20536101-3b0e-43ef-94f9-080d595dac57}</Project>
++ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
++ </ProjectReference>
++ </ItemGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
++ <ImportGroup Label="ExtensionTargets">
++ <Import Project="vc11_nasm.targets" />
++ </ImportGroup>
++</Project>
+\ No newline at end of file
+diff --git a/vc_solution/vc11_mpglib.vcxproj b/vc_solution/vc11_mpglib.vcxproj
+new file mode 100644
+index 0000000..a455bca
+--- /dev/null
++++ b/vc_solution/vc11_mpglib.vcxproj
+@@ -0,0 +1,116 @@
++<?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="Release|Win32">
++ <Configuration>Release</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ </ItemGroup>
++ <PropertyGroup Label="Globals">
++ <ProjectName>libmpghip-static</ProjectName>
++ <ProjectGuid>{E2DAB91A-8248-4625-8A85-2C2C2A390DD8}</ProjectGuid>
++ <RootNamespace>libmpghip</RootNamespace>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
++ <ConfigurationType>StaticLibrary</ConfigurationType>
++ <PlatformToolset>v110</PlatformToolset>
++ <UseOfMfc>false</UseOfMfc>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
++ <ConfigurationType>StaticLibrary</ConfigurationType>
++ <PlatformToolset>v110</PlatformToolset>
++ <UseOfMfc>false</UseOfMfc>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
++ <ImportGroup Label="ExtensionSettings">
++ </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="vc11_lame_config.props" />
++ <Import Project="arch_x87.props" />
++ </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="vc11_lame_config.props" />
++ <Import Project="arch_x87.props" />
++ </ImportGroup>
++ <PropertyGroup Label="UserMacros" />
++ <PropertyGroup>
++ <_ProjectFileVersion>11.0.61030.0</_ProjectFileVersion>
++ </PropertyGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
++ <ClCompile>
++ <Optimization>Full</Optimization>
++ <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
++ <IntrinsicFunctions>true</IntrinsicFunctions>
++ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
++ <AdditionalIncludeDirectories>../libmp3lame;../include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>NDEBUG;HAVE_MPGLIB;_WINDOWS;USE_LAYER_2;WIN32;HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
++ </ClCompile>
++ <ResourceCompile>
++ <Culture>0x0409</Culture>
++ </ResourceCompile>
++ <Lib>
++ <OutputFile>$(OutDir)libmpghip-static.lib</OutputFile>
++ </Lib>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
++ <ClCompile>
++ <Optimization>Disabled</Optimization>
++ <AdditionalIncludeDirectories>../libmp3lame;../include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>_DEBUG;_WINDOWS;USE_LAYER_2;HAVE_MPGLIB;WIN32;HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
++ <ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
++ <DebugInformationFormat>OldStyle</DebugInformationFormat>
++ </ClCompile>
++ <ResourceCompile>
++ <Culture>0x0409</Culture>
++ </ResourceCompile>
++ <Lib>
++ <OutputFile>$(OutDir)libmpghip-static.lib</OutputFile>
++ </Lib>
++ </ItemDefinitionGroup>
++ <ItemGroup>
++ <ClCompile Include="..\mpglib\common.c" />
++ <ClCompile Include="..\mpglib\dct64_i386.c" />
++ <ClCompile Include="..\mpglib\decode_i386.c" />
++ <ClCompile Include="..\mpglib\interface.c" />
++ <ClCompile Include="..\mpglib\layer1.c" />
++ <ClCompile Include="..\mpglib\layer2.c" />
++ <ClCompile Include="..\mpglib\layer3.c" />
++ <ClCompile Include="..\mpglib\tabinit.c" />
++ </ItemGroup>
++ <ItemGroup>
++ <ClInclude Include="..\mpglib\common.h" />
++ <CustomBuild Include="..\configMS.h">
++ <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Performing Custom Build Step on %(Filename)</Message>
++ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy ..\configMS.h ..\config.h
++</Command>
++ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\config.h;%(Outputs)</Outputs>
++ <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Performing Custom Build Step on %(Filename)</Message>
++ <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy ..\configMS.h ..\config.h
++</Command>
++ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\config.h;%(Outputs)</Outputs>
++ </CustomBuild>
++ <ClInclude Include="..\mpglib\dct64_i386.h" />
++ <ClInclude Include="..\mpglib\decode_i386.h" />
++ <ClInclude Include="..\mpglib\huffman.h" />
++ <ClInclude Include="..\mpglib\interface.h" />
++ <ClInclude Include="..\mpglib\l2tables.h" />
++ <ClInclude Include="..\mpglib\layer1.h" />
++ <ClInclude Include="..\mpglib\layer2.h" />
++ <ClInclude Include="..\mpglib\layer3.h" />
++ <ClInclude Include="..\mpglib\mpg123.h" />
++ <ClInclude Include="..\mpglib\mpglib.h" />
++ <ClInclude Include="..\mpglib\tabinit.h" />
++ </ItemGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
++ <ImportGroup Label="ExtensionTargets">
++ </ImportGroup>
++</Project>
+\ No newline at end of file
+diff --git a/vc_solution/vc11_nasm.props b/vc_solution/vc11_nasm.props
+new file mode 100644
+index 0000000..0f8542f
+--- /dev/null
++++ b/vc_solution/vc11_nasm.props
+@@ -0,0 +1,24 @@
++<?xml version="1.0" encoding="utf-8"?>
++<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++ <PropertyGroup
++ Condition="'$(NASMBeforeTargets)' == '' and '$(NASMAfterTargets)' == '' and '$(ConfigurationType)' != 'Makefile'">
++ <NASMBeforeTargets>Midl</NASMBeforeTargets>
++ <NASMAfterTargets>CustomBuild</NASMAfterTargets>
++ </PropertyGroup>
++ <PropertyGroup>
++ <NASMDependsOn
++ Condition="'$(ConfigurationType)' != 'Makefile'">_SelectedFiles;$(NASMDependsOn)</NASMDependsOn>
++ </PropertyGroup>
++ <ItemDefinitionGroup>
++ <NASM>
++ <OutFile>$(IntDir)%(Filename).obj</OutFile>
++ <BinFormat>win32</BinFormat>
++ <IncludeDir>%(RootDir)%(Directory)</IncludeDir>
++ <Defines>WIN32</Defines>
++ <CommandLineTemplate>nasmw [BinFormat] [IncludeDir] [Defines] -o [OutFile] %(FullPath)</CommandLineTemplate>
++ <Outputs>[OutFile]</Outputs>
++ <ExecutionDescription>Assembling %(Filename)...</ExecutionDescription>
++ <ShowOnlyRuleProperties>false</ShowOnlyRuleProperties>
++ </NASM>
++ </ItemDefinitionGroup>
++</Project>
+\ No newline at end of file
+diff --git a/vc_solution/vc11_nasm.targets b/vc_solution/vc11_nasm.targets
+new file mode 100644
+index 0000000..3158d8d
+--- /dev/null
++++ b/vc_solution/vc11_nasm.targets
+@@ -0,0 +1,85 @@
++<?xml version="1.0" encoding="utf-8"?>
++<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++ <ItemGroup>
++ <PropertyPageSchema
++ Include="$(MSBuildThisFileDirectory)$(MSBuildThisFileName).xml" />
++ <AvailableItemName
++ Include="NASM">
++ <Targets>_NASM</Targets>
++ </AvailableItemName>
++ </ItemGroup>
++ <UsingTask
++ TaskName="NASM"
++ TaskFactory="XamlTaskFactory"
++ AssemblyName="Microsoft.Build.Tasks.v4.0">
++ <Task>$(MSBuildThisFileDirectory)$(MSBuildThisFileName).xml</Task>
++ </UsingTask>
++ <Target
++ Name="_NASM"
++ BeforeTargets="$(NASMBeforeTargets)"
++ AfterTargets="$(NASMAfterTargets)"
++ Condition="'@(NASM)' != ''"
++ DependsOnTargets="$(NASMDependsOn);ComputeNASMOutput"
++ Outputs="@(NASM-&gt;Metadata('Outputs')-&gt;Distinct())"
++ Inputs="@(NASM);%(NASM.AdditionalDependencies);$(MSBuildProjectFile)">
++ <ItemGroup
++ Condition="'@(SelectedFiles)' != ''">
++ <NASM
++ Remove="@(NASM)"
++ Condition="'%(Identity)' != '@(SelectedFiles)'" />
++ </ItemGroup>
++ <ItemGroup>
++ <NASM_tlog
++ Include="%(NASM.Outputs)"
++ Condition="'%(NASM.Outputs)' != '' and '%(NASM.ExcludedFromBuild)' != 'true'">
++ <Source>@(NASM, '|')</Source>
++ </NASM_tlog>
++ </ItemGroup>
++ <Message
++ Importance="High"
++ Text="%(NASM.ExecutionDescription)" />
++ <WriteLinesToFile
++ Condition="'@(NASM_tlog)' != '' and '%(NASM_tlog.ExcludedFromBuild)' != 'true'"
++ File="$(TLogLocation)$(ProjectName).write.1.tlog"
++ Lines="^%(NASM_tlog.Source);@(NASM_tlog-&gt;'%(Fullpath)')" />
++ <NASM
++ Condition="'@(NASM)' != '' and '%(NASM.ExcludedFromBuild)' != 'true'"
++ CommandLineTemplate="%(NASM.CommandLineTemplate)"
++ OutFile="%(NASM.OutFile)"
++ BinFormat="%(NASM.BinFormat)"
++ IncludeDir="%(NASM.IncludeDir)"
++ Defines="%(NASM.Defines)"
++ AdditionalOptions="%(NASM.AdditionalOptions)"
++ Inputs="@(NASM)" />
++ </Target>
++ <PropertyGroup>
++ <ComputeLinkInputsTargets>
++ $(ComputeLinkInputsTargets);
++ ComputeNASMOutput;
++ </ComputeLinkInputsTargets>
++ <ComputeLibInputsTargets>
++ $(ComputeLibInputsTargets);
++ ComputeNASMOutput;
++ </ComputeLibInputsTargets>
++ </PropertyGroup>
++ <Target
++ Name="ComputeNASMOutput"
++ Condition="'@(NASM)' != ''">
++ <ItemGroup>
++ <NASMDirsToMake
++ Condition="'@(NASM)' != '' and '%(NASM.ExcludedFromBuild)' != 'true'"
++ Include="%(NASM.Outputs)" />
++ <Link
++ Include="%(NASMDirsToMake.Identity)"
++ Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'" />
++ <Lib
++ Include="%(NASMDirsToMake.Identity)"
++ Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'" />
++ <ImpLib
++ Include="%(NASMDirsToMake.Identity)"
++ Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'" />
++ </ItemGroup>
++ <MakeDir
++ Directories="@(NASMDirsToMake-&gt;'%(RootDir)%(Directory)')" />
++ </Target>
++</Project>
+\ No newline at end of file
+diff --git a/vc_solution/vc11_nasm.xml b/vc_solution/vc11_nasm.xml
+new file mode 100644
+index 0000000..390d570
+--- /dev/null
++++ b/vc_solution/vc11_nasm.xml
+@@ -0,0 +1,149 @@
++<?xml version="1.0" encoding="utf-8"?>
++<ProjectSchemaDefinitions xmlns="clr-namespace:Microsoft.Build.Framework.XamlTypes;assembly=Microsoft.Build.Framework" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:transformCallback="Microsoft.Cpp.Dev10.ConvertPropertyCallback">
++ <Rule
++ Name="NASM"
++ PageTemplate="tool"
++ DisplayName="NASM"
++ Order="200">
++ <Rule.DataSource>
++ <DataSource
++ Persistence="ProjectFile"
++ ItemType="NASM" />
++ </Rule.DataSource>
++ <Rule.Categories>
++ <Category
++ Name="General">
++ <Category.DisplayName>
++ <sys:String>General</sys:String>
++ </Category.DisplayName>
++ </Category>
++ <Category
++ Name="Command Line"
++ Subtype="CommandLine">
++ <Category.DisplayName>
++ <sys:String>Command Line</sys:String>
++ </Category.DisplayName>
++ </Category>
++ </Rule.Categories>
++ <StringListProperty
++ Name="Inputs"
++ Category="Command Line"
++ IsRequired="true"
++ Switch=" ">
++ <StringListProperty.DataSource>
++ <DataSource
++ Persistence="ProjectFile"
++ ItemType="NASM"
++ SourceType="Item" />
++ </StringListProperty.DataSource>
++ </StringListProperty>
++ <StringProperty
++ Name="OutFile"
++ HelpContext="0"
++ DisplayName="output file path"
++ Switch="[value]" />
++ <StringProperty
++ Name="BinFormat"
++ HelpContext="0"
++ DisplayName="Binary format"
++ Switch="-f [value]" />
++ <StringListProperty
++ Name="IncludeDir"
++ HelpContext="0"
++ DisplayName="Additional include directories"
++ Separator=";"
++ Switch="-i [value]" />
++ <StringListProperty
++ Name="Defines"
++ HelpContext="0"
++ DisplayName="Defines"
++ Separator=" ;,"
++ Switch="-D[value]" />
++ <StringProperty
++ Name="CommandLineTemplate"
++ DisplayName="Command Line"
++ Visible="False"
++ IncludeInCommandLine="False" />
++ <DynamicEnumProperty
++ Name="NASMBeforeTargets"
++ Category="General"
++ EnumProvider="Targets"
++ IncludeInCommandLine="False">
++ <DynamicEnumProperty.DisplayName>
++ <sys:String>Execute Before</sys:String>
++ </DynamicEnumProperty.DisplayName>
++ <DynamicEnumProperty.Description>
++ <sys:String>Specifies the targets for the build customization to run before.</sys:String>
++ </DynamicEnumProperty.Description>
++ <DynamicEnumProperty.ProviderSettings>
++ <NameValuePair
++ Name="Exclude"
++ Value="^NASMBeforeTargets|^Compute" />
++ </DynamicEnumProperty.ProviderSettings>
++ <DynamicEnumProperty.DataSource>
++ <DataSource
++ Persistence="ProjectFile"
++ HasConfigurationCondition="true" />
++ </DynamicEnumProperty.DataSource>
++ </DynamicEnumProperty>
++ <DynamicEnumProperty
++ Name="NASMAfterTargets"
++ Category="General"
++ EnumProvider="Targets"
++ IncludeInCommandLine="False">
++ <DynamicEnumProperty.DisplayName>
++ <sys:String>Execute After</sys:String>
++ </DynamicEnumProperty.DisplayName>
++ <DynamicEnumProperty.Description>
++ <sys:String>Specifies the targets for the build customization to run after.</sys:String>
++ </DynamicEnumProperty.Description>
++ <DynamicEnumProperty.ProviderSettings>
++ <NameValuePair
++ Name="Exclude"
++ Value="^NASMAfterTargets|^Compute" />
++ </DynamicEnumProperty.ProviderSettings>
++ <DynamicEnumProperty.DataSource>
++ <DataSource
++ Persistence="ProjectFile"
++ ItemType=""
++ HasConfigurationCondition="true" />
++ </DynamicEnumProperty.DataSource>
++ </DynamicEnumProperty>
++ <StringListProperty
++ Name="Outputs"
++ DisplayName="Outputs"
++ Visible="False"
++ IncludeInCommandLine="False" />
++ <StringProperty
++ Name="ExecutionDescription"
++ DisplayName="Execution Description"
++ Visible="False"
++ IncludeInCommandLine="False" />
++ <StringListProperty
++ Name="AdditionalDependencies"
++ DisplayName="Additional Dependencies"
++ IncludeInCommandLine="False"
++ Visible="true" />
++ <StringProperty
++ Subtype="AdditionalOptions"
++ Name="AdditionalOptions"
++ Category="Command Line">
++ <StringProperty.DisplayName>
++ <sys:String>Additional Options</sys:String>
++ </StringProperty.DisplayName>
++ <StringProperty.Description>
++ <sys:String>Additional Options</sys:String>
++ </StringProperty.Description>
++ </StringProperty>
++ </Rule>
++ <ItemType
++ Name="NASM"
++ DisplayName="NASM" />
++ <FileExtension
++ Name="*.nas"
++ ContentType="NASM" />
++ <ContentType
++ Name="NASM"
++ DisplayName="NASM"
++ ItemType="NASM" />
++</ProjectSchemaDefinitions>
+\ No newline at end of file
diff --git a/ports/mp3lame/CONTROL b/ports/mp3lame/CONTROL
new file mode 100644
index 000000000..1702751d9
--- /dev/null
+++ b/ports/mp3lame/CONTROL
@@ -0,0 +1,4 @@
+Source: mp3lame
+Version: 3.100
+Homepage: http://lame.sourceforge.net/
+Description: LAME is a high quality MPEG Audio Layer III (MP3) encoder licensed under the LGPL.
diff --git a/ports/mp3lame/Config.cmake.in b/ports/mp3lame/Config.cmake.in
new file mode 100644
index 000000000..9630b9ea1
--- /dev/null
+++ b/ports/mp3lame/Config.cmake.in
@@ -0,0 +1,60 @@
+
+get_filename_component(_mp3lame_root "${CMAKE_CURRENT_LIST_FILE}" PATH)
+get_filename_component(_mp3lame_root "${_mp3lame_root}" PATH)
+get_filename_component(_mp3lame_root "${_mp3lame_root}" PATH)
+
+set(_mp3lame_rel_lib "${_mp3lame_root}/lib/@MP3LAME_LIB@")
+set(_mp3lame_dbg_lib "${_mp3lame_root}/debug/lib/@MP3LAME_LIB@")
+
+if (EXISTS "${_mp3lame_rel_lib}" OR EXISTS "${_mp3lame_dbg_lib}")
+
+ add_library(mp3lame::mp3lame UNKNOWN IMPORTED)
+ set_target_properties(mp3lame::mp3lame
+ PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${_mp3lame_root}/include")
+
+ if (EXISTS "${_mp3lame_rel_lib}")
+ set_target_properties(mp3lame::mp3lame
+ PROPERTIES IMPORTED_LOCATION_RELEASE "${_mp3lame_rel_lib}")
+ set_property(TARGET mp3lame::mp3lame APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
+ endif()
+ if (EXISTS "${_mp3lame_dbg_lib}")
+ set_target_properties(mp3lame::mp3lame
+ PROPERTIES IMPORTED_LOCATION_DEBUG "${_mp3lame_dbg_lib}")
+ set_property(TARGET mp3lame::mp3lame APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
+ endif()
+
+ set(_mp3lame_mpghip_rel_lib "${_mp3lame_root}/lib/libmpghip-static.lib")
+ set(_mp3lame_mpghip_dbg_lib "${_mp3lame_root}/debug/lib/libmpghip-static.lib")
+
+ if (EXISTS "${_mp3lame_mpghip_rel_lib}" OR EXISTS "${_mp3lame_mpghip_dbg_lib}")
+
+ add_library(mp3lame::mpghip UNKNOWN IMPORTED)
+
+ if (EXISTS "${_mp3lame_rel_lib}")
+ set_target_properties(mp3lame::mpghip
+ PROPERTIES IMPORTED_LOCATION_RELEASE "${_mp3lame_mpghip_rel_lib}")
+ set_property(TARGET mp3lame::mpghip APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
+ endif()
+ if (EXISTS "${_mp3lame_dbg_lib}")
+ set_target_properties(mp3lame::mpghip
+ PROPERTIES IMPORTED_LOCATION_DEBUG "${_mp3lame_mpghip_dbg_lib}")
+ set_property(TARGET mp3lame::mpghip APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
+ endif()
+
+ set_target_properties(mp3lame::mp3lame PROPERTIES INTERFACE_LINK_LIBRARIES mp3lame::mpghip)
+
+ endif()
+
+ unset(_mp3lame_mpghip_rel_lib)
+ unset(_mp3lame_mpghip_dbg_lib)
+
+else()
+
+ set(mp3lame_FOUND FALSE)
+
+endif()
+
+unset(_mp3lame_rel_lib)
+unset(_mp3lame_dbg_lib)
+
+unset(_mp3lame_root)
diff --git a/ports/mp3lame/portfile.cmake b/ports/mp3lame/portfile.cmake
new file mode 100644
index 000000000..a9b9e17e4
--- /dev/null
+++ b/ports/mp3lame/portfile.cmake
@@ -0,0 +1,152 @@
+include(vcpkg_common_functions)
+
+set(VERSION 3.100)
+
+vcpkg_download_distfile(ARCHIVE_FILE
+ URLS "https://downloads.sourceforge.net/project/lame/lame/${VERSION}/lame-${VERSION}.tar.gz"
+ FILENAME "lame-3.100.tar.gz"
+ SHA512 0844b9eadb4aacf8000444621451277de365041cc1d97b7f7a589da0b7a23899310afd4e4d81114b9912aa97832621d20588034715573d417b2923948c08634b
+)
+
+vcpkg_extract_source_archive_ex(
+ OUT_SOURCE_PATH SOURCE_PATH
+ ARCHIVE ${ARCHIVE_FILE}
+ REF ${VERSION}
+ PATCHES 00001-msvc-upgrade-solution-up-to-vc11.patch
+)
+
+if(VCPKG_TARGET_IS_WINDOWS)
+
+ if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
+ set(platform "ARM64")
+ set(machine "ARM64")
+ elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm")
+ set(platform "ARM")
+ set(machine "ARM")
+ elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
+ set(platform "x64")
+ set(machine "x64")
+ else()
+ set(platform "Win32")
+ set(machine "x86")
+ endif()
+
+ file(READ "${SOURCE_PATH}/vc_solution/vc11_lame.sln" sln_con)
+ string(REPLACE "|Win32" "|${platform}" sln_con "${sln_con}")
+ string(REPLACE "\"vc11_" "\"${machine}_vc11_" sln_con "${sln_con}")
+ file(WRITE "${SOURCE_PATH}/vc_solution/${machine}_vc11_lame.sln" "${sln_con}")
+
+
+ file(GLOB vcxprojs RELATIVE "${SOURCE_PATH}/vc_solution" "${SOURCE_PATH}/vc_solution/vc11_*.vcxproj")
+ foreach(vcxproj ${vcxprojs})
+ file(READ "${SOURCE_PATH}/vc_solution/${vcxproj}" vcxproj_con)
+
+ if(NOT VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ string(REPLACE "DLL</RuntimeLibrary>" "</RuntimeLibrary>" vcxproj_con "${vcxproj_con}")
+ endif()
+
+ string(REPLACE "/machine:x86" "/machine:${machine}" vcxproj_con "${vcxproj_con}")
+ string(REPLACE "<Platform>Win32</Platform>" "<Platform>${platform}</Platform>" vcxproj_con "${vcxproj_con}")
+ string(REPLACE "|Win32" "|${platform}" vcxproj_con "${vcxproj_con}")
+ string(REPLACE "Include=\"vc11_" "Include=\"${machine}_vc11_" vcxproj_con "${vcxproj_con}")
+
+ if(NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ string(REPLACE "/APPCONTAINER" "" vcxproj_con "${vcxproj_con}")
+ endif()
+
+ file(WRITE "${SOURCE_PATH}/vc_solution/${machine}_${vcxproj}" "${vcxproj_con}")
+ endforeach()
+
+ vcpkg_install_msbuild(
+ SOURCE_PATH ${SOURCE_PATH}
+ PROJECT_SUBPATH "vc_solution/${machine}_vc11_lame.sln"
+ TARGET "lame"
+ PLATFORM "${platform}"
+ )
+
+ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin)
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/libmp3lame.lib)
+ endif()
+ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin)
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/libmp3lame.lib)
+ endif()
+ set(MP3LAME_LIB "libmp3lame-static.lib")
+ else()
+ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/libmp3lame-static.lib)
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/libmpghip-static.lib)
+ endif()
+ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/libmp3lame-static.lib)
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/libmpghip-static.lib)
+ endif()
+ set(MP3LAME_LIB "libmp3lame.lib")
+ endif()
+
+else()
+
+ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ set(OPTIONS --enable-static=yes --enable-shared=no)
+ set(MP3LAME_LIB "libmp3lame.a")
+ else()
+ set(OPTIONS --enable-shared=yes --enable-static=no)
+ set(MP3LAME_LIB "libmp3lame.so")
+ endif()
+
+ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
+ file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg)
+ file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg)
+
+ message(STATUS "Configuring ${TARGET_TRIPLET}-dbg")
+ vcpkg_execute_required_process(
+ COMMAND ${SOURCE_PATH}/configure ${OPTIONS} --with-pic=yes --prefix=${CURRENT_PACKAGES_DIR}/debug
+ WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg
+ LOGNAME configure-${TARGET_TRIPLET}-dbg
+ )
+ message(STATUS "Building ${TARGET_TRIPLET}-dbg")
+ vcpkg_execute_required_process(
+ COMMAND make -j install "CFLAGS=${CFLAGS}" "LDFLAGS=${LDFLAGS}"
+ WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg
+ LOGNAME install-${TARGET_TRIPLET}-dbg
+ )
+
+ file(REMOVE_RECURSE
+ ${CURRENT_PACKAGES_DIR}/debug/bin
+ ${CURRENT_PACKAGES_DIR}/debug/include
+ ${CURRENT_PACKAGES_DIR}/debug/share
+ )
+ endif()
+
+ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
+ file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel)
+ file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel)
+
+ message(STATUS "Configuring ${TARGET_TRIPLET}-rel")
+ vcpkg_execute_required_process(
+ COMMAND ${SOURCE_PATH}/configure ${OPTIONS} --with-pic=yes --prefix=${CURRENT_PACKAGES_DIR}
+ WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel
+ LOGNAME configure-${TARGET_TRIPLET}-rel
+ )
+
+ message(STATUS "Building ${TARGET_TRIPLET}-rel")
+ vcpkg_execute_required_process(
+ COMMAND make -j install "CFLAGS=${CFLAGS}" "LDFLAGS=${LDFLAGS}"
+ WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel
+ LOGNAME install-${TARGET_TRIPLET}-rel
+ )
+
+ if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin)
+ endif()
+
+ endif()
+
+endif()
+
+file(COPY ${SOURCE_PATH}/include/lame.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/lame)
+configure_file(${SOURCE_PATH}/COPYING ${CURRENT_PACKAGES_DIR}/share/mp3lame/copyright COPYONLY)
+configure_file(${CMAKE_CURRENT_LIST_DIR}/Config.cmake.in ${CURRENT_PACKAGES_DIR}/share/mp3lame/mp3lame-config.cmake @ONLY)
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/mp3lame)
diff --git a/ports/mp3lame/usage b/ports/mp3lame/usage
new file mode 100644
index 000000000..6efb86c53
--- /dev/null
+++ b/ports/mp3lame/usage
@@ -0,0 +1,4 @@
+The package mp3lame provides CMake targets:
+
+ find_package(mp3lame CONFIG REQUIRED)
+ target_link_libraries(main PRIVATE mp3lame::mp3lame)
diff --git a/ports/nanort/CONTROL b/ports/nanort/CONTROL
new file mode 100644
index 000000000..a9938434f
--- /dev/null
+++ b/ports/nanort/CONTROL
@@ -0,0 +1,4 @@
+Source: nanort
+Version: 2019-08-20
+Description: Single header only modern ray tracing kernel
+Homepage: https://github.com/lighttransport/nanort
diff --git a/ports/nanort/portfile.cmake b/ports/nanort/portfile.cmake
new file mode 100644
index 000000000..49197523e
--- /dev/null
+++ b/ports/nanort/portfile.cmake
@@ -0,0 +1,47 @@
+# Single header only library
+
+include(vcpkg_common_functions)
+
+function(shorten_ref REF SHORTENED_REF)
+ set(REF_MAX_LENGTH 10)
+ string(LENGTH ${REF} REF_LENGTH)
+ math(EXPR FROM_REF ${REF_LENGTH}-${REF_MAX_LENGTH})
+ if(FROM_REF LESS 0)
+ set(FROM_REF 0)
+ endif()
+ string(SUBSTRING ${REF} ${FROM_REF} ${REF_LENGTH} SUB_REF)
+ set(${SHORTENED_REF} ${SUB_REF} PARENT_SCOPE)
+endfunction()
+
+set(SOURCE_VERSION c85fe7a10be5baf8242c81288718c244f25d0183)
+shorten_ref(${SOURCE_VERSION} SHORTED_VERSION)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/lighttransport-nanort-${SHORTED_VERSION})
+
+file(MAKE_DIRECTORY ${SOURCE_PATH})
+
+# See ports/nlohmann-json/portfile.cmake
+function(download_src SUBPATH SHA512)
+ vcpkg_download_distfile(
+ FILE
+ URLS "https://raw.githubusercontent.com/lighttransport/nanort/master/${SUBPATH}"
+ FILENAME "lighttransport-nanort-${SHORTED_VERSION}/${SUBPATH}"
+ SHA512 ${SHA512}
+ )
+ get_filename_component(SUBPATH_DIR "${SOURCE_PATH}/${SUBPATH}" DIRECTORY)
+ file(COPY ${FILE} DESTINATION ${SUBPATH_DIR})
+endfunction()
+
+download_src(
+ nanort.h
+ 3e1f6f5fa295ebc472e37daf106c3871873f0bea4e3175cd4042b5649f581a90bfb9f2db989fa1994c82a2de78e40ecbcafd188b68bf10b5983a41b48e53dcbc
+)
+
+download_src(
+ LICENSE
+ 454b304dcfae816d7a569ccbe29cc9c4bd68aa7ac41467bfa33b39aaf5be4620df5aeb6989319aaa04f305c053c068559b39c7a38c0bee1d4f194b2bc1aac240
+)
+
+file(COPY ${SOURCE_PATH}/nanort.h DESTINATION ${CURRENT_PACKAGES_DIR}/include)
+
+# Handle copyright
+configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY)
diff --git a/ports/openimageio/CONTROL b/ports/openimageio/CONTROL
index 94ae8654e..30d1fae48 100644
--- a/ports/openimageio/CONTROL
+++ b/ports/openimageio/CONTROL
@@ -1,5 +1,5 @@
Source: openimageio
-Version: 2019-08-08-1
+Version: 2019-08-08-2
Homepage: https://github.com/OpenImageIO/oiio
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, robin-map, boost-stacktrace
diff --git a/ports/openimageio/fix_find_openexr.patch b/ports/openimageio/fix_find_openexr.patch
new file mode 100644
index 000000000..a2014f3d8
--- /dev/null
+++ b/ports/openimageio/fix_find_openexr.patch
@@ -0,0 +1,48 @@
+diff --git a/src/cmake/modules/FindOpenEXR.cmake b/src/cmake/modules/FindOpenEXR.cmake
+index babfffd..8e79925 100644
+--- a/src/cmake/modules/FindOpenEXR.cmake
++++ b/src/cmake/modules/FindOpenEXR.cmake
+@@ -118,24 +118,25 @@ endif ()
+ # headers, we do two finds -- first for custom locations, then for default.
+ # This is complicated because the OpenEXR libraries may or may not be
+ # built with version numbers embedded.
+-set (_openexr_components IlmThread IlmImf Imath Iex Half)
+-foreach (COMPONENT ${_openexr_components})
+- string (TOUPPER ${COMPONENT} UPPERCOMPONENT)
+- # First try with the version embedded
+- set (FULL_COMPONENT_NAME ${COMPONENT}-${OPENEXR_VERSION_MAJOR}_${OPENEXR_VERSION_MINOR})
+- find_library (OPENEXR_${UPPERCOMPONENT}_LIBRARY ${FULL_COMPONENT_NAME}
+- PATHS ${OPENEXR_LIBRARY_DIR} $ENV{OPENEXR_LIBRARY_DIR}
+- ${GENERIC_LIBRARY_PATHS} NO_DEFAULT_PATH)
+- # Again, with no directory restrictions
+- find_library (OPENEXR_${UPPERCOMPONENT}_LIBRARY ${FULL_COMPONENT_NAME})
+- # Try again without the version
+- set (FULL_COMPONENT_NAME ${COMPONENT})
+- find_library (OPENEXR_${UPPERCOMPONENT}_LIBRARY ${FULL_COMPONENT_NAME}
+- PATHS ${OPENEXR_LIBRARY_DIR} $ENV{OPENEXR_LIBRARY_DIR}
+- ${GENERIC_LIBRARY_PATHS} NO_DEFAULT_PATH)
+- # One more time, with no restrictions
+- find_library (OPENEXR_${UPPERCOMPONENT}_LIBRARY ${FULL_COMPONENT_NAME})
+-endforeach ()
++find_library(ILMTHREAD_LIBRARY_RELEASE NAMES IlmThread-${OPENEXR_VERSION_MAJOR}_${OPENEXR_VERSION_MINOR})
++find_library(ILMTHREAD_LIBRARY_DEBUG NAMES IlmThread-${OPENEXR_VERSION_MAJOR}_${OPENEXR_VERSION_MINOR}_d)
++select_library_configurations(ILMTHREAD)
++
++find_library(OPENEXR_ILMIMF_LIBRARY_RELEASE NAMES IlmImf-${OPENEXR_VERSION_MAJOR}_${OPENEXR_VERSION_MINOR})
++find_library(OPENEXR_ILMIMF_LIBRARY_DEBUG NAMES IlmImf-${OPENEXR_VERSION_MAJOR}_${OPENEXR_VERSION_MINOR}_d)
++select_library_configurations(OPENEXR_ILMIMF)
++
++find_library(OPENEXR_IMATH_LIBRARY_RELEASE NAMES Imath-${OPENEXR_VERSION_MAJOR}_${OPENEXR_VERSION_MINOR})
++find_library(OPENEXR_IMATH_LIBRARY_DEBUG NAMES Imath-${OPENEXR_VERSION_MAJOR}_${OPENEXR_VERSION_MINOR}_d)
++select_library_configurations(OPENEXR_IMATH)
++
++find_library(OPENEXR_IEX_LIBRARY_RELEASE NAMES Iex-${OPENEXR_VERSION_MAJOR}_${OPENEXR_VERSION_MINOR})
++find_library(OPENEXR_IEX_LIBRARY_DEBUG NAMES Iex-${OPENEXR_VERSION_MAJOR}_${OPENEXR_VERSION_MINOR}_d)
++select_library_configurations(OPENEXR_IEX)
++
++find_library(OPENEXR_HALF_LIBRARY_RELEASE NAMES Half-${OPENEXR_VERSION_MAJOR}_${OPENEXR_VERSION_MINOR})
++find_library(OPENEXR_HALF_LIBRARY_DEBUG NAMES Half-${OPENEXR_VERSION_MAJOR}_${OPENEXR_VERSION_MINOR}_d)
++select_library_configurations(OPENEXR_HALF)
+
+ # Set the FOUND, INCLUDE_DIR, and LIBRARIES variables.
+ if (ILMBASE_INCLUDE_PATH AND OPENEXR_INCLUDE_PATH AND
diff --git a/ports/openimageio/portfile.cmake b/ports/openimageio/portfile.cmake
index 7284d58b8..09ac52960 100644
--- a/ports/openimageio/portfile.cmake
+++ b/ports/openimageio/portfile.cmake
@@ -10,6 +10,7 @@ vcpkg_from_github(
fix_libraw.patch
use-webp.patch
remove_wrong_dependency.patch
+ fix_find_openexr.patch
)
file(REMOVE_RECURSE "${SOURCE_PATH}/ext")
diff --git a/ports/paho-mqttpp3/CONTROL b/ports/paho-mqttpp3/CONTROL
index 7e3391668..1656c094d 100644
--- a/ports/paho-mqttpp3/CONTROL
+++ b/ports/paho-mqttpp3/CONTROL
@@ -1,5 +1,5 @@
Source: paho-mqttpp3
-Version: 1.0.1-1
+Version: 1.0.1-2
Description: Paho project provides open-source C++ wrapper for Paho C library
Build-Depends: paho-mqtt
Default-Features: ssl
diff --git a/ports/paho-mqttpp3/fix-include-path.patch b/ports/paho-mqttpp3/fix-include-path.patch
new file mode 100644
index 000000000..5b7297dd2
--- /dev/null
+++ b/ports/paho-mqttpp3/fix-include-path.patch
@@ -0,0 +1,182 @@
+diff --git a/src/mqtt/async_client.h b/src/mqtt/async_client.h
+index 2754690..019c81b 100644
+--- a/src/mqtt/async_client.h
++++ b/src/mqtt/async_client.h
+@@ -24,7 +24,7 @@
+ #ifndef __mqtt_async_client_h
+ #define __mqtt_async_client_h
+
+-#include "MQTTAsync.h"
++#include "paho-mqtt/MQTTAsync.h"
+ #include "mqtt/types.h"
+ #include "mqtt/token.h"
+ #include "mqtt/string_collection.h"
+diff --git a/src/mqtt/callback.h b/src/mqtt/callback.h
+index 6cac442..13585de 100644
+--- a/src/mqtt/callback.h
++++ b/src/mqtt/callback.h
+@@ -24,7 +24,7 @@
+ #ifndef __mqtt_callback_h
+ #define __mqtt_callback_h
+
+-#include "MQTTAsync.h"
++#include "paho-mqtt/MQTTAsync.h"
+ #include "mqtt/delivery_token.h"
+ #include "mqtt/types.h"
+ #include <vector>
+diff --git a/src/mqtt/connect_options.h b/src/mqtt/connect_options.h
+index a7cdf56..adb52fb 100644
+--- a/src/mqtt/connect_options.h
++++ b/src/mqtt/connect_options.h
+@@ -24,7 +24,7 @@
+ #ifndef __mqtt_connect_options_h
+ #define __mqtt_connect_options_h
+
+-#include "MQTTAsync.h"
++#include "paho-mqtt/MQTTAsync.h"
+ #include "mqtt/types.h"
+ #include "mqtt/message.h"
+ #include "mqtt/topic.h"
+diff --git a/src/mqtt/delivery_token.h b/src/mqtt/delivery_token.h
+index 3ecf70b..16c47bb 100644
+--- a/src/mqtt/delivery_token.h
++++ b/src/mqtt/delivery_token.h
+@@ -24,7 +24,7 @@
+ #ifndef __mqtt_delivery_token_h
+ #define __mqtt_delivery_token_h
+
+-#include "MQTTAsync.h"
++#include "paho-mqtt/MQTTAsync.h"
+ #include "mqtt/token.h"
+ #include "mqtt/message.h"
+ #include <memory>
+diff --git a/src/mqtt/disconnect_options.h b/src/mqtt/disconnect_options.h
+index 81b74ad..2f8c824 100644
+--- a/src/mqtt/disconnect_options.h
++++ b/src/mqtt/disconnect_options.h
+@@ -23,7 +23,7 @@
+ #ifndef __mqtt_disconnect_options_h
+ #define __mqtt_disconnect_options_h
+
+-#include "MQTTAsync.h"
++#include "paho-mqtt/MQTTAsync.h"
+ #include "mqtt/token.h"
+ #include <chrono>
+
+diff --git a/src/mqtt/exception.h b/src/mqtt/exception.h
+index 775589f..77f4821 100644
+--- a/src/mqtt/exception.h
++++ b/src/mqtt/exception.h
+@@ -24,7 +24,7 @@
+ #ifndef __mqtt_exception_h
+ #define __mqtt_exception_h
+
+-#include "MQTTAsync.h"
++#include "paho-mqtt/MQTTAsync.h"
+ #include "mqtt/types.h"
+ #include <vector>
+ #include <memory>
+diff --git a/src/mqtt/iaction_listener.h b/src/mqtt/iaction_listener.h
+index 1e34577..2af8c1b 100644
+--- a/src/mqtt/iaction_listener.h
++++ b/src/mqtt/iaction_listener.h
+@@ -24,7 +24,7 @@
+ #ifndef __mqtt_iaction_listener_h
+ #define __mqtt_iaction_listener_h
+
+-#include "MQTTAsync.h"
++#include "paho-mqtt/MQTTAsync.h"
+ #include "mqtt/types.h"
+ #include <vector>
+
+diff --git a/src/mqtt/iclient_persistence.h b/src/mqtt/iclient_persistence.h
+index 852ec8e..aa721bc 100644
+--- a/src/mqtt/iclient_persistence.h
++++ b/src/mqtt/iclient_persistence.h
+@@ -24,7 +24,7 @@
+ #ifndef __mqtt_iclient_persistence_h
+ #define __mqtt_iclient_persistence_h
+
+-#include "MQTTAsync.h"
++#include "paho-mqtt/MQTTAsync.h"
+ #include "mqtt/types.h"
+ #include "mqtt/buffer_view.h"
+ #include "mqtt/string_collection.h"
+diff --git a/src/mqtt/message.h b/src/mqtt/message.h
+index feb3b97..bdab5d8 100644
+--- a/src/mqtt/message.h
++++ b/src/mqtt/message.h
+@@ -24,7 +24,7 @@
+ #ifndef __mqtt_message_h
+ #define __mqtt_message_h
+
+-#include "MQTTAsync.h"
++#include "paho-mqtt/MQTTAsync.h"
+ #include "mqtt/buffer_ref.h"
+ #include "mqtt/exception.h"
+ #include <memory>
+diff --git a/src/mqtt/response_options.h b/src/mqtt/response_options.h
+index 6fc727f..dca2013 100644
+--- a/src/mqtt/response_options.h
++++ b/src/mqtt/response_options.h
+@@ -7,7 +7,7 @@
+ #ifndef __mqtt_response_options_h
+ #define __mqtt_response_options_h
+
+-#include "MQTTAsync.h"
++#include "paho-mqtt/MQTTAsync.h"
+ #include "mqtt/token.h"
+ #include "mqtt/delivery_token.h"
+
+diff --git a/src/mqtt/ssl_options.h b/src/mqtt/ssl_options.h
+index ca2f847..64a3afc 100644
+--- a/src/mqtt/ssl_options.h
++++ b/src/mqtt/ssl_options.h
+@@ -25,7 +25,7 @@
+ #ifndef __mqtt_ssl_options_h
+ #define __mqtt_ssl_options_h
+
+-#include "MQTTAsync.h"
++#include "paho-mqtt/MQTTAsync.h"
+ #include "mqtt/message.h"
+ #include "mqtt/topic.h"
+ #include "mqtt/types.h"
+diff --git a/src/mqtt/token.h b/src/mqtt/token.h
+index 0db8196..e4fe10e 100644
+--- a/src/mqtt/token.h
++++ b/src/mqtt/token.h
+@@ -24,7 +24,7 @@
+ #ifndef __mqtt_token_h
+ #define __mqtt_token_h
+
+-#include "MQTTAsync.h"
++#include "paho-mqtt/MQTTAsync.h"
+ #include "mqtt/iaction_listener.h"
+ #include "mqtt/exception.h"
+ #include "mqtt/types.h"
+diff --git a/src/mqtt/topic.h b/src/mqtt/topic.h
+index f68005a..61e53f0 100644
+--- a/src/mqtt/topic.h
++++ b/src/mqtt/topic.h
+@@ -24,7 +24,7 @@
+ #ifndef __mqtt_topic_h
+ #define __mqtt_topic_h
+
+-#include "MQTTAsync.h"
++#include "paho-mqtt/MQTTAsync.h"
+ #include "mqtt/delivery_token.h"
+ #include "mqtt/message.h"
+ #include "mqtt/types.h"
+diff --git a/src/mqtt/will_options.h b/src/mqtt/will_options.h
+index bffb9e0..d7eca10 100644
+--- a/src/mqtt/will_options.h
++++ b/src/mqtt/will_options.h
+@@ -25,7 +25,7 @@
+ #ifndef __mqtt_will_options_h
+ #define __mqtt_will_options_h
+
+-#include "MQTTAsync.h"
++#include "paho-mqtt/MQTTAsync.h"
+ #include "mqtt/types.h"
+ #include "mqtt/message.h"
+ #include "mqtt/topic.h"
diff --git a/ports/paho-mqttpp3/portfile.cmake b/ports/paho-mqttpp3/portfile.cmake
index f91177ac0..97633e0ea 100644
--- a/ports/paho-mqttpp3/portfile.cmake
+++ b/ports/paho-mqttpp3/portfile.cmake
@@ -7,6 +7,8 @@ vcpkg_from_github(
REF v1.0.1
SHA512 be612197fae387b9f1d8f10944d451ec9e7ebec6045beed365e642089c0a5fde882ed5c734f2b46a5008f98b8445a51114492f0f36fdc684b8a8fe4b71fe31a4
HEAD_REF master
+ PATCHES
+ fix-include-path.patch
)
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
@@ -24,7 +26,7 @@ else()
endif()
# Setting the include path where MqttClient.h is present
-set(PAHO_C_INC "${CURRENT_INSTALLED_DIR}/include/paho-mqtt")
+set(PAHO_C_INC "${CURRENT_INSTALLED_DIR}/include")
# Set the generator to Ninja
set(PAHO_CMAKE_GENERATOR "Ninja")
diff --git a/ports/qt-advanced-docking-system/CONTROL b/ports/qt-advanced-docking-system/CONTROL
new file mode 100644
index 000000000..a578f8643
--- /dev/null
+++ b/ports/qt-advanced-docking-system/CONTROL
@@ -0,0 +1,4 @@
+Source: qt-advanced-docking-system
+Version: 2019-08-14
+Build-Depends: qt5-base, zlib, bzip2
+Description: Create customizable layouts using an advanced window docking system similar to what is found in many popular IDEs such as Visual Studio
diff --git a/ports/qt-advanced-docking-system/config_changes.patch b/ports/qt-advanced-docking-system/config_changes.patch
new file mode 100644
index 000000000..ea9fd2801
--- /dev/null
+++ b/ports/qt-advanced-docking-system/config_changes.patch
@@ -0,0 +1,36 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 8a9f919..9c2b8ad 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -62,7 +62,7 @@ if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "4")
+ else()
+ set(ads_PlatformDir "x64")
+ endif()
+-if(BUILD_STATIC)
++if(NOT BUILD_SHARED_LIBS)
+ add_library(qtadvanceddocking STATIC ${ads_SRCS})
+ set(ads_COMPILE_DEFINE ${ads_COMPILE_DEFINE} ADS_STATIC)
+ else()
+@@ -80,7 +80,7 @@ install(FILES
+ COMPONENT license
+ )
+ install(TARGETS qtadvanceddocking
+- EXPORT adsBinary
++ EXPORT qt-advanced-docking-systemConfig
+ RUNTIME DESTINATION bin COMPONENT library
+ LIBRARY DESTINATION lib COMPONENT library
+ ARCHIVE DESTINATION lib COMPONENT library
+@@ -93,7 +93,6 @@ target_link_libraries(qtadvanceddocking PUBLIC ${ads_LIBS})
+ target_compile_definitions(qtadvanceddocking PRIVATE ${ads_COMPILE_DEFINE})
+ set_target_properties(qtadvanceddocking PROPERTIES
+ VERSION ${ads_VERSION}
+- EXPORT_NAME "Qt Advanced Docking System"
+ ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${ads_PlatformDir}/lib"
+ LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${ads_PlatformDir}/lib"
+ RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${ads_PlatformDir}/bin"
+@@ -103,3 +102,4 @@ if(BUILD_EXAMPLES)
+ add_subdirectory(demo)
+ endif()
+
++install(EXPORT qt-advanced-docking-systemConfig NAMESPACE qt-advanced-docking-system:: DESTINATION share/qt-advanced-docking-system)
+\ No newline at end of file
diff --git a/ports/qt-advanced-docking-system/portfile.cmake b/ports/qt-advanced-docking-system/portfile.cmake
new file mode 100644
index 000000000..2a53981cb
--- /dev/null
+++ b/ports/qt-advanced-docking-system/portfile.cmake
@@ -0,0 +1,25 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO githubuser0xFFFF/Qt-Advanced-Docking-System
+ REF a2b07fd97f0fac63fd7a0ed7b1eb0692b3efab71
+ SHA512 a44babd6100f299aea7fcf2d730874e204151ce363e1f58a2be938f70d28b07f3cb39adfbf46527fdacc3b12a630e7d97851e4a6fcd04e750a007ee06d06d3b5
+ HEAD_REF master
+ PATCHES
+ config_changes.patch
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS -DBUILD_EXAMPLES=OFF
+)
+
+vcpkg_install_cmake()
+
+file(INSTALL ${SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt-advanced-docking-system RENAME copyright)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/license)
+vcpkg_fixup_cmake_targets()
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) \ No newline at end of file
diff --git a/ports/qt5/CONTROL b/ports/qt5/CONTROL
index 0f6bdeafd..03fcaa8b0 100644
--- a/ports/qt5/CONTROL
+++ b/ports/qt5/CONTROL
@@ -1,5 +1,5 @@
Source: qt5
-Version: 5.12.3
+Version: 5.12.3-1
Homepage: https://www.qt.io/
Description: Qt5 Application Framework
Build-Depends: qt5-3d, qt5-activeqt (windows), qt5-base, qt5-charts, qt5-datavis3d, qt5-declarative, qt5-gamepad, qt5-graphicaleffects, qt5-imageformats, qt5-location, qt5-multimedia, qt5-mqtt, qt5-networkauth, qt5-purchasing, qt5-quickcontrols, qt5-quickcontrols2, qt5-script, qt5-scxml, qt5-sensors, qt5-serialport, qt5-speech, qt5-svg, qt5-tools, qt5-virtualkeyboard, qt5-webchannel, qt5-websockets, qt5-winextras (windows), qt5-macextras (osx), qt5-xmlpatterns
diff --git a/ports/qtkeychain/CONTROL b/ports/qtkeychain/CONTROL
new file mode 100644
index 000000000..d054322cf
--- /dev/null
+++ b/ports/qtkeychain/CONTROL
@@ -0,0 +1,4 @@
+Source: qtkeychain
+Version: v0.9.1
+Description: qtkeychain - Platform-independent Qt API for storing passwords securely
+Build-Depends: qt5-base, qt5-tools \ No newline at end of file
diff --git a/ports/qtkeychain/portfile.cmake b/ports/qtkeychain/portfile.cmake
new file mode 100644
index 000000000..5bbe14d89
--- /dev/null
+++ b/ports/qtkeychain/portfile.cmake
@@ -0,0 +1,43 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO frankosterfeld/qtkeychain
+ REF v0.9.1
+ SHA512 c80bd25a5b72c175d0d4a985b952924c807bf67be33eeb89e2b83757727e642c10d8d737cea9744d2faad74c50c1b55d82b306135559c35c91a088c3b198b33a
+ HEAD_REF master
+)
+
+list(APPEND QTKEYCHAIN_OPTIONS -DCMAKE_DEBUG_POSTFIX=d)
+list(APPEND QTKEYCHAIN_OPTIONS -DBUILD_TEST_APPLICATION:BOOL=OFF)
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ list(APPEND QTKEYCHAIN_OPTIONS -DQTKEYCHAIN_STATIC:BOOL=ON)
+else()
+ list(APPEND QTKEYCHAIN_OPTIONS -DQTKEYCHAIN_STATIC:BOOL=OFF)
+endif()
+
+if (CMAKE_HOST_WIN32)
+ list(APPEND QTKEYCHAIN_OPTIONS -DBUILD_TRANSLATIONS:BOOL=ON)
+else()
+ list(APPEND QTKEYCHAIN_OPTIONS -DBUILD_TRANSLATIONS:BOOL=OFF)
+endif()
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ OPTIONS ${QTKEYCHAIN_OPTIONS}
+)
+
+vcpkg_install_cmake()
+
+vcpkg_copy_pdbs()
+
+# Remove unneeded dirs
+file(REMOVE_RECURSE
+ ${CURRENT_PACKAGES_DIR}/debug/include
+ ${CURRENT_PACKAGES_DIR}/debug/lib/cmake
+ ${CURRENT_PACKAGES_DIR}/lib/cmake
+)
+
+# Handle copyright
+file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/qtkeychain)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/qtkeychain/COPYING ${CURRENT_PACKAGES_DIR}/share/qtkeychain/copyright)
diff --git a/ports/quickfast/00001-fix-boost-asio.patch b/ports/quickfast/00001-fix-boost-asio.patch
new file mode 100644
index 000000000..13a4cfa2a
--- /dev/null
+++ b/ports/quickfast/00001-fix-boost-asio.patch
@@ -0,0 +1,39 @@
+diff --git a/src/Common/QuickFASTPch.h b/src/Common/QuickFASTPch.h
+index 3574df8..c4ef4e1 100644
+--- a/src/Common/QuickFASTPch.h
++++ b/src/Common/QuickFASTPch.h
+@@ -32,7 +32,7 @@
+ #include <string.h>
+
+ // If building for .NET, must link boost threads dynamically
+-#define BOOST_THREAD_USE_DLL
++// #define BOOST_THREAD_USE_DLL
+ // This reports at compile time which boost libraries will be used
+ // #define BOOST_LIB_DIAGNOSTIC
+
+diff --git a/src/Communication/AsioService.h b/src/Communication/AsioService.h
+index 4f61915..96f2198 100644
+--- a/src/Communication/AsioService.h
++++ b/src/Communication/AsioService.h
+@@ -99,6 +99,7 @@ namespace QuickFAST
+ {
+ return ioService_;
+ }
++ boost::asio::io_service::executor_type get_executor() BOOST_ASIO_NOEXCEPT { return ioService_.get_executor();}
+
+ ///@brief Post a completion handler for later processing (usually in a different thread)
+ /// @param handler is the handler to be posted
+diff --git a/src/Communication/AsioService_fwd.h b/src/Communication/AsioService_fwd.h
+index dc2f235..6ad5e68 100644
+--- a/src/Communication/AsioService_fwd.h
++++ b/src/Communication/AsioService_fwd.h
+@@ -17,7 +17,8 @@ namespace boost
+ {
+ namespace asio
+ {
+- class io_service;
++ class io_context;
++ typedef io_context io_service;
+ }
+ }
+
diff --git a/ports/quickfast/CMakeLists.txt b/ports/quickfast/CMakeLists.txt
new file mode 100644
index 000000000..2464b6a25
--- /dev/null
+++ b/ports/quickfast/CMakeLists.txt
@@ -0,0 +1,54 @@
+cmake_minimum_required(VERSION 3.13)
+project(quickfast CXX)
+
+option(BUILD_SHARED_LIBS "Build shared instead of static library" ON)
+
+find_package(Boost REQUIRED COMPONENTS thread)
+find_package(XercesC REQUIRED)
+
+file(GLOB SOURCES
+ quickfast/Application/*.cpp
+ quickfast/Common/*.cpp
+ quickfast/Codecs/*.cpp
+ quickfast/Communication/*.cpp
+ quickfast/Messages/*.cpp
+)
+
+file(GLOB HEADERS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
+ quickfast/Application/*.h
+ quickfast/Common/*.h
+ quickfast/Codecs/*.h
+ quickfast/Communication/*.h
+ quickfast/Messages/*.h
+)
+
+if(BUILD_SHARED_LIBS)
+ add_library(quickfast SHARED ${HEADERS} ${SOURCES})
+ target_compile_definitions(quickfast PRIVATE -DQUICKFAST_BUILD_DLL)
+else()
+ add_library(quickfast STATIC ${HEADERS} ${SOURCES})
+ target_compile_definitions(quickfast PUBLIC -DQUICKFAST_HAS_DLL=0)
+endif()
+
+target_include_directories(quickfast PUBLIC
+ $<INSTALL_INTERFACE:include>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
+ $<BUILD_INTERFACE:${Boost_INCLUDE_DIRS}>
+)
+
+target_link_libraries(quickfast PRIVATE
+ ${Boost_LIBRARIES}
+ XercesC::XercesC
+)
+
+install(TARGETS quickfast EXPORT quickfast-config
+ RUNTIME DESTINATION bin
+ ARCHIVE DESTINATION lib
+ LIBRARY DESTINATION lib
+)
+install(EXPORT quickfast-config DESTINATION share/cmake/quickfast)
+
+foreach (HEADER ${HEADERS} )
+ get_filename_component(HEADER_DIR ${HEADER} DIRECTORY)
+ install(FILES ${HEADER} DESTINATION include/${HEADER_DIR})
+endforeach()
diff --git a/ports/quickfast/CONTROL b/ports/quickfast/CONTROL
new file mode 100644
index 000000000..6f0ff5277
--- /dev/null
+++ b/ports/quickfast/CONTROL
@@ -0,0 +1,5 @@
+Source: quickfast
+Version: 1.5
+Build-Depends: boost-asio, xerces-c
+Homepage: https://github.com/objectcomputing/quickfast
+Description: QuickFAST is an Open Source native C++ implementation of the FAST Protocol [SM].
diff --git a/ports/quickfast/portfile.cmake b/ports/quickfast/portfile.cmake
new file mode 100644
index 000000000..7f3f6b8f4
--- /dev/null
+++ b/ports/quickfast/portfile.cmake
@@ -0,0 +1,50 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO objectcomputing/quickfast
+ REF V1_5
+ SHA512 f224ffbe0ee1b84616b46d536d27da01346103cf9ed135a87543da51e8e979ec3735e08ece8525ee1316ea323d41dcacc4d44eabe2e033d68f93432ea43d1ce9
+ HEAD_REF master
+ PATCHES 00001-fix-boost-asio.patch
+)
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+
+if(NOT EXISTS "${SOURCE_PATH}/quickfast")
+ file(RENAME ${SOURCE_PATH}/src ${SOURCE_PATH}/quickfast)
+endif()
+
+file(GLOB_RECURSE SRC_FILES "${SOURCE_PATH}/quickfast/*.cpp" "${SOURCE_PATH}/quickfast/*.h")
+foreach(SRC_FILE IN LISTS SRC_FILES)
+ file(READ "${SRC_FILE}" _contents)
+ string(REPLACE "#include <Common/" "#include <quickfast/Common/" _contents "${_contents}")
+ string(REPLACE "#include <Application/" "#include <quickfast/Application/" _contents "${_contents}")
+ string(REPLACE "#include <Communication/" "#include <quickfast/Communication/" _contents "${_contents}")
+ string(REPLACE "#include <Codecs/" "#include <quickfast/Codecs/" _contents "${_contents}")
+ string(REPLACE "#include <Messages/" "#include <quickfast/Messages/" _contents "${_contents}")
+ file(WRITE "${SRC_FILE}" "${_contents}")
+endforeach()
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ set(BUILD_SHARED_LIBS ON)
+else()
+ set(BUILD_SHARED_LIBS OFF)
+endif()
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ OPTIONS
+ -DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS}
+ PREFER_NINJA
+)
+
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/quickfast)
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
+
+configure_file(${SOURCE_PATH}/license.txt ${CURRENT_PACKAGES_DIR}/share/quickfast/copyright COPYONLY)
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/quickfast)
diff --git a/ports/quickfast/usage b/ports/quickfast/usage
new file mode 100644
index 000000000..26c4bea21
--- /dev/null
+++ b/ports/quickfast/usage
@@ -0,0 +1,4 @@
+The package quickfast provides CMake targets:
+
+ find_package(quickfast CONFIG REQUIRED)
+ target_link_libraries(main PRIVATE quickfast)
diff --git a/ports/quickfix/00001-fix-build.patch b/ports/quickfix/00001-fix-build.patch
new file mode 100644
index 000000000..aa14d7b5c
--- /dev/null
+++ b/ports/quickfix/00001-fix-build.patch
@@ -0,0 +1,98 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 48908ead..5022a019 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -96,9 +96,12 @@ add_subdirectory(UnitTest++)
+ endif()
+
+ add_subdirectory(src)
+-add_subdirectory(examples)
++#add_subdirectory(examples)
+ if( WIN32)
+-add_subdirectory(test)
++#add_subdirectory(test)
++target_compile_definitions(TestUnitTest++ PRIVATE _CRT_SECURE_NO_WARNINGS)
++target_compile_definitions(UnitTest++ PRIVATE _CRT_SECURE_NO_WARNINGS)
++target_compile_definitions(ut PRIVATE _WINSOCK_DEPRECATED_NO_WARNINGS)
+ endif()
+
+ install(DIRECTORY ${CMAKE_SOURCE_DIR}/spec/ DESTINATION share/quickfix
+diff --git a/src/C++/CMakeLists.txt b/src/C++/CMakeLists.txt
+index 07774c97..27692631 100644
+--- a/src/C++/CMakeLists.txt
++++ b/src/C++/CMakeLists.txt
+@@ -1,3 +1,4 @@
++project(quickfix)
+ set(quickfix_VERSION_MAJOR 16)
+ set(quickfix_VERSION_MINOR 0)
+ set(quickfix_VERSION_PATCH 1)
+@@ -64,19 +65,22 @@ endif()
+
+ if (WIN32)
+ add_library(${PROJECT_NAME} STATIC ${quickfix_SOURCES})
+- set_target_properties (${PROJECT_NAME} PROPERTIES DEBUG_POSTFIX d)
+ target_link_libraries(${PROJECT_NAME} ${OPENSSL_LIBRARIES} ${MYSQL_CLIENT_LIBS} ${PostgreSQL_LIBRARIES} ws2_32)
++ target_compile_definitions(${PROJECT_NAME} PRIVATE _CRT_SECURE_NO_WARNINGS _CRT_NONSTDC_NO_DEPRECATE)
+ else()
+- add_library(${PROJECT_NAME} SHARED ${quickfix_SOURCES})
++ add_library(${PROJECT_NAME} STATIC ${quickfix_SOURCES})
+ target_link_libraries(${PROJECT_NAME} ${OPENSSL_LIBRARIES} ${MYSQL_CLIENT_LIBS} ${PostgreSQL_LIBRARIES} pthread)
+ endif()
+
+ target_include_directories(${PROJECT_NAME} PRIVATE ${CMAKE_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/src ${CMAKE_SOURCE_DIR}/src/C++)
++target_include_directories(${PROJECT_NAME} PUBLIC $<INSTALL_INTERFACE:include>)
+
+ set_target_properties(${PROJECT_NAME} PROPERTIES VERSION ${quickfix_VERSION} SOVERSION ${quickfix_VERSION_MAJOR} )
++target_compile_definitions(${PROJECT_NAME} PUBLIC HAVE_STD_UNIQUE_PTR HAVE_STD_SHARED_PTR HAVE_SSL=1)
+
+-install(TARGETS ${PROJECT_NAME} DESTINATION lib)
++install(TARGETS ${PROJECT_NAME} EXPORT quickfix-config DESTINATION lib)
+ install(DIRECTORY ${CMAKE_SOURCE_DIR}/src/C++/ DESTINATION include/quickfix
+ FILES_MATCHING PATTERN "*.h"
+ PATTERN double-conversion EXCLUDE
+ PATTERN test EXCLUDE)
++install(EXPORT quickfix-config DESTINATION share/cmake/quickfix)
+diff --git a/src/C++/Utility.h b/src/C++/Utility.h
+index 0aa2cd3e..2829e110 100644
+--- a/src/C++/Utility.h
++++ b/src/C++/Utility.h
+@@ -242,4 +242,10 @@ using std::strtol;
+ using std::strerror;
+ #endif
+
++#ifdef __cpp_noexcept_function_type
++#define QUICKFIX_THROW(...) noexcept(false)
++#else
++#define QUICKFIX_THROW(...) throw(__VA_ARGS__)
++#endif
++
+ #endif
+diff --git a/src/C++/UtilitySSL.cpp b/src/C++/UtilitySSL.cpp
+index a01606ac..aee41bbf 100644
+--- a/src/C++/UtilitySSL.cpp
++++ b/src/C++/UtilitySSL.cpp
+@@ -498,7 +498,11 @@ static void ssl_rand_seed(void)
+ /*
+ * seed in the current process id (usually just 4 bytes)
+ */
++#ifdef _MSC_VER
++ pid = GetCurrentProcessId();
++#else
+ pid = getpid();
++#endif
+ l = sizeof(pid);
+ RAND_seed((unsigned char *)&pid, l);
+ /*
+diff --git a/src/C++/double-conversion/utils.h b/src/C++/double-conversion/utils.h
+index aef2f166..779b8ab7 100644
+--- a/src/C++/double-conversion/utils.h
++++ b/src/C++/double-conversion/utils.h
+@@ -61,7 +61,7 @@
+ // disabled.)
+ // On Linux,x86 89255e-22 != Div_double(89255.0/1e22)
+ #if defined(_M_X64) || defined(__x86_64__) || \
+- defined(__ARMEL__) || defined(__avr32__) || \
++ defined(__ARMEL__) || defined(__avr32__) || defined(_M_ARM) || defined(_M_ARM64) || \
+ defined(__hppa__) || defined(__ia64__) || \
+ defined(__mips__) || \
+ defined(__powerpc__) || defined(__ppc__) || defined(__ppc64__) || \
diff --git a/ports/quickfix/CONTROL b/ports/quickfix/CONTROL
new file mode 100644
index 000000000..b0d8e7d6b
--- /dev/null
+++ b/ports/quickfix/CONTROL
@@ -0,0 +1,5 @@
+Source: quickfix
+Version: 1.15.1
+Build-Depends: openssl
+Homepage: https://github.com/quickfix/quickfix
+Description: QuickFIX is a free and open source implementation of the FIX protocol.
diff --git a/ports/quickfix/portfile.cmake b/ports/quickfix/portfile.cmake
new file mode 100644
index 000000000..e560bed94
--- /dev/null
+++ b/ports/quickfix/portfile.cmake
@@ -0,0 +1,50 @@
+include(vcpkg_common_functions)
+
+vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO quickfix/quickfix
+ REF v1.15.1
+ SHA512 6c3dc53f25932c9b7516ab9228f634511ae0f399719f87f0ec2b38c380c0a7d1c808f0f9a14a70a063e1956118550d1121222283a9139f23cd4f8f038f595f70
+ HEAD_REF master
+ PATCHES 00001-fix-build.patch
+)
+
+file(GLOB_RECURSE SRC_FILES RELATIVE ${SOURCE_PATH}
+ "${SOURCE_PATH}/src/*.cpp"
+ "${SOURCE_PATH}/src/*.h"
+)
+
+list(REMOVE_ITEM SRC_FILES "src/C++/Utility.h")
+list(REMOVE_ITEM SRC_FILES "src/C++/pugixml.cpp")
+
+foreach(SRC_FILE IN LISTS SRC_FILES)
+ file(READ "${SOURCE_PATH}/${SRC_FILE}" _contents)
+ string(REPLACE "throw(" "QUICKFIX_THROW(" _contents "${_contents}")
+ string(REPLACE "throw (" "QUICKFIX_THROW(" _contents "${_contents}")
+ file(WRITE "${SOURCE_PATH}/${SRC_FILE}" "${_contents}")
+endforeach()
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ OPTIONS
+ -DHAVE_EMX=OFF
+ -DHAVE_MYSQL=OFF
+ -DHAVE_POSTGRESQL=OFF
+ -DHAVE_PYTHON=OFF
+ -DHAVE_PYTHON2=OFF
+ -DHAVE_PYTHON3=OFF
+ -DHAVE_SSL=ON
+ PREFER_NINJA
+)
+
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/quickfix)
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
+
+configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/quickfix/copyright COPYONLY)
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/quickfix)
diff --git a/ports/quickfix/usage b/ports/quickfix/usage
new file mode 100644
index 000000000..2bed80460
--- /dev/null
+++ b/ports/quickfix/usage
@@ -0,0 +1,4 @@
+The package quickfix provides CMake targets:
+
+ find_package(quickfix CONFIG REQUIRED)
+ target_link_libraries(main PRIVATE quickfix)
diff --git a/ports/range-v3/CONTROL b/ports/range-v3/CONTROL
index 1e1274d4b..45e81281e 100644
--- a/ports/range-v3/CONTROL
+++ b/ports/range-v3/CONTROL
@@ -1,4 +1,4 @@
Source: range-v3
-Version: 0.5.0
+Version: 0.9.0-20190822
Homepage: https://github.com/ericniebler/range-v3
Description: Range library for C++11/14/17.
diff --git a/ports/range-v3/portfile.cmake b/ports/range-v3/portfile.cmake
index 625d6dd48..c208a55f8 100644
--- a/ports/range-v3/portfile.cmake
+++ b/ports/range-v3/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO ericniebler/range-v3
- REF 0.5.0
- SHA512 076be03b0f4113acb5fb4db83ed5e755bed60ff8df9a7b982b144949cce40f0bb0579ecca38c1f33643b63037b8d311afa6d613b50811e1191b63e2c42a0d4bf
+ REF 94f95160f23ab3ee5089b58eb2d9e66a4429d358
+ SHA512 e4669076fff12e5c48c97cbc67c9d5ee98ac30ea14beba35c9882d05f741a3de9f0125d3f5a27854f56919c61a473dbcfe1f92d6266cb632b7fe38f2d49194db
HEAD_REF master
)
diff --git a/ports/re2/CONTROL b/ports/re2/CONTROL
index d8ff925d8..06ee164a1 100644
--- a/ports/re2/CONTROL
+++ b/ports/re2/CONTROL
@@ -1,4 +1,4 @@
Source: re2
-Version: 2019-05-07-2
+Version: 2019-08-01
Homepage: https://github.com/google/re2
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.
diff --git a/ports/re2/portfile.cmake b/ports/re2/portfile.cmake
index 690889c70..127e00f5d 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 cd23be77c716bf75ebb3ddc07fa3ef0c943da6d2
- SHA512 c307fc9294497dc3b4ae95db117f310e0db8f91a90c32bb316fe7e32414b2ade48264471e7a7bb0860aa9b0afe7dd460dadc552b1173ac35235ad3624c6f2ed5
+ REF 2019-08-01
+ SHA512 e2b8f121f29b9afa5ae3c8f29811a010289279a9edb3761e27b44d903a85b80720a3a59388a4ad75fb687ee1343d25b5a59cdee42282eed30f5fc48b59c70c97
HEAD_REF master
)
diff --git a/ports/reproc/CONTROL b/ports/reproc/CONTROL
index 07bf0e6ec..63e33c5ba 100644
--- a/ports/reproc/CONTROL
+++ b/ports/reproc/CONTROL
@@ -1,3 +1,3 @@
Source: reproc
-Version: 6.0.0-2
+Version: 8.0.1
Description: Cross-platform library that simplifies working with external CLI applications from C and C++
diff --git a/ports/reproc/portfile.cmake b/ports/reproc/portfile.cmake
index f569340df..4f779eb8a 100644
--- a/ports/reproc/portfile.cmake
+++ b/ports/reproc/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO DaanDeMeyer/reproc
- REF v6.0.0
- SHA512 482eb7b52961878877d1e4a4f1e1a5a867ff5b83f0df3ce47c0eb68f43eabcde720ea7ccb2eeb960dbc29fc61c888db62751984425e9b27c7498dfa4441aa801
+ REF v8.0.1
+ SHA512 029b32bc275cecb95e5dc451dcf9efdb4f5b24f4ff6c6358960f6b4b45237aee12d0c2aee7dfe8e08ac1c8e9a65412f6d89578a84538b2fb4fc8c35409282fe3
HEAD_REF master
)
diff --git a/ports/riffcpp/CONTROL b/ports/riffcpp/CONTROL
index 3667dd786..f27875d74 100644
--- a/ports/riffcpp/CONTROL
+++ b/ports/riffcpp/CONTROL
@@ -1,4 +1,4 @@
Source: riffcpp
-Version: 2.1.0
+Version: 2.2.2
Homepage: https://github.com/libdmusic/riffcpp
Description: Simple library for reading RIFF files
diff --git a/ports/riffcpp/portfile.cmake b/ports/riffcpp/portfile.cmake
index 85b623cb8..16834466b 100644
--- a/ports/riffcpp/portfile.cmake
+++ b/ports/riffcpp/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO libdmusic/riffcpp
- REF v2.2.1
- SHA512 646a98e6f6cd3995081a6242a866effab2968e20b2700248e3d19036bed426236e3844ad09d4b542e023f5f280d74575c47abe5e5e94ce0d77536f4f0a33b8c1
+ REF v2.2.2
+ SHA512 2124208e0e75bfe6d96fd177594ea038291e2bbf88c3a1fddb9cede0966168748de43844a379253947797baf184d85ca0fa521edbf9001cf9c5e471356f1603d
HEAD_REF master
)
diff --git a/ports/safeint/CONTROL b/ports/safeint/CONTROL
index 6ac85d36b..02676e9e9 100644
--- a/ports/safeint/CONTROL
+++ b/ports/safeint/CONTROL
@@ -1,3 +1,3 @@
Source: safeint
-Version: 3.20.0
+Version: 3.21
Description: SafeInt is a class library for C++ that manages integer overflows
diff --git a/ports/safeint/portfile.cmake b/ports/safeint/portfile.cmake
index bacd54541..697cdcbb2 100644
--- a/ports/safeint/portfile.cmake
+++ b/ports/safeint/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO dcleblanc/SafeInt
- REF 3.20.0
- SHA512 ebd10ac2578b4ab7968b2f89b7c8114a55bfd1967d625498a555b5354acf5a8c6b145b38429eb0dc853e7a0a33728a2a5acb505888bc983e7b0de81d09f50918
+ REF 3.21
+ SHA512 211885bccd768ccb175b1f672a4156642f9d75074059cf537b5e2f751a19e37983e6acf7c4bf936ddc8828e0c6510165722f02f76ec943e3c03ca486a48d3340
HEAD_REF master
)
diff --git a/ports/selene/CONTROL b/ports/selene/CONTROL
index b3bbed2b6..0dcfbc290 100644
--- a/ports/selene/CONTROL
+++ b/ports/selene/CONTROL
@@ -1,4 +1,5 @@
Source: selene
Version: 0.3.1-1
+Homepage: https://github.com/kmhofmann/selene
Description: A C++17 image representation, processing and I/O library.
Build-Depends: zlib, libpng, libjpeg-turbo, tiff
diff --git a/ports/snowhouse/CONTROL b/ports/snowhouse/CONTROL
index ebd1a6192..3d6592901 100644
--- a/ports/snowhouse/CONTROL
+++ b/ports/snowhouse/CONTROL
@@ -1,3 +1,3 @@
Source: snowhouse
-Version: 3.1.0
+Version: 3.1.1
Description: An assertion library for C++
diff --git a/ports/snowhouse/portfile.cmake b/ports/snowhouse/portfile.cmake
index de5fd57e5..459b086d0 100644
--- a/ports/snowhouse/portfile.cmake
+++ b/ports/snowhouse/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO banditcpp/snowhouse
- REF 5a612c248524a3b1bdd388bc0ef5a9ea0d2fa684
- SHA512 fd737b0f433093246883975ec70a407a62547e768f538e0540ac0634db1578f0ea46979b7055ae428f146499a0df3b1d6292b8d38c22d346476211757a271d21
+ REF v3.1.1
+ SHA512 4547893c77eb7ddf7c1dac222ebd2456c518c38a12001b8a27b64d876ece93591ff624b911cb4f1ea3d7b635e92cc3ace536ca12e476bdfbce9789293b95b08f
HEAD_REF master
)
diff --git a/ports/sol2/CONTROL b/ports/sol2/CONTROL
index a43b1c7b4..5a93c3c64 100644
--- a/ports/sol2/CONTROL
+++ b/ports/sol2/CONTROL
@@ -1,5 +1,5 @@
Source: sol2
-Version: 3.0.2
+Version: 3.0.3
Homepage: https://github.com/ThePhD/sol2
Description: Sol v2.0 - a C++ <-> Lua API wrapper with advanced features and top notch performance - is here, and it's great
Build-Depends: lua (windows) \ No newline at end of file
diff --git a/ports/sol2/portfile.cmake b/ports/sol2/portfile.cmake
index a055d18b1..2516549dd 100644
--- a/ports/sol2/portfile.cmake
+++ b/ports/sol2/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO ThePhD/sol2
- REF 57990845726e17fba11a39cfcb1fc0127a7ea638
- SHA512 3894610a08f7a47c43fc14e2abe750fc41ce7ea90106a6f0290d1ae2bbcc829d340f2c211426686c061a42a77effec1f1c898f19153e9f904e5fab416c7b6399
+ REF v3.0.3
+ SHA512 8c8f36eaedb76863106ecd24543b82c76a2fac15e86bfaf0e724b726e89d4238adf9eea8abefe0add5ee17e45b1a73ee24496f691b79c15dca85e2cfde8762b4
HEAD_REF develop
)
diff --git a/ports/sparsehash/00001-windows-use-std.patch b/ports/sparsehash/00001-windows-use-std.patch
new file mode 100644
index 000000000..69d1966f8
--- /dev/null
+++ b/ports/sparsehash/00001-windows-use-std.patch
@@ -0,0 +1,17 @@
+diff --git a/src/windows/sparsehash/internal/sparseconfig.h b/src/windows/sparsehash/internal/sparseconfig.h
+index 3091559..f96e08c 100644
+--- a/src/windows/sparsehash/internal/sparseconfig.h
++++ b/src/windows/sparsehash/internal/sparseconfig.h
+@@ -7,10 +7,10 @@
+ #define GOOGLE_NAMESPACE ::google
+
+ /* the location of the header defining hash functions */
+-#define HASH_FUN_H <hash_map>
++#define HASH_FUN_H <unordered_map>
+
+ /* the namespace of the hash<> function */
+-#define HASH_NAMESPACE stdext
++#define HASH_NAMESPACE std
+
+ /* Define to 1 if you have the <inttypes.h> header file. */
+ #undef HAVE_INTTYPES_H
diff --git a/ports/sparsehash/CONTROL b/ports/sparsehash/CONTROL
new file mode 100644
index 000000000..04c1d756b
--- /dev/null
+++ b/ports/sparsehash/CONTROL
@@ -0,0 +1,4 @@
+Source: sparsehash
+Version: 2.0.3
+Homepage: https://github.com/sparsehash/sparsehash
+Description: The sparsehash package consists of two hashtable implementations: sparse, which is designed to be very space efficient, and dense, which is designed to be very time efficient.
diff --git a/ports/sparsehash/Config.cmake.in b/ports/sparsehash/Config.cmake.in
new file mode 100644
index 000000000..07739ddb6
--- /dev/null
+++ b/ports/sparsehash/Config.cmake.in
@@ -0,0 +1,10 @@
+
+get_filename_component(_sparsehash_root "${CMAKE_CURRENT_LIST_FILE}" PATH)
+get_filename_component(_sparsehash_root "${_sparsehash_root}" PATH)
+get_filename_component(_sparsehash_root "${_sparsehash_root}" PATH)
+
+add_library(sparsehash::sparsehash INTERFACE IMPORTED)
+set_target_properties(sparsehash::sparsehash
+ PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${_sparsehash_root}/include")
+
+unset(_sparsehash_root)
diff --git a/ports/sparsehash/portfile.cmake b/ports/sparsehash/portfile.cmake
new file mode 100644
index 000000000..1dcccda82
--- /dev/null
+++ b/ports/sparsehash/portfile.cmake
@@ -0,0 +1,41 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO sparsehash/sparsehash
+ REF sparsehash-2.0.3
+ SHA512 bb00d0acb8eba65f7da8015ea4f6bebf8bba36ed6777881960ee215f22b7be17b069c59838d210551ce67a34baccfc7b2fed603677ec53c0c32714d8e76f5d6c
+ HEAD_REF master
+ PATCHES 00001-windows-use-std.patch
+)
+
+if(VCPKG_TARGET_IS_WINDOWS)
+
+ file(COPY ${SOURCE_PATH}/src/google DESTINATION ${CURRENT_PACKAGES_DIR}/include)
+ file(COPY ${SOURCE_PATH}/src/sparsehash DESTINATION ${CURRENT_PACKAGES_DIR}/include)
+ file(COPY ${SOURCE_PATH}/src/windows/sparsehash/internal/sparseconfig.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/sparsehash/internal)
+
+else()
+
+ vcpkg_execute_required_process(
+ COMMAND ${SOURCE_PATH}/configure ${OPTIONS} --prefix=${CURRENT_PACKAGES_DIR}
+ WORKING_DIRECTORY ${SOURCE_PATH}
+ LOGNAME configure-${TARGET_TRIPLET}
+ )
+
+ vcpkg_execute_required_process(
+ COMMAND make -j ${VCPKG_CONCURRENCY} install
+ WORKING_DIRECTORY ${SOURCE_PATH}
+ LOGNAME install-${TARGET_TRIPLET}
+ )
+
+endif()
+
+configure_file(
+ ${CMAKE_CURRENT_LIST_DIR}/Config.cmake.in
+ ${CURRENT_PACKAGES_DIR}/share/sparsehash/sparsehash-config.cmake
+ @ONLY
+)
+
+configure_file(${SOURCE_PATH}/COPYING ${CURRENT_PACKAGES_DIR}/share/sparsehash/copyright COPYONLY)
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/sparsehash)
diff --git a/ports/sparsehash/usage b/ports/sparsehash/usage
new file mode 100644
index 000000000..5222b2402
--- /dev/null
+++ b/ports/sparsehash/usage
@@ -0,0 +1,4 @@
+The package sparsehash provides CMake targets:
+
+ find_package(sparsehash CONFIG REQUIRED)
+ target_link_libraries(main PRIVATE sparsehash::sparsehash)
diff --git a/ports/spectra/CONTROL b/ports/spectra/CONTROL
index 6aa712afd..ce5656bb0 100644
--- a/ports/spectra/CONTROL
+++ b/ports/spectra/CONTROL
@@ -1,5 +1,5 @@
Source: spectra
-Version: 0.8.0
+Version: 0.8.1
Description: A header-only C++ library for large scale eigenvalue problems
Homepage: https://spectralib.org
Build-Depends: eigen3
diff --git a/ports/spectra/portfile.cmake b/ports/spectra/portfile.cmake
index 94ac9b4d7..4af8133a4 100644
--- a/ports/spectra/portfile.cmake
+++ b/ports/spectra/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO yixuan/spectra
- REF v0.8.0
- SHA512 186bcd8efd5dc6cf0aa81b909184e056d1df1e55870c700f0ca060f504fa997e3ce27c3d15d7b4c74422e4d18bcbd471558392a89e307693b89cc1f480fecc71
+ REF v0.8.1
+ SHA512 7cd2699234f7b15216e616323ef298124a7333b6efe4185299f8b326856ae515f904a47eeee5631292037567e5c1559b83e17aae503fccd94225c3947db3e90d
HEAD_REF master
)
diff --git a/ports/spirv-cross/CONTROL b/ports/spirv-cross/CONTROL
index 665637d43..ec4531b12 100644
--- a/ports/spirv-cross/CONTROL
+++ b/ports/spirv-cross/CONTROL
@@ -1,3 +1,3 @@
Source: spirv-cross
-Version: 2019-05-09
+Version: 2019-07-26
Description: SPIRV-Cross is a practical tool and library for performing reflection on SPIR-V and disassembling SPIR-V back to high level languages.
diff --git a/ports/spirv-cross/portfile.cmake b/ports/spirv-cross/portfile.cmake
index f40c6b2de..fdee41233 100644
--- a/ports/spirv-cross/portfile.cmake
+++ b/ports/spirv-cross/portfile.cmake
@@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO KhronosGroup/SPIRV-Cross
- REF fce83b7e8b0f6599efd4481992b2eb30f69f21de
- SHA512 24bdb965f0248b57081d314f078a522ef8da842ee5480e1276da7bc70cae002cfe7a58903f99d13bcdee1e3863f77dfcd5a74e084e63a9c20edf42a833b2a874
+ REF 2019-07-26
+ SHA512 25bc0e5e7f313d01f70a4f106b9b42bc1975473e3f2fdcd7a48bf83b7865386366ebd5994efd2ae5f8d95c9abcbdefb46725b52ddb8dfb15169d621ff258a8ba
HEAD_REF master
)
diff --git a/ports/tensorflow-cc/CONTROL b/ports/tensorflow-cc/CONTROL
new file mode 100644
index 000000000..05e336e53
--- /dev/null
+++ b/ports/tensorflow-cc/CONTROL
@@ -0,0 +1,4 @@
+Source: tensorflow-cc
+Version: 1.14
+Description: Library for computation using data flow graphs for scalable machine learning
+Build-Depends: c-ares
diff --git a/ports/tensorflow-cc/TensorflowCCConfig.cmake b/ports/tensorflow-cc/TensorflowCCConfig.cmake
new file mode 100644
index 000000000..db12811d5
--- /dev/null
+++ b/ports/tensorflow-cc/TensorflowCCConfig.cmake
@@ -0,0 +1,28 @@
+set(tensorflow_cc_INCLUDE_DIR "${CMAKE_CURRENT_LIST_DIR}/../../include")
+
+message(WARNING "Tensorflow has vendored dependencies. You may need to manually include files from tensorflow-external")
+set(tensorflow_cc_INCLUDE_DIRS
+ ${tensorflow_cc_INCLUDE_DIR}
+ ${tensorflow_cc_INCLUDE_DIR}/tensorflow-external/
+ ${tensorflow_cc_INCLUDE_DIR}/tensorflow-external/tensorflow/
+ ${tensorflow_cc_INCLUDE_DIR}/tensorflow-external/external/com_google_absl
+ ${tensorflow_cc_INCLUDE_DIR}/tensorflow-external/bazel-out/k8-opt/bin/
+ ${tensorflow_cc_INCLUDE_DIR}/tensorflow-external/external/protobuf_archive/src/
+)
+
+add_library(tensorflow_cc::tensorflow_framework SHARED IMPORTED)
+set_target_properties(tensorflow_cc::tensorflow_framework
+ PROPERTIES
+ IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/../../lib/libtensorflow_framework.so.1.14.0
+ INTERFACE_INCLUDE_DIRECTORIES "${tensorflow_cc_INCLUDE_DIRS}"
+)
+
+add_library(tensorflow_cc::tensorflow_cc SHARED IMPORTED)
+set_target_properties(tensorflow_cc::tensorflow_cc
+ PROPERTIES
+ IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/../../lib/libtensorflow_cc.so.1.14.0
+ INTERFACE_INCLUDE_DIRECTORIES "${tensorflow_cc_INCLUDE_DIRS}"
+)
+
+set(tensorflow_cc_FOUND TRUE)
+set(tensorflow_framework_FOUND TRUE) \ No newline at end of file
diff --git a/ports/tensorflow-cc/file-exists.patch b/ports/tensorflow-cc/file-exists.patch
new file mode 100644
index 000000000..8cefb4828
--- /dev/null
+++ b/ports/tensorflow-cc/file-exists.patch
@@ -0,0 +1,13 @@
+diff --git a/configure.py b/configure.py
+index 43af22d..7989b1f 100644
+--- a/configure.py
++++ b/configure.py
+@@ -183,7 +183,7 @@ def get_python_path(environ_cp, python_bin_path):
+
+ paths = []
+ for path in all_paths:
+- if os.path.isdir(path):
++ if os.path.isdir(path) or True:
+ paths.append(path)
+ return paths
+
diff --git a/ports/tensorflow-cc/portfile.cmake b/ports/tensorflow-cc/portfile.cmake
new file mode 100644
index 000000000..0e40f859b
--- /dev/null
+++ b/ports/tensorflow-cc/portfile.cmake
@@ -0,0 +1,116 @@
+include(vcpkg_common_functions)
+
+message(WARNING "This tensorflow port currently is experimental on Windows and Linux platforms.")
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO tensorflow/tensorflow
+ REF v1.14.0
+ SHA512 ac9ea5a2d1c761aaafbdc335259e29c128127b8d069ec5b206067935180490aa95e93c7e13de57f7f54ce4ba4f34a822face22b4a028f60185edb380e5cd4787
+ HEAD_REF master
+ PATCHES
+ file-exists.patch # required or otherwise it cant find python lib path on windows
+)
+
+# due to https://github.com/bazelbuild/bazel/issues/8028, bazel must be version 25.0 or higher
+vcpkg_find_acquire_program(BAZEL)
+get_filename_component(BAZEL_DIR "${BAZEL}" DIRECTORY)
+vcpkg_add_to_path(PREPEND ${BAZEL_DIR})
+set(ENV{BAZEL_BIN_PATH} "${BAZEL}")
+
+vcpkg_find_acquire_program(PYTHON3)
+get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY)
+vcpkg_add_to_path(PREPEND ${PYTHON3_DIR})
+set(ENV{PYTHON_BIN_PATH} "${PYTHON3}")
+
+function(tensorflow_try_remove_recurse_wait PATH_TO_REMOVE)
+ file(REMOVE_RECURSE ${PATH_TO_REMOVE})
+ if (EXISTS "${PATH_TO_REMOVE}")
+ execute_process(COMMAND ${CMAKE_COMMAND} -E sleep 5)
+ file(REMOVE_RECURSE ${PATH_TO_REMOVE})
+ endif()
+endfunction()
+
+# we currently only support the release version
+tensorflow_try_remove_recurse_wait(${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel)
+file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel)
+file(GLOB SOURCES ${SOURCE_PATH}/*)
+file(COPY ${SOURCES} DESTINATION ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel)
+
+if(CMAKE_HOST_WIN32)
+ vcpkg_acquire_msys(MSYS_ROOT PACKAGES unzip patch diffutils git)
+ set(BASH ${MSYS_ROOT}/usr/bin/bash.exe)
+ set(ENV{BAZEL_SH} ${MSYS_ROOT}/usr/bin/bash.exe)
+
+ set(ENV{BAZEL_VS} $ENV{VSInstallDir})
+ set(ENV{BAZEL_VC} $ENV{VCInstallDir})
+endif()
+
+# tensorflow has long file names, which will not work on windows
+set(ENV{TEST_TMPDIR} ${CURRENT_BUILDTREES_DIR}/../.bzl)
+
+set(ENV{USE_DEFAULT_PYTHON_LIB_PATH} 1)
+set(ENV{TF_NEED_KAFKA} 0)
+set(ENV{TF_NEED_OPENCL_SYCL} 0)
+set(ENV{TF_NEED_AWS} 0)
+set(ENV{TF_NEED_GCP} 0)
+set(ENV{TF_NEED_HDFS} 0)
+set(ENV{TF_NEED_S3} 0)
+set(ENV{TF_ENABLE_XLA} 0)
+set(ENV{TF_NEED_GDR} 0)
+set(ENV{TF_NEED_VERBS} 0)
+set(ENV{TF_NEED_OPENCL} 0)
+set(ENV{TF_NEED_MPI} 0)
+set(ENV{TF_NEED_TENSORRT} 0)
+set(ENV{TF_NEED_NGRAPH} 0)
+set(ENV{TF_NEED_IGNITE} 0)
+set(ENV{TF_NEED_ROCM} 0)
+set(ENV{TF_SET_ANDROID_WORKSPACE} 0)
+set(ENV{TF_DOWNLOAD_CLANG} 0)
+set(ENV{TF_NCCL_VERSION} 2.3)
+set(ENV{NCCL_INSTALL_PATH} "")
+set(ENV{CC_OPT_FLAGS} "/arch:AVX")
+set(ENV{TF_NEED_CUDA} 0)
+
+message(STATUS "Configuring TensorFlow")
+
+vcpkg_execute_required_process(
+ COMMAND ${PYTHON3} ${SOURCE_PATH}/configure.py
+ WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel
+ LOGNAME config-${TARGET_TRIPLET}-rel
+)
+message(STATUS "Warning: Building TensorFlow can take an hour or more.")
+
+if(CMAKE_HOST_WIN32)
+ vcpkg_execute_build_process(
+ COMMAND ${BASH} --noprofile --norc -c "${BAZEL} build --verbose_failures -c opt --python_path=${PYTHON3} --incompatible_disable_deprecated_attr_params=false --define=no_tensorflow_py_deps=true ///tensorflow:libtensorflow_cc.so ///tensorflow:install_headers"
+ WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel
+ LOGNAME build-${TARGET_TRIPLET}-rel
+ )
+else()
+ vcpkg_execute_build_process(
+ COMMAND ${BAZEL} build --verbose_failures -c opt --python_path=${PYTHON3} --incompatible_disable_deprecated_attr_params=false --define=no_tensorflow_py_deps=true //tensorflow:libtensorflow_cc.so //tensorflow:install_headers
+ WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel
+ LOGNAME build-${TARGET_TRIPLET}-rel
+ )
+endif()
+
+file(COPY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bazel-genfiles/tensorflow/include/ DESTINATION ${CURRENT_PACKAGES_DIR}/include/tensorflow-external)
+
+if(CMAKE_HOST_WIN32)
+ file(COPY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bazel-bin/tensorflow/libtensorflow_cc.so.1.14.0 DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
+ file(COPY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bazel-bin/tensorflow/libtensorflow_cc.so.1.14.0.if.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
+ file(COPY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bazel-bin/tensorflow/libtensorflow_cc.so.1.14.0 DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
+ file(COPY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bazel-bin/tensorflow/libtensorflow_cc.so.1.14.0.if.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
+else()
+ file(COPY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bazel-bin/tensorflow/libtensorflow_cc.so.1.14.0 DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
+ file(COPY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bazel-bin/tensorflow/libtensorflow_framework.so.1.14.0 DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
+ file(COPY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bazel-bin/tensorflow/libtensorflow_cc.so.1.14.0 DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
+ file(COPY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bazel-bin/tensorflow/libtensorflow_framework.so.1.14.0 DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
+endif()
+
+file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/tensorflow-cc)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/tensorflow-cc/LICENSE ${CURRENT_PACKAGES_DIR}/share/tensorflow-cc/copyright)
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/TensorflowCCConfig.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/unofficial-tensorflow-cc)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/unofficial-tensorflow-cc/TensorflowCCConfig.cmake ${CURRENT_PACKAGES_DIR}/share/unofficial-tensorflow-cc/unofficial-tensorflow-cc-config.cmake) \ No newline at end of file
diff --git a/ports/umock-c/CONTROL b/ports/umock-c/CONTROL
index 108a1dfd1..a757dfc84 100644
--- a/ports/umock-c/CONTROL
+++ b/ports/umock-c/CONTROL
@@ -1,5 +1,5 @@
Source: umock-c
-Version: 2019-05-16.1
+Version: 2019-08-20.1
Description: A pure C mocking library
Build-Depends: azure-macro-utils-c
diff --git a/ports/umock-c/portfile.cmake b/ports/umock-c/portfile.cmake
index 0b30e8942..84cd91332 100644
--- a/ports/umock-c/portfile.cmake
+++ b/ports/umock-c/portfile.cmake
@@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Azure/umock-c
- REF 92772d9d8317a37dd0b656e95877ffb03bc67e92
- SHA512 4dd738c7b2c7e1237ad874a7ad90bf81b864aa242af335dcc82d0cfea51bc33fe84de4eebedb6e00944c70d01d1ade4827716dbcf95754165b35981bde4147e7
+ REF 1b2b14e9f45536894fe516b6dbb380b0507d779a
+ SHA512 4933408296a1e1095be967a434bc9572411e38b78592606c40f51a2e651ee105f4761f888e8db36dd579539c4ebc07c9ae28cd1ff8ef0b720ce9b01a23e8861d
HEAD_REF master
)
diff --git a/ports/wxwidgets/CONTROL b/ports/wxwidgets/CONTROL
index 542fdf327..4d6c57e13 100644
--- a/ports/wxwidgets/CONTROL
+++ b/ports/wxwidgets/CONTROL
@@ -1,5 +1,5 @@
Source: wxwidgets
-Version: 3.1.2-1
+Version: 3.1.2-2
Homepage: https://github.com/wxWidgets/wxWidgets
Description: wxWidgets is a widget toolkit and tools library for creating graphical user interfaces (GUIs) for cross-platform applications.
Build-Depends: zlib, libpng, tiff, expat
diff --git a/ports/wxwidgets/portfile.cmake b/ports/wxwidgets/portfile.cmake
index 7319f9749..0f946d8d7 100644
--- a/ports/wxwidgets/portfile.cmake
+++ b/ports/wxwidgets/portfile.cmake
@@ -13,6 +13,13 @@ if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin")
set(OPTIONS -DCOTIRE_MINIMUM_NUMBER_OF_TARGET_SOURCES=9999)
endif()
+if(VCPKG_TARGET_ARCHITECTURE STREQUAL arm64 OR VCPKG_TARGET_ARCHITECTURE STREQUAL arm)
+ set(OPTIONS
+ -DwxUSE_OPENGL=OFF
+ -DwxUSE_STACKWALKER=OFF
+ )
+endif()
+
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
diff --git a/scripts/cmake/vcpkg_common_definitions.cmake b/scripts/cmake/vcpkg_common_definitions.cmake
index 9724a33dc..662ea2a6e 100644
--- a/scripts/cmake/vcpkg_common_definitions.cmake
+++ b/scripts/cmake/vcpkg_common_definitions.cmake
@@ -1,53 +1,70 @@
-## # vcpkg_common_definitions
-##
-## File contains helpful variabls for portfiles which are commonly needed or used.
-##
-## ## The following variables are available:
-## ```cmake
-## VCPKG_TARGET_IS_<target> with <target> being one of the following: WINDOWS, UWP, LINUX, OSX, ANDROID, FREEBSD. only defined if <target>
-## VCPKG_TARGET_STATIC_LIBRARY_PREFIX static library prefix for target (same as CMAKE_STATIC_LIBRARY_PREFIX)
-## VCPKG_TARGET_STATIC_LIBRARY_SUFFIX static library suffix for target (same as CMAKE_STATIC_LIBRARY_SUFFIX)
-## VCPKG_TARGET_SHARED_LIBRARY_PREFIX shared library prefix for target (same as CMAKE_SHARED_LIBRARY_PREFIX)
-## VCPKG_TARGET_SHARED_LIBRARY_SUFFIX shared library suffix for target (same as CMAKE_SHARED_LIBRARY_SUFFIX)
-## ```
-##
-## CMAKE_STATIC_LIBRARY_PREFIX, CMAKE_STATIC_LIBRARY_SUFFIX, CMAKE_SHARED_LIBRARY_PREFIX, CMAKE_SHARED_LIBRARY_SUFFIX are defined for the target so that
-## portfiles are able to use find_library calls to discover dependent libraries within the current triplet for ports.
-##
-
-#Helper variable to identify the Target system. VCPKG_TARGET_IS_<targetname>
-if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
- set(VCPKG_TARGET_IS_WINDOWS 1)
- if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
- set(VCPKG_TARGET_IS_UWP 1)
- endif()
-elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin")
- set(VCPKG_TARGET_IS_OSX 1)
-elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux")
- set(VCPKG_TARGET_IS_LINUX 1)
-elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Android")
- set(VCPKG_TARGET_IS_ANDROID 1)
-elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
- set(VCPKG_TARGET_IS_FREEBSD 1)
-endif()
-
-#Helper variables for libraries
-if(VCPKG_TARGET_IS_WINDOWS)
- set(VCPKG_TARGET_STATIC_LIBRARY_SUFFIX ".lib")
- set(VCPKG_TARGET_SHARED_LIBRARY_SUFFIX ".dll")
- set(VCPKG_TARGET_STATIC_LIBRARY_PREFIX "")
- set(VCPKG_TARGET_SHARED_LIBRARY_PREFIX "")
-else()
- set(VCPKG_TARGET_STATIC_LIBRARY_SUFFIX ".a")
- set(VCPKG_TARGET_SHARED_LIBRARY_SUFFIX ".so")
- set(VCPKG_TARGET_STATIC_LIBRARY_PREFIX "lib")
- set(VCPKG_TARGET_SHARED_LIBRARY_PREFIX "lib")
-endif()
-#Setting these variables allows find_library to work in script mode and thus in portfiles!
-#This allows us scale down on hardcoded target dependent paths in portfiles
-set(CMAKE_STATIC_LIBRARY_SUFFIX ${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX})
-set(CMAKE_SHARED_LIBRARY_SUFFIX ${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX})
-set(CMAKE_STATIC_LIBRARY_PREFIX ${VCPKG_TARGET_STATIC_LIBRARY_PREFIX})
-set(CMAKE_SHARED_LIBRARY_PREFIX ${VCPKG_TARGET_SHARED_LIBRARY_PREFIX})
-
-
+## # vcpkg_common_definitions
+##
+## File contains helpful variabls for portfiles which are commonly needed or used.
+##
+## ## The following variables are available:
+## ```cmake
+## VCPKG_TARGET_IS_<target> with <target> being one of the following: WINDOWS, UWP, LINUX, OSX, ANDROID, FREEBSD. only defined if <target>
+## VCPKG_HOST_EXECUTABLE_SUFFIX executable suffix of the host
+## VCPKG_TARGET_EXECUTABLE_SUFFIX executable suffix of the target
+## VCPKG_TARGET_STATIC_LIBRARY_PREFIX static library prefix for target (same as CMAKE_STATIC_LIBRARY_PREFIX)
+## VCPKG_TARGET_STATIC_LIBRARY_SUFFIX static library suffix for target (same as CMAKE_STATIC_LIBRARY_SUFFIX)
+## VCPKG_TARGET_SHARED_LIBRARY_PREFIX shared library prefix for target (same as CMAKE_SHARED_LIBRARY_PREFIX)
+## VCPKG_TARGET_SHARED_LIBRARY_SUFFIX shared library suffix for target (same as CMAKE_SHARED_LIBRARY_SUFFIX)
+## ```
+##
+## CMAKE_STATIC_LIBRARY_PREFIX, CMAKE_STATIC_LIBRARY_SUFFIX, CMAKE_SHARED_LIBRARY_PREFIX, CMAKE_SHARED_LIBRARY_SUFFIX are defined for the target so that
+## portfiles are able to use find_library calls to discover dependent libraries within the current triplet for ports.
+##
+
+#Helper variable to identify the Target system. VCPKG_TARGET_IS_<targetname>
+if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ set(VCPKG_TARGET_IS_WINDOWS 1)
+ if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ set(VCPKG_TARGET_IS_UWP 1)
+ endif()
+elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin")
+ set(VCPKG_TARGET_IS_OSX 1)
+elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux")
+ set(VCPKG_TARGET_IS_LINUX 1)
+elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Android")
+ set(VCPKG_TARGET_IS_ANDROID 1)
+elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
+ set(VCPKG_TARGET_IS_FREEBSD 1)
+endif()
+
+#Helper variables to identify executables on host/target
+if(CMAKE_HOST_WIN32)
+ set(VCPKG_HOST_EXECUTABLE_SUFFIX ".exe")
+else()
+ set(VCPKG_HOST_EXECUTABLE_SUFFIX "")
+endif()
+#set(CMAKE_EXECUTABLE_SUFFIX ${VCPKG_HOST_EXECUTABLE_SUFFIX}) not required by find_program
+
+if(VCPKG_TARGET_IS_WINDOWS)
+ set(VCPKG_TARGET_EXECUTABLE_SUFFIX ".exe")
+else()
+ set(VCPKG_TARGET_EXECUTABLE_SUFFIX "")
+endif()
+
+#Helper variables for libraries
+if(VCPKG_TARGET_IS_WINDOWS)
+ set(VCPKG_TARGET_STATIC_LIBRARY_SUFFIX ".lib")
+ set(VCPKG_TARGET_SHARED_LIBRARY_SUFFIX ".dll")
+ set(VCPKG_TARGET_STATIC_LIBRARY_PREFIX "")
+ set(VCPKG_TARGET_SHARED_LIBRARY_PREFIX "")
+else()
+ set(VCPKG_TARGET_STATIC_LIBRARY_SUFFIX ".a")
+ set(VCPKG_TARGET_SHARED_LIBRARY_SUFFIX ".so")
+ set(VCPKG_TARGET_STATIC_LIBRARY_PREFIX "lib")
+ set(VCPKG_TARGET_SHARED_LIBRARY_PREFIX "lib")
+endif()
+#Setting these variables allows find_library to work in script mode and thus in portfiles!
+#This allows us scale down on hardcoded target dependent paths in portfiles
+set(CMAKE_STATIC_LIBRARY_SUFFIX ${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX})
+set(CMAKE_SHARED_LIBRARY_SUFFIX ${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX})
+set(CMAKE_STATIC_LIBRARY_PREFIX ${VCPKG_TARGET_STATIC_LIBRARY_PREFIX})
+set(CMAKE_SHARED_LIBRARY_PREFIX ${VCPKG_TARGET_SHARED_LIBRARY_PREFIX})
+set(CMAKE_FIND_LIBRARY_SUFFIXES "${CMAKE_STATIC_LIBRARY_SUFFIX};${CMAKE_SHARED_LIBRARY_SUFFIX}" CACHE INTERNAL "") # Required by find_library
+set(CMAKE_FIND_LIBRARY_PREFIXES "${CMAKE_STATIC_LIBRARY_PREFIX};${CMAKE_SHARED_LIBRARY_PREFIX}" CACHE INTERNAL "") # Required by find_library
+
diff --git a/scripts/cmake/vcpkg_find_acquire_program.cmake b/scripts/cmake/vcpkg_find_acquire_program.cmake
index 84ebdbfa8..fed016c7b 100644
--- a/scripts/cmake/vcpkg_find_acquire_program.cmake
+++ b/scripts/cmake/vcpkg_find_acquire_program.cmake
@@ -45,6 +45,7 @@ function(vcpkg_find_acquire_program VAR)
unset(_vfa_RENAME)
unset(SUBDIR)
unset(REQUIRED_INTERPRETER)
+ unset(_vfa_SUPPORTED)
unset(POST_INSTALL_COMMAND)
vcpkg_get_program_files_platform_bitness(PROGRAM_FILES_PLATFORM_BITNESS)
@@ -231,6 +232,23 @@ function(vcpkg_find_acquire_program VAR)
set(URL "http://doxygen.nl/files/doxygen-1.8.15.windows.bin.zip")
set(ARCHIVE "doxygen-1.8.15.windows.bin.zip")
set(HASH 89482dcb1863d381d47812c985593e736d703931d49994e09c7c03ef67e064115d0222b8de1563a7930404c9bc2d3be323f3d13a01ef18861be584db3d5a953c)
+ elseif(VAR MATCHES "BAZEL")
+ set(PROGNAME bazel)
+ set(BAZEL_VERSION 0.25.2)
+ set(SUBDIR ${BAZEL_VERSION})
+ set(PATHS ${DOWNLOADS}/tools/bazel/${SUBDIR})
+ set(_vfa_RENAME "bazel")
+ if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux")
+ set(_vfa_SUPPORTED ON)
+ set(URL "https://github.com/bazelbuild/bazel/releases/download/${BAZEL_VERSION}/bazel-${BAZEL_VERSION}-linux-x86_64")
+ set(ARCHIVE "bazel-${BAZEL_VERSION}-linux-x86_64")
+ set(NOEXTRACT ON)
+ set(HASH db4a583cf2996aeb29fd008261b12fe39a4a5faf0fbf96f7124e6d3ffeccf6d9655d391378e68dd0915bc91c9e146a51fd9661963743857ca25179547feceab1)
+ else()
+ set(URL "https://github.com/bazelbuild/bazel/releases/download/${BAZEL_VERSION}/bazel-${BAZEL_VERSION}-windows-x86_64.zip")
+ set(ARCHIVE "bazel-${BAZEL_VERSION}-windows-x86_64.zip")
+ set(HASH 6482f99a0896f55ef65739e7b53452fd9c0adf597b599d0022a5e0c5fa4374f4a958d46f98e8ba25af4b065adacc578bfedced483d8c169ea5cb1777a99eea53)
+ endif()
# Download Tools
elseif(VAR MATCHES "ARIA2")
set(PROGNAME aria2c)
@@ -254,7 +272,7 @@ function(vcpkg_find_acquire_program VAR)
do_find()
if("${${VAR}}" MATCHES "-NOTFOUND")
- if(NOT CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows")
+ if(NOT CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows" AND NOT _vfa_SUPPORTED)
set(EXAMPLE ".")
if(DEFINED BREW_PACKAGE_NAME AND CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin")
set(EXAMPLE ":\n brew install ${BREW_PACKAGE_NAME}")
@@ -274,9 +292,9 @@ function(vcpkg_find_acquire_program VAR)
file(MAKE_DIRECTORY ${PROG_PATH_SUBDIR})
if(DEFINED NOEXTRACT)
if(DEFINED _vfa_RENAME)
- file(INSTALL ${ARCHIVE_PATH} DESTINATION ${PROG_PATH_SUBDIR} RENAME ${_vfa_RENAME})
+ file(INSTALL ${ARCHIVE_PATH} DESTINATION ${PROG_PATH_SUBDIR} RENAME ${_vfa_RENAME} PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
else()
- file(COPY ${ARCHIVE_PATH} DESTINATION ${PROG_PATH_SUBDIR})
+ file(COPY ${ARCHIVE_PATH} DESTINATION ${PROG_PATH_SUBDIR} PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
endif()
else()
get_filename_component(ARCHIVE_EXTENSION ${ARCHIVE} EXT)
diff --git a/scripts/get_triplet_environment.cmake b/scripts/get_triplet_environment.cmake
index 0457cee9b..3b0b9fbef 100644
--- a/scripts/get_triplet_environment.cmake
+++ b/scripts/get_triplet_environment.cmake
@@ -1,6 +1,6 @@
include(${CMAKE_TRIPLET_FILE})
-if (DEFINED CMAKE_ENV_OVERRIDES_FILE)
- include(${CMAKE_ENV_OVERRIDES_FILE} OPTIONAL)
+if (DEFINED VCPKG_ENV_OVERRIDES_FILE)
+ include(${VCPKG_ENV_OVERRIDES_FILE})
endif()
# GUID used as a flag - "cut here line"
diff --git a/scripts/ports.cmake b/scripts/ports.cmake
index 86b2719d5..056485568 100644
--- a/scripts/ports.cmake
+++ b/scripts/ports.cmake
@@ -6,8 +6,9 @@ macro(debug_message)
endif()
endmacro()
-#Detect .vcpkg-root to figure VCPKG_ROOT_DIR
-SET(VCPKG_ROOT_DIR_CANDIDATE ${CMAKE_CURRENT_LIST_DIR})
+#Detect .vcpkg-root to figure VCPKG_ROOT_DIR, starting from triplet folder.
+get_filename_component(TARGET_TRIPLET_DIR ${TARGET_TRIPLET_FILE} DIRECTORY)
+SET(VCPKG_ROOT_DIR_CANDIDATE ${TARGET_TRIPLET_DIR})
while(IS_DIRECTORY ${VCPKG_ROOT_DIR_CANDIDATE} AND NOT EXISTS "${VCPKG_ROOT_DIR_CANDIDATE}/.vcpkg-root")
get_filename_component(VCPKG_ROOT_DIR_TEMP ${VCPKG_ROOT_DIR_CANDIDATE} DIRECTORY)
if (VCPKG_ROOT_DIR_TEMP STREQUAL VCPKG_ROOT_DIR_CANDIDATE) # If unchanged, we have reached the root of the drive
@@ -19,7 +20,7 @@ endwhile()
set(VCPKG_ROOT_DIR ${VCPKG_ROOT_DIR_CANDIDATE})
-list(APPEND CMAKE_MODULE_PATH ${VCPKG_ROOT_DIR}/scripts/cmake)
+list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/cmake)
set(CURRENT_INSTALLED_DIR ${VCPKG_ROOT_DIR}/installed/${TARGET_TRIPLET} CACHE PATH "Location to install final packages")
set(DOWNLOADS ${VCPKG_ROOT_DIR}/downloads CACHE PATH "Location to download sources and tools")
set(PACKAGES_DIR ${VCPKG_ROOT_DIR}/packages CACHE PATH "Location to store package images")
@@ -67,7 +68,16 @@ if(CMD MATCHES "^BUILD$")
file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR} ${CURRENT_PACKAGES_DIR})
include(${CMAKE_TRIPLET_FILE})
- include(${ENV_OVERRIDES_FILE} OPTIONAL)
+
+ if (DEFINED VCPKG_ENV_OVERRIDES_FILE)
+ include(${VCPKG_ENV_OVERRIDES_FILE})
+ endif()
+
+ if (DEFINED VCPKG_PORT_TOOLCHAINS)
+ foreach(VCPKG_PORT_TOOLCHAIN ${VCPKG_PORT_TOOLCHAINS})
+ include(${VCPKG_PORT_TOOLCHAIN})
+ endforeach()
+ endif()
set(TRIPLET_SYSTEM_ARCH ${VCPKG_TARGET_ARCHITECTURE})
include(${CMAKE_CURRENT_LIST_DIR}/cmake/vcpkg_common_definitions.cmake)
diff --git a/toolsrc/include/vcpkg/base/util.h b/toolsrc/include/vcpkg/base/util.h
index 40022a012..3d32e3aa8 100644
--- a/toolsrc/include/vcpkg/base/util.h
+++ b/toolsrc/include/vcpkg/base/util.h
@@ -1,6 +1,7 @@
#pragma once
#include <algorithm>
+#include <functional>
#include <map>
#include <mutex>
#include <type_traits>
@@ -121,21 +122,23 @@ namespace vcpkg::Util
}
}
- template<class Range>
- void sort(Range& cont)
+ template<class Range, class Comp = std::less<typename Range::value_type>>
+ void sort(Range& cont, Comp comp = Comp())
{
using std::begin;
using std::end;
- std::sort(begin(cont), end(cont));
+ std::sort(begin(cont), end(cont), comp);
}
template<class Range>
- void sort_unique_erase(Range& cont)
+ Range&& sort_unique_erase(Range&& cont)
{
using std::begin;
using std::end;
std::sort(begin(cont), end(cont));
cont.erase(std::unique(begin(cont), end(cont)), end(cont));
+
+ return std::forward<Range>(cont);
}
template<class Range1, class Range2>
diff --git a/toolsrc/include/vcpkg/build.h b/toolsrc/include/vcpkg/build.h
index cd1821b32..4f6397662 100644
--- a/toolsrc/include/vcpkg/build.h
+++ b/toolsrc/include/vcpkg/build.h
@@ -270,6 +270,9 @@ namespace vcpkg::Build
std::string key;
std::string value;
+ AbiEntry() = default;
+ AbiEntry(const std::string& key, const std::string& value) : key(key), value(value) {}
+
bool operator<(const AbiEntry& other) const
{
return key < other.key || (key == other.key && value < other.value);
diff --git a/toolsrc/src/vcpkg/base/files.cpp b/toolsrc/src/vcpkg/base/files.cpp
index bbf37fd25..5ebe8d834 100644
--- a/toolsrc/src/vcpkg/base/files.cpp
+++ b/toolsrc/src/vcpkg/base/files.cpp
@@ -8,9 +8,8 @@
#include <vcpkg/base/util.h>
#include <vcpkg/base/work_queue.h>
-#if defined(__linux__) || defined(__APPLE__)
+#if !defined(_WIN32)
#include <fcntl.h>
-#include <string.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>
@@ -396,7 +395,7 @@ namespace vcpkg::Files
{
this->rename(oldpath, newpath, ec);
Util::unused(temp_suffix);
-#if defined(__linux__) || defined(__APPLE__)
+#if !defined(_WIN32)
if (ec)
{
auto dst = newpath;
@@ -419,6 +418,33 @@ namespace vcpkg::Files
auto written_bytes = sendfile(o_fd, i_fd, &bytes, info.st_size);
#elif defined(__APPLE__)
auto written_bytes = fcopyfile(i_fd, o_fd, 0, COPYFILE_ALL);
+#else
+ ssize_t written_bytes = 0;
+ {
+ constexpr std::size_t buffer_length = 4096;
+ auto buffer = std::make_unique<unsigned char[]>(buffer_length);
+ while (auto read_bytes = read(i_fd, buffer.get(), buffer_length))
+ {
+ if (read_bytes == -1)
+ {
+ written_bytes = -1;
+ break;
+ }
+ auto remaining = read_bytes;
+ while (remaining > 0) {
+ auto read_result = write(o_fd, buffer.get(), remaining);
+ if (read_result == -1)
+ {
+ written_bytes = -1;
+ // break two loops
+ goto copy_failure;
+ }
+ remaining -= read_result;
+ }
+ }
+
+ copy_failure: ;
+ }
#endif
if (written_bytes == -1)
{
diff --git a/toolsrc/src/vcpkg/build.cpp b/toolsrc/src/vcpkg/build.cpp
index 2114b7415..aeb01b27d 100644
--- a/toolsrc/src/vcpkg/build.cpp
+++ b/toolsrc/src/vcpkg/build.cpp
@@ -311,8 +311,8 @@ namespace vcpkg::Build
const std::set<std::string>& feature_list,
const Triplet& triplet)
{
- return Util::fmap(get_dependencies(scf, feature_list, triplet),
- [&](const Features& feat) { return feat.name; });
+ return Util::sort_unique_erase(
+ Util::fmap(get_dependencies(scf, feature_list, triplet), [&](const Features& feat) { return feat.name; }));
}
static std::vector<FeatureSpec> compute_required_feature_specs(const BuildPackageConfig& config,
@@ -397,7 +397,6 @@ namespace vcpkg::Build
{"CURRENT_PORT_DIR", config.port_dir},
{"TARGET_TRIPLET", triplet.canonical_name()},
{"TARGET_TRIPLET_FILE", paths.get_triplet_file_path(triplet).u8string()},
- {"ENV_OVERRIDES_FILE", config.port_dir / "environment-overrides.cmake"},
{"VCPKG_PLATFORM_TOOLSET", toolset.version.c_str()},
{"VCPKG_USE_HEAD_VERSION", Util::Enum::to_bool(config.build_package_options.use_head_version) ? "1" : "0"},
{"DOWNLOADS", paths.downloads},
@@ -413,6 +412,33 @@ namespace vcpkg::Build
variables.push_back({"GIT", git_exe_path});
}
+ const Files::Filesystem& fs = paths.get_filesystem();
+ if (fs.is_regular_file(config.port_dir / "environment-overrides.cmake"))
+ {
+ variables.emplace_back("VCPKG_ENV_OVERRIDES_FILE", config.port_dir / "environment-overrides.cmake");
+ }
+
+ std::vector<FeatureSpec> dependencies =
+ filter_dependencies_to_specs(config.scfl.source_control_file->core_paragraph->depends, triplet);
+
+ std::vector<std::string> port_toolchains;
+ for (const FeatureSpec& dependency : dependencies)
+ {
+ const fs::path port_toolchain_path = paths.installed / dependency.triplet().canonical_name() / "share" /
+ dependency.spec().name() / "port-toolchain.cmake";
+
+ if (fs.is_regular_file(port_toolchain_path))
+ {
+ System::print2(port_toolchain_path.u8string());
+ port_toolchains.emplace_back(port_toolchain_path.u8string());
+ }
+ }
+
+ if (!port_toolchains.empty())
+ {
+ variables.emplace_back("VCPKG_PORT_TOOLCHAINS", Strings::join(";", port_toolchains));
+ }
+
return variables;
}
@@ -620,58 +646,53 @@ namespace vcpkg::Build
const int max_port_file_count = 100;
// the order of recursive_directory_iterator is undefined so save the names to sort
- std::vector<std::pair<std::string, std::string>> hashes_files;
+ std::vector<AbiEntry> port_files;
for (auto& port_file : fs::stdfs::recursive_directory_iterator(config.port_dir))
{
if (fs::is_regular_file(fs.status(VCPKG_LINE_INFO, port_file)))
{
- hashes_files.emplace_back(vcpkg::Hash::get_file_hash(fs, port_file, "SHA1"),
- port_file.path().filename().u8string());
+ port_files.emplace_back(port_file.path().filename().u8string(),
+ vcpkg::Hash::get_file_hash(fs, port_file, "SHA1"));
- if (hashes_files.size() > max_port_file_count)
+ if (port_files.size() > max_port_file_count)
{
- abi_tag_entries.emplace_back(AbiEntry{"no_hash_max_portfile", ""});
+ abi_tag_entries.emplace_back("no_hash_max_portfile", "");
break;
}
}
}
- if (hashes_files.size() <= max_port_file_count)
+ if (port_files.size() <= max_port_file_count)
{
- Util::sort(hashes_files);
+ Util::sort(port_files, [](const AbiEntry& l, const AbiEntry& r) {
+ return l.value < r.value || (l.value == r.value && l.key < r.key);
+ });
- for (auto& hash_file : hashes_files)
- {
- // We've already sorted by hash so it's safe to write down the
- // filename, which will be consistent across machines.
- abi_tag_entries.emplace_back(AbiEntry{std::move(hash_file.second), std::move(hash_file.first)});
- }
+ std::move(port_files.begin(), port_files.end(), std::back_inserter(abi_tag_entries));
}
- abi_tag_entries.emplace_back(AbiEntry{"cmake", paths.get_tool_version(Tools::CMAKE)});
+ abi_tag_entries.emplace_back("cmake", paths.get_tool_version(Tools::CMAKE));
#if defined(_WIN32)
- abi_tag_entries.emplace_back(AbiEntry{"powershell", paths.get_tool_version("powershell-core")});
+ abi_tag_entries.emplace_back("powershell", paths.get_tool_version("powershell-core"));
#endif
- abi_tag_entries.emplace_back(AbiEntry{
+ abi_tag_entries.emplace_back(
"vcpkg_fixup_cmake_targets",
- vcpkg::Hash::get_file_hash(fs, paths.scripts / "cmake" / "vcpkg_fixup_cmake_targets.cmake", "SHA1")});
-
- abi_tag_entries.emplace_back(AbiEntry{"triplet", pre_build_info.triplet_abi_tag});
+ vcpkg::Hash::get_file_hash(fs, paths.scripts / "cmake" / "vcpkg_fixup_cmake_targets.cmake", "SHA1"));
- const std::string features = Strings::join(";", config.feature_list);
- abi_tag_entries.emplace_back(AbiEntry{"features", features});
+ abi_tag_entries.emplace_back("triplet", pre_build_info.triplet_abi_tag);
+ abi_tag_entries.emplace_back("features", Strings::join(";", config.feature_list));
if (pre_build_info.public_abi_override)
{
- abi_tag_entries.emplace_back(AbiEntry{
+ abi_tag_entries.emplace_back(
"public_abi_override",
- Hash::get_string_hash(pre_build_info.public_abi_override.value_or_exit(VCPKG_LINE_INFO), "SHA1")});
+ Hash::get_string_hash(pre_build_info.public_abi_override.value_or_exit(VCPKG_LINE_INFO), "SHA1"));
}
if (config.build_package_options.use_head_version == UseHeadVersion::YES)
- abi_tag_entries.emplace_back(AbiEntry{"head", ""});
+ abi_tag_entries.emplace_back("head", "");
const std::string full_abi_info =
Strings::join("", abi_tag_entries, [](const AbiEntry& p) { return p.key + " " + p.value + "\n"; });
@@ -765,6 +786,7 @@ namespace vcpkg::Build
const std::string& name = config.scf.core_paragraph->name;
std::vector<FeatureSpec> required_fspecs = compute_required_feature_specs(config, status_db);
+ std::vector<FeatureSpec> required_fspecs_copy = required_fspecs;
// extract out the actual package ids
auto dep_pspecs = Util::fmap(required_fspecs, [](FeatureSpec const& fspec) { return fspec.spec(); });
@@ -1027,8 +1049,12 @@ namespace vcpkg::Build
if (port)
{
- args.emplace_back("CMAKE_ENV_OVERRIDES_FILE",
- port.value_or_exit(VCPKG_LINE_INFO).source_location / "environment-overrides.cmake");
+ const SourceControlFileLocation& scfl = port.value_or_exit(VCPKG_LINE_INFO);
+
+ if (paths.get_filesystem().is_regular_file(scfl.source_location / "environment-overrides.cmake"))
+ {
+ args.emplace_back("VCPKG_ENV_OVERRIDES_FILE", scfl.source_location / "environment-overrides.cmake");
+ }
}
const auto cmd_launch_cmake = System::make_cmake_cmd(cmake_exe_path, ports_cmake_script_path, args);
diff --git a/toolsrc/src/vcpkg/dependencies.cpp b/toolsrc/src/vcpkg/dependencies.cpp
index ab14934a2..7c3f2df4c 100644
--- a/toolsrc/src/vcpkg/dependencies.cpp
+++ b/toolsrc/src/vcpkg/dependencies.cpp
@@ -674,7 +674,7 @@ namespace vcpkg::Dependencies
}
// The feature was not previously installed. Mark the cluster
- //(aka the entire port) to be removed before re-adding it.
+ // (aka the entire port) to be removed before re-adding it.
mark_minus(cluster, graph, graph_plan, prevent_default_features);
return follow_plus_dependencies(feature, cluster, graph, graph_plan, prevent_default_features);
diff --git a/toolsrc/src/vcpkg/export.cpp b/toolsrc/src/vcpkg/export.cpp
index 8f5034eee..5ceb47adf 100644
--- a/toolsrc/src/vcpkg/export.cpp
+++ b/toolsrc/src/vcpkg/export.cpp
@@ -339,26 +339,27 @@ namespace vcpkg::Export
struct OptionPair
{
- const std::string& name;
+ const StringLiteral& name;
Optional<std::string>& out_opt;
};
- const auto options_implies =
- [&](const std::string& main_opt_name, bool main_opt, Span<const OptionPair> implying_opts) {
- if (main_opt)
- {
- for (auto&& opt : implying_opts)
- opt.out_opt = maybe_lookup(options.settings, opt.name);
- }
- else
- {
- for (auto&& opt : implying_opts)
- Checks::check_exit(VCPKG_LINE_INFO,
- !maybe_lookup(options.settings, opt.name),
- "%s is only valid with %s",
- opt.name,
- main_opt_name);
- }
- };
+ const auto options_implies = [&](const StringLiteral& main_opt_name,
+ bool is_main_opt,
+ const std::initializer_list<OptionPair>& implying_opts) {
+ if (is_main_opt)
+ {
+ for (auto&& opt : implying_opts)
+ opt.out_opt = maybe_lookup(options.settings, opt.name);
+ }
+ else
+ {
+ for (auto&& opt : implying_opts)
+ Checks::check_exit(VCPKG_LINE_INFO,
+ !maybe_lookup(options.settings, opt.name),
+ "%s is only valid with %s",
+ opt.name,
+ main_opt_name);
+ }
+ };
#if defined(_MSC_VER) && _MSC_VER <= 1900
// there's a bug in VS 2015 that causes a bunch of "unreferenced local variable" warnings