aboutsummaryrefslogtreecommitdiff
path: root/ports
diff options
context:
space:
mode:
authorPhil Christensen <philc@microsoft.com>2020-02-03 14:22:52 -0800
committerGitHub <noreply@github.com>2020-02-03 14:22:52 -0800
commite62d1361288e83eba786395b60361ab35ba83800 (patch)
treea782ed37dc24eafa81f32082b602922f32d6cfec /ports
parent586bee9bcd30993033a3590f7e84ef1b648cad10 (diff)
downloadvcpkg-e62d1361288e83eba786395b60361ab35ba83800.tar.gz
vcpkg-e62d1361288e83eba786395b60361ab35ba83800.zip
[vcpkg] Add Supports: field. Use contents of triplets instead of names for dependency resolution. (#8601)
* remove unfinished "supports" tag * extract "supports" from control files But do nothing with the value * Start `Supports` documentation * Use Supports in a bunch of control files I only tried matching the already existing logic in the portfile.cmake. * Cmake var provider (#8) * Cmake var provider (#9) * fix windows build (#10) * Add missing files to build * Fix test (#11) * adding hooks for cmake variables in expressions * Adding hooks for 'supports' in CI test * Fix test (#12) * Add overrides to evaluation environment * use "supported" tag in CI testing * cleanup comment * Fix issues with PR * [var_provider] Get library linkage variables from triplet * Fix compilation errors in tests * Add unimplemented functions * Fix unit tests part 1 * Fix issue when buildtrees dir does not exist * Change binary output hash * Fix handling of * feature * Add core feature when using * * Do not add Default-Features when installing 'core' * [vcpkg] WIP. 6 failing tests. * [vcpkg] WIP. 1 failing tests. * [vcpkg] WIP. 0 failing tests. * [vcpkg] Removed 'remove_graph'. 0 failing tests. * [vcpkg] Removed 'install_graph'. 0 failing tests. * [vcpkg] Remove AnyAction; replace with ActionPlan * [vcpkg] Minor cleanup. * [vcpkg][z3][qt5-connectivity][qt5-purchasing] Improve error messages while parsing. Fix a few trivial port issues. * [vcpkg] Work around ICE with MSVC v140 * [vcpkg] Add purge on fail to decompress for CI * [vcpkg] Fix parsing of nested parentheses in qualifiers * [vcpkg] Fix Linux builds (explicit qualification in declaration) * [vcpkg] Fix Build-Depends implying default features. Fix qualified dependencies regression. * [mmx] Add to skip list and full rebuild -- mmx causes problems by installing 'sched.h' * [libpqxx][mqtt-cpp] Prevent installing include/CMakeLists.txt * [cppitertools] Fix installed include namespace (should be include/cppitertools) * [libsoundio] Move headers into soundio/ subdirectory as per original cmake * [ci.baseline] Temporarily skip charls due to conflict with dcmtk * [vcpkg] Add restricted include files post build check -- bump global abi version * [libsoundio] Hotfix stray line in portfile * [vcpkg] Fix regression: CMake information was not being displayed for build-and-install actions * [jsonnet] Fix installation of internal headers; use system nlohmann-json * [grpc][upb] Teach grpc to use packaged upb. Add find_package(upb). Remove inappropriate upb features. * [zfp] Move problematic 'include/bitstream.h' to 'include/zfp/bitstream.h' * [x265] Bump control version to trigger rebuild after zfp conflict * [akali] Disable parallel configure * [dirent][dlfcn-win32][getopt-win32][pthreads] Grandfather into VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS * [ci.baseline] Update baseline for improved upb support * [tgui] Disable parallel configure * [libiconv] Enable VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS * [aws-sdk-cpp] Disable parallel configure * [vcpkg] Implement policy VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS * [aws-sdk-cpp] Fix amount of escaping semicolons -- Note: I do not know the root cause requiring this change * [libodb-sqlite] Fix configuring into source directory * [gettext] Grandfather into VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS * [libodb] DISABLE_PARALLEL_CONFIGURE * [vcpkg] Add 'config.h' and 'local.h' to restricted header list * [mcpp] Remove unused and problematic include 'config.h' from installed files * [teemo] Move installed headers into subdirectory to prevent conflicts with x265 * [ci.baseline] Update current OSX. Skip libmesh on all platforms due to heavy conflicts. * [vcpkg] Add 'slice.h' as a restricted header * [osg] Improve accuracy of dependencies (disable some, add some to Depends) * [vcpkg] Skip invoking a subprocess for 0 specs in load_tag_vars * [ci.baseline] Skip mongo-c-driver on osx due to flakiness * [teemo] Fix incorrect include file read * [osg] Fix dependency typo: glut -> freeglut * [vcpkg] Recover some lost performance with the addition of vcpkg_get_tags. A huge performance cost was loading the triplet files over and over; instead, we splice the sources into a macro and load it once, then just call that macro for each port. Remove use of hashing because we aren't cross-process-safe anyway (global static will do instead). * [vcpkg] Change Supports atom 'windows' to include UWP. Improve Supports field documentation. * [vcpkg] Add docs for VCPKG_ENV_PASSTHROUGH and VCPKG_DEP_INFO_OVERRIDE_VARS * Fix typo Co-authored-by: Curtis J Bezault <curtbezault@gmail.com> Co-authored-by: Victor Romero <romerosanchezv@gmail.com> Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
Diffstat (limited to 'ports')
-rw-r--r--ports/abseil/CONTROL1
-rw-r--r--ports/ace/CONTROL1
-rw-r--r--ports/activemq-cpp/CONTROL1
-rw-r--r--ports/akali/portfile.cmake3
-rw-r--r--ports/alac/CONTROL1
-rw-r--r--ports/aliyun-oss-c-sdk/CONTROL1
-rw-r--r--ports/ampl-mp/CONTROL1
-rw-r--r--ports/apr/CONTROL1
-rw-r--r--ports/arrow/CONTROL1
-rw-r--r--ports/aws-sdk-cpp/CONTROL2
-rw-r--r--ports/aws-sdk-cpp/portfile.cmake9
-rw-r--r--ports/azure-storage-cpp/CONTROL1
-rw-r--r--ports/benchmark/CONTROL1
-rw-r--r--ports/berkeleydb/CONTROL1
-rw-r--r--ports/c-ares/CONTROL1
-rw-r--r--ports/caffe2/CONTROL1
-rw-r--r--ports/capnproto/CONTROL1
-rw-r--r--ports/civetweb/CONTROL1
-rw-r--r--ports/coroutine/CONTROL1
-rw-r--r--ports/cpp-netlib/CONTROL1
-rw-r--r--ports/cppfs/CONTROL1
-rw-r--r--ports/cppitertools/CONTROL2
-rw-r--r--ports/cppitertools/portfile.cmake8
-rw-r--r--ports/cudnn/CONTROL1
-rw-r--r--ports/darknet/CONTROL1
-rw-r--r--ports/dirent/portfile.cmake3
-rw-r--r--ports/dlfcn-win32/portfile.cmake3
-rw-r--r--ports/dmlc/CONTROL1
-rw-r--r--ports/dpdk/CONTROL2
-rw-r--r--ports/easyhook/CONTROL3
-rw-r--r--ports/ebml/CONTROL1
-rw-r--r--ports/expat/CONTROL1
-rw-r--r--ports/field3d/CONTROL1
-rw-r--r--ports/folly/CONTROL1
-rw-r--r--ports/forge/CONTROL1
-rw-r--r--ports/getopt-win32/CONTROL1
-rw-r--r--ports/getopt-win32/portfile.cmake4
-rw-r--r--ports/getopt/CONTROL1
-rw-r--r--ports/gettext/portfile.cmake6
-rw-r--r--ports/gflags/CONTROL1
-rw-r--r--ports/glib/CONTROL1
-rw-r--r--ports/glibmm/CONTROL3
-rw-r--r--ports/gmmlib/CONTROL1
-rw-r--r--ports/googleapis/CONTROL1
-rw-r--r--ports/grpc/00008-uwp_upb_disable_C4146_error.patch31
-rw-r--r--ports/grpc/00009-use-system-upb.patch118
-rw-r--r--ports/grpc/CONTROL4
-rw-r--r--ports/grpc/portfile.cmake29
-rw-r--r--ports/gtkmm/CONTROL1
-rw-r--r--ports/hdf5/CONTROL3
-rw-r--r--ports/hwloc/CONTROL1
-rw-r--r--ports/icu/CONTROL1
-rw-r--r--ports/jinja2cpplight/CONTROL3
-rw-r--r--ports/jsonnet/0003-use-upstream-nlohmann-json.patch13
-rw-r--r--ports/jsonnet/002-fix-dependency-and-install.patch2
-rw-r--r--ports/jsonnet/CONTROL3
-rw-r--r--ports/jsonnet/portfile.cmake6
-rw-r--r--ports/kinectsdk1/CONTROL1
-rw-r--r--ports/kinectsdk2/CONTROL1
-rw-r--r--ports/lastools/CONTROL3
-rw-r--r--ports/leveldb/CONTROL1
-rw-r--r--ports/libarchive/CONTROL1
-rw-r--r--ports/libevent/CONTROL3
-rw-r--r--ports/libexif/CONTROL1
-rw-r--r--ports/libffi/CONTROL1
-rw-r--r--ports/libgit2/CONTROL1
-rw-r--r--ports/libiconv/portfile.cmake2
-rw-r--r--ports/libmysql/CONTROL1
-rw-r--r--ports/libodb-sqlite/CMakeLists.txt17
-rw-r--r--ports/libodb-sqlite/CONTROL2
-rw-r--r--ports/libodb/portfile.cmake1
-rw-r--r--ports/libopenmpt/CONTROL1
-rw-r--r--ports/libopusenc/CONTROL1
-rw-r--r--ports/libosip2/CONTROL3
-rw-r--r--ports/libp7-baical/CONTROL1
-rw-r--r--ports/libp7client/CONTROL1
-rw-r--r--ports/libpq/CONTROL3
-rw-r--r--ports/libpqxx/CMakeLists.txt1
-rw-r--r--ports/libpqxx/CONTROL4
-rw-r--r--ports/libpqxx/portfile.cmake4
-rw-r--r--ports/libressl/CONTROL1
-rw-r--r--ports/libsoundio/CONTROL3
-rw-r--r--ports/libsoundio/fix_cmakelists.patch233
-rw-r--r--ports/libsoundio/portfile.cmake16
-rw-r--r--ports/libssh/CONTROL1
-rw-r--r--ports/libusb-win32/CONTROL1
-rw-r--r--ports/libuuid/CONTROL1
-rw-r--r--ports/llgl/CONTROL1
-rw-r--r--ports/llvm/CONTROL3
-rw-r--r--ports/log4cpp/CONTROL2
-rw-r--r--ports/luajit/CONTROL1
-rw-r--r--ports/lzfse/CONTROL1
-rw-r--r--ports/marl/CONTROL1
-rw-r--r--ports/matroska/CONTROL1
-rw-r--r--ports/mcpp/CONTROL2
-rw-r--r--ports/mcpp/portfile.cmake1
-rw-r--r--ports/mdnsresponder/CONTROL1
-rw-r--r--ports/mecab/CONTROL1
-rw-r--r--ports/minhook/CONTROL3
-rw-r--r--ports/minifb/CONTROL1
-rw-r--r--ports/minizip/CONTROL1
-rw-r--r--ports/mongoose/CONTROL3
-rw-r--r--ports/monkeys-audio/CONTROL5
-rw-r--r--ports/mpir/CONTROL1
-rw-r--r--ports/mqtt-cpp/CONTROL4
-rw-r--r--ports/mqtt-cpp/portfile.cmake7
-rw-r--r--ports/ms-angle/CONTROL1
-rw-r--r--ports/msmpi/CONTROL1
-rw-r--r--ports/nano-signal-slot/CONTROL1
-rw-r--r--ports/nativefiledialog/CONTROL1
-rw-r--r--ports/networkdirect-sdk/CONTROL3
-rw-r--r--ports/openal-soft/CONTROL1
-rw-r--r--ports/openexr/CONTROL1
-rw-r--r--ports/openmpi/CONTROL1
-rw-r--r--ports/openni2/CONTROL1
-rw-r--r--ports/openssl-unix/CONTROL1
-rw-r--r--ports/openssl-uwp/CONTROL1
-rw-r--r--ports/openssl-windows/CONTROL1
-rw-r--r--ports/opentracing/CONTROL1
-rw-r--r--ports/openxr-loader/CONTROL1
-rw-r--r--ports/opusfile/CONTROL1
-rw-r--r--ports/osg/CONTROL4
-rw-r--r--ports/osg/portfile.cmake12
-rw-r--r--ports/pbc/CONTROL1
-rw-r--r--ports/physx/CONTROL7
-rw-r--r--ports/pistache/CONTROL3
-rw-r--r--ports/pmdk/CONTROL1
-rw-r--r--ports/portmidi/CONTROL1
-rw-r--r--ports/ptex/CONTROL1
-rw-r--r--ports/pthreads/CONTROL1
-rw-r--r--ports/pthreads/portfile.cmake12
-rw-r--r--ports/qt5-activeqt/CONTROL1
-rw-r--r--ports/qt5-connectivity/CONTROL2
-rw-r--r--ports/qt5-macextras/CONTROL1
-rw-r--r--ports/qt5-purchasing/CONTROL2
-rw-r--r--ports/qt5-winextras/CONTROL1
-rw-r--r--ports/rabit/CONTROL2
-rw-r--r--ports/raylib/CONTROL1
-rw-r--r--ports/readline/CONTROL1
-rw-r--r--ports/rhash/CONTROL1
-rw-r--r--ports/sciter/CONTROL1
-rw-r--r--ports/septag-sx/CONTROL1
-rw-r--r--ports/simdjson/CONTROL1
-rw-r--r--ports/soundtouch/CONTROL1
-rw-r--r--ports/spdk-dpdk/CONTROL2
-rw-r--r--ports/spdk-ipsec/CONTROL2
-rw-r--r--ports/spdk-isal/CONTROL2
-rw-r--r--ports/spdk/CONTROL3
-rw-r--r--ports/teemo/CONTROL2
-rw-r--r--ports/teemo/adjust-install-dir.patch22
-rw-r--r--ports/teemo/portfile.cmake7
-rw-r--r--ports/telnetpp/CONTROL1
-rw-r--r--ports/tensorflow-cc/CONTROL1
-rw-r--r--ports/tgui/portfile.cmake3
-rw-r--r--ports/tinkerforge/CONTROL1
-rw-r--r--ports/unicorn/CONTROL1
-rw-r--r--ports/upb/CONTROL11
-rw-r--r--ports/upb/add-cmake-install.patch60
-rw-r--r--ports/upb/fix-cmakelists.patch184
-rw-r--r--ports/upb/portfile.cmake26
-rw-r--r--ports/uvatlas/CONTROL3
-rw-r--r--ports/vectorclass/CONTROL1
-rw-r--r--ports/winreg/CONTROL3
-rw-r--r--ports/wintoast/CONTROL3
-rw-r--r--ports/x-plane/CONTROL1
-rw-r--r--ports/x265/CONTROL2
-rw-r--r--ports/yasm/CONTROL1
-rw-r--r--ports/yoga/CONTROL1
-rw-r--r--ports/z3/CONTROL3
-rw-r--r--ports/zfp/CONTROL2
-rw-r--r--ports/zfp/portfile.cmake6
171 files changed, 532 insertions, 544 deletions
diff --git a/ports/abseil/CONTROL b/ports/abseil/CONTROL
index 459eeee3f..01f27c758 100644
--- a/ports/abseil/CONTROL
+++ b/ports/abseil/CONTROL
@@ -5,3 +5,4 @@ Description: an open-source collection designed to augment the C++ standard libr
Abseil is an open-source collection of C++ library code designed to augment the C++ standard library. The Abseil library code is collected from Google's own C++ code base, has been extensively tested and used in production, and is the same code we depend on in our daily coding lives.
In some cases, Abseil provides pieces missing from the C++ standard; in others, Abseil provides alternatives to the standard for special needs we've found through usage in the Google code base. We denote those cases clearly within the library code we provide you.
Abseil is not meant to be a competitor to the standard library; we've just found that many of these utilities serve a purpose within our code base, and we now want to provide those resources to the C++ community as a whole.
+Supports: !uwp \ No newline at end of file
diff --git a/ports/ace/CONTROL b/ports/ace/CONTROL
index 1530b043a..4cf1db8bc 100644
--- a/ports/ace/CONTROL
+++ b/ports/ace/CONTROL
@@ -2,6 +2,7 @@ Source: ace
Version: 6.5.7-1
Homepage: https://www.dre.vanderbilt.edu/~schmidt/ACE.html
Description: The ADAPTIVE Communication Environment
+Supports: !uwp
Feature: wchar
Description: Enable extra wide char functions in ACE
diff --git a/ports/activemq-cpp/CONTROL b/ports/activemq-cpp/CONTROL
index 5a7ade4e9..891c51ee7 100644
--- a/ports/activemq-cpp/CONTROL
+++ b/ports/activemq-cpp/CONTROL
@@ -2,3 +2,4 @@ Source: activemq-cpp
Version: 3.9.5-1
Build-Depends: apr
Description: Apache ActiveMQ is the most popular and powerful open source messaging and Integration Patterns server.
+Supports: !uwp \ No newline at end of file
diff --git a/ports/akali/portfile.cmake b/ports/akali/portfile.cmake
index e1be35018..aa59b0389 100644
--- a/ports/akali/portfile.cmake
+++ b/ports/akali/portfile.cmake
@@ -12,7 +12,8 @@ string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" AKALI_STATIC)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
- PREFER_NINJA
+ DISABLE_PARALLEL_CONFIGURE
+ PREFER_NINJA
OPTIONS
-DAKALI_STATIC:BOOL=${AKALI_STATIC}
-DBUILD_TESTS:BOOL=OFF
diff --git a/ports/alac/CONTROL b/ports/alac/CONTROL
index 1bea4dc14..7938d6b71 100644
--- a/ports/alac/CONTROL
+++ b/ports/alac/CONTROL
@@ -2,3 +2,4 @@ Source: alac
Version: 2017-11-03-c38887c5-1
Homepage: https://github.com/macosforge/alac
Description: The Apple Lossless Audio Codec (ALAC) is a lossless audio codec developed by Apple and deployed on all of its platforms and devices.
+Supports: !uwp \ No newline at end of file
diff --git a/ports/aliyun-oss-c-sdk/CONTROL b/ports/aliyun-oss-c-sdk/CONTROL
index 430541401..fdf8c658b 100644
--- a/ports/aliyun-oss-c-sdk/CONTROL
+++ b/ports/aliyun-oss-c-sdk/CONTROL
@@ -2,3 +2,4 @@ Source: aliyun-oss-c-sdk
Version: 3.7.1-1
Description: Alibaba Cloud Object Storage Service (OSS) is a cloud storage service provided by Alibaba Cloud, featuring massive capacity, security, a low cost, and high reliability.
Build-Depends: curl, apr-util
+Supports: !uwp
diff --git a/ports/ampl-mp/CONTROL b/ports/ampl-mp/CONTROL
index d45564c4f..a8f88ac55 100644
--- a/ports/ampl-mp/CONTROL
+++ b/ports/ampl-mp/CONTROL
@@ -1,3 +1,4 @@
Source: ampl-mp
Version: 2019-03-21-1
Description: An open-source library for mathematical programming
+Supports: !uwp \ No newline at end of file
diff --git a/ports/apr/CONTROL b/ports/apr/CONTROL
index 746583603..714022691 100644
--- a/ports/apr/CONTROL
+++ b/ports/apr/CONTROL
@@ -2,6 +2,7 @@ Source: apr
Version: 1.6.5-3
Homepage: https://apr.apache.org/
Description: The Apache Portable Runtime (APR) is a C library that forms a system portability layer that covers many operating systems.
+Supports: !uwp
Feature: private-headers
Description: Install non-standard files required for building Apache httpd
diff --git a/ports/arrow/CONTROL b/ports/arrow/CONTROL
index 780568f03..896f78af4 100644
--- a/ports/arrow/CONTROL
+++ b/ports/arrow/CONTROL
@@ -3,3 +3,4 @@ Version: 0.15.1
Build-Depends: boost-system, boost-filesystem, boost-multiprecision, boost-algorithm, flatbuffers, rapidjson, zlib, lz4, brotli, zstd, snappy, gflags, thrift, double-conversion, glog, uriparser
Homepage: https://github.com/apache/arrow
Description: Apache Arrow is a columnar in-memory analytics layer designed to accelerate big data. It houses a set of canonical in-memory representations of flat and hierarchical data along with multiple language-bindings for structure manipulation. It also provides IPC and common algorithm implementations.
+Supports: x64 \ No newline at end of file
diff --git a/ports/aws-sdk-cpp/CONTROL b/ports/aws-sdk-cpp/CONTROL
index 625d1f3de..93be6843d 100644
--- a/ports/aws-sdk-cpp/CONTROL
+++ b/ports/aws-sdk-cpp/CONTROL
@@ -1,5 +1,5 @@
Source: aws-sdk-cpp
-Version: 1.7.214
+Version: 1.7.214-1
Homepage: https://github.com/aws/aws-sdk-cpp
Description: AWS SDK for C++
Build-Depends: openssl (!uwp&!windows), curl (!uwp&!windows), aws-c-event-stream
diff --git a/ports/aws-sdk-cpp/portfile.cmake b/ports/aws-sdk-cpp/portfile.cmake
index b058608f3..9fa6b2f5f 100644
--- a/ports/aws-sdk-cpp/portfile.cmake
+++ b/ports/aws-sdk-cpp/portfile.cmake
@@ -3,7 +3,7 @@ vcpkg_buildpath_length_warning(37)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO aws/aws-sdk-cpp
- REF e8a7e7263e900983921e95363026efaa494622ab # 1.7.214
+ REF e8a7e7263e900983921e95363026efaa494622ab # 1.7.214
SHA512 dc4e003ffaebf21410d8d360f8a4602dda99d3ee0c0ab7fb61c97fe8b5f0b38438ed5315fb85d3a435cd5a99724e43c5cf569a7cb365ed8137caeac32c619a86
HEAD_REF master
)
@@ -14,14 +14,11 @@ set(BUILD_ONLY core)
include(${CMAKE_CURRENT_LIST_DIR}/compute_build_only.cmake)
-if(CMAKE_HOST_WIN32)
- string(REPLACE ";" "\\\\\\;" BUILD_ONLY "${BUILD_ONLY}")
-else()
- string(REPLACE ";" "\\\\\\\\\\\;" BUILD_ONLY "${BUILD_ONLY}")
-endif()
+string(REPLACE ";" "\\\\\\\\\\\;" BUILD_ONLY "${BUILD_ONLY}")
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
+ DISABLE_PARALLEL_CONFIGURE
PREFER_NINJA
OPTIONS
-DENABLE_UNITY_BUILD=ON
diff --git a/ports/azure-storage-cpp/CONTROL b/ports/azure-storage-cpp/CONTROL
index be93299da..66a402f8f 100644
--- a/ports/azure-storage-cpp/CONTROL
+++ b/ports/azure-storage-cpp/CONTROL
@@ -4,3 +4,4 @@ Build-Depends: cpprestsdk[core], atlmfc (windows), boost-log (!windows&!uwp), bo
Description: Microsoft Azure Storage Client SDK for C++
A client library for working with Microsoft Azure storage services including blobs, files, tables, and queues. This client library enables working with the Microsoft Azure storage services which include the blob service for storing binary and text data, the file service for storing binary and text data, the table service for storing structured non-relational data, and the queue service for storing messages that may be accessed by a client.
Homepage: https://blogs.msdn.com/b/windowsazurestorage/
+Supports: !uwp \ No newline at end of file
diff --git a/ports/benchmark/CONTROL b/ports/benchmark/CONTROL
index 27c4c8256..d82040748 100644
--- a/ports/benchmark/CONTROL
+++ b/ports/benchmark/CONTROL
@@ -2,3 +2,4 @@ Source: benchmark
Version: 1.5
Homepage: https://github.com/google/benchmark
Description: A library to support the benchmarking of functions, similar to unit-tests.
+Supports: !uwp \ No newline at end of file
diff --git a/ports/berkeleydb/CONTROL b/ports/berkeleydb/CONTROL
index 7d93c230c..75c856c08 100644
--- a/ports/berkeleydb/CONTROL
+++ b/ports/berkeleydb/CONTROL
@@ -2,3 +2,4 @@ Source: berkeleydb
Version: 4.8.30-3
Homepage: https://download.oracle.com/
Description: BDB - A high-performance embedded database for key/value data.
+Supports: !uwp \ No newline at end of file
diff --git a/ports/c-ares/CONTROL b/ports/c-ares/CONTROL
index c8a5f4854..4898ec5de 100644
--- a/ports/c-ares/CONTROL
+++ b/ports/c-ares/CONTROL
@@ -2,3 +2,4 @@ Source: c-ares
Version: 2019-5-2-1
Homepage: https://github.com/c-ares/c-ares
Description: A C library for asynchronous DNS requests
+Supports: !uwp \ No newline at end of file
diff --git a/ports/caffe2/CONTROL b/ports/caffe2/CONTROL
index 4d72fb764..e9bb4dbd7 100644
--- a/ports/caffe2/CONTROL
+++ b/ports/caffe2/CONTROL
@@ -3,3 +3,4 @@ Version: 0.8.1-3
Build-Depends: lmdb, gflags, glog, eigen3, protobuf
Homepage: https://github.com/caffe2/caffe2
Description: Caffe2 is a lightweight, modular, and scalable deep learning framework.
+Supports: !x86 \ No newline at end of file
diff --git a/ports/capnproto/CONTROL b/ports/capnproto/CONTROL
index 02cc080f1..cb1258c97 100644
--- a/ports/capnproto/CONTROL
+++ b/ports/capnproto/CONTROL
@@ -3,3 +3,4 @@ Version: 0.7.0-3
Description: Data interchange format and capability-based RPC system
Homepage: https://capnproto.org/
Build-Depends: zlib
+Supports: !uwp \ No newline at end of file
diff --git a/ports/civetweb/CONTROL b/ports/civetweb/CONTROL
index b24a4ffec..07b7306f1 100644
--- a/ports/civetweb/CONTROL
+++ b/ports/civetweb/CONTROL
@@ -1,3 +1,4 @@
Source: civetweb
Version: 2019-07-05
Description: Easy to use, powerful, C/C++ embeddable web server.
+Supports: !uwp \ No newline at end of file
diff --git a/ports/coroutine/CONTROL b/ports/coroutine/CONTROL
index 13c8e3d21..c716f2585 100644
--- a/ports/coroutine/CONTROL
+++ b/ports/coroutine/CONTROL
@@ -2,3 +2,4 @@ Source: coroutine
Version: 2020-01-13
Build-Depends: ms-gsl
Description: C++ coroutine helper/example library
+Supports: !x86 \ No newline at end of file
diff --git a/ports/cpp-netlib/CONTROL b/ports/cpp-netlib/CONTROL
index 845a89e66..70c70b13f 100644
--- a/ports/cpp-netlib/CONTROL
+++ b/ports/cpp-netlib/CONTROL
@@ -3,3 +3,4 @@ Version: 0.13.0-3
Homepage: https://cpp-netlib.org/
Build-Depends: boost
Description: A collection of network-related routines/implementations geared towards providing a robust cross-platform networking library
+Supports: !uwp \ No newline at end of file
diff --git a/ports/cppfs/CONTROL b/ports/cppfs/CONTROL
index d94532e8a..c97527ff4 100644
--- a/ports/cppfs/CONTROL
+++ b/ports/cppfs/CONTROL
@@ -1,6 +1,7 @@
Source: cppfs
Version: 1.2.0-1
Description: Cross-platform C++ file system library supporting multiple backends
+Supports: !uwp
Feature: ssh
Description: SSH backend for cppfs
diff --git a/ports/cppitertools/CONTROL b/ports/cppitertools/CONTROL
index 8c5f387ec..579a85a69 100644
--- a/ports/cppitertools/CONTROL
+++ b/ports/cppitertools/CONTROL
@@ -1,4 +1,4 @@
Source: cppitertools
-Version: 2019-04-14-2
+Version: 2019-04-14-3
Description: Range-based for loop add-ons inspired by the Python builtins and itertools library
Build-Depends: boost-optional
diff --git a/ports/cppitertools/portfile.cmake b/ports/cppitertools/portfile.cmake
index f19069a3b..26b6ee93b 100644
--- a/ports/cppitertools/portfile.cmake
+++ b/ports/cppitertools/portfile.cmake
@@ -1,7 +1,3 @@
-# header-only library
-
-include(vcpkg_common_functions)
-
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO ryanhaining/cppitertools
@@ -13,8 +9,8 @@ vcpkg_from_github(
file(GLOB INCLUDE_FILES ${SOURCE_PATH}/*.hpp)
file(GLOB INCLUDE_INTERNAL_FILES ${SOURCE_PATH}/internal/*.hpp)
-file(COPY ${INCLUDE_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include)
-file(COPY ${INCLUDE_INTERNAL_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include/internal)
+file(COPY ${INCLUDE_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include/cppitertools)
+file(COPY ${INCLUDE_INTERNAL_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include/cppitertools/internal)
# Handle copyright
configure_file(${SOURCE_PATH}/LICENSE.md ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY)
diff --git a/ports/cudnn/CONTROL b/ports/cudnn/CONTROL
index cc8019b5b..4ab7c941b 100644
--- a/ports/cudnn/CONTROL
+++ b/ports/cudnn/CONTROL
@@ -2,3 +2,4 @@ Source: cudnn
Version: 7.6
Description: NVIDIA's cuDNN deep neural network acceleration library
Build-Depends: cuda
+Supports: (windows|linux)&x64
diff --git a/ports/darknet/CONTROL b/ports/darknet/CONTROL
index 3665fa069..66bcbb76b 100644
--- a/ports/darknet/CONTROL
+++ b/ports/darknet/CONTROL
@@ -2,6 +2,7 @@ Source: darknet
Version: 0.2.5.1-1
Description: Darknet is an open source neural network framework written in C and CUDA. You only look once (YOLO) is a state-of-the-art, real-time object detection system, best example of darknet functionalities.
Build-Depends: pthreads (windows), stb
+Supports: !(arm|uwp)
Feature: cuda
Build-Depends: cuda
diff --git a/ports/dirent/portfile.cmake b/ports/dirent/portfile.cmake
index 80aab02f0..945f6017a 100644
--- a/ports/dirent/portfile.cmake
+++ b/ports/dirent/portfile.cmake
@@ -3,7 +3,6 @@ if(VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStor
return()
endif()
-include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO tronkko/dirent
@@ -14,3 +13,5 @@ vcpkg_from_github(
file(INSTALL ${SOURCE_PATH}/include/ DESTINATION ${CURRENT_PACKAGES_DIR}/include)
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/dirent RENAME copyright)
vcpkg_copy_pdbs()
+
+set(VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS enabled)
diff --git a/ports/dlfcn-win32/portfile.cmake b/ports/dlfcn-win32/portfile.cmake
index e2376ab63..1e1fdccb1 100644
--- a/ports/dlfcn-win32/portfile.cmake
+++ b/ports/dlfcn-win32/portfile.cmake
@@ -1,4 +1,3 @@
-include(vcpkg_common_functions)
set(SOURCE_VERSION 1.1.1)
vcpkg_from_github(
@@ -27,3 +26,5 @@ vcpkg_copy_pdbs()
file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/COPYING ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright)
+
+set(VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS enabled)
diff --git a/ports/dmlc/CONTROL b/ports/dmlc/CONTROL
index 24d639ce3..673862144 100644
--- a/ports/dmlc/CONTROL
+++ b/ports/dmlc/CONTROL
@@ -3,6 +3,7 @@ Version: 2019-08-12-1
Homepage: https://github.com/dmlc/dmlc-core
Description: DMLC-Core is the backbone library to support all DMLC projects, offers the bricks to build efficient and scalable distributed machine learning libraries.
Default-Features: openmp
+Supports: !uwp
Feature: openmp
Description: Build with openmp \ No newline at end of file
diff --git a/ports/dpdk/CONTROL b/ports/dpdk/CONTROL
index 056800d29..53d79f7e6 100644
--- a/ports/dpdk/CONTROL
+++ b/ports/dpdk/CONTROL
@@ -1,4 +1,4 @@
Source: dpdk
Version: 19.02
Description: A set of libraries and drivers for fast packet processing
-
+Supports: linux
diff --git a/ports/easyhook/CONTROL b/ports/easyhook/CONTROL
index a47eb803d..077a5fb53 100644
--- a/ports/easyhook/CONTROL
+++ b/ports/easyhook/CONTROL
@@ -1,4 +1,5 @@
Source: easyhook
Version: 2.7.6789.0
Homepage: https://github.com/EasyHook/EasyHook
-Description: This project supports extending (hooking) unmanaged code (APIs) with pure managed ones, from within a fully managed environment on 32- or 64-bit Windows Vista x64, Windows Server 2008 x64, Windows 7, Windows 8.1, and Windows 10. \ No newline at end of file
+Description: This project supports extending (hooking) unmanaged code (APIs) with pure managed ones, from within a fully managed environment on 32- or 64-bit Windows Vista x64, Windows Server 2008 x64, Windows 7, Windows 8.1, and Windows 10.
+Supports: windows \ No newline at end of file
diff --git a/ports/ebml/CONTROL b/ports/ebml/CONTROL
index 0b2aac432..9af9cc865 100644
--- a/ports/ebml/CONTROL
+++ b/ports/ebml/CONTROL
@@ -2,3 +2,4 @@ Source: ebml
Version: 1.3.9
Homepage: https://github.com/Matroska-Org/libebml
Description: a C++ libary to parse EBML files
+Supports: !uwp \ No newline at end of file
diff --git a/ports/expat/CONTROL b/ports/expat/CONTROL
index 68629eb2d..9007da6cd 100644
--- a/ports/expat/CONTROL
+++ b/ports/expat/CONTROL
@@ -2,3 +2,4 @@ Source: expat
Version: 2.2.7
Homepage: https://github.com/libexpat/libexpat
Description: XML parser library written in C
+Supports: !uwp \ No newline at end of file
diff --git a/ports/field3d/CONTROL b/ports/field3d/CONTROL
index 487075eb4..c65ac02c5 100644
--- a/ports/field3d/CONTROL
+++ b/ports/field3d/CONTROL
@@ -3,3 +3,4 @@ Version: 1.7.2
Homepage: https://github.com/imageworks/Field3D
Description: An open source library for storing voxel data. It provides C++ classes that handle in-memory storage and a file format based on HDF5 that allows the C++ objects to be written to and read from disk.
Build-Depends: hdf5, boost-regex, boost-thread, boost-program-options, boost-system, openexr, boost-foreach, boost-test, boost-timer, boost-format
+Supports: !(windows|arm|uwp) \ No newline at end of file
diff --git a/ports/folly/CONTROL b/ports/folly/CONTROL
index 1ec16d009..77c75a702 100644
--- a/ports/folly/CONTROL
+++ b/ports/folly/CONTROL
@@ -4,6 +4,7 @@ Homepage: https://github.com/facebook/folly
Description: An open-source C++ library developed and used at Facebook. The library is UNSTABLE on Windows
Build-Depends: openssl, libevent, double-conversion, glog, gflags, boost-chrono, boost-context, boost-conversion, boost-crc, boost-date-time, boost-filesystem, boost-multi-index, boost-program-options, boost-regex, boost-system, boost-thread, boost-smart-ptr
Default-Features: zlib
+Supports: x64
Feature: zlib
Build-Depends: zlib
diff --git a/ports/forge/CONTROL b/ports/forge/CONTROL
index d791f8ad6..3aa7608d0 100644
--- a/ports/forge/CONTROL
+++ b/ports/forge/CONTROL
@@ -2,3 +2,4 @@ Source: forge
Version: 1.0.4-2
Description: Helps with high performance visualizations involving OpenGL-CUDA/OpenCL interop.
Build-Depends: glfw3, glm, glbinding, freetype, boost-functional, freeimage, fontconfig (!windows)
+Supports: x64 \ No newline at end of file
diff --git a/ports/getopt-win32/CONTROL b/ports/getopt-win32/CONTROL
index ba14d4909..5de151a79 100644
--- a/ports/getopt-win32/CONTROL
+++ b/ports/getopt-win32/CONTROL
@@ -2,3 +2,4 @@ Source: getopt-win32
Version: 0.1
Description: An implementation of getopt.
Homepage: https://github.com/libimobiledevice-win32
+Supports: windows \ No newline at end of file
diff --git a/ports/getopt-win32/portfile.cmake b/ports/getopt-win32/portfile.cmake
index 50ffc2b88..780cb1c5f 100644
--- a/ports/getopt-win32/portfile.cmake
+++ b/ports/getopt-win32/portfile.cmake
@@ -1,5 +1,3 @@
-include(vcpkg_common_functions)
-
if(VCPKG_CMAKE_SYSTEM_NAME)
message(FATAL_ERROR "getopt-win32 only supports building on Windows Desktop")
endif()
@@ -22,3 +20,5 @@ vcpkg_install_msbuild(
# Copy header
file(COPY ${SOURCE_PATH}/getopt.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/)
+
+set(VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS enabled)
diff --git a/ports/getopt/CONTROL b/ports/getopt/CONTROL
index bae137bbd..d2b9c2930 100644
--- a/ports/getopt/CONTROL
+++ b/ports/getopt/CONTROL
@@ -2,3 +2,4 @@ Source: getopt
Version: 0
Description: The getopt and getopt_long functions automate some of the chore involved in parsing typical unix command line options.
Build-Depends: getopt-win32 (windows)
+Supports: !uwp \ No newline at end of file
diff --git a/ports/gettext/portfile.cmake b/ports/gettext/portfile.cmake
index a9ab3d2e7..38ada752c 100644
--- a/ports/gettext/portfile.cmake
+++ b/ports/gettext/portfile.cmake
@@ -1,16 +1,16 @@
-if(VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin")
+if(VCPKG_TARGET_IS_LINUX)
set(VCPKG_POLICY_EMPTY_PACKAGE enabled)
if (NOT EXISTS "/usr/include/libintl.h")
message(FATAL_ERROR "Please use command \"sudo apt-get install gettext\" to install gettext on linux.")
endif()
file(COPY ${CMAKE_CURRENT_LIST_DIR}/unofficial-gettext-config.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/unofficial-gettext)
return()
+else()
+ set(VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS enabled)
endif()
#Based on https://github.com/winlibs/gettext
-include(vcpkg_common_functions)
-
set(GETTEXT_VERSION 0.19)
vcpkg_download_distfile(ARCHIVE
diff --git a/ports/gflags/CONTROL b/ports/gflags/CONTROL
index 4cd423293..f2b930778 100644
--- a/ports/gflags/CONTROL
+++ b/ports/gflags/CONTROL
@@ -2,3 +2,4 @@ Source: gflags
Version: 2.2.2-1
Homepage: https://github.com/gflags/gflags
Description: A C++ library that implements commandline flags processing
+Supports: !uwp \ No newline at end of file
diff --git a/ports/glib/CONTROL b/ports/glib/CONTROL
index cdf5441fe..871f98d86 100644
--- a/ports/glib/CONTROL
+++ b/ports/glib/CONTROL
@@ -3,6 +3,7 @@ Version: 2.52.3-14-5
Homepage: https://developer.gnome.org/glib/
Description: Portable, general-purpose utility library.
Build-Depends: zlib, pcre, libffi, gettext, libiconv
+Supports: !uwp
Feature: selinux
Description: Build with selinux support. \ No newline at end of file
diff --git a/ports/glibmm/CONTROL b/ports/glibmm/CONTROL
index 941735feb..aefaf7b83 100644
--- a/ports/glibmm/CONTROL
+++ b/ports/glibmm/CONTROL
@@ -2,4 +2,5 @@ Source: glibmm
Version: 2.52.1-11
Description: This is glibmm, a C++ API for parts of glib that are useful for C++.
Homepage: https://www.gtkmm.org.
-Build-Depends: zlib, pcre, libffi, gettext, libiconv, glib, libsigcpp \ No newline at end of file
+Build-Depends: zlib, pcre, libffi, gettext, libiconv, glib, libsigcpp
+Supports: !uwp
diff --git a/ports/gmmlib/CONTROL b/ports/gmmlib/CONTROL
index 4d043f870..b17937635 100644
--- a/ports/gmmlib/CONTROL
+++ b/ports/gmmlib/CONTROL
@@ -1,3 +1,4 @@
Source: gmmlib
Version: 19.2.3
Description: intel's graphics memory management library
+Supports: linux \ No newline at end of file
diff --git a/ports/googleapis/CONTROL b/ports/googleapis/CONTROL
index ac633e51b..d89aa8cd4 100644
--- a/ports/googleapis/CONTROL
+++ b/ports/googleapis/CONTROL
@@ -3,3 +3,4 @@ Version: 0.1.5
Build-Depends: grpc, protobuf
Description: C++ Proto Libraries for Google APIs.
Homepage: https://github.com/googleapis/cpp-cmakefiles
+Supports: !uwp
diff --git a/ports/grpc/00008-uwp_upb_disable_C4146_error.patch b/ports/grpc/00008-uwp_upb_disable_C4146_error.patch
deleted file mode 100644
index e2259e294..000000000
--- a/ports/grpc/00008-uwp_upb_disable_C4146_error.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-diff --git a/third_party/upb/upb/msg.c b/third_party/upb/upb/msg.c
-index a77da5665c..399e8753ba 100644
---- a/third_party/upb/upb/msg.c
-+++ b/third_party/upb/upb/msg.c
-@@ -33,17 +33,26 @@ static size_t upb_msg_sizeof(const upb_msglayout *l) {
- }
-
- static upb_msg_internal *upb_msg_getinternal(upb_msg *msg) {
-+#pragma warning(push)
-+#pragma warning(disable : 4146)
- return VOIDPTR_AT(msg, -sizeof(upb_msg_internal));
-+#pragma warning(pop)
- }
-
- static const upb_msg_internal *upb_msg_getinternal_const(const upb_msg *msg) {
-+#pragma warning(push)
-+#pragma warning(disable : 4146)
- return VOIDPTR_AT(msg, -sizeof(upb_msg_internal));
-+#pragma warning(pop)
- }
-
- static upb_msg_internal_withext *upb_msg_getinternalwithext(
- upb_msg *msg, const upb_msglayout *l) {
- UPB_ASSERT(l->extendable);
-+#pragma warning(push)
-+#pragma warning(disable : 4146)
- return VOIDPTR_AT(msg, -sizeof(upb_msg_internal_withext));
-+#pragma warning(pop)
- }
-
- upb_msg *upb_msg_new(const upb_msglayout *l, upb_arena *a) {
diff --git a/ports/grpc/00009-use-system-upb.patch b/ports/grpc/00009-use-system-upb.patch
new file mode 100644
index 000000000..515238b9a
--- /dev/null
+++ b/ports/grpc/00009-use-system-upb.patch
@@ -0,0 +1,118 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index b535f10..0fcb682 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1530,7 +1530,7 @@ target_link_libraries(grpc
+ ${_gRPC_UPB_LIBRARIES}
+ ${_gRPC_ALLTARGETS_LIBRARIES}
+ gpr
+- upb
++ ${_gRPC_UPB_LIBRARIES}
+ )
+ if(_gRPC_PLATFORM_IOS OR _gRPC_PLATFORM_MAC)
+ target_link_libraries(grpc "-framework CoreFoundation")
+@@ -1941,7 +1941,7 @@ target_link_libraries(grpc_cronet
+ ${_gRPC_UPB_LIBRARIES}
+ ${_gRPC_ALLTARGETS_LIBRARIES}
+ gpr
+- upb
++ ${_gRPC_UPB_LIBRARIES}
+ )
+ if(_gRPC_PLATFORM_IOS OR _gRPC_PLATFORM_MAC)
+ target_link_libraries(grpc_cronet "-framework CoreFoundation")
+@@ -2283,7 +2283,7 @@ target_link_libraries(grpc_test_util
+ ${_gRPC_ALLTARGETS_LIBRARIES}
+ gpr
+ grpc
+- upb
++ ${_gRPC_UPB_LIBRARIES}
+ )
+ if(_gRPC_PLATFORM_IOS OR _gRPC_PLATFORM_MAC)
+ target_link_libraries(grpc_test_util "-framework CoreFoundation")
+@@ -2626,7 +2626,7 @@ target_link_libraries(grpc_test_util_unsecure
+ ${_gRPC_ALLTARGETS_LIBRARIES}
+ gpr
+ grpc_unsecure
+- upb
++ ${_gRPC_UPB_LIBRARIES}
+ )
+ if(_gRPC_PLATFORM_IOS OR _gRPC_PLATFORM_MAC)
+ target_link_libraries(grpc_test_util_unsecure "-framework CoreFoundation")
+@@ -3017,7 +3017,7 @@ target_link_libraries(grpc_unsecure
+ ${_gRPC_UPB_LIBRARIES}
+ ${_gRPC_ALLTARGETS_LIBRARIES}
+ gpr
+- upb
++ ${_gRPC_UPB_LIBRARIES}
+ )
+ if(_gRPC_PLATFORM_IOS OR _gRPC_PLATFORM_MAC)
+ target_link_libraries(grpc_unsecure "-framework CoreFoundation")
+@@ -3553,7 +3553,7 @@ target_link_libraries(grpc++
+ ${_gRPC_ALLTARGETS_LIBRARIES}
+ grpc
+ gpr
+- upb
++ ${_gRPC_UPB_LIBRARIES}
+ )
+
+ foreach(_hdr
+@@ -4817,7 +4817,7 @@ target_link_libraries(grpc++_unsecure
+ ${_gRPC_ALLTARGETS_LIBRARIES}
+ gpr
+ grpc_unsecure
+- upb
++ ${_gRPC_UPB_LIBRARIES}
+ )
+
+ foreach(_hdr
+@@ -5848,7 +5848,7 @@ if(gRPC_INSTALL)
+ endif()
+
+ endif()
+-
++if(0)
+ add_library(upb
+ third_party/upb/upb/decode.c
+ third_party/upb/upb/encode.c
+@@ -5888,10 +5888,10 @@ target_include_directories(upb
+ target_link_libraries(upb
+ ${_gRPC_ALLTARGETS_LIBRARIES}
+ )
++endif()
+
+
+-
+-if(gRPC_INSTALL)
++if(gRPC_INSTALL AND 0)
+ install(TARGETS upb EXPORT gRPCTargets
+ RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
+ LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR}
+diff --git a/cmake/gRPCConfig.cmake.in b/cmake/gRPCConfig.cmake.in
+index 504d5a7..e2a3122 100644
+--- a/cmake/gRPCConfig.cmake.in
++++ b/cmake/gRPCConfig.cmake.in
+@@ -3,6 +3,7 @@
+ @_gRPC_FIND_PROTOBUF@
+ @_gRPC_FIND_SSL@
+ @_gRPC_FIND_CARES@
++find_package(upb CONFIG)
+
+ # Targets
+ include(${CMAKE_CURRENT_LIST_DIR}/gRPCTargets.cmake)
+diff --git a/cmake/upb.cmake b/cmake/upb.cmake
+index 2c0ab84..746e067 100644
+--- a/cmake/upb.cmake
++++ b/cmake/upb.cmake
+@@ -12,9 +12,9 @@
+ # See the License for the specific language governing permissions and
+ # limitations under the License.
+
+-set(UPB_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/upb)
++find_package(upb REQUIRED)
++set(_gRPC_UPB_INCLUDE_DIR)
+
+-set(_gRPC_UPB_INCLUDE_DIR "${UPB_ROOT_DIR}")
+ set(_gRPC_UPB_GRPC_GENERATED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src/core/ext/upb-generated")
+
+-set(_gRPC_UPB_LIBRARIES upb)
++set(_gRPC_UPB_LIBRARIES upb::upb)
diff --git a/ports/grpc/CONTROL b/ports/grpc/CONTROL
index 4f5652a8b..790e19e8d 100644
--- a/ports/grpc/CONTROL
+++ b/ports/grpc/CONTROL
@@ -1,5 +1,5 @@
Source: grpc
-Version: 1.26.0
-Build-Depends: zlib, openssl, protobuf, c-ares (!uwp)
+Version: 1.26.0-1
+Build-Depends: zlib, openssl, protobuf, c-ares (!uwp), upb
Homepage: https://github.com/grpc/grpc
Description: An RPC library and framework
diff --git a/ports/grpc/portfile.cmake b/ports/grpc/portfile.cmake
index 9e925898c..e156ea4d5 100644
--- a/ports/grpc/portfile.cmake
+++ b/ports/grpc/portfile.cmake
@@ -1,15 +1,7 @@
-include(vcpkg_common_functions)
-
-if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" OR NOT VCPKG_CMAKE_SYSTEM_NAME)
+if(VCPKG_TARGET_IS_WINDOWS)
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
endif()
-# This snippet is a workaround for users who are upgrading from an extremely old version of this
-# port, which cloned directly into `src\`
-if(EXISTS "${CURRENT_BUILDTREES_DIR}/src/.git")
- file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/src)
-endif()
-
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO grpc/grpc
@@ -23,28 +15,19 @@ vcpkg_from_github(
00004-link-gdi32-on-windows.patch
00005-fix-uwp-error.patch
00006-crypt32.patch
- 00008-uwp_upb_disable_C4146_error.patch
+ 00009-use-system-upb.patch
)
-if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
+if(VCPKG_TARGET_IS_UWP OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
set(gRPC_BUILD_CODEGEN OFF)
else()
set(gRPC_BUILD_CODEGEN ON)
endif()
-if(VCPKG_CRT_LINKAGE STREQUAL "static")
- set(gRPC_MSVC_STATIC_RUNTIME ON)
-else()
- set(gRPC_MSVC_STATIC_RUNTIME OFF)
-endif()
-
-if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
- set(gRPC_STATIC_LINKING ON)
-else()
- set(gRPC_STATIC_LINKING OFF)
-endif()
+string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" gRPC_MSVC_STATIC_RUNTIME)
+string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" gRPC_STATIC_LINKING)
-if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+if(VCPKG_TARGET_IS_UWP)
set(cares_CARES_PROVIDER OFF)
else()
set(cares_CARES_PROVIDER "package")
diff --git a/ports/gtkmm/CONTROL b/ports/gtkmm/CONTROL
index b346cd699..ecdab2cc3 100644
--- a/ports/gtkmm/CONTROL
+++ b/ports/gtkmm/CONTROL
@@ -3,3 +3,4 @@ Version: 3.22.2-2
Homepage: https://www.gtkmm.org/
Description: gtkmm is the official C++ interface for the popular GUI library GTK+.
Build-Depends: glib, atk, gtk, gdk-pixbuf, pango, cairo, libepoxy, gettext, glibmm, atkmm, cairomm, pangomm
+Supports: !uwp
diff --git a/ports/hdf5/CONTROL b/ports/hdf5/CONTROL
index a8d27e029..6a74b2da9 100644
--- a/ports/hdf5/CONTROL
+++ b/ports/hdf5/CONTROL
@@ -1,8 +1,9 @@
Source: hdf5
-Version: 1.10.5-9
+Version: 1.10.5-10
Homepage: https://www.hdfgroup.org/downloads/hdf5/
Description: HDF5 is a data model, library, and file format for storing and managing data
Default-Features: szip, zlib
+Supports: !uwp
Feature: parallel
Description: parallel support for HDF5
diff --git a/ports/hwloc/CONTROL b/ports/hwloc/CONTROL
index f754a0fd8..eeb7421f3 100644
--- a/ports/hwloc/CONTROL
+++ b/ports/hwloc/CONTROL
@@ -3,3 +3,4 @@ Version: 1.11.7-3
Homepage: https://github.com/open-mpi/hwloc
Description: Portable Hardware Locality (hwloc)
The Portable Hardware Locality (hwloc) software package provides a portable abstraction (across OS, versions, architectures, ...) of the hierarchical topology of modern architectures, including NUMA memory nodes, sockets, shared caches, cores and simultaneous multithreading. It also gathers various system attributes such as cache and memory information as well as the locality of I/O devices such as network interfaces, InfiniBand HCAs or GPUs.
+Supports: !uwp \ No newline at end of file
diff --git a/ports/icu/CONTROL b/ports/icu/CONTROL
index 4fccc8622..06d902e19 100644
--- a/ports/icu/CONTROL
+++ b/ports/icu/CONTROL
@@ -2,3 +2,4 @@ Source: icu
Version: 61.1-8
Homepage: http://icu-project.org/apiref/icu4c/
Description: Mature and widely used Unicode and localization library.
+Supports: !uwp \ No newline at end of file
diff --git a/ports/jinja2cpplight/CONTROL b/ports/jinja2cpplight/CONTROL
index 57334bc42..f918eb28f 100644
--- a/ports/jinja2cpplight/CONTROL
+++ b/ports/jinja2cpplight/CONTROL
@@ -1,4 +1,5 @@
Source: jinja2cpplight
Version: 2018-05-08
Homepage: https://github.com/hughperkins/Jinja2CppLight
-Description: (very) lightweight version of Jinja2 for C++, Lightweight templating engine for C++, based on Jinja2. \ No newline at end of file
+Description: (very) lightweight version of Jinja2 for C++, Lightweight templating engine for C++, based on Jinja2.
+Supports: !uwp \ No newline at end of file
diff --git a/ports/jsonnet/0003-use-upstream-nlohmann-json.patch b/ports/jsonnet/0003-use-upstream-nlohmann-json.patch
new file mode 100644
index 000000000..a2e1105b7
--- /dev/null
+++ b/ports/jsonnet/0003-use-upstream-nlohmann-json.patch
@@ -0,0 +1,13 @@
+diff --git a/core/vm.cpp b/core/vm.cpp
+index 0cf06fa..d65a6d7 100644
+--- a/core/vm.cpp
++++ b/core/vm.cpp
+@@ -23,7 +23,7 @@ limitations under the License.
+
+ #include "desugarer.h"
+ #include "json.h"
+-#include "json.hpp"
++#include "nlohmann/json.hpp"
+ #include "md5.h"
+ #include "parser.h"
+ #include "state.h"
diff --git a/ports/jsonnet/002-fix-dependency-and-install.patch b/ports/jsonnet/002-fix-dependency-and-install.patch
index cccdc9439..7c7b5da77 100644
--- a/ports/jsonnet/002-fix-dependency-and-install.patch
+++ b/ports/jsonnet/002-fix-dependency-and-install.patch
@@ -24,7 +24,7 @@ index 82fb7c2..a94b4ff 100644
endif()
+
+
-+install(FILES ${LIBJSONNET_HEADERS} DESTINATION include)
++install(FILES ${LIB_HEADER} DESTINATION include)
\ No newline at end of file
diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt
index bf349df..6ed1442 100644
diff --git a/ports/jsonnet/CONTROL b/ports/jsonnet/CONTROL
index 2f6e669ef..78542024c 100644
--- a/ports/jsonnet/CONTROL
+++ b/ports/jsonnet/CONTROL
@@ -1,4 +1,5 @@
Source: jsonnet
-Version: 0.14.0
+Version: 0.14.0-1
Homepage: https://github.com/google/jsonnet
Description: Jsonnet - The data templating language
+Build-Depends: nlohmann-json
diff --git a/ports/jsonnet/portfile.cmake b/ports/jsonnet/portfile.cmake
index 2840f513f..6b4a30a11 100644
--- a/ports/jsonnet/portfile.cmake
+++ b/ports/jsonnet/portfile.cmake
@@ -11,9 +11,10 @@ vcpkg_from_github(
PATCHES
001-enable-msvc.patch
002-fix-dependency-and-install.patch
+ 0003-use-upstream-nlohmann-json.patch
)
-if (VCPKG_TARGET_IS_WINDOWS)
+if(VCPKG_TARGET_IS_WINDOWS)
vcpkg_execute_required_process(
COMMAND Powershell -Command "((Get-Content -AsByteStream \"${SOURCE_PATH}/stdlib/std.jsonnet\") -join ',') + ',0' | Out-File -Encoding Ascii \"${SOURCE_PATH}/core/std.jsonnet.h\""
WORKING_DIRECTORY "${SOURCE_PATH}"
@@ -27,7 +28,7 @@ else()
)
endif()
-if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
set(BUILD_SHARED ON)
set(BUILD_STATIC OFF)
else()
@@ -44,6 +45,7 @@ vcpkg_configure_cmake(
-DBUILD_JSONNET=OFF
-DBUILD_JSONNETFMT=OFF
-DBUILD_TESTS=OFF
+ -DUSE_SYSTEM_JSON=ON
)
vcpkg_install_cmake()
diff --git a/ports/kinectsdk1/CONTROL b/ports/kinectsdk1/CONTROL
index 9764fb69a..d4cd1d273 100644
--- a/ports/kinectsdk1/CONTROL
+++ b/ports/kinectsdk1/CONTROL
@@ -1,3 +1,4 @@
Source: kinectsdk1
Version: 1.8-2
Description: Kinect for Windows SDK for Kinect v1 sensor.
+Supports: !arm \ No newline at end of file
diff --git a/ports/kinectsdk2/CONTROL b/ports/kinectsdk2/CONTROL
index 4fc290d0f..d92784df4 100644
--- a/ports/kinectsdk2/CONTROL
+++ b/ports/kinectsdk2/CONTROL
@@ -1,3 +1,4 @@
Source: kinectsdk2
Version: 2.0-2
Description: Kinect for Windows SDK for Kinect v2 sensor.
+Supports: !arm \ No newline at end of file
diff --git a/ports/lastools/CONTROL b/ports/lastools/CONTROL
index cb908a8d4..311130373 100644
--- a/ports/lastools/CONTROL
+++ b/ports/lastools/CONTROL
@@ -1,4 +1,5 @@
Source: lastools
Version: 2019-07-10
Homepage: https://github.com/LAStools/LAStools
-Description: LAStools: award-winning software for efficient LiDAR processing (with LASzip) \ No newline at end of file
+Description: LAStools: award-winning software for efficient LiDAR processing (with LASzip)
+Supports: !uwp \ No newline at end of file
diff --git a/ports/leveldb/CONTROL b/ports/leveldb/CONTROL
index aa0b2bc3e..1b1302f97 100644
--- a/ports/leveldb/CONTROL
+++ b/ports/leveldb/CONTROL
@@ -2,3 +2,4 @@ Source: leveldb
Version: 1.22-1
Homepage: https://github.com/bitcoin-core/leveldb
Description: LevelDB is a fast key-value storage library written at Google that provides an ordered mapping from string keys to string values.
+Supports: !uwp \ No newline at end of file
diff --git a/ports/libarchive/CONTROL b/ports/libarchive/CONTROL
index 73760e887..6678faacc 100644
--- a/ports/libarchive/CONTROL
+++ b/ports/libarchive/CONTROL
@@ -4,6 +4,7 @@ Homepage: https://github.com/libarchive/libarchive
Description: Library for reading and writing streaming archives
Build-Depends: zlib
Default-Features: bzip2, libxml2, lz4, lzma, lzo, openssl
+Supports: !uwp
Feature: bzip2
Build-Depends: bzip2
diff --git a/ports/libevent/CONTROL b/ports/libevent/CONTROL
index 64067f15c..4df532990 100644
--- a/ports/libevent/CONTROL
+++ b/ports/libevent/CONTROL
@@ -1,7 +1,8 @@
Source: libevent
-Version: 2.1.11-4
+Version: 2.1.11-5
Homepage: https://github.com/libevent/libevent
Description: An event notification library
+Supports: !uwp
Default-Features: thread
Feature: openssl
diff --git a/ports/libexif/CONTROL b/ports/libexif/CONTROL
index e37d0960e..f3e4e4105 100644
--- a/ports/libexif/CONTROL
+++ b/ports/libexif/CONTROL
@@ -2,3 +2,4 @@ Source: libexif
Version: 0.6.21-2
Homepage: https://libexif.github.io/
Description: a library for parsing, editing, and saving EXIF data
+Supports: !uwp \ No newline at end of file
diff --git a/ports/libffi/CONTROL b/ports/libffi/CONTROL
index 4492dbce1..2bc4a093a 100644
--- a/ports/libffi/CONTROL
+++ b/ports/libffi/CONTROL
@@ -2,3 +2,4 @@ Source: libffi
Version: 3.1-7
Homepage: https://github.com/libffi/libffi
Description: Portable, high level programming interface to various calling conventions
+Supports: !arm \ No newline at end of file
diff --git a/ports/libgit2/CONTROL b/ports/libgit2/CONTROL
index d4050188c..0c320dd40 100644
--- a/ports/libgit2/CONTROL
+++ b/ports/libgit2/CONTROL
@@ -3,3 +3,4 @@ Version: 0.28.4
Homepage: https://github.com/libgit2/libgit2
Build-Depends: openssl (!windows&&!uwp)
Description: Git linkable library
+Supports: !uwp
diff --git a/ports/libiconv/portfile.cmake b/ports/libiconv/portfile.cmake
index 9027e2acf..5f184079f 100644
--- a/ports/libiconv/portfile.cmake
+++ b/ports/libiconv/portfile.cmake
@@ -40,3 +40,5 @@ vcpkg_copy_pdbs()
file(INSTALL ${SOURCE_PATH}/COPYING.LIB DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
vcpkg_test_cmake(PACKAGE_NAME unofficial-iconv)
+
+set(VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS enabled)
diff --git a/ports/libmysql/CONTROL b/ports/libmysql/CONTROL
index fb236147e..1195fecc2 100644
--- a/ports/libmysql/CONTROL
+++ b/ports/libmysql/CONTROL
@@ -3,3 +3,4 @@ Version: 8.0.4-5
Homepage: https://github.com/mysql/mysql-server
Build-Depends: boost-algorithm, boost-geometry, boost-optional, boost-functional, boost-graph, openssl, icu, libevent, liblzma, lz4, zlib
Description: A MySQL client library for C development.
+Supports: !(windows&x86)&!uwp \ No newline at end of file
diff --git a/ports/libodb-sqlite/CMakeLists.txt b/ports/libodb-sqlite/CMakeLists.txt
index 79f9bc2bf..8a62ab9a8 100644
--- a/ports/libodb-sqlite/CMakeLists.txt
+++ b/ports/libodb-sqlite/CMakeLists.txt
@@ -2,8 +2,7 @@ cmake_minimum_required(VERSION 3.0)
project(libodb-sqlite VERSION 2.4.0 LANGUAGES CXX)
find_package(odb 2.4.0 REQUIRED COMPONENTS libodb)
find_package(sqlite3 CONFIG)
-configure_file(config.unix.h.in
- ${CMAKE_CURRENT_SOURCE_DIR}/odb/sqlite/details/config.h COPYONLY)
+configure_file(config.unix.h.in odb/sqlite/details/config.h COPYONLY)
set(LIBODB_INSTALL_HEADERS ON CACHE BOOL "Install the header files (a debug install)")
file(GLOB_RECURSE libodb_src LIST_DIRECTORIES False
@@ -15,7 +14,7 @@ target_include_directories(libodb-sqlite
PUBLIC
$<INSTALL_INTERFACE:include>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
-
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>
)
target_link_libraries(libodb-sqlite PRIVATE odb::libodb sqlite3)
@@ -35,14 +34,22 @@ install(TARGETS libodb-sqlite EXPORT odb_sqliteConfig
RUNTIME DESTINATION bin
)
if(LIBODB_INSTALL_HEADERS)
-install(DIRECTORY odb DESTINATION include/
+ install(
+ DIRECTORY odb
+ DESTINATION include/
COMPONENT sqlite
FILES_MATCHING
PATTERN "*.h"
PATTERN "*.hxx"
PATTERN "*.ixx"
PATTERN "*.txx"
-)
+ )
+ install(
+ FILES config.unix.h.in
+ DESTINATION include/odb/sqlite/detail
+ COMPONENT sqlite
+ RENAME config.h
+ )
endif()
install(EXPORT odb_sqliteConfig NAMESPACE odb:: COMPONENT sqlite DESTINATION share/odb)
export(TARGETS libodb-sqlite NAMESPACE odb:: FILE odb_sqliteConfig.cmake) \ No newline at end of file
diff --git a/ports/libodb-sqlite/CONTROL b/ports/libodb-sqlite/CONTROL
index 0c87a6fc8..e7afd76e0 100644
--- a/ports/libodb-sqlite/CONTROL
+++ b/ports/libodb-sqlite/CONTROL
@@ -1,5 +1,5 @@
Source: libodb-sqlite
-Version: 2.4.0-5
+Version: 2.4.0-6
Homepage: https://www.codesynthesis.com/products/odb/
Description: Sqlite support for the ODB ORM library
Build-Depends: libodb, sqlite3
diff --git a/ports/libodb/portfile.cmake b/ports/libodb/portfile.cmake
index 18dc60f73..d616f1b35 100644
--- a/ports/libodb/portfile.cmake
+++ b/ports/libodb/portfile.cmake
@@ -20,6 +20,7 @@ file(COPY
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
+ DISABLE_PARALLEL_CONFIGURE
OPTIONS_DEBUG
-DLIBODB_INSTALL_HEADERS=OFF
)
diff --git a/ports/libopenmpt/CONTROL b/ports/libopenmpt/CONTROL
index 32fa988d1..be431f49e 100644
--- a/ports/libopenmpt/CONTROL
+++ b/ports/libopenmpt/CONTROL
@@ -3,3 +3,4 @@ Version: 2017-01-28-cf2390140
Homepage: https://github.com/OpenMPT/openmpt
Description: a library to render tracker music
Build-Depends: zlib, mpg123, libogg, libvorbis, portaudio, libflac
+Supports: !uwp \ No newline at end of file
diff --git a/ports/libopusenc/CONTROL b/ports/libopusenc/CONTROL
index 844b22d49..7e52b1353 100644
--- a/ports/libopusenc/CONTROL
+++ b/ports/libopusenc/CONTROL
@@ -3,3 +3,4 @@ Version: 0.2.1
Homepage: https://github.com/xiph/libopusenc
Description: Library for encoding .opus audio files and live streams.
Build-Depends: opus
+Supports: !uwp \ No newline at end of file
diff --git a/ports/libosip2/CONTROL b/ports/libosip2/CONTROL
index 693a9d73e..2fe1f8b16 100644
--- a/ports/libosip2/CONTROL
+++ b/ports/libosip2/CONTROL
@@ -1,4 +1,5 @@
Source: libosip2
Version: 5.1.0-3
Homepage: https://www.gnu.org/software/osip/
-Description: oSIP is an LGPL implementation of SIP. It's stable, portable, flexible and compliant! -may be more-! It is used mostly with eXosip2 stack (GPL) which provides simpler API for User-Agent implementation. \ No newline at end of file
+Description: oSIP is an LGPL implementation of SIP. It's stable, portable, flexible and compliant! -may be more-! It is used mostly with eXosip2 stack (GPL) which provides simpler API for User-Agent implementation.
+Supports: !(windows|uwp) \ No newline at end of file
diff --git a/ports/libp7-baical/CONTROL b/ports/libp7-baical/CONTROL
index 698334f58..80037450b 100644
--- a/ports/libp7-baical/CONTROL
+++ b/ports/libp7-baical/CONTROL
@@ -2,3 +2,4 @@ Source: libp7-baical
Version: 4.4-4
Homepage: https://baical.net/
Description: P7 is a library for high-speed sending telemetry & trace data from application
+Supports: !(arm|uwp) \ No newline at end of file
diff --git a/ports/libp7client/CONTROL b/ports/libp7client/CONTROL
index 0069877d4..f7020b6f1 100644
--- a/ports/libp7client/CONTROL
+++ b/ports/libp7client/CONTROL
@@ -1,3 +1,4 @@
Source: libp7client
Version: 5.2-1
Description: Open source, cross-platform, fastest library for sending logs, telemetry & trace data from your application.
+Supports: x86|x64 \ No newline at end of file
diff --git a/ports/libpq/CONTROL b/ports/libpq/CONTROL
index 724d9acd8..359481816 100644
--- a/ports/libpq/CONTROL
+++ b/ports/libpq/CONTROL
@@ -1,6 +1,7 @@
Source: libpq
Version: 12.0
Build-Depends: libpq[bonjour] (osx)
+Supports: !uwp
Homepage: https://www.postgresql.org/
Description: The official database access API of postgresql
Default-Features: zlib, openssl
@@ -79,4 +80,4 @@ Build-Depends: libxslt
Description: Build with libxslt (--with-libxslt)
Feature: client
-Description: Build all client tools and libraries. \ No newline at end of file
+Description: Build all client tools and libraries.
diff --git a/ports/libpqxx/CMakeLists.txt b/ports/libpqxx/CMakeLists.txt
index d8b9ce4f5..a3e6ae3f4 100644
--- a/ports/libpqxx/CMakeLists.txt
+++ b/ports/libpqxx/CMakeLists.txt
@@ -67,6 +67,7 @@ install(DIRECTORY include/ DESTINATION include
PATTERN "*.am" EXCLUDE
PATTERN "*.in" EXCLUDE
PATTERN "*.template" EXCLUDE
+ PATTERN "CMakeLists.txt" EXCLUDE
)
install(DIRECTORY ${CMAKE_BINARY_DIR}/pqxx/ DESTINATION include/pqxx
CONFIGURATIONS Release
diff --git a/ports/libpqxx/CONTROL b/ports/libpqxx/CONTROL
index 1742189b9..9acdf8146 100644
--- a/ports/libpqxx/CONTROL
+++ b/ports/libpqxx/CONTROL
@@ -1,5 +1,5 @@
Source: libpqxx
-Version: 6.4.5-1
+Version: 6.4.5-2
Homepage: https://github.com/jtv/libpqxx
Description: The official C++ client API for PostgreSQL
-Build-Depends: libpq
+Build-Depends: libpq[core]
diff --git a/ports/libpqxx/portfile.cmake b/ports/libpqxx/portfile.cmake
index e9fbdbc98..85e9cedb7 100644
--- a/ports/libpqxx/portfile.cmake
+++ b/ports/libpqxx/portfile.cmake
@@ -6,8 +6,8 @@ vcpkg_from_github(
REF a6b1d60e74c1427c8ac2324b85cd4a0dc2068332
SHA512 990083f738322283dc9c98b138a676e5ba04ab77794d5a51d672557e0562d2366b5085ad5571dd91af8ba4dea56baa94e8c1e4e6fe571341c95e92eb28d2b15a
HEAD_REF master
- PATCHES
- fix-deprecated-bug.patch
+ PATCHES
+ fix-deprecated-bug.patch
)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
diff --git a/ports/libressl/CONTROL b/ports/libressl/CONTROL
index 2cb09fb6c..a5dfd10c7 100644
--- a/ports/libressl/CONTROL
+++ b/ports/libressl/CONTROL
@@ -1,6 +1,7 @@
Source: libressl
Version: 2.9.1-2
Description: LibreSSL is a version of the TLS/crypto stack forked from OpenSSL in 2014, with goals of modernizing the codebase, improving security, and applying best practice development processes.
+Supports: !(uwp|arm)
Feature: tools
Description: Build openssl and ocspcheck executables
diff --git a/ports/libsoundio/CONTROL b/ports/libsoundio/CONTROL
index 52ab4845f..d8abcf070 100644
--- a/ports/libsoundio/CONTROL
+++ b/ports/libsoundio/CONTROL
@@ -1,4 +1,5 @@
Source: libsoundio
-Version: 2.0.0-1
+Version: 2.0.0-3
Description: libsoundio is C library providing cross-platform audio input and output.
Homepage: http://libsound.io/
+Supports: !uwp \ No newline at end of file
diff --git a/ports/libsoundio/fix_cmakelists.patch b/ports/libsoundio/fix_cmakelists.patch
index 225c4cff3..ffe00adff 100644
--- a/ports/libsoundio/fix_cmakelists.patch
+++ b/ports/libsoundio/fix_cmakelists.patch
@@ -1,184 +1,49 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 6541f1b..058bf3b 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -1,6 +1,4 @@
- cmake_minimum_required(VERSION 2.8.5)
--project(libsoundio C)
--set(CMAKE_MODULE_PATH ${libsoundio_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})
-
- if(CMAKE_VERSION VERSION_LESS 3.0.0)
- set(CMAKE_INSTALL_LIBDIR "lib" CACHE PATH "library install dir (lib)")
-@@ -11,6 +9,11 @@ else()
- cmake_policy(SET CMP0046 NEW)
- include(GNUInstallDirs)
- endif()
-+cmake_policy(SET CMP0022 NEW)
-+
-+project(libsoundio C)
-+set(CMAKE_MODULE_PATH ${libsoundio_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})
-+set(CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE ON)
-
- if(NOT CMAKE_BUILD_TYPE)
- set(CMAKE_BUILD_TYPE "Debug" CACHE STRING
-@@ -27,8 +30,7 @@ if(NOT SOUNDIO_STATIC_LIBNAME)
- set(SOUNDIO_STATIC_LIBNAME soundio)
- endif()
-
--option(BUILD_STATIC_LIBS "Build static libraries" ON)
--option(BUILD_DYNAMIC_LIBS "Build dynamic libraries" ON)
-+option(BUILD_SHARED_LIBS "Build dynamic libraries" ON)
- option(BUILD_EXAMPLE_PROGRAMS "Build example programs" ON)
- option(BUILD_TESTS "Build tests" ON)
- option(ENABLE_JACK "Enable JACK backend" ON)
-@@ -203,7 +205,7 @@ if(MSVC)
- set(EXAMPLE_CFLAGS "/W4")
- set(TEST_CFLAGS "${LIB_CFLAGS}")
- set(TEST_LDFLAGS " ")
-- set(LIBM " ")
-+ set(LIBM "")
- else()
- set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Werror -pedantic")
- set(LIB_CFLAGS "-std=c11 -fvisibility=hidden -Wall -Werror=strict-prototypes -Werror=old-style-definition -Werror=missing-prototypes -D_REENTRANT -D_POSIX_C_SOURCE=200809L -Wno-missing-braces")
-@@ -223,32 +225,33 @@ configure_file(
- ${DOXYGEN_CONF_FILE}
- )
-
--if(BUILD_DYNAMIC_LIBS)
-- add_library(libsoundio_shared SHARED ${LIBSOUNDIO_SOURCES})
-- set_target_properties(libsoundio_shared PROPERTIES
-+if(BUILD_SHARED_LIBS)
-+ add_library(libsoundio SHARED ${LIBSOUNDIO_SOURCES})
-+ set_target_properties(libsoundio PROPERTIES PUBLIC_HEADER "${LIBSOUNDIO_HEADERS}")
-+ set_target_properties(libsoundio PROPERTIES
- OUTPUT_NAME soundio
- SOVERSION ${LIBSOUNDIO_VERSION_MAJOR}
- VERSION ${LIBSOUNDIO_VERSION}
- COMPILE_FLAGS ${LIB_CFLAGS}
- LINKER_LANGUAGE C
- )
-- target_link_libraries(libsoundio_shared LINK_PUBLIC ${LIBSOUNDIO_LIBS})
-- install(TARGETS libsoundio_shared DESTINATION ${CMAKE_INSTALL_LIBDIR})
--endif()
--
--if(BUILD_STATIC_LIBS)
-- add_library(libsoundio_static STATIC ${LIBSOUNDIO_SOURCES})
-- set_target_properties(libsoundio_static PROPERTIES
-- OUTPUT_NAME ${SOUNDIO_STATIC_LIBNAME}
-+ target_link_libraries(libsoundio LINK_PUBLIC ${LIBSOUNDIO_LIBS})
-+ install(TARGETS libsoundio EXPORT libsoundio-export LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
-+else()
-+ add_library(libsoundio STATIC ${LIBSOUNDIO_SOURCES})
-+ set_target_properties(libsoundio PROPERTIES PUBLIC_HEADER "${LIBSOUNDIO_HEADERS}")
-+ set_target_properties(libsoundio PROPERTIES
-+ OUTPUT_NAME soundio
- COMPILE_FLAGS ${LIB_CFLAGS}
- LINKER_LANGUAGE C
- )
-- install(TARGETS libsoundio_static DESTINATION ${CMAKE_INSTALL_LIBDIR})
-+ target_link_libraries(libsoundio LINK_PUBLIC ${LIBSOUNDIO_LIBS})
-+ target_compile_definitions(libsoundio PUBLIC SOUNDIO_STATIC_LIBRARY)
-+ install(TARGETS libsoundio EXPORT libsoundio-export LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
- endif()
-
--install(FILES
-- ${LIBSOUNDIO_HEADERS}
-- DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/soundio")
-+add_library(libsoundio::libsoundio ALIAS libsoundio)
-+install(EXPORT libsoundio-export FILE libsoundio-config.cmake DESTINATION share/libsoundio/ NAMESPACE ${PROJECT_NAME}:: EXPORT_LINK_INTERFACE_LIBRARIES)
-
- # Example Programs
-
-@@ -257,44 +260,28 @@ if(BUILD_EXAMPLE_PROGRAMS)
- set_target_properties(sio_sine PROPERTIES
- LINKER_LANGUAGE C
- COMPILE_FLAGS ${EXAMPLE_CFLAGS})
-- if(BUILD_DYNAMIC_LIBS)
-- target_link_libraries(sio_sine libsoundio_shared ${LIBM})
-- else()
-- target_link_libraries(sio_sine libsoundio_static ${LIBSOUNDIO_LIBS} ${LIBM})
-- endif()
-+ target_link_libraries(sio_sine libsoundio::libsoundio ${LIBM})
- install(TARGETS sio_sine DESTINATION ${CMAKE_INSTALL_BINDIR})
-
- add_executable(sio_list_devices example/sio_list_devices.c)
- set_target_properties(sio_list_devices PROPERTIES
- LINKER_LANGUAGE C
- COMPILE_FLAGS ${EXAMPLE_CFLAGS})
-- if(BUILD_DYNAMIC_LIBS)
-- target_link_libraries(sio_list_devices libsoundio_shared)
-- else()
-- target_link_libraries(sio_list_devices libsoundio_static ${LIBSOUNDIO_LIBS})
-- endif()
-+ target_link_libraries(sio_list_devices libsoundio::libsoundio)
- install(TARGETS sio_list_devices DESTINATION ${CMAKE_INSTALL_BINDIR})
-
- add_executable(sio_microphone example/sio_microphone.c)
- set_target_properties(sio_microphone PROPERTIES
- LINKER_LANGUAGE C
- COMPILE_FLAGS ${EXAMPLE_CFLAGS})
-- if(BUILD_DYNAMIC_LIBS)
-- target_link_libraries(sio_microphone libsoundio_shared)
-- else()
-- target_link_libraries(sio_microphone libsoundio_static ${LIBSOUNDIO_LIBS})
-- endif()
-+ target_link_libraries(sio_microphone libsoundio::libsoundio)
- install(TARGETS sio_microphone DESTINATION ${CMAKE_INSTALL_BINDIR})
-
- add_executable(sio_record example/sio_record.c)
- set_target_properties(sio_record PROPERTIES
- LINKER_LANGUAGE C
- COMPILE_FLAGS ${EXAMPLE_CFLAGS})
-- if(BUILD_DYNAMIC_LIBS)
-- target_link_libraries(sio_record libsoundio_shared)
-- else()
-- target_link_libraries(sio_record libsoundio_static ${LIBSOUNDIO_LIBS})
-- endif()
-+ target_link_libraries(sio_record libsoundio::libsoundio)
- install(TARGETS sio_record DESTINATION ${CMAKE_INSTALL_BINDIR})
- endif()
-
-@@ -308,7 +295,7 @@ if(BUILD_TESTS)
- )
-
- add_executable(latency "${libsoundio_SOURCE_DIR}/test/latency.c" ${LIBSOUNDIO_SOURCES})
-- target_link_libraries(latency LINK_PUBLIC ${LIBSOUNDIO_LIBS} ${LIBM})
-+ target_link_libraries(latency LINK_PUBLIC libsoundio::libsoundio ${LIBM})
- set_target_properties(latency PROPERTIES
- LINKER_LANGUAGE C
- COMPILE_FLAGS ${LIB_CFLAGS}
-@@ -318,31 +305,19 @@ if(BUILD_TESTS)
- set_target_properties(underflow PROPERTIES
- LINKER_LANGUAGE C
- COMPILE_FLAGS ${EXAMPLE_CFLAGS})
-- if(BUILD_DYNAMIC_LIBS)
-- target_link_libraries(underflow libsoundio_shared ${LIBM})
-- else()
-- target_link_libraries(underflow libsoundio_static ${LIBSOUNDIO_LIBS} ${LIBM})
-- endif()
-+ target_link_libraries(underflow libsoundio::libsoundio ${LIBM})
-
- add_executable(backend_disconnect_recover test/backend_disconnect_recover.c)
- set_target_properties(backend_disconnect_recover PROPERTIES
- LINKER_LANGUAGE C
- COMPILE_FLAGS ${EXAMPLE_CFLAGS})
-- if(BUILD_DYNAMIC_LIBS)
-- target_link_libraries(backend_disconnect_recover libsoundio_shared)
-- else()
-- target_link_libraries(backend_disconnect_recover libsoundio_static ${LIBSOUNDIO_LIBS})
-- endif()
-+ target_link_libraries(backend_disconnect_recover libsoundio::libsoundio)
-
- add_executable(overflow test/overflow.c)
- set_target_properties(overflow PROPERTIES
- LINKER_LANGUAGE C
- COMPILE_FLAGS ${EXAMPLE_CFLAGS})
-- if(BUILD_DYNAMIC_LIBS)
-- target_link_libraries(overflow libsoundio_shared)
-- else()
-- target_link_libraries(overflow libsoundio_static ${LIBSOUNDIO_LIBS})
-- endif()
-+ target_link_libraries(overflow libsoundio::libsoundio)
-
-
-
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 6541f1b..e81bdce 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,4 +1,5 @@
+-cmake_minimum_required(VERSION 2.8.5)
++cmake_minimum_required(VERSION 3.14)
++cmake_policy(SET CMP0022 NEW)
+ project(libsoundio C)
+ set(CMAKE_MODULE_PATH ${libsoundio_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})
+
+@@ -233,7 +234,8 @@ if(BUILD_DYNAMIC_LIBS)
+ LINKER_LANGUAGE C
+ )
+ target_link_libraries(libsoundio_shared LINK_PUBLIC ${LIBSOUNDIO_LIBS})
+- install(TARGETS libsoundio_shared DESTINATION ${CMAKE_INSTALL_LIBDIR})
++ target_include_directories(libsoundio_shared PUBLIC $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
++ install(TARGETS libsoundio_shared EXPORT libsoundio-export)
+ endif()
+
+ if(BUILD_STATIC_LIBS)
+@@ -243,9 +245,26 @@ if(BUILD_STATIC_LIBS)
+ COMPILE_FLAGS ${LIB_CFLAGS}
+ LINKER_LANGUAGE C
+ )
+- install(TARGETS libsoundio_static DESTINATION ${CMAKE_INSTALL_LIBDIR})
++ target_link_libraries(libsoundio_static PUBLIC ${LIBSOUNDIO_LIBS})
++ target_include_directories(libsoundio_static PUBLIC $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
++ install(TARGETS libsoundio_static EXPORT libsoundio-export)
+ endif()
+
++add_library(libsoundio INTERFACE)
++if(BUILD_DYNAMIC_LIBS)
++ target_link_libraries(libsoundio INTERFACE libsoundio_shared)
++else()
++ target_link_libraries(libsoundio INTERFACE libsoundio_static)
++endif()
++install(TARGETS libsoundio EXPORT libsoundio-export)
++install(
++ EXPORT libsoundio-export
++ FILE libsoundio-config.cmake
++ DESTINATION share/libsoundio/
++ NAMESPACE ${PROJECT_NAME}::
++ EXPORT_LINK_INTERFACE_LIBRARIES
++)
++
+ install(FILES
+ ${LIBSOUNDIO_HEADERS}
+ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/soundio")
diff --git a/ports/libsoundio/portfile.cmake b/ports/libsoundio/portfile.cmake
index 0e1b7f561..e28aa40c6 100644
--- a/ports/libsoundio/portfile.cmake
+++ b/ports/libsoundio/portfile.cmake
@@ -1,8 +1,5 @@
-include(vcpkg_common_functions)
-if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
- message(FATAL_ERROR "WindowsStore not supported")
-endif()
+vcpkg_fail_port_install(ON_TARGET "UWP")
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
@@ -14,15 +11,22 @@ vcpkg_from_github(
fix_cmakelists.patch
)
-string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED_LIBS)
+string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_DYNAMIC_LIBS)
+string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC_LIBS)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS
- -DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS}
+ -DBUILD_DYNAMIC_LIBS=${BUILD_DYNAMIC_LIBS}
+ -DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS}
-DBUILD_EXAMPLE_PROGRAMS=OFF
-DBUILD_TESTS=OFF
+ -DENABLE_JACK=OFF
+ -DENABLE_PULSEAUDIO=OFF
+ -DENABLE_ALSA=OFF
+ -DENABLE_COREAUDIO=${VCPKG_TARGET_IS_OSX}
+ -DENABLE_WASAPI=${VCPKG_TARGET_IS_WINDOWS}
)
vcpkg_install_cmake()
diff --git a/ports/libssh/CONTROL b/ports/libssh/CONTROL
index c12fb8f8f..443940653 100644
--- a/ports/libssh/CONTROL
+++ b/ports/libssh/CONTROL
@@ -3,6 +3,7 @@ Version: 0.9.0
Homepage: https://www.libssh.org/
Description: libssh is a multiplatform C library implementing the SSHv2 and SSHv1 protocol on client and server side
Build-Depends: openssl
+Supports: !uwp
Feature: zlib
Description: libssh with zlib
diff --git a/ports/libusb-win32/CONTROL b/ports/libusb-win32/CONTROL
index 6904f7066..bea5b9092 100644
--- a/ports/libusb-win32/CONTROL
+++ b/ports/libusb-win32/CONTROL
@@ -2,3 +2,4 @@ Source: libusb-win32
Version: 1.2.6.0-3
Homepage: https://sourceforge.net/projects/libusb-win32
Description: Allows user space applications to access many USB device on Windows.
+Supports: windows \ No newline at end of file
diff --git a/ports/libuuid/CONTROL b/ports/libuuid/CONTROL
index e5dc0c0b4..2d46a8307 100644
--- a/ports/libuuid/CONTROL
+++ b/ports/libuuid/CONTROL
@@ -1,3 +1,4 @@
Source: libuuid
Version: 1.0.3-3
Description: Universally unique id library
+Supports: linux|osx \ No newline at end of file
diff --git a/ports/llgl/CONTROL b/ports/llgl/CONTROL
index 476ccd8c2..fcba2d2d4 100644
--- a/ports/llgl/CONTROL
+++ b/ports/llgl/CONTROL
@@ -2,6 +2,7 @@ Source: llgl
Version: 2019-08-15
Homepage: https://github.com/LukasBanana/LLGL
Description: Low Level Graphics Library (LLGL) is a thin abstraction layer for the modern graphics APIs OpenGL, Direct3D, Vulkan, and Metal.
+Supports: !uwp
Feature: opengl
Description: Support for opengl
diff --git a/ports/llvm/CONTROL b/ports/llvm/CONTROL
index e1569bdee..2eb184a84 100644
--- a/ports/llvm/CONTROL
+++ b/ports/llvm/CONTROL
@@ -3,6 +3,7 @@ Version: 8.0.0-3
Homepage: https://llvm.org/
Description: The LLVM Compiler Infrastructure
Build-Depends: atlmfc (windows)
+Supports: !uwp
Default-Features: tools, utils
Feature: tools
@@ -15,4 +16,4 @@ Feature: example
Description: Generate build targets for the LLVM examples
Feature: test
-Description: Generate build targets for the LLVM unit tests. \ No newline at end of file
+Description: Generate build targets for the LLVM unit tests.
diff --git a/ports/log4cpp/CONTROL b/ports/log4cpp/CONTROL
index 11c37843b..ec84f4065 100644
--- a/ports/log4cpp/CONTROL
+++ b/ports/log4cpp/CONTROL
@@ -2,4 +2,4 @@ Source: log4cpp
Version: 2.9.1-2
Homepage: https://github.com/orocos-toolchain/log4cpp
Description: Log4cpp is library of C++ classes for flexible logging to files, syslog, IDSA and other destinations. It is modeled after the Log4j Java library, staying as close to their API as is reasonable.
-
+Supports: !uwp
diff --git a/ports/luajit/CONTROL b/ports/luajit/CONTROL
index 03b778e9a..f37d4dcbe 100644
--- a/ports/luajit/CONTROL
+++ b/ports/luajit/CONTROL
@@ -2,3 +2,4 @@ Source: luajit
Version: 2.0.5-3
Homepage: https://github.com/LuaJIT/LuaJIT
Description: LuaJIT is a Just-In-Time (JIT) compiler for the Lua programming language.
+Supports: !uwp \ No newline at end of file
diff --git a/ports/lzfse/CONTROL b/ports/lzfse/CONTROL
index f79063ad9..cc4669974 100644
--- a/ports/lzfse/CONTROL
+++ b/ports/lzfse/CONTROL
@@ -2,3 +2,4 @@ Source: lzfse
Version: 1.0-2
Homepage: https://github.com/lzfse/lzfse
Description: Lempel-Ziv style data compressor using Finite State Entropy coding.
+Supports: !arm \ No newline at end of file
diff --git a/ports/marl/CONTROL b/ports/marl/CONTROL
index f3a24fdcd..16f464135 100644
--- a/ports/marl/CONTROL
+++ b/ports/marl/CONTROL
@@ -2,3 +2,4 @@ Source: marl
Version: 2019-09-13
Description: A hybrid thread/fiber task scheduler written in C++ 11
Homepage: https://github.com/google/marl
+Supports: !uwp \ No newline at end of file
diff --git a/ports/matroska/CONTROL b/ports/matroska/CONTROL
index 29cef7e80..1a5235db7 100644
--- a/ports/matroska/CONTROL
+++ b/ports/matroska/CONTROL
@@ -3,3 +3,4 @@ Version: 1.5.2
Homepage: https://github.com/Matroska-Org/libmatroska
Description: a C++ libary to parse Matroska files (.mkv and .mka)
Build-Depends: ebml
+Supports: !uwp \ No newline at end of file
diff --git a/ports/mcpp/CONTROL b/ports/mcpp/CONTROL
index e76634440..cc756ae9a 100644
--- a/ports/mcpp/CONTROL
+++ b/ports/mcpp/CONTROL
@@ -1,4 +1,4 @@
Source: mcpp
-Version: 2.7.2.14
+Version: 2.7.2.14-1
Homepage: https://github.com/zeroc-ice/mcpp
Description: Fork of mcpp, a C/C++ preprocessor
diff --git a/ports/mcpp/portfile.cmake b/ports/mcpp/portfile.cmake
index 9394d00c3..11e268f99 100644
--- a/ports/mcpp/portfile.cmake
+++ b/ports/mcpp/portfile.cmake
@@ -15,7 +15,6 @@ vcpkg_install_cmake()
file(
INSTALL
- ${SOURCE_PATH}/config.h
${SOURCE_PATH}/mcpp_lib.h
${SOURCE_PATH}/mcpp_out.h
DESTINATION
diff --git a/ports/mdnsresponder/CONTROL b/ports/mdnsresponder/CONTROL
index 66c039dbc..9f97716e8 100644
--- a/ports/mdnsresponder/CONTROL
+++ b/ports/mdnsresponder/CONTROL
@@ -2,3 +2,4 @@ Source: mdnsresponder
Version: 765.30.11-2
Description: The mDNSResponder project is a component of Bonjour, Apple's ease-of-use IP networking initiative.
Homepage: https://developer.apple.com/bonjour/
+Supports: !arm \ No newline at end of file
diff --git a/ports/mecab/CONTROL b/ports/mecab/CONTROL
index b5b9c8f10..9bf6cec34 100644
--- a/ports/mecab/CONTROL
+++ b/ports/mecab/CONTROL
@@ -1,3 +1,4 @@
Source: mecab
Version: 1.0
Description: A morphological analysis engine based on CRF
+Supports: !(uwp|arm|arm64) \ No newline at end of file
diff --git a/ports/minhook/CONTROL b/ports/minhook/CONTROL
index 95209891b..0daab0e4c 100644
--- a/ports/minhook/CONTROL
+++ b/ports/minhook/CONTROL
@@ -1,3 +1,4 @@
Source: minhook
Version: 1.3.3
-Description: The Minimalistic x86/x64 API Hooking Library for Windows. \ No newline at end of file
+Description: The Minimalistic x86/x64 API Hooking Library for Windows.
+Supports: !uwp \ No newline at end of file
diff --git a/ports/minifb/CONTROL b/ports/minifb/CONTROL
index cff3a97c0..5a86f9bbe 100644
--- a/ports/minifb/CONTROL
+++ b/ports/minifb/CONTROL
@@ -2,3 +2,4 @@ Source: minifb
Version: 2019-08-20-1
Homepage: https://github.com/emoon/minifb
Description: MiniFB (Mini FrameBuffer) is a small cross platform library that makes it easy to render (32-bit) pixels in a window.
+Supports: !uwp \ No newline at end of file
diff --git a/ports/minizip/CONTROL b/ports/minizip/CONTROL
index 22ea0c9f3..415a3a82c 100644
--- a/ports/minizip/CONTROL
+++ b/ports/minizip/CONTROL
@@ -3,6 +3,7 @@ Version: 1.2.11-6
Build-Depends: zlib
Homepage: https://github.com/madler/zlib
Description: Zip compression library
+Supports: !uwp
Feature: bzip2
Build-Depends: bzip2
diff --git a/ports/mongoose/CONTROL b/ports/mongoose/CONTROL
index c307982cf..a6c7f8663 100644
--- a/ports/mongoose/CONTROL
+++ b/ports/mongoose/CONTROL
@@ -2,7 +2,8 @@ Source: mongoose
Version: 6.15-2
Description: Embedded web server / embedded networking library
Homepage: https://cesanta.com/
+Supports: !uwp
Feature: ssl
Build-Depends: openssl
-Description: Build with openssl \ No newline at end of file
+Description: Build with openssl
diff --git a/ports/monkeys-audio/CONTROL b/ports/monkeys-audio/CONTROL
index d265f22d9..abe072f25 100644
--- a/ports/monkeys-audio/CONTROL
+++ b/ports/monkeys-audio/CONTROL
@@ -1,8 +1,9 @@
Source: monkeys-audio
-Version: 5.14
+Version: 5.14-1
Homepage: https://monkeysaudio.com
Description: Monkey's Audio is an excellent audio compression tool which has multiple advantages over traditional methods.
Audio files compressed with it ends with .ape extension.
+Supports: !uwp
Feature: tools
-Description: Build monkeys-audio tools \ No newline at end of file
+Description: Build monkeys-audio tools
diff --git a/ports/mpir/CONTROL b/ports/mpir/CONTROL
index 12f9d38ea..79238cbb5 100644
--- a/ports/mpir/CONTROL
+++ b/ports/mpir/CONTROL
@@ -2,3 +2,4 @@ Source: mpir
Version: 3.0.0-7
Homepage: https://github.com/wbhart/mpir
Description: Multiple Precision Integers and Rationals.
+Supports: !uwp \ No newline at end of file
diff --git a/ports/mqtt-cpp/CONTROL b/ports/mqtt-cpp/CONTROL
index 73303edd2..eae0c7dd4 100644
--- a/ports/mqtt-cpp/CONTROL
+++ b/ports/mqtt-cpp/CONTROL
@@ -1,5 +1,5 @@
Source: mqtt-cpp
-Version: 7.0.1
+Version: 7.0.1-1
Description: Header-only MQTT client/server for C++14 based on Boost.Asio.
Homepage: https://github.com/redboltz/mqtt_cpp
-Build-Depends: boost-asio, boost-timer
+Build-Depends: boost-asio, boost-timer, boost-system, boost-date-time
diff --git a/ports/mqtt-cpp/portfile.cmake b/ports/mqtt-cpp/portfile.cmake
index 13e5e2077..d1b930826 100644
--- a/ports/mqtt-cpp/portfile.cmake
+++ b/ports/mqtt-cpp/portfile.cmake
@@ -1,5 +1,3 @@
-# header-only library
-
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO redboltz/mqtt_cpp
@@ -14,7 +12,10 @@ vcpkg_configure_cmake(
OPTIONS
-DMQTT_BUILD_EXAMPLES=OFF
-DMQTT_BUILD_TESTS=OFF
+ -DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=ON
)
-file(INSTALL ${SOURCE_PATH}/include/ DESTINATION ${CURRENT_PACKAGES_DIR}/include)
+vcpkg_install_cmake()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug)
file(INSTALL ${SOURCE_PATH}/LICENSE_1_0.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/ms-angle/CONTROL b/ports/ms-angle/CONTROL
index 4fadc5994..4ba095050 100644
--- a/ports/ms-angle/CONTROL
+++ b/ports/ms-angle/CONTROL
@@ -2,3 +2,4 @@ Source: ms-angle
Version: 2018-04-18-2
Description: The UWP version of a conformant OpenGL ES implementation for Windows, Mac and Linux.
The goal of ANGLE is to allow users of multiple operating systems to seamlessly run WebGL and other OpenGL ES content by translating OpenGL ES API calls to one of the hardware-supported APIs available for that platform. ANGLE currently provides translation from OpenGL ES 2.0 and 3.0 to desktop OpenGL, OpenGL ES, Direct3D 9, and Direct3D 11. Support for translation from OpenGL ES to Vulkan is underway, and future plans include compute shader support (ES 3.1) and MacOS support.
+Supports: windows|uwp \ No newline at end of file
diff --git a/ports/msmpi/CONTROL b/ports/msmpi/CONTROL
index d21b80c37..baa44b8fe 100644
--- a/ports/msmpi/CONTROL
+++ b/ports/msmpi/CONTROL
@@ -1,3 +1,4 @@
Source: msmpi
Version: 10.0-2
Description: Microsoft MPI
+Supports: windows \ No newline at end of file
diff --git a/ports/nano-signal-slot/CONTROL b/ports/nano-signal-slot/CONTROL
index 9594e575b..99cee9fec 100644
--- a/ports/nano-signal-slot/CONTROL
+++ b/ports/nano-signal-slot/CONTROL
@@ -2,3 +2,4 @@ Source: nano-signal-slot
Version: 2.0.1
Homepage: https://github.com/NoAvailableAlias/nano-signal-slot
Description: Pure C++17 Signals and Slots
+Supports: !uwp \ No newline at end of file
diff --git a/ports/nativefiledialog/CONTROL b/ports/nativefiledialog/CONTROL
index 60aca3c45..afe283577 100644
--- a/ports/nativefiledialog/CONTROL
+++ b/ports/nativefiledialog/CONTROL
@@ -2,6 +2,7 @@ Source: nativefiledialog
Version: 2019-08-28
Description: A tiny, neat C library that portably invokes native file open and save dialogs
Homepage: https://github.com/mlabbe/nativefiledialog
+Supports: !uwp
Feature: zenity
Description: Using Zenity backend on Linux
diff --git a/ports/networkdirect-sdk/CONTROL b/ports/networkdirect-sdk/CONTROL
index 3cc939c8e..158183800 100644
--- a/ports/networkdirect-sdk/CONTROL
+++ b/ports/networkdirect-sdk/CONTROL
@@ -1,4 +1,5 @@
Source: networkdirect-sdk
Version: 2.0.1
Description: The Network Direct architecture allows hardware vendors to expose the advanced capabilities of their networking devices.
-Homepage: https://www.nuget.org/packages/NetworkDirect \ No newline at end of file
+Homepage: https://www.nuget.org/packages/NetworkDirect
+Supports: windows&(x64|x86) \ No newline at end of file
diff --git a/ports/openal-soft/CONTROL b/ports/openal-soft/CONTROL
index b52d568cd..0833c52c0 100644
--- a/ports/openal-soft/CONTROL
+++ b/ports/openal-soft/CONTROL
@@ -2,3 +2,4 @@ Source: openal-soft
Version: 1.20.0
Homepage: https://github.com/kcat/openal-soft
Description: OpenAL Soft is an LGPL-licensed, cross-platform, software implementation of the OpenAL 3D audio API.
+Supports: !uwp \ No newline at end of file
diff --git a/ports/openexr/CONTROL b/ports/openexr/CONTROL
index 7d8759237..ddf7b0fbd 100644
--- a/ports/openexr/CONTROL
+++ b/ports/openexr/CONTROL
@@ -3,3 +3,4 @@ Version: 2.3.0-5
Homepage: https://www.openexr.com/
Description: OpenEXR is a high dynamic-range (HDR) image file format developed by Industrial Light & Magic for use in computer imaging applications
Build-Depends: zlib
+Supports: !uwp \ No newline at end of file
diff --git a/ports/openmpi/CONTROL b/ports/openmpi/CONTROL
index 6ea5a17c1..86af5ffd5 100644
--- a/ports/openmpi/CONTROL
+++ b/ports/openmpi/CONTROL
@@ -2,3 +2,4 @@ Source: openmpi
Version: 4.0.1
Homepage: https://www.open-mpi.org/
Description: The Open MPI Project is an open source Message Passing Interface implementation that is developed and maintained by a consortium of academic, research, and industry partners. Open MPI is therefore able to combine the expertise, technologies, and resources from all across the High Performance Computing community in order to build the best MPI library available. Open MPI offers advantages for system and software vendors, application developers and computer science researchers.
+Supports: !(windows|uwp) \ No newline at end of file
diff --git a/ports/openni2/CONTROL b/ports/openni2/CONTROL
index a8fa4a2ac..c1b869a57 100644
--- a/ports/openni2/CONTROL
+++ b/ports/openni2/CONTROL
@@ -3,3 +3,4 @@ Version: 2.2.0.33-11
Build-Depends: kinectsdk1
Homepage: https://github.com/OpenNI/OpenNI2
Description: OpenNI is open source library for access to Natural Interaction (NI) devices such as RGB-D camera.
+Supports: !uwp \ No newline at end of file
diff --git a/ports/openssl-unix/CONTROL b/ports/openssl-unix/CONTROL
index b2a55c187..c56c95dad 100644
--- a/ports/openssl-unix/CONTROL
+++ b/ports/openssl-unix/CONTROL
@@ -1,3 +1,4 @@
Source: openssl-unix
Version: 1.1.1d-1
Description: OpenSSL is an open source project that provides a robust, commercial-grade, and full-featured toolkit for the Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols. It is also a general-purpose cryptography library.
+Supports: !(windows|uwp) \ No newline at end of file
diff --git a/ports/openssl-uwp/CONTROL b/ports/openssl-uwp/CONTROL
index a4a8e681a..7e7650fc2 100644
--- a/ports/openssl-uwp/CONTROL
+++ b/ports/openssl-uwp/CONTROL
@@ -1,3 +1,4 @@
Source: openssl-uwp
Version: 1.1.1d-1
Description: OpenSSL is an open source project that provides a robust, commercial-grade, and full-featured toolkit for the Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols. It is also a general-purpose cryptography library.
+Supports: uwp \ No newline at end of file
diff --git a/ports/openssl-windows/CONTROL b/ports/openssl-windows/CONTROL
index 9d80476f8..561977fe0 100644
--- a/ports/openssl-windows/CONTROL
+++ b/ports/openssl-windows/CONTROL
@@ -1,3 +1,4 @@
Source: openssl-windows
Version: 1.1.1d-1
Description: OpenSSL is an open source project that provides a robust, commercial-grade, and full-featured toolkit for the Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols. It is also a general-purpose cryptography library.
+Supports: windows \ No newline at end of file
diff --git a/ports/opentracing/CONTROL b/ports/opentracing/CONTROL
index 62f6dd303..8a5e0625f 100644
--- a/ports/opentracing/CONTROL
+++ b/ports/opentracing/CONTROL
@@ -2,3 +2,4 @@ Source: opentracing
Version: 1.5.1-1
Description: C++ implementation of the OpenTracing API
Homepage: https://opentracing.io
+Supports: !uwp \ No newline at end of file
diff --git a/ports/openxr-loader/CONTROL b/ports/openxr-loader/CONTROL
index 0088df713..632fadab7 100644
--- a/ports/openxr-loader/CONTROL
+++ b/ports/openxr-loader/CONTROL
@@ -1,6 +1,7 @@
Source: openxr-loader
Version: 1.0.3.0
Description: Khronos API for abstracting VR/MR/AR hardware
+Supports: !(arm|uwp)
Feature: vulkan
Description: Vulkan functionality for OpenXR
diff --git a/ports/opusfile/CONTROL b/ports/opusfile/CONTROL
index 0ba3167a6..80ca95f96 100644
--- a/ports/opusfile/CONTROL
+++ b/ports/opusfile/CONTROL
@@ -3,6 +3,7 @@ Version: 0.11-3
Homepage: https://github.com/xiph/opusfile
Description: Stand-alone decoder library for .opus streams
Build-Depends: libogg, opus
+Supports: !uwp
Feature: opusurl
Description: Support decoding of http(s) streams
diff --git a/ports/osg/CONTROL b/ports/osg/CONTROL
index f677e0284..8df250d7c 100644
--- a/ports/osg/CONTROL
+++ b/ports/osg/CONTROL
@@ -1,8 +1,8 @@
Source: osg
-Version: 3.6.4
+Version: 3.6.4-1
Homepage: https://github.com/openscenegraph/OpenSceneGraph
Description: The OpenSceneGraph is an open source high performance 3D graphics toolkit.
-Build-Depends: freetype, jasper, openexr, zlib, gdal, giflib, libjpeg-turbo, libpng, tiff, fontconfig
+Build-Depends: freetype, jasper, openexr, zlib, gdal, giflib, libjpeg-turbo, libpng, tiff, fontconfig, sdl2, boost-asio (!windows), libxml2 (windows), giflib (windows), freeglut (windows)
Feature: collada
Description: Support for Collada (.dae) files
diff --git a/ports/osg/portfile.cmake b/ports/osg/portfile.cmake
index 8c6b5f299..03520aa9b 100644
--- a/ports/osg/portfile.cmake
+++ b/ports/osg/portfile.cmake
@@ -18,6 +18,18 @@ else()
set(OSG_DYNAMIC ON)
endif()
file(REMOVE ${SOURCE_PATH}/CMakeModules/FindSDL2.cmake)
+
+set(OPTIONS)
+if(NOT "collada" IN_LIST FEATURES)
+ list(APPEND OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_COLLADA=ON)
+endif()
+list(APPEND OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_FFmpeg=ON)
+list(APPEND OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_DCMTK=ON)
+list(APPEND OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_GStreamer=ON)
+list(APPEND OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_GLIB=ON)
+list(APPEND OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_SDL=ON)
+list(APPEND OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_LIBLAS=ON)
+
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
OPTIONS
diff --git a/ports/pbc/CONTROL b/ports/pbc/CONTROL
index b717ac1e5..1577832fd 100644
--- a/ports/pbc/CONTROL
+++ b/ports/pbc/CONTROL
@@ -3,3 +3,4 @@ Version: 0.5.14-2
Build-Depends: mpir (windows)
Homepage: https://crypto.stanford.edu/pbc
Description: Pairing-Based Crypto library provides low-level routines for pairing-based cryptosystems.
+Supports: !uwp \ No newline at end of file
diff --git a/ports/physx/CONTROL b/ports/physx/CONTROL
index 49150dc29..c744a2ae3 100644
--- a/ports/physx/CONTROL
+++ b/ports/physx/CONTROL
@@ -1,3 +1,4 @@
-Source: physx
-Version: 4.1.1-3
-Description: The NVIDIA PhysX SDK is a scalable multi-platform physics solution supporting a wide range of devices, from smartphones to high-end multicore CPUs and GPUs
+Source: physx
+Version: 4.1.1-3
+Description: The NVIDIA PhysX SDK is a scalable multi-platform physics solution supporting a wide range of devices, from smartphones to high-end multicore CPUs and GPUs
+Supports: !uwp
diff --git a/ports/pistache/CONTROL b/ports/pistache/CONTROL
index c1b4408cf..307fe0191 100644
--- a/ports/pistache/CONTROL
+++ b/ports/pistache/CONTROL
@@ -1,4 +1,5 @@
Source: pistache
Version: 2019-08-05
Homepage: https://github.com/oktal/pistache
-Description: Pistache is a modern and elegant HTTP and REST framework for C++. It is entirely written in pure-C++11 and provides a clear and pleasant API. \ No newline at end of file
+Description: Pistache is a modern and elegant HTTP and REST framework for C++. It is entirely written in pure-C++11 and provides a clear and pleasant API.
+Supports: linux \ No newline at end of file
diff --git a/ports/pmdk/CONTROL b/ports/pmdk/CONTROL
index c2e5bed30..4b4cac6b2 100644
--- a/ports/pmdk/CONTROL
+++ b/ports/pmdk/CONTROL
@@ -2,3 +2,4 @@ Source: pmdk
Version: 1.7-1
Homepage: https://github.com/pmem/pmdk
Description: Persistent Memory Development Kit
+Supports: !(arm|x86) \ No newline at end of file
diff --git a/ports/portmidi/CONTROL b/ports/portmidi/CONTROL
index 07ba19c0c..1a9917935 100644
--- a/ports/portmidi/CONTROL
+++ b/ports/portmidi/CONTROL
@@ -2,3 +2,4 @@ Source: portmidi
Version: 0.217.1-1
Homepage: https://sourceforge.net/projects/portmedia/
Description: Free, cross-platform, open-source I/O library for MIDI
+Supports: !uwp \ No newline at end of file
diff --git a/ports/ptex/CONTROL b/ports/ptex/CONTROL
index 823988f85..501913cf5 100644
--- a/ports/ptex/CONTROL
+++ b/ports/ptex/CONTROL
@@ -3,3 +3,4 @@ Version: 2.3.2-1
Homepage: https://github.com/wdas/ptex
Description: Per-Face Texture Mapping for Production Rendering.
Build-Depends: zlib
+Supports: !uwp \ No newline at end of file
diff --git a/ports/pthreads/CONTROL b/ports/pthreads/CONTROL
index 43c38ffdb..19e2bd0ac 100644
--- a/ports/pthreads/CONTROL
+++ b/ports/pthreads/CONTROL
@@ -2,3 +2,4 @@ Source: pthreads
Version: 3.0.0-4
Homepage: https://sourceware.org/pub/pthreads-win32/
Description: pthreads for windows
+Supports: !(uwp|arm|arm64) \ No newline at end of file
diff --git a/ports/pthreads/portfile.cmake b/ports/pthreads/portfile.cmake
index 393fefddc..3abb2d591 100644
--- a/ports/pthreads/portfile.cmake
+++ b/ports/pthreads/portfile.cmake
@@ -1,14 +1,12 @@
-include(vcpkg_common_functions)
-
-if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
- message(FATAL_ERROR "${PORT} does not currently support UWP platform nor ARM architectures")
-endif()
-
if(VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
set(VCPKG_POLICY_EMPTY_PACKAGE enabled)
return()
endif()
+if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
+ message(FATAL_ERROR "${PORT} does not currently support UWP platform nor ARM architectures")
+endif()
+
set(PTHREADS4W_VERSION "3.0.0")
vcpkg_download_distfile(ARCHIVE
@@ -98,3 +96,5 @@ file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/pt
file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/pthread)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/pthreads)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/pthreads_windows)
+
+set(VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS enabled)
diff --git a/ports/qt5-activeqt/CONTROL b/ports/qt5-activeqt/CONTROL
index 4ec2594b3..e4aa3b5c1 100644
--- a/ports/qt5-activeqt/CONTROL
+++ b/ports/qt5-activeqt/CONTROL
@@ -2,3 +2,4 @@ Source: qt5-activeqt
Version: 5.12.5
Description: Qt5 ActiveQt Module - ActiveX components
Build-Depends: qt5-base
+Supports: windows \ No newline at end of file
diff --git a/ports/qt5-connectivity/CONTROL b/ports/qt5-connectivity/CONTROL
index 0bec2a8b4..245cfa1b1 100644
--- a/ports/qt5-connectivity/CONTROL
+++ b/ports/qt5-connectivity/CONTROL
@@ -1,4 +1,4 @@
Source: qt5-connectivity
Version: 5.12.5-1
Description: Qt5 Connectivity module - Provides access to Bluetooth and NFC hardware
-Build-Depends: qt5-base, qt5-androidextras (android)
+Build-Depends: qt5-base
diff --git a/ports/qt5-macextras/CONTROL b/ports/qt5-macextras/CONTROL
index 21b0ad5fa..6bd46f216 100644
--- a/ports/qt5-macextras/CONTROL
+++ b/ports/qt5-macextras/CONTROL
@@ -2,3 +2,4 @@ Source: qt5-macextras
Version: 5.12.5
Description: Qt5 Mac Extras Module. Provides platform-specific APIs for mac.
Build-Depends: qt5-base
+Supports: osx \ No newline at end of file
diff --git a/ports/qt5-purchasing/CONTROL b/ports/qt5-purchasing/CONTROL
index f970ba418..f83c48053 100644
--- a/ports/qt5-purchasing/CONTROL
+++ b/ports/qt5-purchasing/CONTROL
@@ -1,4 +1,4 @@
Source: qt5-purchasing
Version: 5.12.5-1
Description: Qt5 Purchasing Module - Enables in-app purchase of products in Qt applications.
-Build-Depends: qt5-base, qt5-declarative, qt5-androidextras (android)
+Build-Depends: qt5-base, qt5-declarative
diff --git a/ports/qt5-winextras/CONTROL b/ports/qt5-winextras/CONTROL
index 5d948ee5c..3f65220bf 100644
--- a/ports/qt5-winextras/CONTROL
+++ b/ports/qt5-winextras/CONTROL
@@ -2,3 +2,4 @@ Source: qt5-winextras
Version: 5.12.5-1
Description: Qt5 Windows Extras Module. Provides platform-specific APIs for Windows.
Build-Depends: qt5-base, atlmfc (windows), qt5-declarative, qt5-multimedia
+Supports: windows \ No newline at end of file
diff --git a/ports/rabit/CONTROL b/ports/rabit/CONTROL
index 7b07cba7b..64dd8ea8d 100644
--- a/ports/rabit/CONTROL
+++ b/ports/rabit/CONTROL
@@ -3,4 +3,4 @@ Version: 0.1-2
Homepage: https://github.com/dmlc/rabit
Description: rabit is a light weight library that provides a fault tolerant interface of Allreduce and Broadcast. It is designed to support easy implementations of distributed machine learning programs, many of which fall naturally under the Allreduce abstraction.
Build-Depends: dmlc
-
+Supports: !uwp
diff --git a/ports/raylib/CONTROL b/ports/raylib/CONTROL
index 8d50803e6..2113f5760 100644
--- a/ports/raylib/CONTROL
+++ b/ports/raylib/CONTROL
@@ -1,6 +1,7 @@
Source: raylib
Version: 2.5.0
Description: A simple and easy-to-use library to enjoy videogames programming
+Supports: !(arm|uwp)
#Build-Depends: glfw3
Feature: non-audio
diff --git a/ports/readline/CONTROL b/ports/readline/CONTROL
index 4fdb10939..c487f389b 100644
--- a/ports/readline/CONTROL
+++ b/ports/readline/CONTROL
@@ -2,3 +2,4 @@ Source: readline
Version: 0
Description: GNU readline and history libraries
Build-Depends: readline-win32 (windows)
+Supports: !uwp \ No newline at end of file
diff --git a/ports/rhash/CONTROL b/ports/rhash/CONTROL
index a2bb52c2f..8b838cc39 100644
--- a/ports/rhash/CONTROL
+++ b/ports/rhash/CONTROL
@@ -2,3 +2,4 @@ Source: rhash
Version: 1.3.8
Homepage: https://github.com/rhash/RHash
Description: C library for computing a wide variety of hash sums
+Supports: !uwp
diff --git a/ports/sciter/CONTROL b/ports/sciter/CONTROL
index 10beb200a..b835b87e1 100644
--- a/ports/sciter/CONTROL
+++ b/ports/sciter/CONTROL
@@ -2,3 +2,4 @@ Source: sciter
Version: 4.2.6.9-2
Homepage: https://github.com/c-smile/sciter-sdk
Description: Sciter is an embeddable HTML/CSS/scripting engine.
+Supports: !uwp \ No newline at end of file
diff --git a/ports/septag-sx/CONTROL b/ports/septag-sx/CONTROL
index ee9917e66..a41e214af 100644
--- a/ports/septag-sx/CONTROL
+++ b/ports/septag-sx/CONTROL
@@ -1,3 +1,4 @@
Source: septag-sx
Version: 2019-05-07-2
Description: Portable base library for C programmers, designed for performance and simplicity.
+Supports: !(uwp|arm) \ No newline at end of file
diff --git a/ports/simdjson/CONTROL b/ports/simdjson/CONTROL
index 14f70df1c..fe34d9af3 100644
--- a/ports/simdjson/CONTROL
+++ b/ports/simdjson/CONTROL
@@ -2,3 +2,4 @@ Source: simdjson
Version: 2019-12-27
Description: A extremely fast JSON library that can parse gigabytes of JSON per second
Homepage: https://github.com/lemire/simdjson
+Supports: !(x86|arm|arm64) \ No newline at end of file
diff --git a/ports/soundtouch/CONTROL b/ports/soundtouch/CONTROL
index 7ce1c2ba6..28b6ac87c 100644
--- a/ports/soundtouch/CONTROL
+++ b/ports/soundtouch/CONTROL
@@ -3,3 +3,4 @@ Version: 2.0.0-4
Homepage: https://www.surina.net/soundtouch
Description: SoundTouch is an open-source audio processing library for changing the Tempo, Pitch and Playback Rates of audio streams or audio files.
Build-Depends: atlmfc (windows)
+Supports: !uwp \ No newline at end of file
diff --git a/ports/spdk-dpdk/CONTROL b/ports/spdk-dpdk/CONTROL
index 02647149a..61d1415cd 100644
--- a/ports/spdk-dpdk/CONTROL
+++ b/ports/spdk-dpdk/CONTROL
@@ -1,4 +1,4 @@
Source: spdk-dpdk
Version: 20181124
Description: SPDK mirror of DPDK. A set of libraries and drivers for fast packet processing
-
+Supports: linux
diff --git a/ports/spdk-ipsec/CONTROL b/ports/spdk-ipsec/CONTROL
index 3f8e1a034..7adb9c4c9 100644
--- a/ports/spdk-ipsec/CONTROL
+++ b/ports/spdk-ipsec/CONTROL
@@ -1,4 +1,4 @@
Source: spdk-ipsec
Version: 20180711
Description: SPDK mirror of ipsec. Intel(R) Multi-Buffer Crypto for IPsec Library
-
+Supports: x64
diff --git a/ports/spdk-isal/CONTROL b/ports/spdk-isal/CONTROL
index abfbe3de0..1a134ae14 100644
--- a/ports/spdk-isal/CONTROL
+++ b/ports/spdk-isal/CONTROL
@@ -1,4 +1,4 @@
Source: spdk-isal
Version: 20181006
Description: SPDK mirror of isa-l. Intel(R) Intelligent Storage Acceleration Library
-
+Supports: x64
diff --git a/ports/spdk/CONTROL b/ports/spdk/CONTROL
index 5e2cf3ca2..0233395c1 100644
--- a/ports/spdk/CONTROL
+++ b/ports/spdk/CONTROL
@@ -1,4 +1,5 @@
Source: spdk
Version: 19.01.1
Description: Storage Performance Development Kit
-Build-Depends: spdk-dpdk, spdk-ipsec, spdk-isal \ No newline at end of file
+Build-Depends: spdk-dpdk, spdk-ipsec, spdk-isal
+Supports: linux \ No newline at end of file
diff --git a/ports/teemo/CONTROL b/ports/teemo/CONTROL
index 2ee045a35..4d96fe5af 100644
--- a/ports/teemo/CONTROL
+++ b/ports/teemo/CONTROL
@@ -1,5 +1,5 @@
Source: teemo
-Version: 1.2
+Version: 1.2-1
Build-Depends: curl[non-http], cpprestsdk
Description: C++ File Download Library, support Multithreading, Breakpoint Transmission, Speed Limit, Real-time Speed.
Homepage: https://github.com/winsoft666/teemo \ No newline at end of file
diff --git a/ports/teemo/adjust-install-dir.patch b/ports/teemo/adjust-install-dir.patch
new file mode 100644
index 000000000..3ca1dcf56
--- /dev/null
+++ b/ports/teemo/adjust-install-dir.patch
@@ -0,0 +1,22 @@
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 20de97c..0009c8a 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -108,7 +108,7 @@ set_target_properties(${LIB_NAME}
+ RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin" )
+
+ target_include_directories(${LIB_NAME} INTERFACE
+- $<INSTALL_INTERFACE:include>)
++ $<INSTALL_INTERFACE:include/teemo>)
+
+ install(TARGETS ${LIB_NAME}
+ EXPORT ${LIB_NAME}-target
+@@ -117,7 +117,7 @@ install(TARGETS ${LIB_NAME}
+ ARCHIVE DESTINATION lib)
+
+
+-install(FILES ${HEADER_FILES} DESTINATION include)
++install(FILES ${HEADER_FILES} DESTINATION include/teemo)
+
+
+ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/../CMake/teemo-config.cmake
diff --git a/ports/teemo/portfile.cmake b/ports/teemo/portfile.cmake
index df79626c0..07b5d5a53 100644
--- a/ports/teemo/portfile.cmake
+++ b/ports/teemo/portfile.cmake
@@ -6,6 +6,9 @@ vcpkg_from_github(
REF 15edb1705d18ee78b32516a8ae52d6b10507af62
SHA512 7dbe917d48b1e8c4b004bad33d8a82524e501d8bec6cdeca4e89ebbe8ed79fa484028c3afd365347e31fa83f64a6f0f5a42ea0063baa7c0985824fb3dffcc8f2
HEAD_REF master
+ PATCHES
+ # Installing "slice.h" to the root include directory causes build issues in many other libraries
+ adjust-install-dir.patch
)
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" TEEMO_STATIC)
@@ -26,13 +29,13 @@ elseif(EXISTS ${CURRENT_PACKAGES_DIR}/share/teemo)
vcpkg_fixup_cmake_targets(CONFIG_PATH share/teemo)
endif()
-file(READ ${CURRENT_PACKAGES_DIR}/include/teemo.h TEEMO_H)
+file(READ ${CURRENT_PACKAGES_DIR}/include/teemo/teemo.h TEEMO_H)
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
string(REPLACE "#ifdef TEEMO_STATIC" "#if 1" TEEMO_H "${TEEMO_H}")
else()
string(REPLACE "#ifdef TEEMO_STATIC" "#if 0" TEEMO_H "${TEEMO_H}")
endif()
-file(WRITE ${CURRENT_PACKAGES_DIR}/include/teemo.h "${TEEMO_H}")
+file(WRITE ${CURRENT_PACKAGES_DIR}/include/teemo/teemo.h "${TEEMO_H}")
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
diff --git a/ports/telnetpp/CONTROL b/ports/telnetpp/CONTROL
index 53dd8657a..ffb5ef01a 100644
--- a/ports/telnetpp/CONTROL
+++ b/ports/telnetpp/CONTROL
@@ -4,6 +4,7 @@ Homepage: https://github.com/KazDragon/telnetpp
Description: Telnet++ is an implementation of the Telnet Session Layer protocol using C++14
Build-Depends: boost-container, boost-signals2, boost-variant, gsl-lite, boost-exception
Default-Features: zlib
+Supports: !uwp
Feature: zlib
Description: Zlib support
diff --git a/ports/tensorflow-cc/CONTROL b/ports/tensorflow-cc/CONTROL
index 29f15a376..8bcc1cc35 100644
--- a/ports/tensorflow-cc/CONTROL
+++ b/ports/tensorflow-cc/CONTROL
@@ -2,3 +2,4 @@ Source: tensorflow-cc
Version: 1.14-1
Description: Library for computation using data flow graphs for scalable machine learning
Build-Depends: c-ares
+Supports: !x86 \ No newline at end of file
diff --git a/ports/tgui/portfile.cmake b/ports/tgui/portfile.cmake
index 33e3dd9bf..736946af9 100644
--- a/ports/tgui/portfile.cmake
+++ b/ports/tgui/portfile.cmake
@@ -11,7 +11,7 @@ set(TGUI_TOOLS_PATH ${CURRENT_PACKAGES_DIR}/tools/tgui)
# Enable static build
file(REMOVE "${SOURCE_PATH}/cmake/Modules/FindSFML.cmake")
-string(COMPARE EQUAL ${VCPKG_LIBRARY_LINKAGE} "dynamic" TGUI_SHARED_LIBS)
+string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" TGUI_SHARED_LIBS)
# gui-builder
set(BUILD_GUI_BUILDER OFF)
@@ -21,6 +21,7 @@ endif()
vcpkg_configure_cmake(
SOURCE_PATH "${SOURCE_PATH}"
+ DISABLE_PARALLEL_CONFIGURE
PREFER_NINJA
OPTIONS
-DTGUI_BUILD_GUI_BUILDER=${BUILD_GUI_BUILDER}
diff --git a/ports/tinkerforge/CONTROL b/ports/tinkerforge/CONTROL
index 5eb67e96b..da38ec368 100644
--- a/ports/tinkerforge/CONTROL
+++ b/ports/tinkerforge/CONTROL
@@ -1,3 +1,4 @@
Source: tinkerforge
Version: 2.1.25
Description: Tinkerforge C API bindings for bricks and bricklets
+Supports: !uwp \ No newline at end of file
diff --git a/ports/unicorn/CONTROL b/ports/unicorn/CONTROL
index 74d581487..6dbc5f123 100644
--- a/ports/unicorn/CONTROL
+++ b/ports/unicorn/CONTROL
@@ -2,3 +2,4 @@ Source: unicorn
Version: 2019-07-11
Homepage: https://github.com/unicorn-engine/unicorn
Description: Unicorn is a lightweight multi-platform, multi-architecture CPU emulator framework
+Supports: !uwp
diff --git a/ports/upb/CONTROL b/ports/upb/CONTROL
index d42b9e367..cb9b6041d 100644
--- a/ports/upb/CONTROL
+++ b/ports/upb/CONTROL
@@ -1,13 +1,4 @@
Source: upb
-Version: 2019-10-21
+Version: 2019-10-21-1
Homepage: https://github.com/protocolbuffers/upb/
Description: μpb (often written 'upb') is a small protobuf implementation written in C.
-
-Feature: asan
-Description: build with asan support
-
-Feature: ubsan
-Description: build with ubsan support
-
-Feature: tests
-Description: build tests \ No newline at end of file
diff --git a/ports/upb/add-cmake-install.patch b/ports/upb/add-cmake-install.patch
new file mode 100644
index 000000000..ece6b8db4
--- /dev/null
+++ b/ports/upb/add-cmake-install.patch
@@ -0,0 +1,60 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 836c5ff..6eb8bb5 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -8,7 +8,7 @@ else()
+ cmake_policy(VERSION 3.12)
+ endif()
+
+-cmake_minimum_required (VERSION 3.0)
++cmake_minimum_required (VERSION 3.14)
+ cmake_policy(SET CMP0048 NEW)
+
+ project(upb)
+@@ -59,7 +59,7 @@ elseif(UNIX)
+ endif()
+
+ enable_testing()
+-
++add_library(descriptor_upbproto INTERFACE)
+ add_library(upb
+ upb/decode.c
+ upb/encode.c
+@@ -136,12 +136,35 @@ target_link_libraries(upb_cc_bindings INTERFACE
+ descriptor_upbproto
+ handlers
+ upb)
+-add_library(upb_test
++if(ENABLE_TESTING)
++add_executable(upb_test
+ tests/testmain.cc
+ tests/test_util.h
+ tests/upb_test.h)
+ target_link_libraries(upb_test
+ handlers
+ upb)
++endif()
+
+-
++install(
++ DIRECTORY upb
++ DESTINATION include
++ FILES_MATCHING
++ PATTERN "*.h"
++ PATTERN "*.inc"
++ PATTERN "*.int.h" EXCLUDE
++)
++target_include_directories(upb PUBLIC $<INSTALL_INTERFACE:include>)
++install(TARGETS
++ upb
++ upb_cc_bindings
++ upb_json
++ upb_pb
++ table
++ descriptor_upbproto
++ handlers
++ legacy_msg_reflection
++ reflection
++ EXPORT upb-config
++)
++install(EXPORT upb-config NAMESPACE upb:: DESTINATION share/upb)
diff --git a/ports/upb/fix-cmakelists.patch b/ports/upb/fix-cmakelists.patch
deleted file mode 100644
index 4c7ab1413..000000000
--- a/ports/upb/fix-cmakelists.patch
+++ /dev/null
@@ -1,184 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 836c5ff..6ee66a7 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -58,90 +58,148 @@ elseif(UNIX)
- set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--build-id")
- endif()
-
--enable_testing()
-+if (ENABLE_TEST)
-+ enable_testing()
-+endif()
-
-+set(UPB_HDRS
-+ ${CMAKE_CURRENT_LIST_DIR}/upb/generated_util.h
-+ ${CMAKE_CURRENT_LIST_DIR}/upb/msg.h
-+ ${CMAKE_CURRENT_LIST_DIR}/upb/table.int.h
-+ ${CMAKE_CURRENT_LIST_DIR}/upb/port_def.inc
-+ ${CMAKE_CURRENT_LIST_DIR}/upb/port_undef.inc
-+ ${CMAKE_CURRENT_LIST_DIR}/upb/decode.h
-+ ${CMAKE_CURRENT_LIST_DIR}/upb/encode.h
-+ ${CMAKE_CURRENT_LIST_DIR}/upb/upb.h
-+)
-+
-+set(UBP_PROJECTS upb)
- add_library(upb
- upb/decode.c
- upb/encode.c
-- upb/generated_util.h
- upb/msg.c
-- upb/msg.h
- upb/port.c
-- upb/port_def.inc
-- upb/port_undef.inc
- upb/table.c
-- upb/table.int.h
- upb/upb.c
-- upb/decode.h
-- upb/encode.h
-- upb/upb.h)
-+ upb/upb.h
-+ ${UPB_HDRS})
-+
-+
-+set(UBP_PROJECTS ${UBP_PROJECTS} generated_code_support__only_for_generated_code_do_not_use__i_give_permission_to_break_me)
- add_library(generated_code_support__only_for_generated_code_do_not_use__i_give_permission_to_break_me INTERFACE)
- target_link_libraries(generated_code_support__only_for_generated_code_do_not_use__i_give_permission_to_break_me INTERFACE
- upb)
-+
-+set(REFLECTION_HDRS
-+ ${CMAKE_CURRENT_LIST_DIR}/upb/def.h
-+ ${CMAKE_CURRENT_LIST_DIR}/upb/msgfactory.h
-+)
-+
-+set(UBP_PROJECTS ${UBP_PROJECTS} reflection)
- add_library(reflection
- upb/def.c
- upb/msgfactory.c
-- upb/def.h
-- upb/msgfactory.h)
-+ ${REFLECTION_HDRS})
- target_link_libraries(reflection
- descriptor_upbproto
- table
- upb)
-+
-+set(UBP_PROJECTS ${UBP_PROJECTS} table)
- add_library(table INTERFACE)
- target_link_libraries(table INTERFACE
- upb)
-+
-+set(LEGACY_MSG_HDRS ${CMAKE_CURRENT_LIST_DIR}/upb/legacy_msg_reflection.h)
-+
-+set(UBP_PROJECTS ${UBP_PROJECTS} legacy_msg_reflection)
- add_library(legacy_msg_reflection
- upb/legacy_msg_reflection.c
-- upb/legacy_msg_reflection.h)
-+ ${LEGACY_MSG_HDRS})
- target_link_libraries(legacy_msg_reflection
- table
- upb)
-+
-+set(HANDLERS_HDRS
-+ ${CMAKE_CURRENT_LIST_DIR}/upb/handlers-inl.h
-+ ${CMAKE_CURRENT_LIST_DIR}/upb/handlers.h
-+ ${CMAKE_CURRENT_LIST_DIR}/upb/sink.h
-+)
-+
-+set(UBP_PROJECTS ${UBP_PROJECTS} handlers)
- add_library(handlers
- upb/handlers.c
-- upb/handlers-inl.h
- upb/sink.c
-- upb/handlers.h
-- upb/sink.h)
-+ ${HANDLERS_HDRS})
- target_link_libraries(handlers
- reflection
- table
- upb)
-+
-+set(UPB_PB_HDRS
-+ ${CMAKE_CURRENT_LIST_DIR}/upb/pb/decoder.int.h
-+ ${CMAKE_CURRENT_LIST_DIR}/upb/pb/varint.int.h
-+ ${CMAKE_CURRENT_LIST_DIR}/upb/pb/decoder.h
-+ ${CMAKE_CURRENT_LIST_DIR}/upb/pb/encoder.h
-+ ${CMAKE_CURRENT_LIST_DIR}/upb/pb/textprinter.h
-+)
-+
-+set(UBP_PROJECTS ${UBP_PROJECTS} upb_pb)
- add_library(upb_pb
- upb/pb/compile_decoder.c
- upb/pb/decoder.c
-- upb/pb/decoder.int.h
- upb/pb/encoder.c
- upb/pb/textprinter.c
- upb/pb/varint.c
-- upb/pb/varint.int.h
-- upb/pb/decoder.h
-- upb/pb/encoder.h
-- upb/pb/textprinter.h)
-+ ${UPB_PB_HDRS})
- target_link_libraries(upb_pb
- descriptor_upbproto
- handlers
- reflection
- table
- upb)
-+
-+set(UPB_JSON_HDRS
-+ ${CMAKE_CURRENT_LIST_DIR}/upb/json/parser.h
-+ ${CMAKE_CURRENT_LIST_DIR}/upb/json/printer.h
-+)
-+
-+set(UBP_PROJECTS ${UBP_PROJECTS} upb_json)
- add_library(upb_json
- generated_for_cmake/upb/json/parser.c
- upb/json/printer.c
-- upb/json/parser.h
-- upb/json/printer.h)
-+ ${UPB_JSON_HDRS})
- target_link_libraries(upb_json
- upb
- upb_pb)
-+
-+set(UBP_PROJECTS ${UBP_PROJECTS} upb_cc_bindings)
- add_library(upb_cc_bindings INTERFACE)
- target_link_libraries(upb_cc_bindings INTERFACE
- descriptor_upbproto
- handlers
- upb)
--add_library(upb_test
-- tests/testmain.cc
-- tests/test_util.h
-- tests/upb_test.h)
--target_link_libraries(upb_test
-- handlers
-- upb)
--
-
-+if (ENABLE_TEST)
-+ set(UBP_PROJECTS ${UBP_PROJECTS} upb_test)
-+ add_library(upb_test
-+ tests/testmain.cc
-+ tests/test_util.h
-+ tests/upb_test.h)
-+ target_link_libraries(upb_test
-+ handlers
-+ upb)
-+endif()
-+
-+install(FILES ${UPB_HDRS} ${REFLECTION_HDRS} ${LEGACY_MSG_HDRS} ${HANDLERS_HDRS} DESTINATION include/upb)
-+install(FILES ${UPB_PB_HDRS} DESTINATION include/upb/pb)
-+install(FILES ${UPB_JSON_HDRS} DESTINATION include/upb/json)
-+
-+foreach(PROJ ${UBP_PROJECTS})
-+ install(
-+ TARGETS ${PROJ}
-+ RUNTIME DESTINATION bin
-+ LIBRARY DESTINATION lib
-+ ARCHIVE DESTINATION lib
-+ )
-+endforeach()
-\ No newline at end of file
diff --git a/ports/upb/portfile.cmake b/ports/upb/portfile.cmake
index 303587cea..b5a46253c 100644
--- a/ports/upb/portfile.cmake
+++ b/ports/upb/portfile.cmake
@@ -1,29 +1,27 @@
-vcpkg_fail_port_install(ON_TARGET "Windows")
+vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
- OUT_SOURCE_PATH SOURCE_PATH
- REPO protocolbuffers/upb
- REF 9effcbcb27f0a665f9f345030188c0b291e32482
- SHA512 416ff26ec21181d53be23e94203205072152ab3a8e4b3b28d16263a601995fd2d2f8afe5d8cfbecdac8543249482287b9fe6129314f7c9a7880660f5508bb85e
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO protocolbuffers/upb
+ REF 9effcbcb27f0a665f9f345030188c0b291e32482
+ SHA512 416ff26ec21181d53be23e94203205072152ab3a8e4b3b28d16263a601995fd2d2f8afe5d8cfbecdac8543249482287b9fe6129314f7c9a7880660f5508bb85e
HEAD_REF master
- PATCHES fix-cmakelists.patch
-)
-
-vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
- asan UPB_ENABLE_ASAN
- ubsan UPB_ENABLE_UBSAN
- tests ENABLE_TEST
+ PATCHES add-cmake-install.patch
)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
- OPTIONS ${FEATURE_OPTIONS}
)
vcpkg_install_cmake()
+vcpkg_fixup_cmake_targets()
vcpkg_copy_pdbs()
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+file(REMOVE_RECURSE
+ ${CURRENT_PACKAGES_DIR}/debug/include
+ # empty folder
+ ${CURRENT_PACKAGES_DIR}/include/upb/bindings/lua/upb
+)
file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
diff --git a/ports/uvatlas/CONTROL b/ports/uvatlas/CONTROL
index 0c0cb84b3..e1621c5b5 100644
--- a/ports/uvatlas/CONTROL
+++ b/ports/uvatlas/CONTROL
@@ -1,4 +1,5 @@
Source: uvatlas
Version: dec2019
Homepage: https://github.com/Microsoft/UVAtlas
-Description: UVAtlas isochart texture atlas \ No newline at end of file
+Description: UVAtlas isochart texture atlas
+Supports: windows \ No newline at end of file
diff --git a/ports/vectorclass/CONTROL b/ports/vectorclass/CONTROL
index cc3471358..a5110d95c 100644
--- a/ports/vectorclass/CONTROL
+++ b/ports/vectorclass/CONTROL
@@ -2,3 +2,4 @@ Source: vectorclass
Version: 2.00.01
Homepage: https://github.com/vectorclass/version2
Description: C++ class library for using the Single Instruction Multiple Data (SIMD) instructions in modern Microprocessors
+Supports: !(arm|arm64) \ No newline at end of file
diff --git a/ports/winreg/CONTROL b/ports/winreg/CONTROL
index 6b798d4d0..0e2cc7188 100644
--- a/ports/winreg/CONTROL
+++ b/ports/winreg/CONTROL
@@ -1,4 +1,5 @@
Source: winreg
Version: 1.2.1-1
Homepage: https://github.com/GiovanniDicanio/WinReg
-Description: High-level C++ wrapper around the Windows Registry C API. \ No newline at end of file
+Description: High-level C++ wrapper around the Windows Registry C API.
+Supports: windows || uwp \ No newline at end of file
diff --git a/ports/wintoast/CONTROL b/ports/wintoast/CONTROL
index d9d410796..033a5abdf 100644
--- a/ports/wintoast/CONTROL
+++ b/ports/wintoast/CONTROL
@@ -1,3 +1,4 @@
Source: wintoast
Version: 1.2.0
-Description: WinToast is a lightly library written in C++ which brings a complete integration of the modern toast notifications of Windows 8 & Windows 10. \ No newline at end of file
+Description: WinToast is a lightly library written in C++ which brings a complete integration of the modern toast notifications of Windows 8 & Windows 10.
+Supports: !uwp \ No newline at end of file
diff --git a/ports/x-plane/CONTROL b/ports/x-plane/CONTROL
index c151e8719..de1217a60 100644
--- a/ports/x-plane/CONTROL
+++ b/ports/x-plane/CONTROL
@@ -1,3 +1,4 @@
Source: x-plane
Version: 3.0.1-1
Description: The X-Plane Plugin SDK.
+Supports: !x86 \ No newline at end of file
diff --git a/ports/x265/CONTROL b/ports/x265/CONTROL
index 0ed00a54d..c94ba6801 100644
--- a/ports/x265/CONTROL
+++ b/ports/x265/CONTROL
@@ -1,4 +1,4 @@
Source: x265
-Version: 3.2-1
+Version: 3.2-3
Homepage: https://bitbucket.org/multicoreware/x265
Description: x265 is a H.265 / HEVC video encoder application library, designed to encode video or images into an H.265 / HEVC encoded bitstream.
diff --git a/ports/yasm/CONTROL b/ports/yasm/CONTROL
index 5cb349270..bdcaaea9f 100644
--- a/ports/yasm/CONTROL
+++ b/ports/yasm/CONTROL
@@ -2,3 +2,4 @@ Source: yasm
Version: 1.3.0
Homepage: https://github.com/yasm/yasm
Description: Yasm is a complete rewrite of the NASM assembler under the “new” BSD License.
+Supports: windows & !uwp & !arm \ No newline at end of file
diff --git a/ports/yoga/CONTROL b/ports/yoga/CONTROL
index 52e8498a3..5a0c6d260 100644
--- a/ports/yoga/CONTROL
+++ b/ports/yoga/CONTROL
@@ -2,3 +2,4 @@ Source: yoga
Version: 1.16.0-1
Homepage: https://github.com/facebook/yoga
Description: Yoga is a cross-platform layout engine which implements Flexbox
+Supports: !uwp
diff --git a/ports/z3/CONTROL b/ports/z3/CONTROL
index be11a9d7c..866f2cf5f 100644
--- a/ports/z3/CONTROL
+++ b/ports/z3/CONTROL
@@ -1,4 +1,5 @@
Source: z3
Version: 4.8.6
Homepage: https://github.com/Z3Prover/z3
-Description: Z3 is a theorem prover from Microsoft Research. \ No newline at end of file
+Description: Z3 is a theorem prover from Microsoft Research.
+Supports: !arm64 && !uwp
diff --git a/ports/zfp/CONTROL b/ports/zfp/CONTROL
index eb9505fa4..164bade9d 100644
--- a/ports/zfp/CONTROL
+++ b/ports/zfp/CONTROL
@@ -1,5 +1,5 @@
Source: zfp
-Version: 0.5.5-1
+Version: 0.5.5-2
Homepage: https://github.com/LLNL/zfp
Description: Zfp is an open source C/C++ library for compressed numerical arrays that support high throughput read and write random access. zfp also supports streaming compression of integer and floating-point data, e.g., for applications that read and write large data sets to and from disk. zfp is primarily written in C and C++ but also includes Python and Fortran bindings.
diff --git a/ports/zfp/portfile.cmake b/ports/zfp/portfile.cmake
index 7c9af2547..d189762b7 100644
--- a/ports/zfp/portfile.cmake
+++ b/ports/zfp/portfile.cmake
@@ -31,12 +31,16 @@ vcpkg_install_cmake()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
-if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
endif()
vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT})
+# Rename problematic root include "bitstream.h"; conflicts with x265's private headers
+file(RENAME ${CURRENT_PACKAGES_DIR}/include/bitstream.h ${CURRENT_PACKAGES_DIR}/include/zfp/bitstream.h)
+vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/include/zfp.h "\"bitstream.h\"" "\"zfp/bitstream.h\"")
+
vcpkg_copy_pdbs()
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file