aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore14
-rw-r--r--README.md4
-rw-r--r--docs/maintainers/portfile-functions.md3
-rw-r--r--docs/maintainers/vcpkg_build_msbuild.md3
-rw-r--r--docs/maintainers/vcpkg_check_linkage.md34
-rw-r--r--docs/maintainers/vcpkg_from_gitlab.md55
-rw-r--r--docs/maintainers/vcpkg_install_msbuild.md88
-rw-r--r--ports/abseil/CONTROL2
-rw-r--r--ports/abseil/portfile.cmake4
-rw-r--r--ports/angle/CMakeLists.txt2
-rw-r--r--ports/angle/CONTROL3
-rw-r--r--ports/assimp/CONTROL2
-rw-r--r--ports/assimp/portfile.cmake14
-rw-r--r--ports/aws-sdk-cpp/CONTROL2
-rw-r--r--ports/aws-sdk-cpp/portfile.cmake4
-rw-r--r--ports/boost-di/CONTROL2
-rw-r--r--ports/boost-di/portfile.cmake8
-rw-r--r--ports/botan/CONTROL2
-rw-r--r--ports/botan/fix-C2338.patch13
-rw-r--r--ports/botan/portfile.cmake23
-rw-r--r--ports/breakpad/CMakeLists.txt60
-rw-r--r--ports/breakpad/CONTROL2
-rw-r--r--ports/breakpad/portfile.cmake6
-rw-r--r--ports/bzip2/portfile.cmake2
-rw-r--r--ports/caffe2/portfile.cmake2
-rw-r--r--ports/cairo/0001_fix_osx_defined.patch13
-rw-r--r--ports/cairo/CMakeLists.txt53
-rw-r--r--ports/cairo/CONTROL2
-rw-r--r--ports/cairo/portfile.cmake1
-rw-r--r--ports/catch2/CONTROL2
-rw-r--r--ports/catch2/portfile.cmake8
-rw-r--r--ports/celero/CONTROL2
-rw-r--r--ports/celero/portfile.cmake12
-rw-r--r--ports/chakracore/CONTROL2
-rw-r--r--ports/chakracore/portfile.cmake4
-rw-r--r--ports/check/CONTROL3
-rw-r--r--ports/check/portfile.cmake26
-rw-r--r--ports/cpprestsdk/CONTROL2
-rw-r--r--ports/cpprestsdk/portfile.cmake4
-rw-r--r--ports/curl/0005_winssl_http2.patch79
-rw-r--r--ports/curl/CONTROL2
-rw-r--r--ports/curl/portfile.cmake5
-rw-r--r--ports/cxxopts/CONTROL2
-rw-r--r--ports/cxxopts/portfile.cmake16
-rw-r--r--ports/dcmtk/CONTROL3
-rw-r--r--ports/dcmtk/dcmtk.patch15
-rw-r--r--ports/dcmtk/portfile.cmake49
-rw-r--r--ports/dlib/CONTROL2
-rw-r--r--ports/dlib/portfile.cmake4
-rw-r--r--ports/eigen3/CONTROL2
-rw-r--r--ports/eigen3/portfile.cmake4
-rw-r--r--ports/exiv2/CONTROL2
-rw-r--r--ports/exiv2/portfile.cmake4
-rw-r--r--ports/fastrtps/CONTROL2
-rw-r--r--ports/fastrtps/portfile.cmake5
-rw-r--r--ports/folly/CONTROL2
-rw-r--r--ports/folly/portfile.cmake4
-rw-r--r--ports/forest/portfile.cmake4
-rw-r--r--ports/getopt-win32/CONTROL3
-rw-r--r--ports/getopt-win32/portfile.cmake24
-rw-r--r--ports/getopt/CONTROL4
-rw-r--r--ports/getopt/portfile.cmake5
-rw-r--r--ports/glib/CMakeLists.txt31
-rw-r--r--ports/glib/CONTROL2
-rw-r--r--ports/glib/cmake/unofficial-glib-config.in.cmake7
-rw-r--r--ports/glib/portfile.cmake4
-rw-r--r--ports/google-cloud-cpp/CONTROL2
-rw-r--r--ports/google-cloud-cpp/include-protobuf.patch24
-rw-r--r--ports/google-cloud-cpp/portfile.cmake2
-rw-r--r--ports/graphqlparser/CONTROL3
-rw-r--r--ports/graphqlparser/portfile.cmake51
-rw-r--r--ports/graphqlparser/win-cmake.patch104
-rw-r--r--ports/grpc/CONTROL2
-rw-r--r--ports/grpc/disable-csharp-ext.patch22
-rw-r--r--ports/grpc/fix-uwp.patch129
-rw-r--r--ports/grpc/portfile.cmake34
-rw-r--r--ports/guetzli/CONTROL2
-rw-r--r--ports/guetzli/portfile.cmake4
-rw-r--r--ports/harfbuzz/CONTROL2
-rw-r--r--ports/harfbuzz/glib-cmake.patch29
-rw-r--r--ports/harfbuzz/portfile.cmake5
-rw-r--r--ports/ideviceinstaller/CONTROL4
-rw-r--r--ports/ideviceinstaller/portfile.cmake18
-rw-r--r--ports/idevicerestore/CONTROL4
-rw-r--r--ports/idevicerestore/portfile.cmake18
-rw-r--r--ports/jsonnet/CONTROL2
-rw-r--r--ports/jsonnet/portfile.cmake4
-rw-r--r--ports/laszip/CONTROL3
-rw-r--r--ports/laszip/portfile.cmake28
-rw-r--r--ports/lcms/CONTROL2
-rw-r--r--ports/lcms/portfile.cmake3
-rw-r--r--ports/lcms/remove_library_directive.patch8
-rw-r--r--ports/leptonica/CONTROL2
-rw-r--r--ports/leptonica/find-dependency.patch18
-rw-r--r--ports/leptonica/portfile.cmake5
-rw-r--r--ports/libgeotiff/0003-Fix-cmake-TIFF-detection.patch36
-rw-r--r--ports/libgeotiff/CONTROL2
-rw-r--r--ports/libgeotiff/portfile.cmake40
-rw-r--r--ports/libgit2/CONTROL3
-rw-r--r--ports/libgit2/portfile.cmake9
-rw-r--r--ports/libideviceactivation/CONTROL4
-rw-r--r--ports/libideviceactivation/portfile.cmake22
-rw-r--r--ports/libimobiledevice/CONTROL4
-rw-r--r--ports/libimobiledevice/portfile.cmake20
-rw-r--r--ports/libirecovery/CONTROL4
-rw-r--r--ports/libirecovery/portfile.cmake22
-rw-r--r--ports/libmorton/CONTROL3
-rw-r--r--ports/libmorton/portfile.cmake15
-rw-r--r--ports/libp7-baical/CONTROL2
-rw-r--r--ports/libp7-baical/portfile.cmake2
-rw-r--r--ports/libplist/CONTROL3
-rw-r--r--ports/libplist/dllexport.patch37
-rw-r--r--ports/libplist/portfile.cmake20
-rw-r--r--ports/libpng/CONTROL2
-rw-r--r--ports/libpng/portfile.cmake4
-rw-r--r--ports/libraw/findlibraw_debug_fix.patch39
-rw-r--r--ports/libraw/lcms2_debug_fix.patch66
-rw-r--r--ports/libraw/portfile.cmake7
-rw-r--r--ports/libsndfile/CONTROL6
-rw-r--r--ports/libsndfile/portfile.cmake27
-rw-r--r--ports/libssh2/CONTROL2
-rw-r--r--ports/libssh2/portfile.cmake20
-rw-r--r--ports/libusbmuxd/CONTROL4
-rw-r--r--ports/libusbmuxd/dllexport.patch26
-rw-r--r--ports/libusbmuxd/portfile.cmake23
-rw-r--r--ports/libuv/CONTROL2
-rw-r--r--ports/libuv/portfile.cmake4
-rw-r--r--ports/libzip/CONTROL2
-rw-r--r--ports/libzip/LICENSE66
-rw-r--r--ports/libzip/portfile.cmake13
-rw-r--r--ports/live555/CMakeLists.txt12
-rw-r--r--ports/live555/CONTROL2
-rw-r--r--ports/lodepng/CONTROL2
-rw-r--r--ports/lodepng/portfile.cmake4
-rw-r--r--ports/log4cplus/CONTROL2
-rw-r--r--ports/log4cplus/portfile.cmake4
-rw-r--r--ports/ms-gsl/CONTROL2
-rw-r--r--ports/ms-gsl/portfile.cmake4
-rw-r--r--ports/mujs/CONTROL2
-rw-r--r--ports/mujs/portfile.cmake4
-rw-r--r--ports/nlopt/CONTROL2
-rw-r--r--ports/nlopt/portfile.cmake4
-rw-r--r--ports/octomap/CONTROL2
-rw-r--r--ports/octomap/portfile.cmake26
-rw-r--r--ports/openssl-unix/CMakeLists.txt (renamed from ports/openssl/CMakeLists.txt)2
-rw-r--r--ports/openssl-unix/CONTROL3
-rw-r--r--ports/openssl-unix/ConfigureIncludeQuotesFix.patch (renamed from ports/openssl/ConfigureIncludeQuotesFix.patch)0
-rw-r--r--ports/openssl-unix/EmbedSymbolsInStaticLibsZ7.patch (renamed from ports/openssl/EmbedSymbolsInStaticLibsZ7.patch)0
-rw-r--r--ports/openssl-unix/STRINGIFYPatch.patch (renamed from ports/openssl/STRINGIFYPatch.patch)0
-rw-r--r--ports/openssl-unix/portfile.cmake (renamed from ports/openssl/portfile-nonwindows.cmake)98
-rw-r--r--ports/openssl-unix/remove-deps.cmake (renamed from ports/openssl/remove-deps.cmake)0
-rw-r--r--ports/openssl-unix/usage4
-rw-r--r--ports/openssl-unix/vcpkg-cmake-wrapper.cmake (renamed from ports/openssl/vcpkg-cmake-wrapper.cmake)0
-rw-r--r--ports/openssl-uwp/CONTROL3
-rw-r--r--ports/openssl-uwp/fix-uwp-rs4.patch (renamed from ports/openssl/fix-uwp-rs4.patch)0
-rw-r--r--ports/openssl-uwp/make-openssl.bat (renamed from ports/openssl/make-openssl.bat)0
-rw-r--r--ports/openssl-uwp/portfile.cmake (renamed from ports/openssl/portfile-uwp.cmake)11
-rw-r--r--ports/openssl-uwp/usage4
-rw-r--r--ports/openssl-windows/CONTROL3
-rw-r--r--ports/openssl-windows/ConfigureIncludeQuotesFix.patch13
-rw-r--r--ports/openssl-windows/EmbedSymbolsInStaticLibsZ7.patch25
-rw-r--r--ports/openssl-windows/STRINGIFYPatch.patch23
-rw-r--r--ports/openssl-windows/portfile.cmake157
-rw-r--r--ports/openssl-windows/usage4
-rw-r--r--ports/openssl/CONTROL3
-rw-r--r--ports/openssl/LICENSE127
-rw-r--r--ports/openssl/portfile.cmake166
-rw-r--r--ports/openvr/CONTROL2
-rw-r--r--ports/openvr/portfile.cmake4
-rw-r--r--ports/opusfile/CMakeLists.txt29
-rw-r--r--ports/opusfile/CONTROL8
-rw-r--r--ports/opusfile/portfile.cmake10
-rw-r--r--ports/osg-qt/CONTROL2
-rw-r--r--ports/osgearth/CONTROL2
-rw-r--r--ports/osgearth/portfile.cmake13
-rw-r--r--ports/pcg/CONTROL3
-rw-r--r--ports/pcg/portfile.cmake14
-rw-r--r--ports/pdal/CONTROL4
-rw-r--r--ports/picosha2/CONTROL2
-rw-r--r--ports/picosha2/portfile.cmake4
-rw-r--r--ports/pixman/CMakeLists.txt5
-rw-r--r--ports/pixman/CONTROL2
-rw-r--r--ports/plib/CMakeLists.txt361
-rw-r--r--ports/plib/CONTROL3
-rw-r--r--ports/plib/portfile.cmake27
-rw-r--r--ports/pmdk/CONTROL2
-rw-r--r--ports/pmdk/portfile.cmake2
-rw-r--r--ports/podofo/CONTROL2
-rw-r--r--ports/podofo/portfile.cmake8
-rw-r--r--ports/protobuf/001-add-compiler-flag.patch70
-rw-r--r--ports/protobuf/CONTROL2
-rw-r--r--ports/protobuf/export-ParseGeneratorParameter.patch13
-rw-r--r--ports/protobuf/js-embed.patch25
-rw-r--r--ports/protobuf/portfile.cmake82
-rw-r--r--ports/protobuf/wire_format_lite_h_fix_error_C4146.patch35
-rw-r--r--ports/pybind11/CONTROL2
-rw-r--r--ports/re2/CONTROL2
-rw-r--r--ports/re2/portfile.cmake4
-rw-r--r--ports/readline-win32/CMakeLists.txt56
-rw-r--r--ports/readline-win32/CONTROL3
-rw-r--r--ports/readline-win32/config.h58
-rw-r--r--ports/readline-win32/portfile.cmake31
-rw-r--r--ports/readline/CONTROL4
-rw-r--r--ports/readline/portfile.cmake5
-rw-r--r--ports/rs-core-lib/CONTROL2
-rw-r--r--ports/rs-core-lib/portfile.cmake4
-rw-r--r--ports/rttr/portfile.cmake9
-rw-r--r--ports/sciter/CONTROL2
-rw-r--r--ports/sciter/portfile.cmake4
-rw-r--r--ports/sfgui/CONTROL2
-rw-r--r--ports/sfgui/portfile.cmake12
-rw-r--r--ports/sfgui/use-sfml-targets.patch44
-rw-r--r--ports/sfml/CONTROL2
-rw-r--r--ports/sfml/portfile.cmake5
-rw-r--r--ports/sfml/use-system-freetype.patch13
-rw-r--r--ports/shiva-sfml/CONTROL4
-rw-r--r--ports/shiva-sfml/portfile.cmake51
-rw-r--r--ports/shiva/CONTROL4
-rw-r--r--ports/shiva/portfile.cmake6
-rw-r--r--ports/sol2/CONTROL1
-rw-r--r--ports/sol2/portfile.cmake4
-rw-r--r--ports/spdlog/CONTROL2
-rw-r--r--ports/spdlog/portfile.cmake8
-rw-r--r--ports/thor/CONTROL2
-rw-r--r--ports/thor/portfile.cmake29
-rw-r--r--ports/thor/sfml-no-depend-libjpeg.patch16
-rw-r--r--ports/thrift/CONTROL2
-rw-r--r--ports/thrift/portfile.cmake4
-rw-r--r--ports/tiff/CONTROL2
-rw-r--r--ports/tiff/portfile.cmake6
-rw-r--r--ports/tiff/vcpkg-cmake-wrapper.cmake24
-rw-r--r--ports/tiny-dnn/CONTROL2
-rw-r--r--ports/tiny-dnn/portfile.cmake4
-rw-r--r--ports/unicorn-lib/CONTROL2
-rw-r--r--ports/unicorn-lib/portfile.cmake4
-rw-r--r--ports/unicorn/CONTROL2
-rw-r--r--ports/unicorn/portfile.cmake4
-rw-r--r--ports/usbmuxd/CONTROL4
-rw-r--r--ports/usbmuxd/portfile.cmake19
-rw-r--r--ports/wxwidgets/portfile.cmake4
-rw-r--r--ports/yoga/CONTROL2
-rw-r--r--ports/yoga/portfile.cmake4
-rw-r--r--ports/zeromq/CONTROL2
-rw-r--r--ports/zeromq/portfile.cmake4
-rw-r--r--scripts/buildsystems/msbuild/vcpkg.targets5
-rw-r--r--scripts/cmake/vcpkg_apply_patches.cmake3
-rw-r--r--scripts/cmake/vcpkg_build_msbuild.cmake2
-rw-r--r--scripts/cmake/vcpkg_check_linkage.cmake53
-rw-r--r--scripts/cmake/vcpkg_common_functions.cmake2
-rw-r--r--scripts/cmake/vcpkg_from_github.cmake3
-rw-r--r--scripts/cmake/vcpkg_from_gitlab.cmake2
-rw-r--r--scripts/cmake/vcpkg_install_msbuild.cmake220
-rw-r--r--scripts/toolchains/freebsd.cmake14
-rw-r--r--scripts/toolchains/linux.cmake4
-rw-r--r--scripts/toolchains/osx.cmake14
-rw-r--r--toolsrc/src/vcpkg/base/files.cpp2
-rw-r--r--toolsrc/src/vcpkg/build.cpp64
-rw-r--r--toolsrc/vcpkg.natvis35
-rw-r--r--toolsrc/vcpkg.sln5
259 files changed, 3012 insertions, 1225 deletions
diff --git a/.gitignore b/.gitignore
index 4d3d12e06..c223e6fcf 100644
--- a/.gitignore
+++ b/.gitignore
@@ -277,14 +277,14 @@ __pycache__/
.vscode/
*.code-workspace
-buildtrees/
-build*/
-downloads/
-installed*/
-packages/
-scripts/buildsystems/tmp/
+/buildtrees/
+/build*/
+/downloads/
+/installed*/
+/packages/
+/scripts/buildsystems/tmp/
#ignore custom triplets
-triplets/*
+/triplets/*
#add vcpkg-designed triplets back in
!triplets/arm-uwp.cmake
!triplets/arm-windows.cmake
diff --git a/README.md b/README.md
index f859897c0..c2f3fc1da 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
-# Vcpkg <a href="#">![](https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/8476/badge)</a>
+# Vcpkg
## Overview
-Vcpkg helps you manage C and C++ libraries on Windows, Linux and MacOS. This tool and ecosystem are constantly evolving; your involvement are vital to its success!
+Vcpkg helps you manage C and C++ libraries on Windows, Linux and MacOS. This tool and ecosystem are constantly evolving; your involvement is vital to its success!
For short description of available commands, run `vcpkg help`.
diff --git a/docs/maintainers/portfile-functions.md b/docs/maintainers/portfile-functions.md
index e16147f7d..f9476d3a7 100644
--- a/docs/maintainers/portfile-functions.md
+++ b/docs/maintainers/portfile-functions.md
@@ -5,6 +5,7 @@
- [vcpkg\_apply\_patches](vcpkg_apply_patches.md)
- [vcpkg\_build\_cmake](vcpkg_build_cmake.md)
- [vcpkg\_build\_msbuild](vcpkg_build_msbuild.md)
+- [vcpkg\_check\_linkage](vcpkg_check_linkage.md)
- [vcpkg\_configure\_cmake](vcpkg_configure_cmake.md)
- [vcpkg\_copy\_pdbs](vcpkg_copy_pdbs.md)
- [vcpkg\_copy\_tool\_dependencies](vcpkg_copy_tool_dependencies.md)
@@ -14,4 +15,6 @@
- [vcpkg\_find\_acquire\_program](vcpkg_find_acquire_program.md)
- [vcpkg\_from\_bitbucket](vcpkg_from_bitbucket.md)
- [vcpkg\_from\_github](vcpkg_from_github.md)
+- [vcpkg\_from\_gitlab](vcpkg_from_gitlab.md)
- [vcpkg\_install\_cmake](vcpkg_install_cmake.md)
+- [vcpkg\_install\_msbuild](vcpkg_install_msbuild.md)
diff --git a/docs/maintainers/vcpkg_build_msbuild.md b/docs/maintainers/vcpkg_build_msbuild.md
index 37f8d8df2..862587eb4 100644
--- a/docs/maintainers/vcpkg_build_msbuild.md
+++ b/docs/maintainers/vcpkg_build_msbuild.md
@@ -1,6 +1,6 @@
# vcpkg_build_msbuild
-Build an msbuild-based project.
+Build an msbuild-based project. Deprecated in favor of `vcpkg_install_msbuild()`.
## Usage
```cmake
@@ -15,6 +15,7 @@ vcpkg_build_msbuild(
[OPTIONS </p:ZLIB_INCLUDE_PATH=X>...]
[OPTIONS_RELEASE </p:ZLIB_LIB=X>...]
[OPTIONS_DEBUG </p:ZLIB_LIB=X>...]
+ [USE_VCPKG_INTEGRATION]
)
```
diff --git a/docs/maintainers/vcpkg_check_linkage.md b/docs/maintainers/vcpkg_check_linkage.md
new file mode 100644
index 000000000..406325dba
--- /dev/null
+++ b/docs/maintainers/vcpkg_check_linkage.md
@@ -0,0 +1,34 @@
+# vcpkg_check_linkage
+
+Asserts the available library and CRT linkage options for the port.
+
+## Usage
+```cmake
+vcpkg_check_linkage(
+ [ONLY_STATIC_LIBRARY | ONLY_DYNAMIC_LIBRARY]
+ [ONLY_STATIC_CRT | ONLY_DYNAMIC_CRT]
+)
+```
+
+## Parameters
+### ONLY_STATIC_LIBRARY
+Indicates that this port can only be built with static library linkage.
+
+### ONLY_DYNAMIC_LIBRARY
+Indicates that this port can only be built with dynamic/shared library linkage.
+
+### ONLY_STATIC_CRT
+Indicates that this port can only be built with static CRT linkage.
+
+### ONLY_DYNAMIC_CRT
+Indicates that this port can only be built with dynamic/shared CRT linkage.
+
+## Notes
+This command will either alter the settings for `VCPKG_LIBRARY_LINKAGE` or fail, depending on what was requested by the user versus what the library supports.
+
+## Examples
+
+* [libimobiledevice](https://github.com/Microsoft/vcpkg/blob/master/ports/libimobiledevice/portfile.cmake)
+
+## Source
+[scripts/cmake/vcpkg_check_linkage.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_check_linkage.cmake)
diff --git a/docs/maintainers/vcpkg_from_gitlab.md b/docs/maintainers/vcpkg_from_gitlab.md
new file mode 100644
index 000000000..69deea933
--- /dev/null
+++ b/docs/maintainers/vcpkg_from_gitlab.md
@@ -0,0 +1,55 @@
+# vcpkg_from_gitlab
+
+Download and extract a project from Gitlab instances. Enables support for `install --head`.
+
+## Usage:
+```cmake
+vcpkg_from_gitlab(
+ GITLAB_URL <https://gitlab.com>
+ OUT_SOURCE_PATH <SOURCE_PATH>
+ REPO <gitlab-org/gitlab-ce>
+ [REF <v10.7.3>]
+ [SHA512 <45d0d7f8cc350...>]
+ [HEAD_REF <master>]
+)
+```
+
+## Parameters:
+
+### GITLAB_URL
+The URL of the Gitlab instance to use.
+
+### OUT_SOURCE_PATH
+Specifies the out-variable that will contain the extracted location.
+
+This should be set to `SOURCE_PATH` by convention.
+
+### REPO
+The organization or user plus the repository name on the Gitlab instance.
+
+### REF
+A stable git commit-ish (ideally a tag) that will not change contents. **This should not be a branch.**
+
+For repositories without official releases, this can be set to the full commit id of the current latest master.
+
+If `REF` is specified, `SHA512` must also be specified.
+
+### SHA512
+The SHA512 hash that should match the archive (${GITLAB_URL}/${REPO}/-/archive/${REF}/${REPO_NAME}-${REF}.tar.gz).
+The REPO_NAME variable is parsed from the value of REPO.
+
+This is most easily determined by first setting it to `1`, then trying to build the port. The error message will contain the full hash, which can be copied back into the portfile.
+
+### HEAD_REF
+The unstable git commit-ish (ideally a branch) to pull for `--head` builds.
+
+For most projects, this should be `master`. The chosen branch should be one that is expected to be always buildable on all supported platforms.
+
+## Notes:
+At least one of `REF` and `HEAD_REF` must be specified, however it is preferable for both to be present.
+
+This exports the `VCPKG_HEAD_VERSION` variable during head builds.
+
+
+## Source
+[scripts/cmake/vcpkg_from_gitlab.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_from_gitlab.cmake)
diff --git a/docs/maintainers/vcpkg_install_msbuild.md b/docs/maintainers/vcpkg_install_msbuild.md
new file mode 100644
index 000000000..76578c2ef
--- /dev/null
+++ b/docs/maintainers/vcpkg_install_msbuild.md
@@ -0,0 +1,88 @@
+# vcpkg_install_msbuild
+
+Build and install an msbuild-based project. This replaces `vcpkg_build_msbuild()`.
+
+## Usage
+```cmake
+vcpkg_install_msbuild(
+ SOURCE_PATH <${SOURCE_PATH}>
+ PROJECT_SUBPATH <port.sln>
+ [INCLUDES_SUBPATH <include>]
+ [LICENSE_SUBPATH <LICENSE>]
+ [RELEASE_CONFIGURATION <Release>]
+ [DEBUG_CONFIGURATION <Debug>]
+ [TARGET <Build>]
+ [TARGET_PLATFORM_VERSION <10.0.15063.0>]
+ [PLATFORM <${TRIPLET_SYSTEM_ARCH}>]
+ [PLATFORM_TOOLSET <${VCPKG_PLATFORM_TOOLSET}>]
+ [OPTIONS </p:ZLIB_INCLUDE_PATH=X>...]
+ [OPTIONS_RELEASE </p:ZLIB_LIB=X>...]
+ [OPTIONS_DEBUG </p:ZLIB_LIB=X>...]
+ [USE_VCPKG_INTEGRATION]
+ [ALLOW_ROOT_INCLUDES | REMOVE_ROOT_INCLUDES]
+)
+```
+
+## Parameters
+### SOURCE_PATH
+The path to the root of the source tree.
+
+Because MSBuild uses in-source builds, the source tree will be copied into a temporary location for the build. This
+parameter is the base for that copy and forms the base for all XYZ_SUBPATH options.
+
+### USE_VCPKG_INTEGRATION
+Apply the normal `integrate install` integration for building the project.
+
+By default, projects built with this command will not automatically link libraries or have header paths set.
+
+### PROJECT_SUBPATH
+The subpath to the solution (`.sln`) or project (`.vcxproj`) file relative to `SOURCE_PATH`.
+
+### LICENSE_SUBPATH
+The subpath to the license file relative to `SOURCE_PATH`.
+
+### INCLUDES_SUBPATH
+The subpath to the includes directory relative to `SOURCE_PATH`.
+
+This parameter should be a directory and should not end in a trailing slash.
+
+### ALLOW_ROOT_INCLUDES
+Indicates that top-level include files (e.g. `include/zlib.h`) should be allowed.
+
+### REMOVE_ROOT_INCLUDES
+Indicates that top-level include files (e.g. `include/Makefile.am`) should be removed.
+
+### RELEASE_CONFIGURATION
+The configuration (``/p:Configuration`` msbuild parameter) used for Release builds.
+
+### DEBUG_CONFIGURATION
+The configuration (``/p:Configuration`` msbuild parameter)
+used for Debug builds.
+
+### TARGET_PLATFORM_VERSION
+The WindowsTargetPlatformVersion (``/p:WindowsTargetPlatformVersion`` msbuild parameter)
+
+### TARGET
+The MSBuild target to build. (``/t:<TARGET>``)
+
+### PLATFORM
+The platform (``/p:Platform`` msbuild parameter) used for the build.
+
+### PLATFORM_TOOLSET
+The platform toolset (``/p:PlatformToolset`` msbuild parameter) used for the build.
+
+### OPTIONS
+Additional options passed to msbuild for all builds.
+
+### OPTIONS_RELEASE
+Additional options passed to msbuild for Release builds. These are in addition to `OPTIONS`.
+
+### OPTIONS_DEBUG
+Additional options passed to msbuild for Debug builds. These are in addition to `OPTIONS`.
+
+## Examples
+
+* [libimobiledevice](https://github.com/Microsoft/vcpkg/blob/master/ports/libimobiledevice/portfile.cmake)
+
+## Source
+[scripts/cmake/vcpkg_install_msbuild.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_install_msbuild.cmake)
diff --git a/ports/abseil/CONTROL b/ports/abseil/CONTROL
index 216298628..4f8b132a9 100644
--- a/ports/abseil/CONTROL
+++ b/ports/abseil/CONTROL
@@ -1,5 +1,5 @@
Source: abseil
-Version: 2018-07-08
+Version: 2018-07-30
Description: an open-source collection designed to augment the C++ standard library.
Abseil is an open-source collection of C++ library code designed to augment the C++ standard library. The Abseil library code is collected from Google's own C++ code base, has been extensively tested and used in production, and is the same code we depend on in our daily coding lives.
In some cases, Abseil provides pieces missing from the C++ standard; in others, Abseil provides alternatives to the standard for special needs we've found through usage in the Google code base. We denote those cases clearly within the library code we provide you.
diff --git a/ports/abseil/portfile.cmake b/ports/abseil/portfile.cmake
index 2619058ed..a45b31b06 100644
--- a/ports/abseil/portfile.cmake
+++ b/ports/abseil/portfile.cmake
@@ -7,8 +7,8 @@ endif()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO abseil/abseil-cpp
- REF 8f612ebb152fb7e05643a2bcf78cb89a8c0641ad
- SHA512 fa780a9a5bf68773455896e3366eb033072dc8e9142d703f20f35fb1caeeabee1cd0fd6f6a9256c13c00bfc280fcc4ac5bbbaacc6850b58babd12a449b88ae25
+ REF c2e00d341913bf03b4597ade5b056042e23e8c58
+ SHA512 60e9f0abc4ebbc356314c144b769a6918d4c5215df9f01aafb234f94756b08b670bdaf4cf88363ea4daf3bd19cb193ba6817aba70b208275d3d5d1ed2926ce9a
HEAD_REF master
)
diff --git a/ports/angle/CMakeLists.txt b/ports/angle/CMakeLists.txt
index 140b4b09a..d553c9dbb 100644
--- a/ports/angle/CMakeLists.txt
+++ b/ports/angle/CMakeLists.txt
@@ -295,6 +295,8 @@ if(NOT DISABLE_INSTALL_HEADERS)
DESTINATION include
FILES_MATCHING PATTERN "*.h"
PATTERN "GLSLANG" EXCLUDE
+ PATTERN "EGL" EXCLUDE
+ PATTERN "KHR" EXCLUDE
PATTERN "export.h" EXCLUDE
)
endif()
diff --git a/ports/angle/CONTROL b/ports/angle/CONTROL
index 12f912ac8..46e3407e8 100644
--- a/ports/angle/CONTROL
+++ b/ports/angle/CONTROL
@@ -1,4 +1,5 @@
Source: angle
-Version: 2017-06-14-8d471f-4
+Version: 2017-06-14-8d471f-5
Description: 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.
+Build-Depends: egl-registry
diff --git a/ports/assimp/CONTROL b/ports/assimp/CONTROL
index a2cb8e780..8bb6f8105 100644
--- a/ports/assimp/CONTROL
+++ b/ports/assimp/CONTROL
@@ -1,4 +1,4 @@
Source: assimp
-Version: 4.1.0-1
+Version: 4.1.0-2
Description: The Open Asset import library
Build-Depends: zlib
diff --git a/ports/assimp/portfile.cmake b/ports/assimp/portfile.cmake
index 6d4a7ec1d..66999122d 100644
--- a/ports/assimp/portfile.cmake
+++ b/ports/assimp/portfile.cmake
@@ -16,6 +16,8 @@ vcpkg_apply_patches(
)
file(REMOVE ${SOURCE_PATH}/cmake-modules/FindZLIB.cmake)
+file(REMOVE_RECURSE ${SOURCE_PATH}/contrib/zlib)
+
set(VCPKG_C_FLAGS "${VCPKG_C_FLAGS} -D_CRT_SECURE_NO_WARNINGS")
set(VCPKG_CXX_FLAGS "${VCPKG_CXX_FLAGS} -D_CRT_SECURE_NO_WARNINGS")
@@ -26,6 +28,14 @@ vcpkg_configure_cmake(
-DASSIMP_BUILD_ZLIB=OFF
-DASSIMP_BUILD_ASSIMP_TOOLS=OFF
-DASSIMP_INSTALL_PDB=OFF
+ -DZLIB_INCLUDE_DIR=${CURRENT_INSTALLED_DIR}/include
+ -DZLIB_FOUND=1
+ OPTIONS_RELEASE
+ -DZLIB_LIBRARIES=${CURRENT_INSTALLED_DIR}/lib/zlib.lib
+ -DZLIB_LIBRARY=${CURRENT_INSTALLED_DIR}/lib/zlib.lib
+ OPTIONS_DEBUG
+ -DZLIB_LIBRARIES=${CURRENT_INSTALLED_DIR}/debug/lib/zlibd.lib
+ -DZLIB_LIBRARY=${CURRENT_INSTALLED_DIR}/debug/lib/zlibd.lib
)
vcpkg_install_cmake()
@@ -40,10 +50,8 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(READ ${CURRENT_PACKAGES_DIR}/share/assimp/assimp-config.cmake ASSIMP_CONFIG)
string(REPLACE "get_filename_component(ASSIMP_ROOT_DIR \"\${_PREFIX}\" PATH)"
"set(ASSIMP_ROOT_DIR \${_PREFIX})" ASSIMP_CONFIG ${ASSIMP_CONFIG})
-string(REPLACE "assimp\${ASSIMP_LIBRARY_SUFFIX}"
- "assimp\${ASSIMP_LIBRARY_SUFFIX}.lib" ASSIMP_CONFIG ${ASSIMP_CONFIG})
string(REPLACE "set( ASSIMP_LIBRARIES \${ASSIMP_LIBRARIES})"
- "set( ASSIMP_LIBRARIES \${ASSIMP_LIBRARY_DIRS}/\${ASSIMP_LIBRARIES})" ASSIMP_CONFIG ${ASSIMP_CONFIG})
+ "set( ASSIMP_LIBRARIES optimized \${ASSIMP_LIBRARY_DIRS}/\${ASSIMP_LIBRARIES}.lib debug \${ASSIMP_LIBRARY_DIRS}/../debug/lib/\${ASSIMP_LIBRARIES}d.lib)" ASSIMP_CONFIG ${ASSIMP_CONFIG})
file(WRITE ${CURRENT_PACKAGES_DIR}/share/assimp/assimp-config.cmake "${ASSIMP_CONFIG}")
# Handle copyright
diff --git a/ports/aws-sdk-cpp/CONTROL b/ports/aws-sdk-cpp/CONTROL
index a4ddca6ce..611b1989b 100644
--- a/ports/aws-sdk-cpp/CONTROL
+++ b/ports/aws-sdk-cpp/CONTROL
@@ -1,5 +1,5 @@
Source: aws-sdk-cpp
-Version: 1.4.82
+Version: 1.5.2
Description: AWS SDK for C++
Build-Depends: openssl (!uwp&!windows), curl (!uwp&!windows)
Default-Features: dynamodb, ec2, kms, rds, s3, sns, sqs
diff --git a/ports/aws-sdk-cpp/portfile.cmake b/ports/aws-sdk-cpp/portfile.cmake
index 7e8c57a79..a6d2ac514 100644
--- a/ports/aws-sdk-cpp/portfile.cmake
+++ b/ports/aws-sdk-cpp/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO aws/aws-sdk-cpp
- REF 1.4.82
- SHA512 df6775c6f8f109900742fb92ce24b522fff04e8fe3e22ba858ade1dc5854ef5bf746cc2a491b5239b84e33ba0314ddbeffa892f7ecb548bcc2d3f53c0ffb9492
+ REF 1.5.2
+ SHA512 d157e12ff836ee1ee875755ffd96312bdad7d8ad17d3cf7b5919f01f755ba62e53366eee0d32c1f41e9da7aa678fe3349cc19dd14bbaf5f2908474d6e66d6146
HEAD_REF master
)
diff --git a/ports/boost-di/CONTROL b/ports/boost-di/CONTROL
index 60ac13ceb..29105119e 100644
--- a/ports/boost-di/CONTROL
+++ b/ports/boost-di/CONTROL
@@ -1,3 +1,3 @@
Source: boost-di
-Version: 1.0.1
+Version: 1.0.2
Description: C++14 Dependency Injection Library. \ No newline at end of file
diff --git a/ports/boost-di/portfile.cmake b/ports/boost-di/portfile.cmake
index 38a1f99bd..83ab057d1 100644
--- a/ports/boost-di/portfile.cmake
+++ b/ports/boost-di/portfile.cmake
@@ -1,11 +1,11 @@
#header-only library
include(vcpkg_common_functions)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/di-1.0.1)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/di-1.0.2)
vcpkg_download_distfile(ARCHIVE
- URLS "https://github.com/boost-experimental/di/archive/v1.0.1.tar.gz"
- FILENAME "di-1.0.1.tar.gz"
- SHA512 4e7270be51e7c8d0dcb6e0ba4bcf8e12904016086bdd59667954815f4acb03fc62447775885594a8403f5067a20b2520717fe979926d740dff0efa0c97ebf20c
+ URLS "https://github.com/boost-experimental/di/archive/v1.0.2.tar.gz"
+ FILENAME "di-1.0.2.tar.gz"
+ SHA512 1a5fc3738db2c3c18c198ce58e82a60f4f3d39fb66c9dc2b465df89da66a19ffca79eca148e68cd70c76524185ba2145e2857504a25eda4fa70ffd2f05f3be40
)
vcpkg_extract_source_archive(${ARCHIVE})
diff --git a/ports/botan/CONTROL b/ports/botan/CONTROL
index 33e47b7e8..5582c3a7a 100644
--- a/ports/botan/CONTROL
+++ b/ports/botan/CONTROL
@@ -1,3 +1,3 @@
Source: botan
-Version: 2.6.0-2
+Version: 2.8.0
Description: A cryptography library written in C++11
diff --git a/ports/botan/fix-C2338.patch b/ports/botan/fix-C2338.patch
deleted file mode 100644
index 9ef3bbd45..000000000
--- a/ports/botan/fix-C2338.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/cc/msvc.txt b/cc/msvc.txt
-index ed32a3c..9e78fff 100644
---- a/cc/msvc.txt
-+++ b/cc/msvc.txt
-@@ -10,7 +10,7 @@ add_include_dir_option "/I"
- add_lib_dir_option "/LIBPATH:"
- add_lib_option ""
-
--compile_flags "/nologo /c"
-+compile_flags "/nologo /c /D_ENABLE_EXTENDED_ALIGNED_STORAGE"
-
- optimization_flags "/O2 /Oi"
- size_optimization_flags "/O1 /Os"
diff --git a/ports/botan/portfile.cmake b/ports/botan/portfile.cmake
index 60e8e7fd6..200d00f9f 100644
--- a/ports/botan/portfile.cmake
+++ b/ports/botan/portfile.cmake
@@ -1,20 +1,13 @@
include(vcpkg_common_functions)
-set(BOTAN_VERSION 2.6.0)
-set(BOTAN_HASH 2082b4aaac0802f117a5f75c67a69e6d364b436a0ebe543032e370c3f085752bbe1ca48051462066e13bd42e47573ebc532d1d45074fe406df032f33346ee645)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/Botan-${BOTAN_VERSION})
-
-vcpkg_download_distfile(ARCHIVE
- URLS "https://botan.randombit.net/releases/Botan-${BOTAN_VERSION}.tgz"
- FILENAME "Botan-${BOTAN_VERSION}.tgz"
- SHA512 ${BOTAN_HASH}
-)
-vcpkg_extract_source_archive(${ARCHIVE})
-
-vcpkg_apply_patches(
- SOURCE_PATH ${SOURCE_PATH}/src/build-data
- PATCHES
- ${CMAKE_CURRENT_LIST_DIR}/fix-C2338.patch
+set(BOTAN_VERSION 2.8.0)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO randombit/botan
+ REF cb14e9ce95bcaae2ada7ffe96ef0cce6a2b38593
+ SHA512 3d8fbf1c65e2b0259f225db46ffa4a7eb989a518b230574e94f82dc13afd7dc32cfe6a8a0127e7dd0dea30e06f3946db78db50e107937382eff8ed823e996dc3
+ HEAD_REF master
)
vcpkg_find_acquire_program(JOM)
diff --git a/ports/breakpad/CMakeLists.txt b/ports/breakpad/CMakeLists.txt
index f4c19cb8c..01c949251 100644
--- a/ports/breakpad/CMakeLists.txt
+++ b/ports/breakpad/CMakeLists.txt
@@ -1,6 +1,9 @@
cmake_minimum_required(VERSION 3.8)
project(breakpad CXX)
+set(CMAKE_CXX_STANDARD 11)
+set(CMAKE_CXX_STANDARD_REQUIRED ON)
+
add_definitions(
-DNOMINMAX
-DUNICODE
@@ -8,21 +11,22 @@ add_definitions(
-D_CRT_SECURE_NO_WARNINGS
-D_CRT_SECURE_NO_DEPRECATE
-D_CRT_NONSTDC_NO_DEPRECATE
+ -D_LIBCPP_VERSION
)
set(CMAKE_DEBUG_POSTFIX d)
-set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
string(COMPARE EQUAL "${CMAKE_BUILD_TYPE}" "Release" DEFAULT_INSTALL_HEADERS)
option(INSTALL_HEADERS "Install header files" ${DEFAULT_INSTALL_HEADERS})
-file(GLOB_RECURSE SOURCES src/processor/*.cc)
-list(FILTER SOURCES EXCLUDE REGEX
+# libbreakpad target
+file(GLOB_RECURSE LIBBREAKPAD_SOURCES src/processor/*.cc)
+list(FILTER LIBBREAKPAD_SOURCES EXCLUDE REGEX
"_unittest|synth_minidump|/tests|/testdata|/linux|/mac|/android|/solaris|microdump_stackwalk|minidump_dump|minidump_stackwalk")
find_library(LIBDISASM_LIB NAMES libdisasmd libdisasm)
-add_library(libbreakpad ${SOURCES})
+add_library(libbreakpad ${LIBBREAKPAD_SOURCES})
target_link_libraries(libbreakpad PRIVATE ${LIBDISASM_LIB})
target_include_directories(libbreakpad
@@ -31,14 +35,58 @@ target_include_directories(libbreakpad
$<INSTALL_INTERFACE:include>
)
-install(TARGETS libbreakpad EXPORT unofficial-breakpad-targets
+set(TARGETS libbreakpad)
+if(WIN32)
+ # libbreakpad_client target does not currently work on non-windows
+ if(WIN32)
+ file(GLOB_RECURSE LIBBREAKPAD_CLIENT_SOURCES src/client/windows/*.cc src/common/windows/*.cc)
+ include_directories("$ENV{VSINSTALLDIR}/DIA SDK/include")
+ elseif(APPLE)
+ add_definitions(-DHAVE_MACH_O_NLIST_H)
+ file(GLOB_RECURSE LIBBREAKPAD_CLIENT_SOURCES src/client/mac/*.cc src/common/mac/*.cc)
+ else()
+ add_definitions(-DHAVE_A_OUT_H)
+ file(GLOB_RECURSE LIBBREAKPAD_CLIENT_SOURCES src/client/linux/*.cc src/common/linux/*.cc)
+ endif()
+ file(GLOB LIBBREAKPAD_COMMON_SOURCES src/common/*.cc src/common/*.c src/client/*.cc)
+ list(APPEND LIBBREAKPAD_CLIENT_SOURCES ${LIBBREAKPAD_COMMON_SOURCES})
+ list(FILTER LIBBREAKPAD_CLIENT_SOURCES EXCLUDE REGEX "/tests|/unittests|_unittest")
+ if(WIN32)
+ list(FILTER LIBBREAKPAD_CLIENT_SOURCES EXCLUDE REGEX "language.cc|path_helper.cc|stabs_to_module.cc|stabs_reader.cc|minidump_file_writer.cc")
+ endif()
+
+ add_library(libbreakpad_client ${LIBBREAKPAD_CLIENT_SOURCES})
+ target_link_libraries(libbreakpad_client PRIVATE wininet.lib)
+
+ target_include_directories(libbreakpad_client
+ PUBLIC
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src>
+ $<INSTALL_INTERFACE:include>
+ )
+ list(APPEND TARGETS libbreakpad_client)
+endif()
+
+# installation
+install(TARGETS ${TARGETS} EXPORT unofficial-breakpad-targets
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
)
if(INSTALL_HEADERS)
- install(DIRECTORY src/google_breakpad DESTINATION include)
+ if(WIN32)
+ set(HEADER_EXCLUDE_REGEX "/apple|/ios|/linux|/mac|/solaris|/android|/dwarf|/tests|/testdata|/unittests")
+ elseif(APPLE)
+ set(HEADER_EXCLUDE_REGEX "/apple|/ios|/linux|/windows|/solaris|/android|/dwarf|/tests|/testdata|/unittests")
+ else()
+ set(HEADER_EXCLUDE_REGEX "/apple|/ios|/client/linux/data|/client/linux/sender|/windows|/mac|/solaris|/android|/dwarf|/tests|/testdata|/unittests")
+ endif()
+ install(
+ DIRECTORY src/client src/common src/google_breakpad
+ DESTINATION include/
+ FILES_MATCHING PATTERN "*.h"
+ REGEX "${HEADER_EXCLUDE_REGEX}" EXCLUDE
+ )
endif()
install(
diff --git a/ports/breakpad/CONTROL b/ports/breakpad/CONTROL
index 0d67ef9e8..190d48875 100644
--- a/ports/breakpad/CONTROL
+++ b/ports/breakpad/CONTROL
@@ -1,4 +1,4 @@
Source: breakpad
-Version: 2018-07-08
+Version: 2018-07-30-2
Build-Depends: libdisasm
Description: a set of client and server components which implement a crash-reporting system.
diff --git a/ports/breakpad/portfile.cmake b/ports/breakpad/portfile.cmake
index bceb6347a..b5f2959fe 100644
--- a/ports/breakpad/portfile.cmake
+++ b/ports/breakpad/portfile.cmake
@@ -1,10 +1,12 @@
include(vcpkg_common_functions)
+vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO google/breakpad
- REF 89e7a8615f3d39c802ce27c21ce62646f10291ef
- SHA512 2acd70890d6fb231296bc9218859570859fb018e823f31942cf9523ac8ef2be8940ba1bf257d5ab8596189e7d61ac7abfc50039bf8ab410573f60ba8a591df09
+ REF 9fecc95c72549452959431ddc0e4ec4e0cda8689
+ SHA512 b579c4f7058cfd86df343e41496c0d4fc0fb1160bf239fab9cfecfd3d60108367f43f1788d744a9d813d585e8a05e06adf90b01d619448a262522a969d8d5054
HEAD_REF master
)
diff --git a/ports/bzip2/portfile.cmake b/ports/bzip2/portfile.cmake
index d4dd18fd5..76b0553e2 100644
--- a/ports/bzip2/portfile.cmake
+++ b/ports/bzip2/portfile.cmake
@@ -2,7 +2,7 @@
include(vcpkg_common_functions)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/bzip2-1.0.6)
vcpkg_download_distfile(ARCHIVE
- URLS "http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz"
+ URLS "https://github.com/past-due/bzip2-mirror/releases/download/v1.0.6/bzip2-1.0.6.tar.gz" "http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz"
FILENAME "bzip2-1.0.6.tar.gz"
SHA512 00ace5438cfa0c577e5f578d8a808613187eff5217c35164ffe044fbafdfec9e98f4192c02a7d67e01e5a5ccced630583ad1003c37697219b0f147343a3fdd12)
diff --git a/ports/caffe2/portfile.cmake b/ports/caffe2/portfile.cmake
index d2770f338..fa87542ed 100644
--- a/ports/caffe2/portfile.cmake
+++ b/ports/caffe2/portfile.cmake
@@ -62,7 +62,7 @@ vcpkg_configure_cmake(
-DUSE_SNPE=OFF
-DUSE_ZMQ=OFF
-DBUILD_TEST=OFF
- -DPROTOBUF_PROTOC_EXECUTABLE:FILEPATH=${CURRENT_INSTALLED_DIR}/tools/protoc.exe
+ -DPROTOBUF_PROTOC_EXECUTABLE:FILEPATH=${CURRENT_INSTALLED_DIR}/tools/protobuf/protoc.exe
)
vcpkg_install_cmake()
diff --git a/ports/cairo/0001_fix_osx_defined.patch b/ports/cairo/0001_fix_osx_defined.patch
new file mode 100644
index 000000000..7365dcce2
--- /dev/null
+++ b/ports/cairo/0001_fix_osx_defined.patch
@@ -0,0 +1,13 @@
+diff --git a/src/cairo-ft-font.c b/src/cairo-ft-font.c
+index 3b308757..36700ff0 100644
+--- a/src/cairo-ft-font.c
++++ b/src/cairo-ft-font.c
+@@ -67,7 +67,7 @@
+ #include FT_LCD_FILTER_H
+ #endif
+
+-#if HAVE_UNISTD_H
++#if defined(HAVE_UNISTD_H)
+ #include <unistd.h>
+ #else
+ #define access(p, m) 0
diff --git a/ports/cairo/CMakeLists.txt b/ports/cairo/CMakeLists.txt
index 692c29cd5..5ace57604 100644
--- a/ports/cairo/CMakeLists.txt
+++ b/ports/cairo/CMakeLists.txt
@@ -2,7 +2,10 @@ cmake_minimum_required(VERSION 3.0)
project(cairo C)
# Add include directories
-include_directories("." "./win32")
+include_directories(".")
+if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
+ include_directories("./win32")
+endif()
file(GLOB SOURCES
"cairo-analysis-surface.c"
@@ -112,15 +115,6 @@ file(GLOB SOURCES
"cairo-user-font.c"
"cairo-version.c"
"cairo-wideint.c"
-# win32
-"win32/cairo-win32-debug.c"
-"win32/cairo-win32-device.c"
-"win32/cairo-win32-gdi-compositor.c"
-"win32/cairo-win32-system.c"
-"win32/cairo-win32-surface.c"
-"win32/cairo-win32-display-surface.c"
-"win32/cairo-win32-printing-surface.c"
-"win32/cairo-win32-font.c"
# generic font support
"cairo-cff-subset.c"
"cairo-scaled-font-subsets.c"
@@ -148,6 +142,22 @@ file(GLOB SOURCES
"cairo-ft-font.c"
)
+# win32
+file(GLOB PLATFORM_SOURCES_WIN32
+"win32/cairo-win32-debug.c"
+"win32/cairo-win32-device.c"
+"win32/cairo-win32-gdi-compositor.c"
+"win32/cairo-win32-system.c"
+"win32/cairo-win32-surface.c"
+"win32/cairo-win32-display-surface.c"
+"win32/cairo-win32-printing-surface.c"
+"win32/cairo-win32-font.c"
+)
+
+if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
+ list(APPEND SOURCES ${PLATFORM_SOURCES_WIN32})
+endif()
+
set(CMAKE_DEBUG_POSTFIX "d")
find_package(ZLIB REQUIRED)
@@ -172,10 +182,27 @@ add_definitions(
# Find FontConfig
find_library(FONTCONFIG_LIBRARY fontconfig)
+# additional features for macOS
+if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
+ add_definitions(
+ -DHAVE_INTTYPES_H=1
+ -DHAVE_STDINT_H=1
+ -DHAVE_SYS_TYPES_H=1
+ -DHAVE_UINT64_T=1
+ -DHAVE_UNISTD_H=1
+ -DCAIRO_HAS_PTHREAD=1
+ -DCAIRO_HAS_REAL_PTHREAD=1)
+endif()
+
add_library(cairo ${SOURCES})
-# cairo produces a lot of warnings which are disabled here because they otherwise fill up the log files
-target_compile_options(cairo PUBLIC "/wd4244" PUBLIC "/wd4146" PUBLIC "/wd4312" PUBLIC "/wd4267"
- PUBLIC "/wd4996" PUBLIC "/wd4311" PUBLIC "/wd4334" PUBLIC "/wd4101")
+
+if(MSVC)
+ # cairo produces a lot of warnings which are disabled here because they otherwise fill up the log files
+ # NOTE: options only available to MSVC, clang in macOS doesn't understand these flags
+ target_compile_options(cairo PUBLIC "/wd4244" PUBLIC "/wd4146" PUBLIC "/wd4312" PUBLIC "/wd4267"
+ PUBLIC "/wd4996" PUBLIC "/wd4311" PUBLIC "/wd4334" PUBLIC "/wd4101")
+endif()
+
target_link_libraries(cairo gdi32 msimg32 user32 ZLIB::ZLIB PNG::PNG freetype ${PIXMAN_LIBRARY} ${FONTCONFIG_LIBRARY})
install(TARGETS cairo
diff --git a/ports/cairo/CONTROL b/ports/cairo/CONTROL
index 80269f5a7..eb1964c8a 100644
--- a/ports/cairo/CONTROL
+++ b/ports/cairo/CONTROL
@@ -1,4 +1,4 @@
Source: cairo
-Version: 1.15.8-1
+Version: 1.15.8-2
Description: Cairo is a 2D graphics library with support for multiple output devices. Currently supported output targets include the X Window System (via both Xlib and XCB), Quartz, Win32, image buffers, PostScript, PDF, and SVG file output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.
Build-Depends: zlib, libpng, pixman, glib, freetype, fontconfig
diff --git a/ports/cairo/portfile.cmake b/ports/cairo/portfile.cmake
index 6fb0e7ce8..bc74654d0 100644
--- a/ports/cairo/portfile.cmake
+++ b/ports/cairo/portfile.cmake
@@ -19,6 +19,7 @@ vcpkg_extract_source_archive(${ARCHIVE})
vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
PATCHES "${CMAKE_CURRENT_LIST_DIR}/export-only-in-shared-build.patch"
+ "${CMAKE_CURRENT_LIST_DIR}/0001_fix_osx_defined.patch"
)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}/src)
diff --git a/ports/catch2/CONTROL b/ports/catch2/CONTROL
index 6cefca9db..41b534b59 100644
--- a/ports/catch2/CONTROL
+++ b/ports/catch2/CONTROL
@@ -1,4 +1,4 @@
Source: catch2
-Version: 2.2.3
+Version: 2.3.0
Description: A modern, header-only test framework for unit testing.
Issues, PRs and changelogs can be found at https://github.com/catchorg/Catch2
diff --git a/ports/catch2/portfile.cmake b/ports/catch2/portfile.cmake
index d3c4cee03..763ee1987 100644
--- a/ports/catch2/portfile.cmake
+++ b/ports/catch2/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO catchorg/Catch2
- REF v2.2.3
- SHA512 d065d5797045ce85f576977f78cbdc77a1e8ab820e164aafd91d305aa10a29f7f306734d484714ec05078858457d0a17a57a6246166da3c8f3c708a23a2adc46
+ REF v2.3.0
+ SHA512 e9a089b504c339e87bda0fb1a4040d9d19c932a4bc7dca41bdad6edfcf8c428f4152ff1e0c898dfdf6b20bd5d901c343bed00ad89351fa5182f3c106e0fb4b03
HEAD_REF master
)
@@ -22,9 +22,9 @@ vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/Catch2 TARGET_PATH share/catch2)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib)
-if(NOT EXISTS ${CURRENT_PACKAGES_DIR}/include/catch/catch.hpp)
+if(NOT EXISTS ${CURRENT_PACKAGES_DIR}/include/catch2/catch.hpp)
message(FATAL_ERROR "Main includes have moved. Please update the forwarder.")
endif()
-file(WRITE ${CURRENT_PACKAGES_DIR}/include/catch.hpp "#include <catch/catch.hpp>")
+file(WRITE ${CURRENT_PACKAGES_DIR}/include/catch.hpp "#include <catch2/catch.hpp>")
file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/catch2 RENAME copyright)
diff --git a/ports/celero/CONTROL b/ports/celero/CONTROL
index 624507769..43973721e 100644
--- a/ports/celero/CONTROL
+++ b/ports/celero/CONTROL
@@ -1,3 +1,3 @@
Source: celero
-Version: 2.2.0
+Version: 2.3.0-1
Description: Celero is a modern cross-platform (Windows, Linux, MacOS) Microbenchmarking library for C++.
diff --git a/ports/celero/portfile.cmake b/ports/celero/portfile.cmake
index 0800115ec..8c0bdbbb6 100644
--- a/ports/celero/portfile.cmake
+++ b/ports/celero/portfile.cmake
@@ -1,18 +1,15 @@
include(vcpkg_common_functions)
-if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
- message(STATUS "Celero currently can only be built statically")
- set(VCPKG_LIBRARY_LINKAGE static)
-endif()
-
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO DigitalInBlue/Celero
- REF v2.2.0
- SHA512 6fac1fa949b18caabf59f3675c6e592cfadc3efa5e674b1f8b183e728ec880a4f5616d5d41c97f8fc26ef9520284188f519b7634209d0a56fb38a6993a9e9680
+ REF v2.3.0
+ SHA512 bc145f9823b1e4bc03f13da9b9af986d6cc151b1edfc01384c4e90bcf0488f867ec2bdc39733f263c7ddda526645dd11a7c6051c73eb8657bc4442b448732242
HEAD_REF master
)
+string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" CELERO_COMPILE_DYNAMIC_LIBRARIES)
+
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA # Disable this option if project cannot be built with Ninja
@@ -20,6 +17,7 @@ vcpkg_configure_cmake(
-DCELERO_ENABLE_EXPERIMENTS=OFF
-DCELERO_ENABLE_TESTS=OFF
-DCELERO_RUN_EXAMPLE_ON_BUILD=OFF
+ -DCELERO_COMPILE_DYNAMIC_LIBRARIES=${CELERO_COMPILE_DYNAMIC_LIBRARIES}
)
vcpkg_install_cmake()
diff --git a/ports/chakracore/CONTROL b/ports/chakracore/CONTROL
index f1093bad5..07b9ade32 100644
--- a/ports/chakracore/CONTROL
+++ b/ports/chakracore/CONTROL
@@ -1,3 +1,3 @@
Source: chakracore
-Version: 1.10.0
+Version: 1.10.1
Description: Core part of the Chakra Javascript engine
diff --git a/ports/chakracore/portfile.cmake b/ports/chakracore/portfile.cmake
index 97442e354..6a40f4663 100644
--- a/ports/chakracore/portfile.cmake
+++ b/ports/chakracore/portfile.cmake
@@ -15,8 +15,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Microsoft/ChakraCore
- REF v1.10.0
- SHA512 7bf8abe425ba35d31afff467bbfc0a1b44ceb5a66460f399ea3860d40233ccba9b70a380309a395ed028e876473a546baee49b4da5974798d97d129f8612f8f2
+ REF v1.10.1
+ SHA512 e3a9a9e6506b603922e5a5ed1fb900d43dfd6c8e5e091e12bf902dbe58cd12753e6b7f59a895081cea880eb78bcc55571ee561fe03c96d6312608626a5b653f2
HEAD_REF master
)
diff --git a/ports/check/CONTROL b/ports/check/CONTROL
new file mode 100644
index 000000000..4627d0422
--- /dev/null
+++ b/ports/check/CONTROL
@@ -0,0 +1,3 @@
+Source: check
+Version: 0.12.0-1
+Description: A unit testing framework for C
diff --git a/ports/check/portfile.cmake b/ports/check/portfile.cmake
new file mode 100644
index 000000000..1713a39a9
--- /dev/null
+++ b/ports/check/portfile.cmake
@@ -0,0 +1,26 @@
+include(vcpkg_common_functions)
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO libcheck/check
+ REF 0.12.0
+ SHA512 f7b6452b69f999a90e86a8582d980c0c1b74ba5629ee34455724463ba62bfe3501ad0415aa771170f5c638a7a253f123bf87cbef25aadc6569a7a3a4d10fce90
+ HEAD_REF master
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA # Disable this option if project cannot be built with Ninja
+)
+
+vcpkg_install_cmake()
+
+file(RENAME ${CURRENT_PACKAGES_DIR}/cmake/check.cmake ${CURRENT_PACKAGES_DIR}/cmake/check-config.cmake)
+vcpkg_fixup_cmake_targets(CONFIG_PATH cmake)
+
+# cleanup
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share)
+
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/COPYING.LESSER DESTINATION ${CURRENT_PACKAGES_DIR}/share/check RENAME copyright)
+
+vcpkg_copy_pdbs()
diff --git a/ports/cpprestsdk/CONTROL b/ports/cpprestsdk/CONTROL
index 7e6dbc0d1..cd52abbbf 100644
--- a/ports/cpprestsdk/CONTROL
+++ b/ports/cpprestsdk/CONTROL
@@ -1,5 +1,5 @@
Source: cpprestsdk
-Version: 2.10.2-1
+Version: 2.10.3-1
Build-Depends: zlib, openssl (!uwp), boost-system (!uwp), boost-date-time (!uwp), boost-regex (!uwp), websocketpp (!uwp), boost-thread (!uwp&!windows), boost-filesystem (!uwp&!windows), boost-random (!uwp&!windows), boost-chrono (!uwp&!windows)
Description: C++11 JSON, REST, and OAuth library
The C++ REST SDK is a Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design. This project aims to help C++ developers connect to and interact with services.
diff --git a/ports/cpprestsdk/portfile.cmake b/ports/cpprestsdk/portfile.cmake
index 46686bb0a..5a26487c5 100644
--- a/ports/cpprestsdk/portfile.cmake
+++ b/ports/cpprestsdk/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Microsoft/cpprestsdk
- REF v2.10.2
- SHA512 267a928f770a668874f9b7e381e8977ffa3478c9292df4ed93d4235d20f0e89b1bfe4cfc82945d3f28fe2746a4fe6089009c4839dac5db130494bb3a395dd198
+ REF v2.10.3
+ SHA512 0003d1230f7f26424b71f705fd95c3907b60ac0d574ef6199081a8edd385d1469f405cf973c074fe6a4fc71f585e5e42862940d285ba575075dec4cb27774c36
HEAD_REF master
)
diff --git a/ports/curl/0005_winssl_http2.patch b/ports/curl/0005_winssl_http2.patch
deleted file mode 100644
index 0a7ca6f53..000000000
--- a/ports/curl/0005_winssl_http2.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index bf25b1f79..dac74d7f7 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -1104,12 +1104,17 @@ include(CMake/OtherTests.cmake)
-
- add_definitions(-DHAVE_CONFIG_H)
-
--# For windows, all compilers used by cmake should support large files
-+# For Windows, all compilers used by CMake should support large files
- if(WIN32)
- set(USE_WIN32_LARGE_FILES ON)
-+
-+ # Use the manifest embedded in the Windows Resource
-+ set(CMAKE_RC_FLAGS "${CMAKE_RC_FLAGS} -DCURL_EMBED_MANIFEST")
- endif(WIN32)
-
- if(MSVC)
-+ # Disable default manifest added by CMake
-+ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /MANIFEST:NO")
- add_definitions(-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE)
- if(CMAKE_C_FLAGS MATCHES "/W[0-4]")
- string(REGEX REPLACE "/W[0-4]" "/W4" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
-diff --git a/src/curl.rc b/src/curl.rc
-index 5f49d2236..f54c4b234 100644
---- a/src/curl.rc
-+++ b/src/curl.rc
-@@ -61,3 +61,51 @@ BEGIN
- VALUE "Translation", 0x409, 1200
- END
- END
-+
-+/* Manifest */
-+
-+#if defined(CURL_EMBED_MANIFEST)
-+
-+/* String escaping rules:
-+ https://msdn.microsoft.com/library/aa381050
-+ Application Manifest doc, including the list of 'supportedOS Id's:
-+ https://msdn.microsoft.com/library/aa374191 */
-+
-+#ifndef CREATEPROCESS_MANIFEST_RESOURCE_ID
-+#define CREATEPROCESS_MANIFEST_RESOURCE_ID 1
-+#endif
-+#ifndef RT_MANIFEST
-+#define RT_MANIFEST 24
-+#endif
-+
-+#define _STR(macro) _STR_(macro)
-+#define _STR_(macro) #macro
-+
-+CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST
-+BEGIN
-+ "<?xml version=""1.0"" encoding=""UTF-8"" standalone=""yes""?>"
-+ "<assembly xmlns=""urn:schemas-microsoft-com:asm.v1"" manifestVersion=""1.0"">"
-+ "<assemblyIdentity name=""The curl executable"" version="""
-+ _STR(LIBCURL_VERSION_MAJOR) "."
-+ _STR(LIBCURL_VERSION_MINOR) "."
-+ _STR(LIBCURL_VERSION_PATCH) ".0"" type=""win32""/>"
-+ "<compatibility xmlns=""urn:schemas-microsoft-com:compatibility.v1"">"
-+ "<application>"
-+ "<supportedOS Id=""{e2011457-1546-43c5-a5fe-008deee3d3f0}""/>" /* Vista / Server 2008 */
-+ "<supportedOS Id=""{35138b9a-5d96-4fbd-8e2d-a2440225f93a}""/>" /* 7 / Server 2008 R2 */
-+ "<supportedOS Id=""{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}""/>" /* 8 / Server 2012 */
-+ "<supportedOS Id=""{1f676c76-80e1-4239-95bb-83d0f6d0da78}""/>" /* 8.1 / Server 2012 R2 */
-+ "<supportedOS Id=""{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}""/>" /* 10 / Server 2016 */
-+ "</application>"
-+ "</compatibility>"
-+ "<trustInfo xmlns=""urn:schemas-microsoft-com:asm.v3"">"
-+ "<security>"
-+ "<requestedPrivileges>"
-+ "<requestedExecutionLevel level=""asInvoker"" uiAccess=""false""/>"
-+ "</requestedPrivileges>"
-+ "</security>"
-+ "</trustInfo>"
-+ "</assembly>"
-+END
-+
-+#endif
diff --git a/ports/curl/CONTROL b/ports/curl/CONTROL
index f54c6c643..59eaaf095 100644
--- a/ports/curl/CONTROL
+++ b/ports/curl/CONTROL
@@ -1,5 +1,5 @@
Source: curl
-Version: 7.60.0-2
+Version: 7.61.0
Build-Depends: zlib
Description: A library for transferring data with URLs
Default-Features: ssl
diff --git a/ports/curl/portfile.cmake b/ports/curl/portfile.cmake
index 8f6d70917..075f9856e 100644
--- a/ports/curl/portfile.cmake
+++ b/ports/curl/portfile.cmake
@@ -2,8 +2,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO curl/curl
- REF curl-7_60_0
- SHA512 876ca211d40887f36f77661235d3875bdd3fe210f131c8bd1025bd8c9ca3144a9ac23247067675a3e30385427748c51d0d54250cc2bb4a2ae0c3a9b9428b0e66
+ REF curl-7_61_0
+ SHA512 b6d2f57059e72139540cb93b945703857cb447920ed9b283993611453fed623432290adc5a3558181e3decc15c7cf54fff475010d922957807a37d1a1449be6c
HEAD_REF master
)
@@ -14,7 +14,6 @@ vcpkg_apply_patches(
${CMAKE_CURRENT_LIST_DIR}/0002_fix_uwp.patch
${CMAKE_CURRENT_LIST_DIR}/0003_fix_libraries.patch
${CMAKE_CURRENT_LIST_DIR}/0004_nghttp2_staticlib.patch
- ${CMAKE_CURRENT_LIST_DIR}/0005_winssl_http2.patch
)
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" CURL_STATICLIB)
diff --git a/ports/cxxopts/CONTROL b/ports/cxxopts/CONTROL
index 98d31cc4c..915124fb9 100644
--- a/ports/cxxopts/CONTROL
+++ b/ports/cxxopts/CONTROL
@@ -1,3 +1,3 @@
Source: cxxopts
-Version: 2.1.0
+Version: 2.1.0-1
Description: This is a lightweight C++ option parser library, supporting the standard GNU style syntax for options
diff --git a/ports/cxxopts/portfile.cmake b/ports/cxxopts/portfile.cmake
index e3c9f6c27..40d240b37 100644
--- a/ports/cxxopts/portfile.cmake
+++ b/ports/cxxopts/portfile.cmake
@@ -6,6 +6,18 @@ vcpkg_from_github(
SHA512 b3549bb36fd3cb27b30a7164992ce19ddf129e7ee071956d58047101e4181cd9f08c8dd4c5e2d5499628deeb52a40bbc2fecfe68e9875c07396e6b7434161603
HEAD_REF master
)
-file(INSTALL ${SOURCE_PATH}/include/cxxopts.hpp DESTINATION ${CURRENT_PACKAGES_DIR}/include)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DCXXOPTS_BUILD_EXAMPLES=OFF
+)
+
+vcpkg_install_cmake()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/cxxopts TARGET_PATH share/cxxopts)
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib)
+
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/cxxopts RENAME copyright)
-vcpkg_copy_pdbs()
diff --git a/ports/dcmtk/CONTROL b/ports/dcmtk/CONTROL
new file mode 100644
index 000000000..2ef092eba
--- /dev/null
+++ b/ports/dcmtk/CONTROL
@@ -0,0 +1,3 @@
+Source: dcmtk
+Version: 3.6.3
+Description: This DICOM ToolKit (DCMTK) package consists of source code, documentation and installation instructions for a set of software libraries and applications implementing part of the DICOM/MEDICOM Standard.
diff --git a/ports/dcmtk/dcmtk.patch b/ports/dcmtk/dcmtk.patch
new file mode 100644
index 000000000..c25a8db7b
--- /dev/null
+++ b/ports/dcmtk/dcmtk.patch
@@ -0,0 +1,15 @@
+diff --git "a/CMake/dcmtkPrepare.cmake" "b/CMake/dcmtkPrepare.cmake"
+--- a/CMake/dcmtkPrepare.cmake 2018-02-05 12:58:13.000000000 -0500
++++ b/CMake/dcmtkPrepare.cmake 2018-04-25 15:07:12.927851000 -0400
+@@ -192,9 +192,9 @@
+ # CMake's files (DCMTKTarget.cmake, DCMTKConfigVersion.cmake and DCMTKConfig.cmake) are installed
+ # to different installation paths under Unix- and Windows-based systems
+ IF(UNIX)
+- SET(DCMTK_INSTALL_CMKDIR "${CMAKE_INSTALL_LIBDIR}/cmake/dcmtk")
++ SET(DCMTK_INSTALL_CMKDIR "share/dcmtk")
+ ELSEIF(WIN32)
+- SET(DCMTK_INSTALL_CMKDIR "cmake")
++ SET(DCMTK_INSTALL_CMKDIR "share/dcmtk")
+ ENDIF(UNIX)
+
+ #-----------------------------------------------------------------------------
diff --git a/ports/dcmtk/portfile.cmake b/ports/dcmtk/portfile.cmake
new file mode 100644
index 000000000..f93c3f408
--- /dev/null
+++ b/ports/dcmtk/portfile.cmake
@@ -0,0 +1,49 @@
+include(vcpkg_common_functions)
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
+ message("DCMTK only supports static library linkage")
+ set(VCPKG_LIBRARY_LINKAGE static)
+endif()
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO DCMTK/dcmtk
+ REF DCMTK-3.6.3
+ SHA512 5863d0c05f046075b998bced7c8c71bf8e969dd366f26d48cdf26012ea744ae4a22784a5c3c12e12b0f188e997c93a6890ef0c3c336865ea93f13c45f70b258d
+ HEAD_REF master
+ PATCHES ${CMAKE_CURRENT_LIST_DIR}/dcmtk.patch
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DDCMTK_WITH_DOXYGEN=OFF
+ -DDCMTK_WITH_ZLIB=OFF
+ -DDCMTK_WITH_OPENSSL=OFF
+ -DDCMTK_WITH_PNG=OFF
+ -DDCMTK_WITH_TIFF=OFF
+ -DDCMTK_WITH_XML=OFF
+ -DDCMTK_WITH_ICONV=OFF
+ -DDCMTK_FORCE_FPIC_ON_UNIX=ON
+ -DDCMTK_OVERWRITE_WIN32_COMPILER_FLAGS=OFF
+ -DDCMTK_ENABLE_BUILTIN_DICTIONARY=ON
+ -DDCMTK_ENABLE_PRIVATE_TAGS=ON
+ -DBUILD_APPS=OFF
+ -DDCMTK_ENABLE_CXX11=ON
+ -DCMAKE_DEBUG_POSTFIX="d"
+ OPTIONS_DEBUG
+ -DINSTALL_HEADERS=OFF
+ -DINSTALL_OTHER=OFF
+)
+
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+
+vcpkg_fixup_cmake_targets()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/COPYRIGHT DESTINATION ${CURRENT_PACKAGES_DIR}/share/dcmtk RENAME copyright)
diff --git a/ports/dlib/CONTROL b/ports/dlib/CONTROL
index 8b9759381..4b7b820d1 100644
--- a/ports/dlib/CONTROL
+++ b/ports/dlib/CONTROL
@@ -1,5 +1,5 @@
Source: dlib
-Version: 19.14
+Version: 19.15
Build-Depends: libjpeg-turbo, libpng, sqlite3, fftw3, openblas, clapack
Description: Modern C++ toolkit containing machine learning algorithms and tools for creating complex software in C++
diff --git a/ports/dlib/portfile.cmake b/ports/dlib/portfile.cmake
index 7d3d82e73..613b5d673 100644
--- a/ports/dlib/portfile.cmake
+++ b/ports/dlib/portfile.cmake
@@ -8,8 +8,8 @@ endif()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO davisking/dlib
- REF v19.14
- SHA512 ef4f7b109112c12cecf35543ff81c5d7c7a1f0cadca53eb6302f58329b875af3fa95f3da002e4d66e2d9f4b81256245b016e97b3e3c90f0bfcb94568328175ca
+ REF v19.15
+ SHA512 e815d4cd3cf75de4bf3df25597f1b13e831129b8e780909194be05bde4c811792886e7370980edf0fe294aa1ad7a69ba9b9ca729e05713d3ee4f6aa4236baaf7
HEAD_REF master
)
diff --git a/ports/eigen3/CONTROL b/ports/eigen3/CONTROL
index fe0641a98..0b048eaa1 100644
--- a/ports/eigen3/CONTROL
+++ b/ports/eigen3/CONTROL
@@ -1,3 +1,3 @@
Source: eigen3
-Version: 3.3.4-2
+Version: 3.3.5
Description: C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.
diff --git a/ports/eigen3/portfile.cmake b/ports/eigen3/portfile.cmake
index 376e6c10d..4e32d4e10 100644
--- a/ports/eigen3/portfile.cmake
+++ b/ports/eigen3/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO eigenteam/eigen-git-mirror
- REF 3.3.4
- SHA512 da3f96ef65c64031bed5311d4ad95cd668f2facb3439bb1f4ecea10ce7cf881daf9d053567fe4ebb50626ab4dbb975d1f74bd632626c688898a97064f99a8f59
+ REF 3.3.5
+ SHA512 398d864bb3c12be9b1d7081bac1343d54b1edf65f165be54814794cd8d36c35035340384a97ad203e5295d466445dfbad4225d86748c8d31c322948de9a33a3f
HEAD_REF master
)
diff --git a/ports/exiv2/CONTROL b/ports/exiv2/CONTROL
index af7819462..e96c322ec 100644
--- a/ports/exiv2/CONTROL
+++ b/ports/exiv2/CONTROL
@@ -1,4 +1,4 @@
Source: exiv2
-Version: 2018-07-08
+Version: 2018-07-30
Build-Depends: zlib, expat, libiconv
Description: Image metadata library and tools http://www.exiv2.org
diff --git a/ports/exiv2/portfile.cmake b/ports/exiv2/portfile.cmake
index 718995069..54a071f19 100644
--- a/ports/exiv2/portfile.cmake
+++ b/ports/exiv2/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Exiv2/exiv2
- REF 33c0416bc8bf2c519cf546a457caa8b456c5a533
- SHA512 002e0ba41d2f3073cd3fb1f5439164773fe97390c562eceefceff21624792a2d720aecb446e89e92966ae80de7541416bdda44cc988bb84991d90c84dc5fec6d
+ REF e67910a6691f5238e85d5a43477af7dd13f0574e
+ SHA512 6f7fddf25fd7c557911678f009412986df959dd32594b66d81524ae666fc260f5ba9df461eab3ad8e7f1cad939e355be7e0801f1e6ee275e9eddfc53961ad0ab
HEAD_REF master
PATCHES "${CMAKE_CURRENT_LIST_DIR}/iconv.patch"
)
diff --git a/ports/fastrtps/CONTROL b/ports/fastrtps/CONTROL
index edbe4b7d4..97748211c 100644
--- a/ports/fastrtps/CONTROL
+++ b/ports/fastrtps/CONTROL
@@ -1,4 +1,4 @@
Source: fastrtps
-Version: 1.5.0
+Version: 1.5.0-1
Description: Eprosima Fast RTPS is a C++ implementation of the RTPS (Real Time Publish Subscribe) protocol, which provides publisher-subscriber communications over unreliable transports such as UDP, as defined and maintained by the Object Management Group (OMG) consortium.
Build-Depends: openssl, asio, tinyxml2 \ No newline at end of file
diff --git a/ports/fastrtps/portfile.cmake b/ports/fastrtps/portfile.cmake
index 855d9f8b5..0dce8ed73 100644
--- a/ports/fastrtps/portfile.cmake
+++ b/ports/fastrtps/portfile.cmake
@@ -21,12 +21,13 @@ vcpkg_configure_cmake(
vcpkg_install_cmake()
vcpkg_copy_pdbs()
-file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share)
-file(COPY ${CURRENT_PACKAGES_DIR}/lib/fastrtps DESTINATION ${CURRENT_PACKAGES_DIR}/share)
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/fastrtps/cmake)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/examples)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/LICENSE)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/examples)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/fastrtps)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/fastrtps)
file(RENAME ${CURRENT_PACKAGES_DIR}/LICENSE ${CURRENT_PACKAGES_DIR}/share/fastrtps/copyright)
diff --git a/ports/folly/CONTROL b/ports/folly/CONTROL
index 73a599e51..9dd27d158 100644
--- a/ports/folly/CONTROL
+++ b/ports/folly/CONTROL
@@ -1,5 +1,5 @@
Source: folly
-Version: 2018.07.02.00
+Version: 2018.07.30.00
Description: An open-source C++ library developed and used at Facebook. The library is UNSTABLE on Windows
Build-Depends: openssl, libevent, double-conversion, glog, gflags, boost-chrono, boost-context, boost-conversion, boost-crc, boost-date-time, boost-filesystem, boost-multi-index, boost-program-options, boost-regex, boost-system, boost-thread
Default-Features: zlib
diff --git a/ports/folly/portfile.cmake b/ports/folly/portfile.cmake
index 019bbb087..8ad63bd8c 100644
--- a/ports/folly/portfile.cmake
+++ b/ports/folly/portfile.cmake
@@ -17,8 +17,8 @@ set(ENV{PATH} "$ENV{PATH};${PYTHON3_DIR}")
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO facebook/folly
- REF v2018.07.02.00
- SHA512 dcec94b3ab47deef124797bb2616544e4fba8b62ee8886d3b2c604534dafcca810ecf111b86032db15a9a77c89aa0139be047e2761e8df0d067dd72a584dcc13
+ REF v2018.07.30.00
+ SHA512 38e7b713572d4af0a6453d001eddc32c74b4ec100158300c0a3a61a88ec546b449f1973c2b624273da4278173782aa71695d981dba3c8f423f5b76ed1375d286
HEAD_REF master
PATCHES
${CMAKE_CURRENT_LIST_DIR}/find-gflags.patch
diff --git a/ports/forest/portfile.cmake b/ports/forest/portfile.cmake
index c6a625e82..52a891b69 100644
--- a/ports/forest/portfile.cmake
+++ b/ports/forest/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO xorz57/forest
- REF 9.0.1
- SHA512 4c7cda31c49afffd2ade97481eb47455c58d9d4ba1015661e08abe0b9db34f7d69ea9bd932f792b8bd2f6c92d38dc30e2a64b8ff34b4c4204b8da2260c15ae66
+ REF bc6b82ce436dfbf60d6e8882252c55cf923ad99e
+ SHA512 e711148025c40fb73e6ae221fe5a4416bea006994d9ff958d565cd3cefa75c9ee7241087c7470ecb6530be073ac9171fe724351898ecd33db61f5752c3a950bc
HEAD_REF master
)
diff --git a/ports/getopt-win32/CONTROL b/ports/getopt-win32/CONTROL
new file mode 100644
index 000000000..d80fa0b00
--- /dev/null
+++ b/ports/getopt-win32/CONTROL
@@ -0,0 +1,3 @@
+Source: getopt-win32
+Version: 0.1
+Description: An implementation of getopt provided by https://github.com/libimobiledevice-win32
diff --git a/ports/getopt-win32/portfile.cmake b/ports/getopt-win32/portfile.cmake
new file mode 100644
index 000000000..50ffc2b88
--- /dev/null
+++ b/ports/getopt-win32/portfile.cmake
@@ -0,0 +1,24 @@
+include(vcpkg_common_functions)
+
+if(VCPKG_CMAKE_SYSTEM_NAME)
+ message(FATAL_ERROR "getopt-win32 only supports building on Windows Desktop")
+endif()
+
+vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY ONLY_DYNAMIC_CRT)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO libimobiledevice-win32/getopt
+ REF 0.1
+ SHA512 40e2a901241a5d751cec741e5de423c8f19b105572c7cae18adb6e69be0b408efc6c9a2ecaeb62f117745eac0d093f30d6b91d88c1a27e1f7be91f0e84fdf199
+ HEAD_REF master
+)
+
+vcpkg_install_msbuild(
+ SOURCE_PATH ${SOURCE_PATH}
+ PROJECT_SUBPATH getopt.vcxproj
+ LICENSE_SUBPATH LICENSE
+)
+
+# Copy header
+file(COPY ${SOURCE_PATH}/getopt.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/)
diff --git a/ports/getopt/CONTROL b/ports/getopt/CONTROL
new file mode 100644
index 000000000..bae137bbd
--- /dev/null
+++ b/ports/getopt/CONTROL
@@ -0,0 +1,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)
diff --git a/ports/getopt/portfile.cmake b/ports/getopt/portfile.cmake
new file mode 100644
index 000000000..21d59ebcb
--- /dev/null
+++ b/ports/getopt/portfile.cmake
@@ -0,0 +1,5 @@
+if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ message(FATAL_ERROR "No implementation of getopt is currently available for UWP targets")
+endif()
+
+set(VCPKG_POLICY_EMPTY_PACKAGE enabled)
diff --git a/ports/glib/CMakeLists.txt b/ports/glib/CMakeLists.txt
index 3743b0a34..debfd8dd5 100644
--- a/ports/glib/CMakeLists.txt
+++ b/ports/glib/CMakeLists.txt
@@ -126,7 +126,7 @@ else()
target_link_libraries(glib PRIVATE Threads::Threads ${CMAKE_DL_LIBS})
endif()
target_include_directories(glib PRIVATE ${PCRE_INCLUDE_DIR} ${ICONV_INCLUDE_DIR})
-target_include_directories(glib PUBLIC ${LIBINTL_INCLUDE_DIR})
+target_include_directories(glib PUBLIC $<BUILD_INTERFACE:${LIBINTL_INCLUDE_DIR}> $<INSTALL_INTERFACE:include>)
list(APPEND GLIB_TARGETS glib)
if(NOT GLIB_SKIP_HEADERS)
install(FILES glib/glib.h glib/glib-object.h ${CMAKE_BINARY_DIR}/config/glib/glibconfig.h DESTINATION include)
@@ -151,7 +151,7 @@ extract_vcproj_sources(win32/vs14/gobject.vcxproj GOBJECT_SOURCES)
add_library(gobject ${GOBJECT_SOURCES})
target_compile_definitions(gobject PRIVATE GOBJECT_COMPILATION G_LOG_DOMAIN="GLib-GObject")
target_link_libraries(gobject PRIVATE gthread glib ${FFI_LIBRARY})
-target_include_directories(gobject PRIVATE ${FFI_INCLUDE_DIR})
+target_include_directories(gobject PRIVATE ${FFI_INCLUDE_DIR} PUBLIC $<INSTALL_INTERFACE:include>)
list(APPEND GLIB_TARGETS gobject)
if(NOT GLIB_SKIP_HEADERS)
file(GLOB GOBJECT_HEADERS gobject/*.h gobject/gobjectnotifyqueue.c)
@@ -164,7 +164,7 @@ add_library(gmodule gmodule/gmodule.c)
target_compile_definitions(gmodule PRIVATE G_LOG_DOMAIN="GModule")
target_link_libraries(gmodule PRIVATE glib ${LIBINTL_LIBRARY})
target_include_directories(gmodule PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/gmodule>)
-target_include_directories(gmodule PRIVATE ${LIBINTL_INCLUDE_DIR})
+target_include_directories(gmodule PRIVATE ${LIBINTL_INCLUDE_DIR} PUBLIC $<INSTALL_INTERFACE:include>)
list(APPEND GLIB_TARGETS gmodule)
if(NOT GLIB_SKIP_HEADERS)
install(FILES gmodule/gmodule.h DESTINATION include)
@@ -232,7 +232,7 @@ endif()
add_library(gio ${GIO_SOURCES})
target_compile_definitions(gio PRIVATE GIO_COMPILATION G_LOG_DOMAIN="GLib-GIO")
target_link_libraries(gio PRIVATE glib gmodule gobject ZLIB::ZLIB ${LIBRESOLV_LIBRARY} ${LIBINTL_LIBRARY})
-target_include_directories(gio PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/gio>)
+target_include_directories(gio PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/gio> $<INSTALL_INTERFACE:include/gio>)
if(WIN32)
target_link_libraries(gio PRIVATE ws2_32 shlwapi dnsapi iphlpapi)
elseif(APPLE)
@@ -297,7 +297,28 @@ if(NOT GLIB_SKIP_TOOLS)
install(TARGETS ${GLIB_TOOLS} RUNTIME DESTINATION tools/glib)
endif()
-install(TARGETS ${GLIB_TARGETS} RUNTIME DESTINATION bin ARCHIVE DESTINATION lib LIBRARY DESTINATION lib)
+install(
+ TARGETS ${GLIB_TARGETS}
+ EXPORT glib
+ RUNTIME DESTINATION bin
+ ARCHIVE DESTINATION lib
+ LIBRARY DESTINATION lib
+)
+install(
+ EXPORT glib
+ NAMESPACE unofficial::glib::
+ FILE unofficial-glib-targets.cmake
+ DESTINATION share/unofficial-glib
+)
+configure_file(
+ cmake/unofficial-glib-config.in.cmake
+ cmake/unofficial-glib-config.cmake
+ @ONLY
+)
+install(
+ FILES ${CMAKE_CURRENT_BINARY_DIR}/cmake/unofficial-glib-config.cmake
+ DESTINATION share/unofficial-glib
+)
message(STATUS "Link-time dependencies:")
message(STATUS " " ${ZLIB_LIBRARIES})
diff --git a/ports/glib/CONTROL b/ports/glib/CONTROL
index f37b794cb..0e04397f8 100644
--- a/ports/glib/CONTROL
+++ b/ports/glib/CONTROL
@@ -1,4 +1,4 @@
Source: glib
-Version: 2.52.3-9
+Version: 2.52.3-11
Description: Portable, general-purpose utility library.
Build-Depends: zlib, pcre, libffi, gettext, libiconv
diff --git a/ports/glib/cmake/unofficial-glib-config.in.cmake b/ports/glib/cmake/unofficial-glib-config.in.cmake
new file mode 100644
index 000000000..976e52a9b
--- /dev/null
+++ b/ports/glib/cmake/unofficial-glib-config.in.cmake
@@ -0,0 +1,7 @@
+if("@VCPKG_LIBRARY_LINKAGE@" STREQUAL "static")
+ include(CMakeFindDependencyMacro)
+ find_dependency(Threads)
+ find_dependency(unofficial-iconv)
+endif()
+
+include("${CMAKE_CURRENT_LIST_DIR}/unofficial-glib-targets.cmake")
diff --git a/ports/glib/portfile.cmake b/ports/glib/portfile.cmake
index a500cbd24..96baa9b3e 100644
--- a/ports/glib/portfile.cmake
+++ b/ports/glib/portfile.cmake
@@ -42,9 +42,11 @@ vcpkg_configure_cmake(
OPTIONS_DEBUG
-DGLIB_SKIP_HEADERS=ON
-DGLIB_SKIP_TOOLS=ON
- )
+)
vcpkg_install_cmake()
+vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-glib TARGET_PATH share/unofficial-glib)
+
vcpkg_copy_pdbs()
vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/glib)
diff --git a/ports/google-cloud-cpp/CONTROL b/ports/google-cloud-cpp/CONTROL
index e44b2e5e6..663e2de3a 100644
--- a/ports/google-cloud-cpp/CONTROL
+++ b/ports/google-cloud-cpp/CONTROL
@@ -1,4 +1,4 @@
Source: google-cloud-cpp
-Version: 0.1.0
+Version: 0.1.0-1
Build-Depends: grpc, gtest
Description: C++ Client Libraries for Google Cloud Platform APIs.
diff --git a/ports/google-cloud-cpp/include-protobuf.patch b/ports/google-cloud-cpp/include-protobuf.patch
new file mode 100644
index 000000000..63602ad72
--- /dev/null
+++ b/ports/google-cloud-cpp/include-protobuf.patch
@@ -0,0 +1,24 @@
+diff --git a/bigtable/CMakeLists.txt b/bigtable/CMakeLists.txt
+index 1b8089f..771e1ec 100644
+--- a/bigtable/CMakeLists.txt
++++ b/bigtable/CMakeLists.txt
+@@ -69,6 +69,10 @@ set(PROTOBUF_IMPORT_DIRS "${PROJECT_THIRD_PARTY_DIR}/googleapis" "${PROJECT_SOUR
+ if(GRPC_ROOT_DIR)
+ list(INSERT PROTOBUF_IMPORT_DIRS 0 "${GRPC_ROOT_DIR}/third_party/protobuf/src")
+ endif(GRPC_ROOT_DIR)
++find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto)
++if(PROTO_INCLUDE_DIR)
++ list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}")
++endif()
+
+ # Get the destination directories based on the GNU recommendations.
+ include(GNUInstallDirs)
+@@ -110,7 +114,7 @@ enable_testing()
+
+ # Capture the compiler version and the git revision into variables, then
+ # generate a config file with the values.
+-if (IS_DIRECTORY ${PROJECT_SOURCE_DIR}/.git)
++if (IS_DIRECTORY ${PROJECT_SOURCE_DIR}/.git AND 0)
+ execute_process(COMMAND git rev-parse --short HEAD
+ OUTPUT_VARIABLE GIT_HEAD_LOG ERROR_VARIABLE GIT_HEAD_LOG)
+ else ()
diff --git a/ports/google-cloud-cpp/portfile.cmake b/ports/google-cloud-cpp/portfile.cmake
index 701d94ae5..8ba1fffe5 100644
--- a/ports/google-cloud-cpp/portfile.cmake
+++ b/ports/google-cloud-cpp/portfile.cmake
@@ -11,6 +11,8 @@ vcpkg_from_github(
REF v0.1.0
SHA512 3947cc24ca1ed97309f055f17945afe2d6b22ae8f54f86d3395f8c491b7409d4b7bb12206889d04d07f51236e9fd5afd65b904c8c80521a3313588d8069545c2
HEAD_REF master
+ PATCHES
+ "${CMAKE_CURRENT_LIST_DIR}/include-protobuf.patch"
)
set(GOOGLEAPIS_VERSION 92f10d7033c6fa36e1a5a369ab5aa8bafd564009)
diff --git a/ports/graphqlparser/CONTROL b/ports/graphqlparser/CONTROL
new file mode 100644
index 000000000..4a66842c0
--- /dev/null
+++ b/ports/graphqlparser/CONTROL
@@ -0,0 +1,3 @@
+Source: graphqlparser
+Version: v0.7.0
+Description: A GraphQL query parser in C++ with C and C++ APIs
diff --git a/ports/graphqlparser/portfile.cmake b/ports/graphqlparser/portfile.cmake
new file mode 100644
index 000000000..0e1414583
--- /dev/null
+++ b/ports/graphqlparser/portfile.cmake
@@ -0,0 +1,51 @@
+# Common Ambient Variables:
+# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT}
+# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET}
+# CURRENT_PORT_DIR = ${VCPKG_ROOT_DIR}\ports\${PORT}
+# PORT = current port name (zlib, etc)
+# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc)
+# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic)
+# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic)
+# VCPKG_ROOT_DIR = <C:\path\to\current\vcpkg>
+# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm)
+#
+
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO graphql/libgraphqlparser
+ REF v0.7.0
+ SHA512 973292b164d0d2cfe453a2f01559dbdb1b9d22b6304f6a3aabf71e2c0a3e24ab69dfd72a086764ad5befecf0005620f8e86f552dacc324f9615a05f31de7cede
+ HEAD_REF master
+ PATCHES ${CMAKE_CURRENT_LIST_DIR}/win-cmake.patch
+)
+
+if(UNIX)
+ vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ )
+elseif(WIN32)
+ vcpkg_find_acquire_program(PYTHON2)
+ vcpkg_find_acquire_program(FLEX)
+ vcpkg_find_acquire_program(BISON)
+
+ get_filename_component(VCPKG_DOWNLOADS_PYTHON2_DIR "${PYTHON2}" DIRECTORY)
+ get_filename_component(VCPKG_DOWNLOADS_FLEX_DIR "${FLEX}" DIRECTORY)
+ get_filename_component(VCPKG_DOWNLOADS_BISON_DIR "${BISON}" DIRECTORY)
+
+ vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DVCPKG_DOWNLOADS_PYTHON2_DIR=${VCPKG_DOWNLOADS_PYTHON2_DIR}
+ -DVCPKG_DOWNLOADS_FLEX_DIR=${VCPKG_DOWNLOADS_FLEX_DIR}
+ -DVCPKG_DOWNLOADS_BISON_DIR=${VCPKG_DOWNLOADS_BISON_DIR}
+ )
+endif()
+
+vcpkg_install_cmake()
+
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/graphqlparser RENAME copyright)
diff --git a/ports/graphqlparser/win-cmake.patch b/ports/graphqlparser/win-cmake.patch
new file mode 100644
index 000000000..c71ba97ff
--- /dev/null
+++ b/ports/graphqlparser/win-cmake.patch
@@ -0,0 +1,104 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index c4c8b3e..f19cda3 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -3,16 +3,37 @@ PROJECT(libgraphqlparser C CXX)
+
+ SET(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake" "${CMAKE_MODULE_PATH}")
+
+-INCLUDE(version)
++IF(UNIX)
++ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11")
++ SET(FLEX_COMPILE_FLAGS "--header-file=lexer.h")
++ELSEIF(WIN32)
++ # If we're building this with vcpkg on Windows, let portfile.cmake tell us where it
++ # stored these tools. Otherwise these variables should be empty and we'll fall back
++ # to the normal CMake FIND_PACKAGE logic for each of these programs.
++ SET(CMAKE_PROGRAM_PATH
++ "${VCPKG_DOWNLOADS_PYTHON2_DIR}"
++ "${VCPKG_DOWNLOADS_FLEX_DIR}"
++ "${VCPKG_DOWNLOADS_BISON_DIR}"
++ "${CMAKE_PROGRAM_PATH}")
++
++ SET(FLEX_COMPILE_FLAGS "--header-file=lexer.h --wincompat")
++
++ # Let CMake figure out the exports for the SHARED library (DLL) on Windows.
++ SET(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS TRUE)
++ENDIF()
+
+-SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11")
++INCLUDE(version)
+
+ FIND_PACKAGE(PythonInterp 2 REQUIRED)
+ IF (NOT PYTHON_VERSION_MAJOR EQUAL 2)
+ MESSAGE(FATAL_ERROR "Python 2 is required.")
+ ENDIF()
+
+-FIND_PROGRAM(CTYPESGEN_FOUND ctypesgen.py)
++IF(UNIX)
++ SET(FLEX_COMPILE_FLAGS "--header-file=lexer.h")
++ELSEIF(WIN32)
++ SET(FLEX_COMPILE_FLAGS "--header-file=lexer.h --wincompat")
++ENDIF()
+
+ FIND_PACKAGE(BISON 3)
+ FIND_PACKAGE(FLEX)
+@@ -21,7 +42,7 @@ IF (BISON_FOUND)
+ ENDIF()
+
+ IF(FLEX_FOUND)
+- FLEX_TARGET(GraphQLScanner lexer.lpp ${CMAKE_CURRENT_SOURCE_DIR}/lexer.cpp COMPILE_FLAGS "--header-file=lexer.h")
++ FLEX_TARGET(GraphQLScanner lexer.lpp ${CMAKE_CURRENT_SOURCE_DIR}/lexer.cpp COMPILE_FLAGS ${FLEX_COMPILE_FLAGS})
+ IF (BISON_FOUND)
+ ADD_FLEX_BISON_DEPENDENCY(GraphQLScanner graphqlparser)
+ ENDIF()
+@@ -83,11 +104,8 @@ GENERATE_AST_FILE(cxx_json_visitor_header JsonVisitor.h.inc)
+
+ GENERATE_AST_FILE(cxx_json_visitor_impl JsonVisitor.cpp.inc)
+
+-ADD_SUBDIRECTORY(python)
+-
+-OPTION(test "Build tests." OFF)
+-
+ INSTALL(DIRECTORY c ${CMAKE_CURRENT_BINARY_DIR}/c DESTINATION include/graphqlparser
++ CONFIGURATIONS Release
+ FILES_MATCHING PATTERN "*.h"
+ PATTERN "build" EXCLUDE)
+
+@@ -103,9 +121,12 @@ INSTALL(FILES
+ position.hh
+ stack.hh
+ syntaxdefs.h
+- DESTINATION include/graphqlparser)
++ DESTINATION include/graphqlparser
++ CONFIGURATIONS Release)
++
+ INSTALL(TARGETS graphqlparser
+- LIBRARY DESTINATION lib)
++ LIBRARY DESTINATION lib
++ RUNTIME DESTINATION bin)
+
+ if (UNIX)
+ # generate pkgconfig file
+@@ -116,16 +137,9 @@ if (UNIX)
+ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/libgraphqlparser.pc"
+ DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig")
+ endif()
++elseif(WIN32)
++ INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/graphqlparser.lib
++ DESTINATION lib)
++ INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/graphqlparser.pdb
++ DESTINATION bin)
+ endif()
+-
+-IF (test)
+- ADD_SUBDIRECTORY(test)
+-
+- if(UNIX)
+- # setup valgrind
+- ADD_CUSTOM_TARGET(memcheck
+- valgrind --leak-check=full --suppressions=./test/valgrind.supp --dsymutil=yes --error-exitcode=1 ./test/runTests >/dev/null
+- )
+- endif()
+-
+-ENDIF()
diff --git a/ports/grpc/CONTROL b/ports/grpc/CONTROL
index 71ccb3a86..18475a6fc 100644
--- a/ports/grpc/CONTROL
+++ b/ports/grpc/CONTROL
@@ -1,4 +1,4 @@
Source: grpc
-Version: 1.10.1-3
+Version: 1.13.1
Build-Depends: zlib, openssl, protobuf, c-ares (!uwp)
Description: An RPC library and framework
diff --git a/ports/grpc/disable-csharp-ext.patch b/ports/grpc/disable-csharp-ext.patch
deleted file mode 100644
index 5f3a78691..000000000
--- a/ports/grpc/disable-csharp-ext.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 8c285e7..cffd93f 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -5058,6 +5058,9 @@ endif (gRPC_BUILD_CODEGEN)
-
- endif (gRPC_BUILD_TESTS)
-
-+option(gRPC_INSTALL_CSHARP_EXT "" ON)
-+
-+if (gRPC_INSTALL_CSHARP_EXT)
- add_library(grpc_csharp_ext SHARED
- src/csharp/ext/grpc_csharp_ext.c
- )
-@@ -5101,6 +5104,7 @@ if (gRPC_INSTALL)
- ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR}
- )
- endif()
-+endif (gRPC_INSTALL_CSHARP_EXT)
-
- if (gRPC_BUILD_TESTS)
-
diff --git a/ports/grpc/fix-uwp.patch b/ports/grpc/fix-uwp.patch
index 85ee80eec..a3fb3ef89 100644
--- a/ports/grpc/fix-uwp.patch
+++ b/ports/grpc/fix-uwp.patch
@@ -1,18 +1,18 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 51f6e17..d33b147 100644
+index f58ee19..dda72e9 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -84,6 +84,9 @@ if(UNIX)
+@@ -87,6 +87,9 @@ if(UNIX)
endif()
if(WIN32)
set(_gRPC_PLATFORM_WINDOWS ON)
-+ if(${CMAKE_SYSTEM_NAME} MATCHES "WindowsStore")
++ if(CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ set(_gRPC_PLATFORM_UWP ON)
+ endif()
endif()
set(CMAKE_POSITION_INDEPENDENT_CODE TRUE)
-@@ -144,6 +147,10 @@ file(MAKE_DIRECTORY ${_gRPC_PROTO_GENS_DIR})
+@@ -152,6 +155,10 @@ file(MAKE_DIRECTORY ${_gRPC_PROTO_GENS_DIR})
# ``.proto`` files
#
function(protobuf_generate_grpc_cpp)
@@ -23,7 +23,7 @@ index 51f6e17..d33b147 100644
if(NOT ARGN)
message(SEND_ERROR "Error: PROTOBUF_GENERATE_GRPC_CPP() called without any proto files")
return()
-@@ -178,6 +185,7 @@ function(protobuf_generate_grpc_cpp)
+@@ -186,6 +193,7 @@ function(protobuf_generate_grpc_cpp)
endforeach()
endfunction()
@@ -31,94 +31,79 @@ index 51f6e17..d33b147 100644
add_custom_target(plugins
DEPENDS
grpc_cpp_plugin
-@@ -199,6 +207,7 @@ add_custom_target(tools_c
- gen_legal_metadata_characters
- gen_percent_encoding_tables
- )
-+endif()
-
- add_custom_target(tools_cxx
- DEPENDS
-@@ -3223,7 +3232,7 @@ if (gRPC_INSTALL)
- )
- endif()
+@@ -215,6 +223,8 @@ add_custom_target(tools_cxx
+ add_custom_target(tools
+ DEPENDS tools_c tools_cxx)
--
-+if(NOT _gRPC_PLATFORM_UWP)
- add_library(grpc++_error_details
- ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/status/status.pb.cc
- ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/status/status.grpc.pb.cc
-@@ -3285,6 +3294,7 @@ if (gRPC_INSTALL)
- ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR}
- )
- endif()
+endif()
-
++
if (gRPC_BUILD_TESTS)
+ add_custom_target(buildtests_c)
+ add_dependencies(buildtests_c algorithm_test)
+@@ -3595,7 +3605,6 @@ foreach(_hdr
+ DESTINATION "${gRPC_INSTALL_INCLUDEDIR}/${_path}"
+ )
+ endforeach()
+-endif (gRPC_BUILD_CODEGEN)
-@@ -3347,6 +3357,7 @@ endforeach()
-
- endif (gRPC_BUILD_TESTS)
-+if(NOT _gRPC_PLATFORM_UWP)
- add_library(grpc++_reflection
- src/cpp/ext/proto_server_reflection.cc
- src/cpp/ext/proto_server_reflection_plugin.cc
-@@ -3409,6 +3420,7 @@ if (gRPC_INSTALL)
+ if (gRPC_INSTALL)
+@@ -3605,6 +3614,7 @@ if (gRPC_INSTALL)
ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR}
)
endif()
-+endif()
++endif (gRPC_BUILD_CODEGEN)
if (gRPC_BUILD_TESTS)
-@@ -4197,6 +4209,7 @@ endforeach()
-
- endif (gRPC_BUILD_TESTS)
-
-+if(NOT _gRPC_PLATFORM_UWP)
- add_library(grpc_plugin_support
- src/compiler/cpp_generator.cc
- src/compiler/csharp_generator.cc
-@@ -4236,6 +4249,8 @@ target_link_libraries(grpc_plugin_support
- ${_gRPC_PROTOBUF_LIBRARIES}
- ${_gRPC_ALLTARGETS_LIBRARIES}
- )
-+endif()
-+
-
- foreach(_hdr
- include/grpc++/impl/codegen/config_protobuf.h
-@@ -4248,7 +4263,7 @@ foreach(_hdr
+@@ -3725,7 +3735,7 @@ foreach(_hdr
+ DESTINATION "${gRPC_INSTALL_INCLUDEDIR}/${_path}"
)
endforeach()
+-endif (gRPC_BUILD_CODEGEN)
++
+
--
-+if(NOT _gRPC_PLATFORM_UWP)
if (gRPC_INSTALL)
- install(TARGETS grpc_plugin_support EXPORT gRPCTargets
- RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
-@@ -4256,6 +4271,7 @@ if (gRPC_INSTALL)
+@@ -3735,6 +3745,7 @@ if (gRPC_INSTALL)
ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR}
)
endif()
-+endif()
++endif (gRPC_BUILD_CODEGEN)
if (gRPC_BUILD_TESTS)
-@@ -10252,6 +10268,7 @@ target_link_libraries(grpc_cli
+diff --git a/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc b/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc
+index 55efe0e..f538f26 100644
+--- a/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc
++++ b/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc
+@@ -60,6 +60,8 @@ bool check_bios_data(const char* bios_data_file) {
- endif (gRPC_BUILD_TESTS)
+ static void init_mu(void) { gpr_mu_init(&g_mu); }
-+if(NOT _gRPC_PLATFORM_UWP)
- add_executable(grpc_cpp_plugin
- src/compiler/cpp_plugin.cc
- )
-@@ -10488,6 +10505,7 @@ if (gRPC_INSTALL)
- ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR}
- )
- endif()
-+endif()
-
- if (gRPC_BUILD_TESTS)
++#if !defined(WINAPI_FAMILY) || WINAPI_FAMILY == WINAPI_FAMILY_DESKTOP_APP
++
+ static bool run_powershell() {
+ SECURITY_ATTRIBUTES sa;
+ sa.nLength = sizeof(sa);
+@@ -97,8 +99,12 @@ static bool run_powershell() {
+ CloseHandle(h);
+ return true;
+ }
++#endif
+
+ bool grpc_alts_is_running_on_gcp() {
++#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY != WINAPI_FAMILY_DESKTOP_APP)
++ g_is_on_compute_engine = false;
++#else
+ gpr_once_init(&g_once, init_mu);
+ gpr_mu_lock(&g_mu);
+ if (!g_compute_engine_detection_done) {
+@@ -108,6 +114,7 @@ bool grpc_alts_is_running_on_gcp() {
+ g_compute_engine_detection_done = true;
+ }
+ gpr_mu_unlock(&g_mu);
++#endif
+ return g_is_on_compute_engine;
+ }
diff --git a/ports/grpc/portfile.cmake b/ports/grpc/portfile.cmake
index 375128a0a..d53bb9c93 100644
--- a/ports/grpc/portfile.cmake
+++ b/ports/grpc/portfile.cmake
@@ -12,28 +12,31 @@ endif()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO grpc/grpc
- REF v1.10.1
- SHA512 2221d902c60eada6dd1547a63d26bd3b30cb6710247b5e48523bacde498a3691cc177f1dbe9db8a007b8ae341a5b0c8ec999539e26a9bcff480a8d0b02140997
+ REF v1.13.1
+ SHA512 f44028299d47865814ada2b8b93dc98dc51c8729bedc9c30dd79c04f6ecc3789ff06bbe7555e5d3512d9aec027751761ae10a80a09a94cf85bbd3260d651b356
HEAD_REF master
PATCHES
- ${CMAKE_CURRENT_LIST_DIR}/disable-csharp-ext.patch
${CMAKE_CURRENT_LIST_DIR}/fix-uwp.patch
)
-if(VCPKG_CRT_LINKAGE STREQUAL static)
+if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ 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_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
set(cares_CARES_PROVIDER OFF)
else()
set(cares_CARES_PROVIDER "package")
endif()
-
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
@@ -44,6 +47,7 @@ vcpkg_configure_cmake(
-DgRPC_ZLIB_PROVIDER=package
-DgRPC_SSL_PROVIDER=package
-DgRPC_PROTOBUF_PROVIDER=package
+ -DgRPC_PROTOBUF_PACKAGE_TYPE=CONFIG
-DgRPC_CARES_PROVIDER=${cares_CARES_PROVIDER}
-DgRPC_GFLAGS_PROVIDER=none
-DgRPC_BENCHMARK_PROVIDER=none
@@ -52,17 +56,16 @@ vcpkg_configure_cmake(
-DgRPC_INSTALL_LIBDIR:STRING=lib
-DgRPC_INSTALL_INCLUDEDIR:STRING=include
-DgRPC_INSTALL_CMAKEDIR:STRING=share/grpc
+ -DgRPC_BUILD_CODEGEN=${gRPC_BUILD_CODEGEN}
)
-# gRPC runs built executables during the build, so they need access to the installed DLLs.
-set(ENV{PATH} "$ENV{PATH};${CURRENT_INSTALLED_DIR}/bin;${CURRENT_INSTALLED_DIR}/debug/bin")
+vcpkg_install_cmake(ADD_BIN_TO_PATH)
-vcpkg_install_cmake()
vcpkg_fixup_cmake_targets(CONFIG_PATH "share/grpc")
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/grpc RENAME copyright)
-# Install tools and plugins
+# Install tools
file(GLOB TOOLS "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/*.exe")
if(TOOLS)
file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/grpc)
@@ -70,12 +73,13 @@ if(TOOLS)
vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/grpc)
endif()
-if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
- file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin)
- file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin)
-else()
- SET(VCPKG_POLICY_EMPTY_PACKAGE enabled) # Leave the executable files in bin/ and debug/bin
+file(GLOB EXES "${CURRENT_PACKAGES_DIR}/bin/*.exe" "${CURRENT_PACKAGES_DIR}/debug/bin/*.exe")
+if(EXES)
+ file(REMOVE ${EXES})
endif()
+
+# Ignore the C# extension DLL in bin/
+SET(VCPKG_POLICY_EMPTY_PACKAGE enabled)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
vcpkg_copy_pdbs()
diff --git a/ports/guetzli/CONTROL b/ports/guetzli/CONTROL
index 2ce631a2a..1bbfbe444 100644
--- a/ports/guetzli/CONTROL
+++ b/ports/guetzli/CONTROL
@@ -1,4 +1,4 @@
Source: guetzli
-Version: 2017-09-02-cb5e4a86f69628-1
+Version: 2018-07-30
Description: Perceptual JPEG encoder
Build-Depends: libpng, butteraugli
diff --git a/ports/guetzli/portfile.cmake b/ports/guetzli/portfile.cmake
index 4fb0402ba..cb5a44687 100644
--- a/ports/guetzli/portfile.cmake
+++ b/ports/guetzli/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO google/guetzli
- REF cb5e4a86f69628f685f2b78d7429e248ab83d8d7
- SHA512 695a87dc27573b8df74a7e7924e9b96a7bd375b1aae02e7b0fad800428d973cf17947d46ec7afefade2a86ebe3d39f3c3178aad1137b9dd013f5f85ee6569a75
+ REF 0b78c7cc8b1b6cbaaf3d08b1facb599bcec1d101
+ SHA512 54c5198c4c066858dd1377a32e765f46a589f3444bea303b54326453d0e8e71f959d3aaf2c72f4714fd27891f4d93288e7fa96baf1fd10f127929c1fcfa5ae1c
HEAD_REF master
)
diff --git a/ports/harfbuzz/CONTROL b/ports/harfbuzz/CONTROL
index d503ca111..8eaa04edf 100644
--- a/ports/harfbuzz/CONTROL
+++ b/ports/harfbuzz/CONTROL
@@ -1,5 +1,5 @@
Source: harfbuzz
-Version: 1.8.2-2
+Version: 1.8.4
Description: HarfBuzz OpenType text shaping engine
Build-Depends: freetype, ragel
Default-Features: ucdn
diff --git a/ports/harfbuzz/glib-cmake.patch b/ports/harfbuzz/glib-cmake.patch
new file mode 100644
index 000000000..cdd7f48a6
--- /dev/null
+++ b/ports/harfbuzz/glib-cmake.patch
@@ -0,0 +1,29 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 3c52731..8305f27 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -314,22 +314,12 @@ endif ()
+ if (HB_HAVE_GLIB)
+ add_definitions(-DHAVE_GLIB)
+
+- # https://github.com/WebKit/webkit/blob/master/Source/cmake/FindGLIB.cmake
+- find_package(PkgConfig)
+- pkg_check_modules(PC_GLIB QUIET glib-2.0)
+-
+- find_library(GLIB_LIBRARIES NAMES glib-2.0 HINTS ${PC_GLIB_LIBDIR} ${PC_GLIB_LIBRARY_DIRS})
+- find_path(GLIBCONFIG_INCLUDE_DIR NAMES glibconfig.h HINTS ${PC_LIBDIR} ${PC_LIBRARY_DIRS} ${PC_GLIB_INCLUDEDIR} ${PC_GLIB_INCLUDE_DIRS} PATH_SUFFIXES glib-2.0/include)
+- find_path(GLIB_INCLUDE_DIR NAMES glib.h HINTS ${PC_GLIB_INCLUDEDIR} ${PC_GLIB_INCLUDE_DIRS} PATH_SUFFIXES glib-2.0)
+-
+- include_directories(${GLIBCONFIG_INCLUDE_DIR} ${GLIB_INCLUDE_DIR})
++ find_package(unofficial-glib CONFIG REQUIRED)
+
+ list(APPEND project_sources ${PROJECT_SOURCE_DIR}/src/hb-glib.cc)
+ list(APPEND project_headers ${PROJECT_SOURCE_DIR}/src/hb-glib.h)
+
+- list(APPEND THIRD_PARTY_LIBS ${GLIB_LIBRARIES})
+-
+- mark_as_advanced(GLIB_LIBRARIES GLIBCONFIG_INCLUDE_DIR GLIB_INCLUDE_DIR)
++ list(APPEND THIRD_PARTY_LIBS unofficial::glib::glib)
+ endif ()
+
+ if (HB_HAVE_ICU)
diff --git a/ports/harfbuzz/portfile.cmake b/ports/harfbuzz/portfile.cmake
index 728b26fdb..2c19a0d23 100644
--- a/ports/harfbuzz/portfile.cmake
+++ b/ports/harfbuzz/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO behdad/harfbuzz
- REF 1.8.2
- SHA512 83a5126f17e57b05c36779f91ea9c2454731d7e6f514fce134ae5e652972a8231723773e0e0f64bfe8588f8cfcf2e041031a3328ee3102d440b2ac427aa1d764
+ REF 1.8.4
+ SHA512 92742b754713d1df8975d4d8467de04765784d7fd566b7e07e7e7a261b0338e997a5fc11fa4fe282d6d5540d242db40c993812fbc4a881becd95fd3aae598c80
HEAD_REF master
)
@@ -13,6 +13,7 @@ vcpkg_apply_patches(
PATCHES
"${CMAKE_CURRENT_LIST_DIR}/0001-fix-uwp-build.patch"
"${CMAKE_CURRENT_LIST_DIR}/find-package-freetype-2.patch"
+ "${CMAKE_CURRENT_LIST_DIR}/glib-cmake.patch"
)
SET(HB_HAVE_ICU "OFF")
diff --git a/ports/ideviceinstaller/CONTROL b/ports/ideviceinstaller/CONTROL
new file mode 100644
index 000000000..3697611a4
--- /dev/null
+++ b/ports/ideviceinstaller/CONTROL
@@ -0,0 +1,4 @@
+Source: ideviceinstaller
+Version: 1.1.2.23-1
+Description: Manage apps of iOS devices
+Build-Depends: libimobiledevice, libzip \ No newline at end of file
diff --git a/ports/ideviceinstaller/portfile.cmake b/ports/ideviceinstaller/portfile.cmake
new file mode 100644
index 000000000..ca6b79287
--- /dev/null
+++ b/ports/ideviceinstaller/portfile.cmake
@@ -0,0 +1,18 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO libimobiledevice-win32/ideviceinstaller
+ REF 1.1.2.23
+ SHA512 d0801b3a38eb02206a6f06e05cc19b794c69a87c06895165f64522c61e07030046499c5f0e436981682f9e17f91eae87913cca091e2e039a74ee35a5136100d4
+ HEAD_REF master
+)
+
+vcpkg_install_msbuild(
+ SOURCE_PATH ${SOURCE_PATH}
+ PROJECT_SUBPATH ideviceinstaller.vcxproj
+ LICENSE_SUBPATH COPYING
+ USE_VCPKG_INTEGRATION
+)
+
+set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled)
diff --git a/ports/idevicerestore/CONTROL b/ports/idevicerestore/CONTROL
new file mode 100644
index 000000000..dc781eb5c
--- /dev/null
+++ b/ports/idevicerestore/CONTROL
@@ -0,0 +1,4 @@
+Source: idevicerestore
+Version: 1.0.12-1
+Description: Restore/upgrade firmware of iOS devices
+Build-Depends: libimobiledevice, curl, libirecovery, libzip \ No newline at end of file
diff --git a/ports/idevicerestore/portfile.cmake b/ports/idevicerestore/portfile.cmake
new file mode 100644
index 000000000..81d302a40
--- /dev/null
+++ b/ports/idevicerestore/portfile.cmake
@@ -0,0 +1,18 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO libimobiledevice-win32/idevicerestore
+ REF 1.0.12
+ SHA512 ba623be56c2f37853516d7d4c32e16f1ec72f33d512f18aa812ce6830af4b9e389f7af5321888dd0ddd168e282b652e379b60f90970680e213eabf489f406915
+ HEAD_REF master
+)
+
+vcpkg_install_msbuild(
+ SOURCE_PATH ${SOURCE_PATH}
+ PROJECT_SUBPATH idevicerestore.vcxproj
+ LICENSE_SUBPATH COPYING
+ USE_VCPKG_INTEGRATION
+)
+
+set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled)
diff --git a/ports/jsonnet/CONTROL b/ports/jsonnet/CONTROL
index 159523794..b8214fd9f 100644
--- a/ports/jsonnet/CONTROL
+++ b/ports/jsonnet/CONTROL
@@ -1,3 +1,3 @@
Source: jsonnet
-Version: 2018-06-28
+Version: 2018-07-30
Description: Jsonnet - The data templating language
diff --git a/ports/jsonnet/portfile.cmake b/ports/jsonnet/portfile.cmake
index aa1b178d1..71cc4029e 100644
--- a/ports/jsonnet/portfile.cmake
+++ b/ports/jsonnet/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO google/jsonnet
- REF c93f74374ea9ce904669bb4633fcbbfe558959d2
- SHA512 7fec45ef1a566d5b0f8384a315cc19ae3e9a3def9717b8c94cdbed107dc3fe4cba9b003ddda4ed4916b32061a01ea5be6fcfbbccef90fbcaf4387a03d31fb679
+ REF 467a62662cb700289cb9b2e6d841d6897a155774
+ SHA512 a9b702c485bf8c9a87cfeee7612bb179bfec9153c25a1428277f07dd3b9d3f2508eb45cbd27b3533bed9a38d2b68bbabbde9702553ca7b90da0c1bd2411c83ee
HEAD_REF master
)
diff --git a/ports/laszip/CONTROL b/ports/laszip/CONTROL
new file mode 100644
index 000000000..5f6bac68b
--- /dev/null
+++ b/ports/laszip/CONTROL
@@ -0,0 +1,3 @@
+Source: laszip
+Version: 3.2.2-1
+Description: LASzip - free and lossless LiDAR compression
diff --git a/ports/laszip/portfile.cmake b/ports/laszip/portfile.cmake
new file mode 100644
index 000000000..92edbafb7
--- /dev/null
+++ b/ports/laszip/portfile.cmake
@@ -0,0 +1,28 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO LASzip/LASzip
+ REF 3.2.2
+ SHA512 c4dac1fd525b1889fa8cc77f168bc3c83053619402ec13ac0ae58665cfd4440b9135ce30c4ade925a0ac9db7e3f717344859e511b2207841c84dc2453c6cf7f7
+ HEAD_REF master
+)
+
+string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" LASZIP_BUILD_STATIC)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DLASZIP_BUILD_STATIC=${LASZIP_BUILD_STATIC}
+)
+
+vcpkg_install_cmake()
+
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/laszip RENAME copyright)
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+# Remove laszip_api3 dll since it doesn't export functions properly during build.
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin/laszip_api3.dll)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin/laszip_api3.dll)
diff --git a/ports/lcms/CONTROL b/ports/lcms/CONTROL
index 5855fbc71..fd9c9d429 100644
--- a/ports/lcms/CONTROL
+++ b/ports/lcms/CONTROL
@@ -1,4 +1,4 @@
Source: lcms
-Version: 2.8-4
+Version: 2.8-5
Build-Depends:
Description: Little CMS.
diff --git a/ports/lcms/portfile.cmake b/ports/lcms/portfile.cmake
index 7d52e5270..4e125fa86 100644
--- a/ports/lcms/portfile.cmake
+++ b/ports/lcms/portfile.cmake
@@ -5,7 +5,8 @@ vcpkg_from_github(
REPO mm2/Little-CMS
REF lcms2.8
SHA512 22ee94aa3333db4248607d8aa84343d324e04b30c154c46672c6f668e14a369b9b72f2557b8465218b6e9a2676cf8fa37d617b4aa13a013dc2337197a599e63a
- HEAD_REF master
+ HEAD_REF master
+ PATCHES "${CMAKE_CURRENT_LIST_DIR}/remove_library_directive.patch"
)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
diff --git a/ports/lcms/remove_library_directive.patch b/ports/lcms/remove_library_directive.patch
new file mode 100644
index 000000000..29d035dc2
--- /dev/null
+++ b/ports/lcms/remove_library_directive.patch
@@ -0,0 +1,8 @@
+--- a/src/lcms2.def 2016-07-20 09:46:01.000000000 +0200
++++ b/src/lcms2.def 2018-06-02 02:11:04.135781600 +0200
+@@ -1,5 +1,3 @@
+-LIBRARY LCMS2.DLL
+-
+ EXPORTS
+
+ _cms15Fixed16toDouble = _cms15Fixed16toDouble
diff --git a/ports/leptonica/CONTROL b/ports/leptonica/CONTROL
index 2be42f327..e3543173f 100644
--- a/ports/leptonica/CONTROL
+++ b/ports/leptonica/CONTROL
@@ -1,4 +1,4 @@
Source: leptonica
-Version: 1.74.4-3
+Version: 1.74.4-5
Description: An open source library containing software that is broadly useful for image processing and image analysis applications
Build-Depends: libjpeg-turbo, zlib, libpng, tiff, giflib
diff --git a/ports/leptonica/find-dependency.patch b/ports/leptonica/find-dependency.patch
new file mode 100644
index 000000000..46348833e
--- /dev/null
+++ b/ports/leptonica/find-dependency.patch
@@ -0,0 +1,18 @@
+diff --git a/cmake/templates/LeptonicaConfig.cmake.in b/cmake/templates/LeptonicaConfig.cmake.in
+index d53904a..2aa2fea 100644
+--- a/cmake/templates/LeptonicaConfig.cmake.in
++++ b/cmake/templates/LeptonicaConfig.cmake.in
+@@ -20,6 +20,13 @@
+ #
+ # ===================================================================================
+
++include(CMakeFindDependencyMacro)
++find_dependency(TIFF)
++find_dependency(ZLIB)
++find_dependency(PNG)
++find_dependency(JPEG)
++find_dependency(GIF)
++
+ include(${CMAKE_CURRENT_LIST_DIR}/LeptonicaTargets.cmake)
+
+ # ======================================================
diff --git a/ports/leptonica/portfile.cmake b/ports/leptonica/portfile.cmake
index acaf7fe9d..156ed3dd2 100644
--- a/ports/leptonica/portfile.cmake
+++ b/ports/leptonica/portfile.cmake
@@ -6,13 +6,10 @@ vcpkg_from_github(
REF 1.74.4
SHA512 3b9d0be937883f733f72cbdf0b624ec245d9256a8b4622997f437d309efd7ad9695ad1cbe2224d543eb3ef8c44833567b3cc9a95e9a774ef9046b7acaf0ae744
HEAD_REF master
-)
-
-vcpkg_apply_patches(
- SOURCE_PATH ${SOURCE_PATH}
PATCHES
${CMAKE_CURRENT_LIST_DIR}/fix-cmakelists.patch
${CMAKE_CURRENT_LIST_DIR}/use-tiff-libraries.patch
+ ${CMAKE_CURRENT_LIST_DIR}/find-dependency.patch
)
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" STATIC)
diff --git a/ports/libgeotiff/0003-Fix-cmake-TIFF-detection.patch b/ports/libgeotiff/0003-Fix-cmake-TIFF-detection.patch
deleted file mode 100644
index 14929e10c..000000000
--- a/ports/libgeotiff/0003-Fix-cmake-TIFF-detection.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From bc0003ab3d94f271b27f6897259b734709a5d6cf Mon Sep 17 00:00:00 2001
-From: Hiroshi Miura <miurahr@linux.com>
-Date: Wed, 14 Feb 2018 12:32:11 +0900
-Subject: [PATCH 3/5] Fix cmake TIFF detection
-
-Signed-off-by: Hiroshi Miura <miurahr@linux.com>
----
- CMakeLists.txt | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 55ececf..1e2fe3d 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -191,7 +191,8 @@ IF(WITH_TIFF)
- IF(TIFF_FOUND)
- # Confirm required API is available
- INCLUDE(CheckFunctionExists)
-- SET(CMAKE_REQUIRED_LIBRARIES ${TIFF_LIBRARIES})
-+ FIND_PACKAGE(LibLZMA)
-+ SET(CMAKE_REQUIRED_LIBRARIES ${TIFF_LIBRARIES} ${ZLIB_LIBRARIES} ${JPEG_LIBRARIES} ${LIBLZMA_LIBRARIES})
-
- CHECK_FUNCTION_EXISTS(TIFFOpen HAVE_TIFFOPEN)
- IF(NOT HAVE_TIFFOPEN)
-@@ -204,7 +205,7 @@ IF(WITH_TIFF)
- SET(TIFF_FOUND) # ReSET to NOT found for TIFF library
- MESSAGE(FATAL_ERROR "Failed to link with libtiff - TIFFMergeFieldInfo function not found. libtiff 3.6.0 Beta or later required. Please upgrade or use an older version of libgeotiff")
- ENDIF()
--
-+ SET(CMAKE_REQUIRED_LIBRARIES)
- INCLUDE_DIRECTORIES(${TIFF_INCLUDE_DIR})
- ADD_DEFINITIONS(-DHAVE_TIFF=1)
- ENDIF(TIFF_FOUND)
---
-2.16.1
-
diff --git a/ports/libgeotiff/CONTROL b/ports/libgeotiff/CONTROL
index abd2fbdc5..8e8dbc3ef 100644
--- a/ports/libgeotiff/CONTROL
+++ b/ports/libgeotiff/CONTROL
@@ -1,4 +1,4 @@
Source: libgeotiff
-Version: 1.4.2-3
+Version: 1.4.2-4
Description: Libgeotiff is an open source library normally hosted on top of ​libtiff for reading, and writing GeoTIFF information tags.
Build-Depends: tiff, proj4, zlib, libjpeg-turbo
diff --git a/ports/libgeotiff/portfile.cmake b/ports/libgeotiff/portfile.cmake
index 65e5fa436..3f0e1aac0 100644
--- a/ports/libgeotiff/portfile.cmake
+++ b/ports/libgeotiff/portfile.cmake
@@ -2,55 +2,57 @@ include(vcpkg_common_functions)
set(LIBGEOTIFF_VERSION 1.4.2)
set(LIBGEOTIFF_HASH 059c6e05eb0c47f17b102c7217a2e1636e76d622c4d1bdcf0bd89fb3505f3130bffa881e21c73cfd2ca0d6863b81322f85784658ba3539b53b63c3a8f38d1deb)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libgeotiff-${LIBGEOTIFF_VERSION})
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/1/libgeotiff-${LIBGEOTIFF_VERSION})
vcpkg_download_distfile(ARCHIVE
URLS "http://download.osgeo.org/geotiff/libgeotiff/libgeotiff-${LIBGEOTIFF_VERSION}.tar.gz"
FILENAME "libgeotiff-${LIBGEOTIFF_VERSION}.tar.gz"
SHA512 ${LIBGEOTIFF_HASH})
-vcpkg_extract_source_archive(${ARCHIVE})
+vcpkg_extract_source_archive(${ARCHIVE} ${CURRENT_BUILDTREES_DIR}/src/1)
vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
PATCHES "${CMAKE_CURRENT_LIST_DIR}/0001-Updates-to-CMake-configuration-to-align-with-other-C.patch"
"${CMAKE_CURRENT_LIST_DIR}/0002-Fix-directory-output.patch"
- "${CMAKE_CURRENT_LIST_DIR}/0003-Fix-cmake-TIFF-detection.patch"
"${CMAKE_CURRENT_LIST_DIR}/0004-Fix-libxtiff-installation.patch"
"${CMAKE_CURRENT_LIST_DIR}/0005-Control-shared-library-build-with-option.patch"
"${CMAKE_CURRENT_LIST_DIR}/0006-Fix-utility-link-error.patch"
)
-if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
- set(BUILD_SHARED_LIBS ON)
-else()
- set(BUILD_SHARED_LIBS OFF)
-endif()
-
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
- OPTIONS -DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS}
- -DWITH_TIFF=ON
- -DWITH_PROJ4=ON
- -DWITH_ZLIB=ON
- -DWITH_JPEG=ON
+ OPTIONS
+ -DWITH_TIFF=ON
+ -DWITH_PROJ4=ON
+ -DWITH_ZLIB=ON
+ -DWITH_JPEG=ON
OPTIONS_RELEASE -DWITH_UTILITIES=ON
OPTIONS_DEBUG -DWITH_UTILITIES=OFF
)
-vcpkg_build_cmake()
vcpkg_install_cmake()
-vcpkg_copy_pdbs()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share)
file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libgeotiff RENAME copyright)
-file(GLOB GEOTIFF_UTILS ${CURRENT_PACKAGES_DIR}/bin/*.exe)
+if(VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ file(GLOB GEOTIFF_UTILS ${CURRENT_PACKAGES_DIR}/bin/*)
+else()
+ file(GLOB GEOTIFF_UTILS ${CURRENT_PACKAGES_DIR}/bin/*.exe)
+endif()
+
file(INSTALL ${GEOTIFF_UTILS} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/libgeotiff/)
-file(REMOVE ${GEOTIFF_UTILS})
vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/libgeotiff)
-if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
+file(GLOB EXES ${CURRENT_PACKAGES_DIR}/bin/*.exe ${CURRENT_PACKAGES_DIR}/debug/bin/*.exe)
+if(EXES)
+ file(REMOVE ${EXES})
+endif()
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "static" OR (VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore"))
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin ${CURRENT_PACKAGES_DIR}/bin)
endif()
+
+vcpkg_copy_pdbs()
diff --git a/ports/libgit2/CONTROL b/ports/libgit2/CONTROL
index 779bf10c9..9a2b518a4 100644
--- a/ports/libgit2/CONTROL
+++ b/ports/libgit2/CONTROL
@@ -1,3 +1,4 @@
Source: libgit2
-Version: 0.26.0
+Version: 0.27.4-1
+Build-Depends: openssl (!windows&&!uwp)
Description: Git linkable library
diff --git a/ports/libgit2/portfile.cmake b/ports/libgit2/portfile.cmake
index e624e37eb..be3139a81 100644
--- a/ports/libgit2/portfile.cmake
+++ b/ports/libgit2/portfile.cmake
@@ -8,19 +8,16 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO libgit2/libgit2
- REF v0.26.0
- SHA512 b6e51f2216c7c23f352572b780ea1325a25a517396709f036bb573295c2bd02aa505ba616846ac7e07863e99e640e7d47fefc5727478a257b283da99060ee47c
+ REF v0.27.4
+ SHA512 d27db86eb1b9f0d4057f8538ba1985ee76c3ca106e57d417fa9bff79d575f91a07ad28693112b58dc1d61d68116a82e6a145f12276158f2806b6c4964d741f61
HEAD_REF master)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
- OPTIONS
+ OPTIONS
-DBUILD_CLAR=OFF
- OPTIONS_DEBUG
- -DBUILD_CLAR=OFF
)
-
vcpkg_install_cmake()
diff --git a/ports/libideviceactivation/CONTROL b/ports/libideviceactivation/CONTROL
new file mode 100644
index 000000000..2d5e23661
--- /dev/null
+++ b/ports/libideviceactivation/CONTROL
@@ -0,0 +1,4 @@
+Source: libideviceactivation
+Version: 1.0.38-1
+Description: A library to handle the activation process of iOS devices
+Build-Depends: libimobiledevice, libxml2, curl \ No newline at end of file
diff --git a/ports/libideviceactivation/portfile.cmake b/ports/libideviceactivation/portfile.cmake
new file mode 100644
index 000000000..117d8f472
--- /dev/null
+++ b/ports/libideviceactivation/portfile.cmake
@@ -0,0 +1,22 @@
+include(vcpkg_common_functions)
+
+vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY ONLY_DYNAMIC_CRT)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO libimobiledevice-win32/libideviceactivation
+ REF 1.0.38
+ SHA512 2fd2d5636e83a6740251dca58c04429628f47661a56e573fc14f45ef68c54990717515305902cf04759a7c8fd19e66a30c8eb2ea20e6257d2c5405b690ea25a6
+ HEAD_REF master
+)
+
+vcpkg_install_msbuild(
+ SOURCE_PATH ${SOURCE_PATH}
+ PROJECT_SUBPATH libideviceactivation.sln
+ INCLUDES_SUBPATH include
+ LICENSE_SUBPATH COPYING
+ USE_VCPKG_INTEGRATION
+ ALLOW_ROOT_INCLUDES
+)
+
+file(REMOVE ${CURRENT_PACKAGES_DIR}/include/Makefile.am)
diff --git a/ports/libimobiledevice/CONTROL b/ports/libimobiledevice/CONTROL
new file mode 100644
index 000000000..b6d3c2960
--- /dev/null
+++ b/ports/libimobiledevice/CONTROL
@@ -0,0 +1,4 @@
+Source: libimobiledevice
+Version: 1.2.1.215-1
+Description: A cross-platform protocol library to communicate with iOS devices
+Build-Depends: libplist, libusbmuxd, openssl, dirent, getopt \ No newline at end of file
diff --git a/ports/libimobiledevice/portfile.cmake b/ports/libimobiledevice/portfile.cmake
new file mode 100644
index 000000000..c17e43de5
--- /dev/null
+++ b/ports/libimobiledevice/portfile.cmake
@@ -0,0 +1,20 @@
+include(vcpkg_common_functions)
+
+vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY ONLY_DYNAMIC_CRT)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO libimobiledevice-win32/libimobiledevice
+ REF 1.2.1.215
+ SHA512 192ac12eb4fdf518a934cb8061d4a40e48f483e969e34167f2a5346efac1d745e4041eff84d7175d106b1a3b3f806d5e69643daa1459e48e69bc9c38d722be3c
+ HEAD_REF master
+)
+
+vcpkg_install_msbuild(
+ SOURCE_PATH ${SOURCE_PATH}
+ PROJECT_SUBPATH libimobiledevice.sln
+ INCLUDES_SUBPATH include
+ LICENSE_SUBPATH COPYING
+ REMOVE_ROOT_INCLUDES
+ USE_VCPKG_INTEGRATION
+)
diff --git a/ports/libirecovery/CONTROL b/ports/libirecovery/CONTROL
new file mode 100644
index 000000000..0916cd698
--- /dev/null
+++ b/ports/libirecovery/CONTROL
@@ -0,0 +1,4 @@
+Source: libirecovery
+Version: 1.0.25-1
+Description: Library and utility to talk to iBoot/iBSS via USB on Mac OS X, Windows, and Linux
+Build-Depends: libusbmuxd, readline \ No newline at end of file
diff --git a/ports/libirecovery/portfile.cmake b/ports/libirecovery/portfile.cmake
new file mode 100644
index 000000000..f03e7e44c
--- /dev/null
+++ b/ports/libirecovery/portfile.cmake
@@ -0,0 +1,22 @@
+include(vcpkg_common_functions)
+
+vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY ONLY_DYNAMIC_CRT)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO libimobiledevice-win32/libirecovery
+ REF 1.0.25
+ SHA512 0dd91d4fe3ded2bc1bbd91aea964e31e7f59bce18be01aa096e974f37dc1be281644d6c44e3f9b49470dd961e3df2e3ff8a09bcc6b803a959073e7d7d9a8d3e7
+ HEAD_REF master
+)
+
+vcpkg_install_msbuild(
+ SOURCE_PATH ${SOURCE_PATH}
+ PROJECT_SUBPATH libirecovery.sln
+ INCLUDES_SUBPATH include
+ LICENSE_SUBPATH COPYING
+ USE_VCPKG_INTEGRATION
+ ALLOW_ROOT_INCLUDES
+)
+
+file(REMOVE ${CURRENT_PACKAGES_DIR}/include/Makefile.am)
diff --git a/ports/libmorton/CONTROL b/ports/libmorton/CONTROL
new file mode 100644
index 000000000..8e814fd43
--- /dev/null
+++ b/ports/libmorton/CONTROL
@@ -0,0 +1,3 @@
+Source: libmorton
+Version: 2018-19-07
+Description: header-only library for encoding/decoding Morton codes in/from 2D/3D coordinates
diff --git a/ports/libmorton/portfile.cmake b/ports/libmorton/portfile.cmake
new file mode 100644
index 000000000..396a3608b
--- /dev/null
+++ b/ports/libmorton/portfile.cmake
@@ -0,0 +1,15 @@
+#header-only library
+include(vcpkg_common_functions)
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO Forceflow/libmorton
+ REF 797ea736dca49553a56089f143ee6d1effdd318e
+ SHA512 ee9632f5c873462842d18014d4fd2d461e9fe767659e7426a7dec90fcc06cb974fb064229db5622c38ad0af9509004edea87e0f1d57ad09d8d1d236a5b9579a0
+ HEAD_REF master
+)
+
+file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libmorton)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/libmorton/LICENSE ${CURRENT_PACKAGES_DIR}/share/libmorton/copyright)
+
+file(GLOB HEADER_FILES ${SOURCE_PATH}/libmorton/include/*.h)
+file(COPY ${HEADER_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include/libmorton)
diff --git a/ports/libp7-baical/CONTROL b/ports/libp7-baical/CONTROL
index 215810511..ea1739798 100644
--- a/ports/libp7-baical/CONTROL
+++ b/ports/libp7-baical/CONTROL
@@ -1,3 +1,3 @@
Source: libp7-baical
-Version: 4.4-2
+Version: 4.4-3
Description: P7 is a library for high-speed sending telemetry & trace data from application
diff --git a/ports/libp7-baical/portfile.cmake b/ports/libp7-baical/portfile.cmake
index bb9b751f4..3edc89c47 100644
--- a/ports/libp7-baical/portfile.cmake
+++ b/ports/libp7-baical/portfile.cmake
@@ -9,7 +9,7 @@ if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
endif()
set(LIBP7_VERSION 4.4)
-set(LIBP7_HASH ce33db9a0c731e4dff95646703fe5fd96015f1c528377aa5dbe2e533529b0e8c45a4b74ee2b4616a811a7f9038c12edf106b08b3c21cec9cb6bdf85ad6e1d64f)
+set(LIBP7_HASH 500fefdf6fb01999ddb2accc8309cf8749fb7a65abb98faaf6d71a5ae3da4eac8c00c083905b01f7f6cc973387b605f2c4db0bb007562f76b7ad43b6abe2b91f)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libP7_v${LIBP7_VERSION})
vcpkg_download_distfile(ARCHIVE
diff --git a/ports/libplist/CONTROL b/ports/libplist/CONTROL
new file mode 100644
index 000000000..22e209d14
--- /dev/null
+++ b/ports/libplist/CONTROL
@@ -0,0 +1,3 @@
+Source: libplist
+Version: 2.0.1.197-1
+Description: A library to handle Apple Property List format in binary or XML
diff --git a/ports/libplist/dllexport.patch b/ports/libplist/dllexport.patch
new file mode 100644
index 000000000..f5e006210
--- /dev/null
+++ b/ports/libplist/dllexport.patch
@@ -0,0 +1,37 @@
+diff --git a/include/plist/plist.h b/include/plist/plist.h
+index 2863c74..9cdb219 100644
+--- a/include/plist/plist.h
++++ b/include/plist/plist.h
+@@ -42,7 +42,7 @@ extern "C"
+ #include <stdint.h>
+ #endif
+
+-#ifdef _MSC_VER
++#if defined(_MSC_VER) && defined(LIBPLIST_EXPORTS)
+ #define PLIST_API_MSC __declspec( dllexport )
+ #else
+ #define PLIST_API_MSC
+diff --git a/src/plist.h b/src/plist.h
+index 1e5d0d1..6690343 100644
+--- a/src/plist.h
++++ b/src/plist.h
+@@ -39,10 +39,7 @@
+ #include <sys/time.h>
+ #endif
+
+-#ifdef _MSC_VER
+- #define PLIST_API __declspec( dllexport )
+-#else
+-#ifdef WIN32
++#if (defined(_MSC_VER) || defined(WIN32)) && defined(LIBPLIST_EXPORTS)
+ #define PLIST_API __declspec( dllexport )
+ #else
+ #ifdef HAVE_FVISIBILITY
+@@ -51,7 +48,6 @@
+ #define PLIST_API
+ #endif
+ #endif
+-#endif
+
+ struct plist_data_s
+ {
diff --git a/ports/libplist/portfile.cmake b/ports/libplist/portfile.cmake
new file mode 100644
index 000000000..71e12fd4c
--- /dev/null
+++ b/ports/libplist/portfile.cmake
@@ -0,0 +1,20 @@
+include(vcpkg_common_functions)
+
+vcpkg_check_linkage(ONLY_STATIC_LIBRARY ONLY_DYNAMIC_CRT)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO libimobiledevice-win32/libplist
+ REF 2.0.1.197
+ SHA512 55e1817c61d608b11646eb9c28c445f9ee801c7beb2121bd810235561117262adb73dbecb23b9ef5b0c54b0fc8089e0a46acc0e8f4845329a50a663ab004052c
+ HEAD_REF master
+ PATCHES dllexport.patch
+)
+
+vcpkg_install_msbuild(
+ SOURCE_PATH ${SOURCE_PATH}
+ PROJECT_SUBPATH libplist.sln
+ INCLUDES_SUBPATH include
+ LICENSE_SUBPATH COPYING.lesser
+ REMOVE_ROOT_INCLUDES
+)
diff --git a/ports/libpng/CONTROL b/ports/libpng/CONTROL
index 1eec4f2dc..d7e4b8e89 100644
--- a/ports/libpng/CONTROL
+++ b/ports/libpng/CONTROL
@@ -1,4 +1,4 @@
Source: libpng
-Version: 1.6.34-3
+Version: 1.6.35
Build-Depends: zlib
Description: libpng is a library implementing an interface for reading and writing PNG (Portable Network Graphics) format files.
diff --git a/ports/libpng/portfile.cmake b/ports/libpng/portfile.cmake
index 521dfb8bf..ef82635af 100644
--- a/ports/libpng/portfile.cmake
+++ b/ports/libpng/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO glennrp/libpng
- REF v1.6.34
- SHA512 23b6112a1d16a34c8037d5c5812944d4385fc96ed819a22172776bdd5acd3a34e55f073b46087b77d1c12cecc68f9e8ba7754c86b5ab6ed3016063e1c795de7a
+ REF v1.6.35
+ SHA512 1b6e2664bd80726e8f6ef7ea4f23d311a883841086a4a60700dfd11621130808c24487c744c8a942219980eb29b244e81965aebfc4ab7f637693f537f4e8e148
HEAD_REF master
)
diff --git a/ports/libraw/findlibraw_debug_fix.patch b/ports/libraw/findlibraw_debug_fix.patch
new file mode 100644
index 000000000..a09eca537
--- /dev/null
+++ b/ports/libraw/findlibraw_debug_fix.patch
@@ -0,0 +1,39 @@
+--- a/cmake/modules/FindLibRaw.cmake 2016-11-02 07:09:50.000000000 +0100
++++ b/cmake/modules/FindLibRaw.cmake 2018-06-02 02:50:10.501142400 +0200
+@@ -31,18 +31,34 @@
+ PATH_SUFFIXES libraw
+ )
+
+-FIND_LIBRARY(LibRaw_LIBRARIES NAMES raw
++FIND_LIBRARY(LibRaw_LIBRARY_RELEASE NAMES raw
+ HINTS
+ ${PC_LIBRAW_LIBDIR}
+ ${PC_LIBRAW_LIBRARY_DIRS}
+ )
+
+-FIND_LIBRARY(LibRaw_r_LIBRARIES NAMES raw_r
++FIND_LIBRARY(LibRaw_LIBRARY_DEBUG NAMES rawd
++ HINTS
++ ${PC_LIBRAW_LIBDIR}
++ ${PC_LIBRAW_LIBRARY_DIRS}
++ )
++
++select_library_configurations(LibRaw)
++
++FIND_LIBRARY(LibRaw_r_LIBRARY_RELEASE NAMES raw_r
+ HINTS
+ ${PC_LIBRAW_R_LIBDIR}
+ ${PC_LIBRAW_R_LIBRARY_DIRS}
+ )
+
++FIND_LIBRARY(LibRaw_r_LIBRARY_DEBUG NAMES raw_rd
++ HINTS
++ ${PC_LIBRAW_R_LIBDIR}
++ ${PC_LIBRAW_R_LIBRARY_DIRS}
++ )
++
++select_library_configurations(LibRaw_r)
++
+ IF(LibRaw_INCLUDE_DIR)
+ FILE(READ ${LibRaw_INCLUDE_DIR}/libraw_version.h _libraw_version_content)
+
diff --git a/ports/libraw/lcms2_debug_fix.patch b/ports/libraw/lcms2_debug_fix.patch
new file mode 100644
index 000000000..b0d48edca
--- /dev/null
+++ b/ports/libraw/lcms2_debug_fix.patch
@@ -0,0 +1,66 @@
+--- a/cmake/modules/FindLCMS2.cmake 2016-11-02 07:09:50.000000000 +0100
++++ b/cmake/modules/FindLCMS2.cmake 2018-06-02 00:43:27.309100600 +0200
+@@ -13,7 +13,6 @@
+ # Redistribution and use is allowed according to the terms of the BSD license.
+ # For details see the accompanying LICENSE file.
+
+-
+ # use pkg-config to get the directories and then use these values
+ # in the FIND_PATH() and FIND_LIBRARY() calls
+ if(NOT WIN32)
+@@ -29,18 +28,30 @@
+ PATH_SUFFIXES lcms2 liblcms2
+ )
+
+-find_library(LCMS2_LIBRARIES NAMES lcms2 liblcms2 lcms-2 liblcms-2
++include(SelectLibraryConfigurations)
++
++find_library(LCMS2_LIBRARY_RELEASE NAMES lcms2 liblcms2 lcms-2 liblcms-2
++ PATHS
++ ${PC_LCMS2_LIBDIR}
++ ${PC_LCMS2_LIBRARY_DIRS}
++ PATH_SUFFIXES lcms2
++)
++
++find_library(LCMS2_LIBRARY_DEBUG NAMES lcms2d liblcms2d lcms-2d liblcms-2d
+ PATHS
+ ${PC_LCMS2_LIBDIR}
+ ${PC_LCMS2_LIBRARY_DIRS}
+ PATH_SUFFIXES lcms2
+ )
+
+-if(LCMS2_INCLUDE_DIR AND LCMS2_LIBRARIES)
++select_library_configurations(LCMS2)
++
++
++if(LCMS2_INCLUDE_DIR AND LCMS2_LIBRARY)
+ set(LCMS2_FOUND TRUE)
+-else(LCMS2_INCLUDE_DIR AND LCMS2_LIBRARIES)
++else(LCMS2_INCLUDE_DIR AND LCMS2_LIBRARY)
+ set(LCMS2_FOUND FALSE)
+-endif(LCMS2_INCLUDE_DIR AND LCMS2_LIBRARIES)
++endif(LCMS2_INCLUDE_DIR AND LCMS2_LIBRARY)
+
+ if(LCMS2_FOUND)
+ file(READ ${LCMS2_INCLUDE_DIR}/lcms2.h LCMS2_VERSION_CONTENT)
+@@ -50,11 +61,11 @@
+ if(NOT LCMS2_FIND_QUIETLY)
+ string(SUBSTRING ${LCMS2_VERSION} 0 1 LCMS2_MAJOR_VERSION)
+ string(SUBSTRING ${LCMS2_VERSION} 1 2 LCMS2_MINOR_VERSION)
+- message(STATUS "Found lcms version ${LCMS2_MAJOR_VERSION}.${LCMS2_MINOR_VERSION}, ${LCMS2_LIBRARIES}")
++ message(STATUS "Found lcms version ${LCMS2_MAJOR_VERSION}.${LCMS2_MINOR_VERSION}, ${LCMS2_LIBRARY}")
+ endif(NOT LCMS2_FIND_QUIETLY)
+ else(LCMS2_VERSION_MATCH)
+ if(NOT LCMS2_FIND_QUIETLY)
+- message(STATUS "Found lcms2 but failed to find version ${LCMS2_LIBRARIES}")
++ message(STATUS "Found lcms2 but failed to find version ${LCMS2_LIBRARY}")
+ endif(NOT LCMS2_FIND_QUIETLY)
+ set(LCMS2_VERSION NOTFOUND)
+ endif(LCMS2_VERSION_MATCH)
+@@ -68,5 +79,5 @@
+ endif(NOT LCMS2_FIND_QUIETLY)
+ endif(LCMS2_FOUND)
+
+-mark_as_advanced(LCMS2_INCLUDE_DIR LCMS2_LIBRARIES LCMS2_VERSION)
++mark_as_advanced(LCMS2_INCLUDE_DIR LCMS2_LIBRARY LCMS2_VERSION)
+
diff --git a/ports/libraw/portfile.cmake b/ports/libraw/portfile.cmake
index 6c61f2b87..3681d1d28 100644
--- a/ports/libraw/portfile.cmake
+++ b/ports/libraw/portfile.cmake
@@ -22,6 +22,13 @@ vcpkg_extract_source_archive(${CMAKE_BUILD_ARCHIVE} ${CURRENT_BUILDTREES_DIR}/sr
file(COPY ${LIBRAW_CMAKE_SOURCE_PATH}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
file(COPY ${LIBRAW_CMAKE_SOURCE_PATH}/cmake DESTINATION ${SOURCE_PATH})
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES
+ ${CMAKE_CURRENT_LIST_DIR}/findlibraw_debug_fix.patch
+ ${CMAKE_CURRENT_LIST_DIR}/lcms2_debug_fix.patch
+)
+
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
diff --git a/ports/libsndfile/CONTROL b/ports/libsndfile/CONTROL
index f870d97af..d448f694c 100644
--- a/ports/libsndfile/CONTROL
+++ b/ports/libsndfile/CONTROL
@@ -1,4 +1,8 @@
Source: libsndfile
-Version: 1.0.29-6830c42-3
+Version: 1.0.29-6830c42-5
Description: Library to read, write and manipulate many soundfile types. Authored by Eric de Castro Lopo
+Default-Features: external-libs
+
+Feature: external-libs
+Description: Support OGG and FLAC audio files
Build-Depends: libogg, libflac, libvorbis
diff --git a/ports/libsndfile/portfile.cmake b/ports/libsndfile/portfile.cmake
index e217a9671..1ba590fd7 100644
--- a/ports/libsndfile/portfile.cmake
+++ b/ports/libsndfile/portfile.cmake
@@ -6,35 +6,26 @@ vcpkg_from_github(
REF 6830c421899e32f8d413a903a21a9b6cf384d369
SHA512 b13c5d7bc27218eff8a8c4ce89a964b4920b1d3946e4843e60be965d77ec205845750a82bf654a7c2c772bf3a24f6ff5706881b24ff12115f2525c8134b6d0b9
HEAD_REF master
-)
-
-vcpkg_apply_patches(
- SOURCE_PATH ${SOURCE_PATH}
PATCHES
"${CMAKE_CURRENT_LIST_DIR}/uwp-createfile-getfilesize.patch"
"${CMAKE_CURRENT_LIST_DIR}/uwp-createfile-getfilesize-addendum.patch"
)
-if (VCPKG_CRT_LINKAGE STREQUAL "dynamic")
- set(CRT_LIB_STATIC 0)
-elseif (VCPKG_CRT_LINKAGE STREQUAL "static")
- set(CRT_LIB_STATIC 1)
-endif()
-
-if (VCPKG_LIBRARY_LINKAGE STREQUAL "static")
- set(BUILD_STATIC 1)
- set(BUILD_DYNAMIC 0)
-elseif (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
- set(BUILD_STATIC 0)
- set(BUILD_DYNAMIC 1)
-endif()
+string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" CRT_LIB_STATIC)
+string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC)
option(BUILD_EXECUTABLES "Build sndfile tools and install to folder tools" OFF)
+if("external-libs" IN_LIST FEATURES)
+ set(SNDFILE_WITHOUT_EXTERNAL_LIBS OFF)
+else()
+ set(SNDFILE_WITHOUT_EXTERNAL_LIBS ON)
+endif()
+
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
- OPTIONS -DBUILD_EXAMPLES=0 -DBUILD_REGTEST=0 -DBUILD_TESTING=0 -DENABLE_STATIC_RUNTIME=${CRT_LIB_STATIC} -DBUILD_STATIC_LIBS=${BUILD_STATIC}
+ OPTIONS -DBUILD_EXAMPLES=0 -DBUILD_REGTEST=0 -DBUILD_TESTING=0 -DENABLE_STATIC_RUNTIME=${CRT_LIB_STATIC} -DBUILD_STATIC_LIBS=${BUILD_STATIC} -DDISABLE_EXTERNAL_LIBS=${SNDFILE_WITHOUT_EXTERNAL_LIBS}
OPTIONS_RELEASE -DBUILD_PROGRAMS=${BUILD_EXECUTABLES}
# Setting ENABLE_PACKAGE_CONFIG=0 has no effect
OPTIONS_DEBUG -DBUILD_PROGRAMS=0
diff --git a/ports/libssh2/CONTROL b/ports/libssh2/CONTROL
index d050bf838..4a95c72b6 100644
--- a/ports/libssh2/CONTROL
+++ b/ports/libssh2/CONTROL
@@ -1,4 +1,4 @@
Source: libssh2
-Version: 1.8.0-3
+Version: 1.8.0-4
Build-Depends: zlib, openssl
Description: The SSH library
diff --git a/ports/libssh2/portfile.cmake b/ports/libssh2/portfile.cmake
index 9e5e5c025..e080cf81e 100644
--- a/ports/libssh2/portfile.cmake
+++ b/ports/libssh2/portfile.cmake
@@ -1,16 +1,14 @@
include(vcpkg_common_functions)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libssh2-1.8.0)
-vcpkg_download_distfile(ARCHIVE_FILE
- URLS "https://www.libssh2.org/download/libssh2-1.8.0.tar.gz"
- FILENAME "libssh2-1.8.0.tar.gz"
- SHA512 289aa45c4f99653bebf5f99565fe9c519abc204feb2084b47b7cc3badc8bf4ecdedd49ea6acdce8eb902b3c00995d5f92a3ca77b2508b92f04ae0e7de7287558
-)
-vcpkg_extract_source_archive(${ARCHIVE_FILE})
-vcpkg_apply_patches(
- SOURCE_PATH ${SOURCE_PATH}
- PATCHES ${CMAKE_CURRENT_LIST_DIR}/0001-Fix-UWP.patch
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO libssh2/libssh2
+ REF libssh2-1.8.0
+ SHA512 c157db0628126d6348ed52a698fbdd7e20b54b6115123bd7d238f02fda5c68ca7a1585aed8a2376df0840f4a3823743133996192001ae54864ab53c954b938e7
+ HEAD_REF master
+ PATCHES "${CMAKE_CURRENT_LIST_DIR}/0001-Fix-UWP.patch"
)
+
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
OPTIONS
@@ -33,4 +31,4 @@ vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/libssh2)
file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libssh2 RENAME copyright)
-vcpkg_copy_pdbs() \ No newline at end of file
+vcpkg_copy_pdbs()
diff --git a/ports/libusbmuxd/CONTROL b/ports/libusbmuxd/CONTROL
new file mode 100644
index 000000000..b93c9d379
--- /dev/null
+++ b/ports/libusbmuxd/CONTROL
@@ -0,0 +1,4 @@
+Source: libusbmuxd
+Version: 1.0.107-1
+Description: A client library to multiplex connections from and to iOS devices
+Build-Depends: libplist
diff --git a/ports/libusbmuxd/dllexport.patch b/ports/libusbmuxd/dllexport.patch
new file mode 100644
index 000000000..15996ec01
--- /dev/null
+++ b/ports/libusbmuxd/dllexport.patch
@@ -0,0 +1,26 @@
+diff --git a/include/usbmuxd.h b/include/usbmuxd.h
+index 5a3b0c0..aa1c8d9 100644
+--- a/include/usbmuxd.h
++++ b/include/usbmuxd.h
+@@ -24,7 +24,7 @@
+ #define USBMUXD_H
+ #include <stdint.h>
+
+-#ifdef _MSC_VER
++#if defined(_MSC_VER) && defined(USBMUXD_EXPORTS)
+ #define USBMUXD_API_MSC __declspec( dllexport )
+ #else
+ #ifdef HAVE_FVISIBILITY
+diff --git a/src/libusbmuxd.c b/src/libusbmuxd.c
+index b94c83c..1902a55 100644
+--- a/src/libusbmuxd.c
++++ b/src/libusbmuxd.c
+@@ -34,7 +34,7 @@
+ #include <stdio.h>
+ #include <string.h>
+
+-#ifdef _MSC_VER
++#if defined(_MSC_VER) && defined(USBMUXD_EXPORTS)
+ #define USBMUXD_API __declspec( dllexport )
+ #else
+ #define USBMUXD_API
diff --git a/ports/libusbmuxd/portfile.cmake b/ports/libusbmuxd/portfile.cmake
new file mode 100644
index 000000000..b8eb19b2b
--- /dev/null
+++ b/ports/libusbmuxd/portfile.cmake
@@ -0,0 +1,23 @@
+include(vcpkg_common_functions)
+
+vcpkg_check_linkage(ONLY_STATIC_LIBRARY ONLY_DYNAMIC_CRT)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO libimobiledevice-win32/libusbmuxd
+ REF 1.0.109
+ SHA512 104205ebcac96765f4bf0b42dbe5df084be4f87fc64454b4e02049fbd18caf9282d070f8949935977eda76fba68b6a909571afea58d4ad4091f02d0e6b7a08e0
+ HEAD_REF master
+ PATCHES dllexport.patch
+)
+
+vcpkg_install_msbuild(
+ SOURCE_PATH ${SOURCE_PATH}
+ PROJECT_SUBPATH libusbmuxd.sln
+ INCLUDES_SUBPATH include
+ LICENSE_SUBPATH COPYING
+ USE_VCPKG_INTEGRATION
+ ALLOW_ROOT_INCLUDES
+)
+
+file(REMOVE "${CURRENT_PACKAGES_DIR}/include/Makefile.am")
diff --git a/ports/libuv/CONTROL b/ports/libuv/CONTROL
index 7676ae757..29abd6bdf 100644
--- a/ports/libuv/CONTROL
+++ b/ports/libuv/CONTROL
@@ -1,3 +1,3 @@
Source: libuv
-Version: 1.21.0-1
+Version: 1.22.0
Description: libuv is a multi-platform support library with a focus on asynchronous I/O.
diff --git a/ports/libuv/portfile.cmake b/ports/libuv/portfile.cmake
index 7a854c56b..29640eb62 100644
--- a/ports/libuv/portfile.cmake
+++ b/ports/libuv/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO libuv/libuv
- REF v1.21.0
- SHA512 ab6b52f8bee1900953d9136e4d281f81ba9f14287760f7bfc8633289699cb9eeaab15d9146ed05b164631fcb3c2b5abcee8c10499d080a82a411bb1f02564c48
+ REF v1.22.0
+ SHA512 e79cae6aa1d9cf2c8f7c0262c866fea2858d7104ece7c556e537e7d1cf884f191d5cd3e56539bfe857fa15dc50b57fdcb33019824cd585a2ca250a77d923af73
HEAD_REF v1.x
)
diff --git a/ports/libzip/CONTROL b/ports/libzip/CONTROL
index e82f0fee2..52681ed04 100644
--- a/ports/libzip/CONTROL
+++ b/ports/libzip/CONTROL
@@ -1,4 +1,4 @@
Source: libzip
-Version: rel-1-5-1
+Version: rel-1-5-1-vcpkg1
Build-Depends: zlib
Description: A library for reading, creating, and modifying zip archives.
diff --git a/ports/libzip/LICENSE b/ports/libzip/LICENSE
deleted file mode 100644
index 1c2e86bf2..000000000
--- a/ports/libzip/LICENSE
+++ /dev/null
@@ -1,66 +0,0 @@
-Copyright (C) 1999-2016 Dieter Baron and Thomas Klausner
-
-The authors can be contacted at <libzip@nih.at>
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
-1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
-2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in
- the documentation and/or other materials provided with the
- distribution.
-
-3. The names of the authors may not be used to endorse or promote
- products derived from this software without specific prior
- written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS
-OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
-DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
-GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
-IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
-IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-
-For AES encryption support, files under the following license are used:
-
----------------------------------------------------------------------------
-Copyright (c) 2002, Dr Brian Gladman < >, Worcester, UK.
-All rights reserved.
-
-LICENSE TERMS
-
-The free distribution and use of this software in both source and binary
-form is allowed (with or without changes) provided that:
-
- 1. distributions of this source code include the above copyright
- notice, this list of conditions and the following disclaimer;
-
- 2. distributions in binary form include the above copyright
- notice, this list of conditions and the following disclaimer
- in the documentation and/or other associated materials;
-
- 3. the copyright holder's name is not used to endorse products
- built using this software without specific written permission.
-
-ALTERNATIVELY, provided that this notice is retained in full, this product
-may be distributed under the terms of the GNU General Public License (GPL),
-in which case the provisions of the GPL apply INSTEAD OF those given above.
-
-DISCLAIMER
-
-This software is provided 'as is' with no explicit or implied warranties
-in respect of its properties, including, but not limited to, correctness
-and/or fitness for purpose.
----------------------------------------------------------------------------
-Issue Date: 18th November 2008
diff --git a/ports/libzip/portfile.cmake b/ports/libzip/portfile.cmake
index b509c5eb0..de7940b3a 100644
--- a/ports/libzip/portfile.cmake
+++ b/ports/libzip/portfile.cmake
@@ -4,13 +4,8 @@ vcpkg_from_github(
REPO nih-at/libzip
REF rel-1-5-1
SHA512 778f438f6354f030656baa5497b3154ad8fb764011d2a6925136f32e06dc0dcd1ed93fe05dbf7be619004a68cdabe5e34a83b988c1501ed67e9cfa4fa540350f
-)
-
-# Patch cmake and configuration to allow static builds
-vcpkg_apply_patches(
- SOURCE_PATH ${SOURCE_PATH}
- PATCHES
- "${CMAKE_CURRENT_LIST_DIR}/cmake_dont_build_more_than_needed.patch"
+ HEAD_REF master
+ PATCHES cmake_dont_build_more_than_needed.patch
)
vcpkg_configure_cmake(
@@ -20,13 +15,13 @@ vcpkg_configure_cmake(
vcpkg_install_cmake()
-# Move zipconf.h to include and remove include directories from lib
+# Remove include directories from lib
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/libzip ${CURRENT_PACKAGES_DIR}/debug/lib/libzip)
# Remove debug include
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
# Copy copright information
-file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libzip RENAME copyright)
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libzip RENAME copyright)
vcpkg_copy_pdbs()
diff --git a/ports/live555/CMakeLists.txt b/ports/live555/CMakeLists.txt
index a41d2c791..8be171fc2 100644
--- a/ports/live555/CMakeLists.txt
+++ b/ports/live555/CMakeLists.txt
@@ -1,5 +1,5 @@
cmake_minimum_required(VERSION 3.5)
-project(live555 CXX)
+project(live555 C CXX)
include_directories(
BasicUsageEnvironment/include
@@ -8,17 +8,17 @@ include_directories(
UsageEnvironment/include
)
-file(GLOB BASIC_USAGE_ENVIRONMENT_SRCS BasicUsageEnvironment/*.cpp)
+file(GLOB BASIC_USAGE_ENVIRONMENT_SRCS BasicUsageEnvironment/*.c BasicUsageEnvironment/*.cpp)
add_library(BasicUsageEnvironment ${BASIC_USAGE_ENVIRONMENT_SRCS})
-file(GLOB GROUPSOCK_SRCS groupsock/*.cpp)
+file(GLOB GROUPSOCK_SRCS groupsock/*.c groupsock/*.cpp)
add_library(groupsock ${GROUPSOCK_SRCS})
-file(GLOB LIVEMEDIA_SRCS liveMedia/*.cpp)
+file(GLOB LIVEMEDIA_SRCS liveMedia/*.c liveMedia/*.cpp)
add_library(liveMedia ${LIVEMEDIA_SRCS})
-file(GLOB USAGE_ENVIRONMENT_SRCS UsageEnvironment/*.cpp)
-add_library(UsageEnvironment ${LIVEMEDIA_SRCS})
+file(GLOB USAGE_ENVIRONMENT_SRCS UsageEnvironment/*.c UsageEnvironment/*.cpp)
+add_library(UsageEnvironment ${USAGE_ENVIRONMENT_SRCS})
install(TARGETS groupsock BasicUsageEnvironment liveMedia UsageEnvironment
RUNTIME DESTINATION bin
diff --git a/ports/live555/CONTROL b/ports/live555/CONTROL
index 276a554b5..45b39704e 100644
--- a/ports/live555/CONTROL
+++ b/ports/live555/CONTROL
@@ -1,3 +1,3 @@
Source: live555
-Version: 2018.07.07
+Version: 2018.07.07-1
Description: A complete RTSP server application
diff --git a/ports/lodepng/CONTROL b/ports/lodepng/CONTROL
index a803263a2..684e658f4 100644
--- a/ports/lodepng/CONTROL
+++ b/ports/lodepng/CONTROL
@@ -1,3 +1,3 @@
Source: lodepng
-Version: 2018-06-28
+Version: 2018-07-30
Description: PNG encoder and decoder in C and C++
diff --git a/ports/lodepng/portfile.cmake b/ports/lodepng/portfile.cmake
index 747244711..1d85c7084 100644
--- a/ports/lodepng/portfile.cmake
+++ b/ports/lodepng/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO lvandeve/lodepng
- REF bd8f274fb51ef18b6d26b5f106ae4bef2150622e
- SHA512 6082491dc5d6194e3ed2522c74de73f48f43ae91a5e47e04309ef7267a92412f860fec02241b5c0bd7728b931f4fbe6983727d9cf701a2cd4bd4affc6962d9b3
+ REF 955a04e517c1ec266f77f28a89a51d8041a4f1a0
+ SHA512 97f516df220749f6a89b4621be23c419e83a439f8e2689fe9b4719a792909399aa2cf7294ce90f3ac28a13e31f703537e6c701ea032eab1d983093305ed04a5e
HEAD_REF master
)
diff --git a/ports/log4cplus/CONTROL b/ports/log4cplus/CONTROL
index 6dbcb515c..712a78730 100644
--- a/ports/log4cplus/CONTROL
+++ b/ports/log4cplus/CONTROL
@@ -1,4 +1,4 @@
Source: log4cplus
-Version: REL_2_0_0-RC2
+Version: REL_2_0_1
Description: A simple to use C++ logging API providing thread--safe, flexible, and arbitrarily granular control over log management and configuration
Build-Depends: catch
diff --git a/ports/log4cplus/portfile.cmake b/ports/log4cplus/portfile.cmake
index d6e600221..97a17a4f7 100644
--- a/ports/log4cplus/portfile.cmake
+++ b/ports/log4cplus/portfile.cmake
@@ -2,8 +2,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO log4cplus/log4cplus
- REF REL_2_0_0-RC2
- SHA512 34392d85088534e0661e6fa9726c5970647a5acaa559bafb5d3746a70f5baca01012f457d50c15e73d9aca1d3ed9ec99028cc65fab07f73cdadbbc0b4329bcb5
+ REF REL_2_0_1
+ SHA512 7a84bf237bb5db3eccd90196c0f97adb75d0dd247d73852150078b9458f169d883f3ae92908217ea668bcf25c64766c86380bbcc64b432eb1bae6427c9268b18
HEAD_REF master
)
diff --git a/ports/ms-gsl/CONTROL b/ports/ms-gsl/CONTROL
index 8f296c0a1..9171c29f7 100644
--- a/ports/ms-gsl/CONTROL
+++ b/ports/ms-gsl/CONTROL
@@ -1,3 +1,3 @@
Source: ms-gsl
-Version: 2018-06-15
+Version: 2018-07-30
Description: Microsoft implementation of the Guidelines Support Library \ No newline at end of file
diff --git a/ports/ms-gsl/portfile.cmake b/ports/ms-gsl/portfile.cmake
index 1f5401d0a..959c3b21b 100644
--- a/ports/ms-gsl/portfile.cmake
+++ b/ports/ms-gsl/portfile.cmake
@@ -4,8 +4,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Microsoft/GSL
- REF 0cebbd77bfc21acbf1cc05983ad626539eeeb8e0
- SHA512 dd278d4ae1c8b67bea7920006c4671f1277d63a0edd0d017d376b07e1e84115ca07b78b0beb6e18f5ba324d84dd63abb63236fc41d26be1cbc134a56222b7a11
+ REF 5778149583e69b34ab375039ffcc5d51a4dd7b37
+ SHA512 d59d73b09ca9f3a1be21f13437ae456eaed3378284557eac5305bd97525a2286b650ecefff2c9e8575ab3ac54351c7b82f8ddc6ac93d99d757d0d9811a378def
HEAD_REF master
)
diff --git a/ports/mujs/CONTROL b/ports/mujs/CONTROL
index dd155a9ec..c61c7031e 100644
--- a/ports/mujs/CONTROL
+++ b/ports/mujs/CONTROL
@@ -1,3 +1,3 @@
Source: mujs
-Version: 2018-06-15
+Version: 2018-07-30
Description: An embeddable Javascript interpreter in C
diff --git a/ports/mujs/portfile.cmake b/ports/mujs/portfile.cmake
index 1d7e70292..f8c64c867 100644
--- a/ports/mujs/portfile.cmake
+++ b/ports/mujs/portfile.cmake
@@ -8,8 +8,8 @@ endif()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO ccxvii/mujs
- REF 222772f6bbd042801e7eefeb3aee8ecfc2113f6e
- SHA512 7d665f99aabcb8f1daafcb1c4a271c4b4e8b926de44f8a574573b45ed7f0c532f4a3b76f81f867449b45ace29f6d318c6244ab69a6e4e0b4425ea382bf8730a2
+ REF c86267d8b2b5f9a6ae318dc69886109eee0c7b61
+ SHA512 927b000cd6a28b785d510917445a5a39a4dbaf0e13eab920cf83c7838b111b8a0542cfab0110f8493dc65b88a48261deb6ba7a871cbe77fb46119b536a69d470
HEAD_REF master
)
diff --git a/ports/nlopt/CONTROL b/ports/nlopt/CONTROL
index 22d763b0b..c80774878 100644
--- a/ports/nlopt/CONTROL
+++ b/ports/nlopt/CONTROL
@@ -1,3 +1,3 @@
Source: nlopt
-Version: 2.4.2-c43afa08d~vcpkg1-1
+Version: 2.4.2-1226c127
Description: a library for nonlinear local and global optimization, for functions with and without gradient information.
diff --git a/ports/nlopt/portfile.cmake b/ports/nlopt/portfile.cmake
index f2370b0c0..f9d204b33 100644
--- a/ports/nlopt/portfile.cmake
+++ b/ports/nlopt/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO stevengj/nlopt
- REF c43afa08d4fe086d9c00c37924a6bd4c9de71816
- SHA512 e063d748b040f081a648b33dadaf9b7deef63ff3be0cffd8988816701c18694202f5bcf06a18991f1f4b35014e3f406ffa4404d4036ff7625d3680bd5e24f8e4
+ REF 1226c1276dacf3687464c65eb165932281493a35
+ SHA512 889f60cd6970b17296871396366bd0d868011d71ca4b88cb6da906283f928e5b443ab18c5af48a0701c8bf68b6d66288a3e4f248e0ab8183251aa7c3b0cfd652
HEAD_REF master
)
diff --git a/ports/octomap/CONTROL b/ports/octomap/CONTROL
index 6b26d7ef1..21c72834f 100644
--- a/ports/octomap/CONTROL
+++ b/ports/octomap/CONTROL
@@ -1,3 +1,3 @@
Source: octomap
-Version: cefed0c1d79afafa5aeb05273cf1246b093b771c-2
+Version: cefed0c1d79afafa5aeb05273cf1246b093b771c-3
Description: An Efficient Probabilistic 3D Mapping Framework Based on Octrees
diff --git a/ports/octomap/portfile.cmake b/ports/octomap/portfile.cmake
index 099a1ed78..e07551dbe 100644
--- a/ports/octomap/portfile.cmake
+++ b/ports/octomap/portfile.cmake
@@ -4,20 +4,20 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
endif()
include(vcpkg_common_functions)
-set(GIT_REF "cefed0c1d79afafa5aeb05273cf1246b093b771c")
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/octomap-${GIT_REF})
-vcpkg_download_distfile(ARCHIVE
- URLS "https://codeload.github.com/OctoMap/octomap/zip/${GIT_REF}"
- FILENAME "octomap-${GIT_REF}.zip"
- SHA512 0d470ea9929a80366314a6e99717f68f489e8b58f26ae79bd02b7c1a4f1d8ee64591d61d95154724caefc5a0b71e1dab96a1280d9ff927c6e4d854b25b509295
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO OctoMap/octomap
+ REF cefed0c1d79afafa5aeb05273cf1246b093b771c
+ SHA512 8fdea8b33680488d41e570d55ff88c20b923efb9d48238031f9b96d2e3917dbe7e49699769de63794f4b1d24e40a99615151e72487f30de340a3abf6522ea156
+ HEAD_REF master
)
-vcpkg_extract_source_archive(${ARCHIVE})
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
- OPTIONS -DBUILD_OCTOVIS_SUBPROJECT=OFF -DBUILD_DYNAMICETD3D_SUBPROJECT=OFF -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON
- # OPTIONS_RELEASE -DOPTIMIZE=1
- # OPTIONS_DEBUG -DDEBUGGABLE=1
+ OPTIONS
+ -DBUILD_OCTOVIS_SUBPROJECT=OFF
+ -DBUILD_DYNAMICETD3D_SUBPROJECT=OFF
+ -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON
)
vcpkg_install_cmake()
@@ -43,9 +43,7 @@ file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/eval_octree_accuracy.exe)
file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/graph2tree.exe)
file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/log2graph.exe)
-file(READ ${CURRENT_PACKAGES_DIR}/debug/share/octomap/octomap-targets-debug.cmake _contents)
-string(REPLACE "\${_IMPORT_PREFIX}" "\${_IMPORT_PREFIX}/debug" _contents "${_contents}")
-file(WRITE ${CURRENT_PACKAGES_DIR}/share/octomap/octomap-targets-debug.cmake "${_contents}")
+vcpkg_fixup_cmake_targets(CONFIG_PATH share/octomap)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/pkgconfig)
@@ -56,4 +54,4 @@ file(COPY ${SOURCE_PATH}/octomap/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}
file(RENAME ${CURRENT_PACKAGES_DIR}/share/octomap/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/octomap/copyright)
vcpkg_copy_pdbs()
-vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/octomap) \ No newline at end of file
+vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/octomap)
diff --git a/ports/openssl/CMakeLists.txt b/ports/openssl-unix/CMakeLists.txt
index a2d863452..f9c6e7e7c 100644
--- a/ports/openssl/CMakeLists.txt
+++ b/ports/openssl-unix/CMakeLists.txt
@@ -45,6 +45,8 @@ if(CMAKE_SYSROOT AND CMAKE_C_COMPILE_OPTIONS_SYSROOT)
set(CFLAGS "${CFLAGS} ${CMAKE_C_COMPILE_OPTIONS_SYSROOT}${CMAKE_SYSROOT}")
endif()
+string(REGEX REPLACE "^ " "" CFLAGS "${CFLAGS}")
+
file(TO_NATIVE_PATH ENV_PATH "${COMPILER_ROOT};$ENV{PATH}")
set(ENV{ANDROID_DEV} "${CMAKE_SYSROOT}/usr")
set(ENV{CC} "${CMAKE_C_COMPILER}")
diff --git a/ports/openssl-unix/CONTROL b/ports/openssl-unix/CONTROL
new file mode 100644
index 000000000..fb2909bec
--- /dev/null
+++ b/ports/openssl-unix/CONTROL
@@ -0,0 +1,3 @@
+Source: openssl-unix
+Version: 1.0.2o
+Description: OpenSSL is an open source project that provides a robust, commercial-grade, and full-featured toolkit for the Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols. It is also a general-purpose cryptography library.
diff --git a/ports/openssl/ConfigureIncludeQuotesFix.patch b/ports/openssl-unix/ConfigureIncludeQuotesFix.patch
index 09494f565..09494f565 100644
--- a/ports/openssl/ConfigureIncludeQuotesFix.patch
+++ b/ports/openssl-unix/ConfigureIncludeQuotesFix.patch
diff --git a/ports/openssl/EmbedSymbolsInStaticLibsZ7.patch b/ports/openssl-unix/EmbedSymbolsInStaticLibsZ7.patch
index 1a8de2c4b..1a8de2c4b 100644
--- a/ports/openssl/EmbedSymbolsInStaticLibsZ7.patch
+++ b/ports/openssl-unix/EmbedSymbolsInStaticLibsZ7.patch
diff --git a/ports/openssl/STRINGIFYPatch.patch b/ports/openssl-unix/STRINGIFYPatch.patch
index dd8f9c297..dd8f9c297 100644
--- a/ports/openssl/STRINGIFYPatch.patch
+++ b/ports/openssl-unix/STRINGIFYPatch.patch
diff --git a/ports/openssl/portfile-nonwindows.cmake b/ports/openssl-unix/portfile.cmake
index c324b132a..49561ccde 100644
--- a/ports/openssl/portfile-nonwindows.cmake
+++ b/ports/openssl-unix/portfile.cmake
@@ -1,37 +1,61 @@
-if(CMAKE_HOST_WIN32)
- vcpkg_acquire_msys(MSYS_ROOT PACKAGES make)
- set(BASH ${MSYS_ROOT}/usr/bin/bash.exe)
- set(MAKE ${MSYS_ROOT}/usr/bin/make.exe)
-else()
- find_program(MAKE make)
- if(NOT MAKE)
- message(FATAL_ERROR "Could not find make. Please install it through your package manager.")
- endif()
-endif()
-
-vcpkg_configure_cmake(
- SOURCE_PATH ${CMAKE_CURRENT_LIST_DIR}
- PREFER_NINJA
- OPTIONS
- -DSOURCE_PATH=${MASTER_COPY_SOURCE_PATH}
- -DPERL=${PERL}
- -DMAKE=${MAKE}
- OPTIONS_RELEASE
- -DINSTALL_HEADERS=ON
-)
-
-vcpkg_install_cmake()
-
-file(GLOB HEADERS ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/*/include/openssl/*.h)
-set(RESOLVED_HEADERS)
-foreach(HEADER ${HEADERS})
- get_filename_component(X "${HEADER}" REALPATH)
- list(APPEND RESOLVED_HEADERS "${X}")
-endforeach()
-
-file(INSTALL ${RESOLVED_HEADERS} DESTINATION ${CURRENT_PACKAGES_DIR}/include/openssl)
-file(INSTALL ${MASTER_COPY_SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/openssl RENAME copyright)
-
-if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
- file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/openssl)
-endif()
+if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" OR NOT VCPKG_CMAKE_SYSTEM_NAME)
+ message(FATAL_ERROR "This port is only for openssl on Unix-like systems")
+endif()
+
+include(vcpkg_common_functions)
+set(OPENSSL_VERSION 1.0.2o)
+set(MASTER_COPY_SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/openssl-${OPENSSL_VERSION})
+
+vcpkg_find_acquire_program(PERL)
+
+vcpkg_download_distfile(OPENSSL_SOURCE_ARCHIVE
+ URLS "https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz" "https://www.openssl.org/source/old/1.0.2/openssl-${OPENSSL_VERSION}.tar.gz"
+ FILENAME "openssl-${OPENSSL_VERSION}.tar.gz"
+ SHA512 8a2c93657c85143e76785bb32ee836908c31a6f5f8db993fa9777acba6079e630cdddd03edbad65d1587199fc13a1507789eacf038b56eb99139c2091d9df7fd
+)
+
+vcpkg_extract_source_archive(${OPENSSL_SOURCE_ARCHIVE})
+vcpkg_apply_patches(
+ SOURCE_PATH ${MASTER_COPY_SOURCE_PATH}
+ PATCHES ${CMAKE_CURRENT_LIST_DIR}/ConfigureIncludeQuotesFix.patch
+ ${CMAKE_CURRENT_LIST_DIR}/STRINGIFYPatch.patch
+ ${CMAKE_CURRENT_LIST_DIR}/EmbedSymbolsInStaticLibsZ7.patch
+)
+
+if(CMAKE_HOST_WIN32)
+ vcpkg_acquire_msys(MSYS_ROOT PACKAGES make)
+ set(BASH ${MSYS_ROOT}/usr/bin/bash.exe)
+ set(MAKE ${MSYS_ROOT}/usr/bin/make.exe)
+else()
+ find_program(MAKE make)
+ if(NOT MAKE)
+ message(FATAL_ERROR "Could not find make. Please install it through your package manager.")
+ endif()
+endif()
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${CMAKE_CURRENT_LIST_DIR}
+ PREFER_NINJA
+ OPTIONS
+ -DSOURCE_PATH=${MASTER_COPY_SOURCE_PATH}
+ -DPERL=${PERL}
+ -DMAKE=${MAKE}
+ OPTIONS_RELEASE
+ -DINSTALL_HEADERS=ON
+)
+
+vcpkg_install_cmake()
+
+file(GLOB HEADERS ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/*/include/openssl/*.h)
+set(RESOLVED_HEADERS)
+foreach(HEADER ${HEADERS})
+ get_filename_component(X "${HEADER}" REALPATH)
+ list(APPEND RESOLVED_HEADERS "${X}")
+endforeach()
+
+file(INSTALL ${RESOLVED_HEADERS} DESTINATION ${CURRENT_PACKAGES_DIR}/include/openssl)
+file(INSTALL ${MASTER_COPY_SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/openssl-unix RENAME copyright)
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/openssl)
+endif()
diff --git a/ports/openssl/remove-deps.cmake b/ports/openssl-unix/remove-deps.cmake
index a57c70fe9..a57c70fe9 100644
--- a/ports/openssl/remove-deps.cmake
+++ b/ports/openssl-unix/remove-deps.cmake
diff --git a/ports/openssl-unix/usage b/ports/openssl-unix/usage
new file mode 100644
index 000000000..f535cb6a4
--- /dev/null
+++ b/ports/openssl-unix/usage
@@ -0,0 +1,4 @@
+The package openssl is compatible with built-in CMake targets:
+
+ find_package(OpenSSL REQUIRED)
+ target_link_libraries(main PRIVATE OpenSSL::SSL OpenSSL::Crypto)
diff --git a/ports/openssl/vcpkg-cmake-wrapper.cmake b/ports/openssl-unix/vcpkg-cmake-wrapper.cmake
index 82313bdab..82313bdab 100644
--- a/ports/openssl/vcpkg-cmake-wrapper.cmake
+++ b/ports/openssl-unix/vcpkg-cmake-wrapper.cmake
diff --git a/ports/openssl-uwp/CONTROL b/ports/openssl-uwp/CONTROL
new file mode 100644
index 000000000..4b4871f3c
--- /dev/null
+++ b/ports/openssl-uwp/CONTROL
@@ -0,0 +1,3 @@
+Source: openssl-uwp
+Version: 1.0.2l-winrt
+Description: OpenSSL is an open source project that provides a robust, commercial-grade, and full-featured toolkit for the Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols. It is also a general-purpose cryptography library.
diff --git a/ports/openssl/fix-uwp-rs4.patch b/ports/openssl-uwp/fix-uwp-rs4.patch
index d5a33909e..d5a33909e 100644
--- a/ports/openssl/fix-uwp-rs4.patch
+++ b/ports/openssl-uwp/fix-uwp-rs4.patch
diff --git a/ports/openssl/make-openssl.bat b/ports/openssl-uwp/make-openssl.bat
index 6f6166a24..6f6166a24 100644
--- a/ports/openssl/make-openssl.bat
+++ b/ports/openssl-uwp/make-openssl.bat
diff --git a/ports/openssl/portfile-uwp.cmake b/ports/openssl-uwp/portfile.cmake
index 6aef52695..167d98658 100644
--- a/ports/openssl/portfile-uwp.cmake
+++ b/ports/openssl-uwp/portfile.cmake
@@ -1,11 +1,3 @@
-# Common Ambient Variables:
-# VCPKG_ROOT_DIR = <C:\path\to\current\vcpkg>
-# TARGET_TRIPLET is the current triplet (x86-windows, etc)
-# PORT is the current port name (zlib, etc)
-# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT}
-# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET}
-#
-
if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
set(VCPKG_LIBRARY_LINKAGE dynamic)
message("Static building not supported yet")
@@ -94,6 +86,5 @@ file(INSTALL
${SOURCE_PATH}/out32dll/ssleay32.lib
DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
-file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/openssl RENAME copyright)
-
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
diff --git a/ports/openssl-uwp/usage b/ports/openssl-uwp/usage
new file mode 100644
index 000000000..f535cb6a4
--- /dev/null
+++ b/ports/openssl-uwp/usage
@@ -0,0 +1,4 @@
+The package openssl is compatible with built-in CMake targets:
+
+ find_package(OpenSSL REQUIRED)
+ target_link_libraries(main PRIVATE OpenSSL::SSL OpenSSL::Crypto)
diff --git a/ports/openssl-windows/CONTROL b/ports/openssl-windows/CONTROL
new file mode 100644
index 000000000..a9c10c583
--- /dev/null
+++ b/ports/openssl-windows/CONTROL
@@ -0,0 +1,3 @@
+Source: openssl-windows
+Version: 1.0.2o
+Description: OpenSSL is an open source project that provides a robust, commercial-grade, and full-featured toolkit for the Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols. It is also a general-purpose cryptography library.
diff --git a/ports/openssl-windows/ConfigureIncludeQuotesFix.patch b/ports/openssl-windows/ConfigureIncludeQuotesFix.patch
new file mode 100644
index 000000000..09494f565
--- /dev/null
+++ b/ports/openssl-windows/ConfigureIncludeQuotesFix.patch
@@ -0,0 +1,13 @@
+diff --git a/Configure b/Configure
+index c98107a..77ad9d3 100644
+--- a/Configure
++++ b/Configure
+@@ -972,7 +972,7 @@ PROCESS_ARGS:
+ }
+ elsif (/^--with-zlib-include=(.*)$/)
+ {
+- $withargs{"zlib-include"}="-I$1";
++ $withargs{"zlib-include"}="-I\"$1\"";
+ }
+ elsif (/^--with-fipsdir=(.*)$/)
+ {
diff --git a/ports/openssl-windows/EmbedSymbolsInStaticLibsZ7.patch b/ports/openssl-windows/EmbedSymbolsInStaticLibsZ7.patch
new file mode 100644
index 000000000..1a8de2c4b
--- /dev/null
+++ b/ports/openssl-windows/EmbedSymbolsInStaticLibsZ7.patch
@@ -0,0 +1,25 @@
+diff --git a/util/pl/VC-32.pl b/util/pl/VC-32.pl
+index dba96cb..5722f6e 100644
+--- a/util/pl/VC-32.pl
++++ b/util/pl/VC-32.pl
+@@ -154,9 +154,17 @@ else
+ $cflags=$opt_cflags.$base_cflags;
+ }
+
+-# generate symbols.pdb unconditionally
+-$app_cflag.=" /Zi /Fd\$(TMP_D)/app";
+-$lib_cflag.=" /Zi /Fd\$(TMP_D)/lib";
++# generate symbols.pdb when building dlls and embed symbols when building static libs
++if ($shlib)
++ {
++ $app_cflag.=" /Zi /Fd\$(TMP_D)/app.pdb";
++ $lib_cflag.=" /Zi /Fd\$(TMP_D)/lib.pdb";
++ }
++else
++ {
++ $app_cflag.=" /Z7";
++ $lib_cflag.=" /Z7";
++ }
+ $lflags.=" /debug";
+
+ $obj='.obj';
diff --git a/ports/openssl-windows/STRINGIFYPatch.patch b/ports/openssl-windows/STRINGIFYPatch.patch
new file mode 100644
index 000000000..dd8f9c297
--- /dev/null
+++ b/ports/openssl-windows/STRINGIFYPatch.patch
@@ -0,0 +1,23 @@
+diff --git a/crypto/cversion.c b/crypto/cversion.c
+index bfff699..17b7912 100644
+--- a/crypto/cversion.c
++++ b/crypto/cversion.c
+@@ -56,6 +56,9 @@
+ * [including the GNU Public Licence.]
+ */
+
++#define STRINGIFY2(x) #x
++#define STRINGIFY(x) STRINGIFY2(x)
++
+ #include "cryptlib.h"
+
+ #ifndef NO_WINDOWS_BRAINDEATH
+@@ -79,7 +82,7 @@ const char *SSLeay_version(int t)
+ }
+ if (t == SSLEAY_CFLAGS) {
+ #ifdef CFLAGS
+- return (CFLAGS);
++ return STRINGIFY(CFLAGS);
+ #else
+ return ("compiler: information not available");
+ #endif
diff --git a/ports/openssl-windows/portfile.cmake b/ports/openssl-windows/portfile.cmake
new file mode 100644
index 000000000..22a6a2a28
--- /dev/null
+++ b/ports/openssl-windows/portfile.cmake
@@ -0,0 +1,157 @@
+if(VCPKG_CMAKE_SYSTEM_NAME)
+ message(FATAL_ERROR "This port is only for building openssl on Windows Desktop")
+endif()
+
+include(vcpkg_common_functions)
+set(OPENSSL_VERSION 1.0.2o)
+set(MASTER_COPY_SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/openssl-${OPENSSL_VERSION})
+
+vcpkg_find_acquire_program(PERL)
+
+get_filename_component(PERL_EXE_PATH ${PERL} DIRECTORY)
+set(ENV{PATH} "$ENV{PATH};${PERL_EXE_PATH}")
+
+vcpkg_download_distfile(OPENSSL_SOURCE_ARCHIVE
+ URLS "https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz" "https://www.openssl.org/source/old/1.0.2/openssl-${OPENSSL_VERSION}.tar.gz"
+ FILENAME "openssl-${OPENSSL_VERSION}.tar.gz"
+ SHA512 8a2c93657c85143e76785bb32ee836908c31a6f5f8db993fa9777acba6079e630cdddd03edbad65d1587199fc13a1507789eacf038b56eb99139c2091d9df7fd
+)
+
+vcpkg_extract_source_archive(${OPENSSL_SOURCE_ARCHIVE})
+vcpkg_apply_patches(
+ SOURCE_PATH ${MASTER_COPY_SOURCE_PATH}
+ PATCHES ${CMAKE_CURRENT_LIST_DIR}/ConfigureIncludeQuotesFix.patch
+ ${CMAKE_CURRENT_LIST_DIR}/STRINGIFYPatch.patch
+ ${CMAKE_CURRENT_LIST_DIR}/EmbedSymbolsInStaticLibsZ7.patch
+)
+
+vcpkg_find_acquire_program(NASM)
+get_filename_component(NASM_EXE_PATH ${NASM} DIRECTORY)
+set(ENV{PATH} "${NASM_EXE_PATH};$ENV{PATH}")
+
+vcpkg_find_acquire_program(JOM)
+
+set(CONFIGURE_COMMAND ${PERL} Configure
+ enable-static-engine
+ enable-capieng
+ no-ssl2
+ -utf-8
+)
+
+if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
+ set(OPENSSL_ARCH VC-WIN32)
+ set(OPENSSL_DO "ms\\do_nasm.bat")
+elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
+ set(OPENSSL_ARCH VC-WIN64A)
+ set(OPENSSL_DO "ms\\do_win64a.bat")
+else()
+ message(FATAL_ERROR "Unsupported target architecture: ${VCPKG_TARGET_ARCHITECTURE}")
+endif()
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ set(OPENSSL_MAKEFILE "ms\\ntdll.mak")
+else()
+ set(OPENSSL_MAKEFILE "ms\\nt.mak")
+endif()
+
+file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg)
+
+
+file(COPY ${MASTER_COPY_SOURCE_PATH} DESTINATION ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel)
+set(SOURCE_PATH_RELEASE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/openssl-${OPENSSL_VERSION})
+set(OPENSSLDIR_RELEASE ${CURRENT_PACKAGES_DIR})
+
+message(STATUS "Configure ${TARGET_TRIPLET}-rel")
+vcpkg_execute_required_process(
+ COMMAND ${CONFIGURE_COMMAND} ${OPENSSL_ARCH} "--prefix=${OPENSSLDIR_RELEASE}" "--openssldir=${OPENSSLDIR_RELEASE}" -FS
+ WORKING_DIRECTORY ${SOURCE_PATH_RELEASE}
+ LOGNAME configure-perl-${TARGET_TRIPLET}-${CMAKE_BUILD_TYPE}-rel
+)
+vcpkg_execute_required_process(
+ COMMAND ${OPENSSL_DO}
+ WORKING_DIRECTORY ${SOURCE_PATH_RELEASE}
+ LOGNAME configure-do-${TARGET_TRIPLET}-${CMAKE_BUILD_TYPE}-rel
+)
+message(STATUS "Configure ${TARGET_TRIPLET}-rel done")
+
+message(STATUS "Build ${TARGET_TRIPLET}-rel")
+# Openssl's buildsystem has a race condition which will cause JOM to fail at some point.
+# This is ok; we just do as much work as we can in parallel first, then follow up with a single-threaded build.
+make_directory(${SOURCE_PATH_RELEASE}/inc32/openssl)
+execute_process(
+ COMMAND ${JOM} -k -j $ENV{NUMBER_OF_PROCESSORS} -f ${OPENSSL_MAKEFILE}
+ WORKING_DIRECTORY ${SOURCE_PATH_RELEASE}
+ OUTPUT_FILE ${CURRENT_BUILDTREES_DIR}/build-${TARGET_TRIPLET}-rel-0-out.log
+ ERROR_FILE ${CURRENT_BUILDTREES_DIR}/build-${TARGET_TRIPLET}-rel-0-err.log
+)
+vcpkg_execute_required_process(
+ COMMAND nmake -f ${OPENSSL_MAKEFILE} install
+ WORKING_DIRECTORY ${SOURCE_PATH_RELEASE}
+ LOGNAME build-${TARGET_TRIPLET}-rel-1)
+
+message(STATUS "Build ${TARGET_TRIPLET}-rel done")
+
+
+message(STATUS "Configure ${TARGET_TRIPLET}-dbg")
+file(COPY ${MASTER_COPY_SOURCE_PATH} DESTINATION ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg)
+set(SOURCE_PATH_DEBUG ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/openssl-${OPENSSL_VERSION})
+set(OPENSSLDIR_DEBUG ${CURRENT_PACKAGES_DIR}/debug)
+
+vcpkg_execute_required_process(
+ COMMAND ${CONFIGURE_COMMAND} debug-${OPENSSL_ARCH} "--prefix=${OPENSSLDIR_DEBUG}" "--openssldir=${OPENSSLDIR_DEBUG}" -FS
+ WORKING_DIRECTORY ${SOURCE_PATH_DEBUG}
+ LOGNAME configure-perl-${TARGET_TRIPLET}-${CMAKE_BUILD_TYPE}-dbg
+)
+vcpkg_execute_required_process(
+ COMMAND ${OPENSSL_DO}
+ WORKING_DIRECTORY ${SOURCE_PATH_DEBUG}
+ LOGNAME configure-do-${TARGET_TRIPLET}-${CMAKE_BUILD_TYPE}-dbg
+)
+message(STATUS "Configure ${TARGET_TRIPLET}-dbg done")
+
+message(STATUS "Build ${TARGET_TRIPLET}-dbg")
+make_directory(${SOURCE_PATH_DEBUG}/inc32/openssl)
+execute_process(
+ COMMAND ${JOM} -k -j $ENV{NUMBER_OF_PROCESSORS} -f ${OPENSSL_MAKEFILE}
+ WORKING_DIRECTORY ${SOURCE_PATH_DEBUG}
+ OUTPUT_FILE ${CURRENT_BUILDTREES_DIR}/build-${TARGET_TRIPLET}-dbg-0-out.log
+ ERROR_FILE ${CURRENT_BUILDTREES_DIR}/build-${TARGET_TRIPLET}-dbg-0-err.log
+)
+vcpkg_execute_required_process(
+ COMMAND nmake -f ${OPENSSL_MAKEFILE} install
+ WORKING_DIRECTORY ${SOURCE_PATH_DEBUG}
+ LOGNAME build-${TARGET_TRIPLET}-dbg-1)
+
+message(STATUS "Build ${TARGET_TRIPLET}-dbg done")
+
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+file(REMOVE
+ ${CURRENT_PACKAGES_DIR}/debug/bin/openssl.exe
+ ${CURRENT_PACKAGES_DIR}/debug/openssl.cnf
+ ${CURRENT_PACKAGES_DIR}/openssl.cnf
+)
+
+file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/openssl/)
+file(RENAME ${CURRENT_PACKAGES_DIR}/bin/openssl.exe ${CURRENT_PACKAGES_DIR}/tools/openssl/openssl.exe)
+
+vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/openssl)
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ # They should be empty, only the exes deleted above were in these directories
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin/)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin/)
+endif()
+
+file(READ "${CURRENT_PACKAGES_DIR}/include/openssl/dtls1.h" _contents)
+string(REPLACE "<winsock.h>" "<winsock2.h>" _contents "${_contents}")
+file(WRITE "${CURRENT_PACKAGES_DIR}/include/openssl/dtls1.h" "${_contents}")
+
+file(READ "${CURRENT_PACKAGES_DIR}/include/openssl/rand.h" _contents)
+string(REPLACE "# include <windows.h>" "#ifndef _WINSOCKAPI_\n#define _WINSOCKAPI_\n#endif\n# include <windows.h>" _contents "${_contents}")
+file(WRITE "${CURRENT_PACKAGES_DIR}/include/openssl/rand.h" "${_contents}")
+
+vcpkg_copy_pdbs()
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
+file(INSTALL ${MASTER_COPY_SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/openssl-windows/usage b/ports/openssl-windows/usage
new file mode 100644
index 000000000..f535cb6a4
--- /dev/null
+++ b/ports/openssl-windows/usage
@@ -0,0 +1,4 @@
+The package openssl is compatible with built-in CMake targets:
+
+ find_package(OpenSSL REQUIRED)
+ target_link_libraries(main PRIVATE OpenSSL::SSL OpenSSL::Crypto)
diff --git a/ports/openssl/CONTROL b/ports/openssl/CONTROL
index ed9ccf48b..4d81a1962 100644
--- a/ports/openssl/CONTROL
+++ b/ports/openssl/CONTROL
@@ -1,3 +1,4 @@
Source: openssl
-Version: 1.0.2o-3
+Version: 0
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.
+Build-Depends: openssl-windows (windows), openssl-uwp (uwp), openssl-unix (!uwp&!windows)
diff --git a/ports/openssl/LICENSE b/ports/openssl/LICENSE
deleted file mode 100644
index e47d101f1..000000000
--- a/ports/openssl/LICENSE
+++ /dev/null
@@ -1,127 +0,0 @@
-
- LICENSE ISSUES
- ==============
-
- The OpenSSL toolkit stays under a dual license, i.e. both the conditions of
- the OpenSSL License and the original SSLeay license apply to the toolkit.
- See below for the actual license texts. Actually both licenses are BSD-style
- Open Source licenses. In case of any license issues related to OpenSSL
- please contact openssl-core@openssl.org.
-
- OpenSSL License
- ---------------
-
-/* ====================================================================
- * Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. All advertising materials mentioning features or use of this
- * software must display the following acknowledgment:
- * "This product includes software developed by the OpenSSL Project
- * for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
- *
- * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
- * endorse or promote products derived from this software without
- * prior written permission. For written permission, please contact
- * openssl-core@openssl.org.
- *
- * 5. Products derived from this software may not be called "OpenSSL"
- * nor may "OpenSSL" appear in their names without prior written
- * permission of the OpenSSL Project.
- *
- * 6. Redistributions of any form whatsoever must retain the following
- * acknowledgment:
- * "This product includes software developed by the OpenSSL Project
- * for use in the OpenSSL Toolkit (http://www.openssl.org/)"
- *
- * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
- * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
- * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
- * OF THE POSSIBILITY OF SUCH DAMAGE.
- * ====================================================================
- *
- * This product includes cryptographic software written by Eric Young
- * (eay@cryptsoft.com). This product includes software written by Tim
- * Hudson (tjh@cryptsoft.com).
- *
- */
-
- Original SSLeay License
- -----------------------
-
-/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
- * All rights reserved.
- *
- * This package is an SSL implementation written
- * by Eric Young (eay@cryptsoft.com).
- * The implementation was written so as to conform with Netscapes SSL.
- *
- * This library is free for commercial and non-commercial use as long as
- * the following conditions are aheared to. The following conditions
- * apply to all code found in this distribution, be it the RC4, RSA,
- * lhash, DES, etc., code; not just the SSL code. The SSL documentation
- * included with this distribution is covered by the same copyright terms
- * except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
- * Copyright remains Eric Young's, and as such any Copyright notices in
- * the code are not to be removed.
- * If this package is used in a product, Eric Young should be given attribution
- * as the author of the parts of the library used.
- * This can be in the form of a textual message at program startup or
- * in documentation (online or textual) provided with the package.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * "This product includes cryptographic software written by
- * Eric Young (eay@cryptsoft.com)"
- * The word 'cryptographic' can be left out if the rouines from the library
- * being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
- * the apps directory (application code) you must include an acknowledgement:
- * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
- * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * The licence and distribution terms for any publically available version or
- * derivative of this code cannot be changed. i.e. this code cannot simply be
- * copied and put under another distribution licence
- * [including the GNU Public Licence.]
- */
-
diff --git a/ports/openssl/portfile.cmake b/ports/openssl/portfile.cmake
index a6e5fd110..3d55c367f 100644
--- a/ports/openssl/portfile.cmake
+++ b/ports/openssl/portfile.cmake
@@ -1,164 +1,2 @@
-if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
- include(${CMAKE_CURRENT_LIST_DIR}/portfile-uwp.cmake)
- return()
-endif()
-
-include(vcpkg_common_functions)
-set(OPENSSL_VERSION 1.0.2o)
-set(MASTER_COPY_SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/openssl-${OPENSSL_VERSION})
-
-vcpkg_find_acquire_program(PERL)
-
-get_filename_component(PERL_EXE_PATH ${PERL} DIRECTORY)
-set(ENV{PATH} "$ENV{PATH};${PERL_EXE_PATH}")
-
-vcpkg_download_distfile(OPENSSL_SOURCE_ARCHIVE
- URLS "https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz" "https://www.openssl.org/source/old/1.0.2/openssl-${OPENSSL_VERSION}.tar.gz"
- FILENAME "openssl-${OPENSSL_VERSION}.tar.gz"
- SHA512 8a2c93657c85143e76785bb32ee836908c31a6f5f8db993fa9777acba6079e630cdddd03edbad65d1587199fc13a1507789eacf038b56eb99139c2091d9df7fd
-)
-
-vcpkg_extract_source_archive(${OPENSSL_SOURCE_ARCHIVE})
-vcpkg_apply_patches(
- SOURCE_PATH ${MASTER_COPY_SOURCE_PATH}
- PATCHES ${CMAKE_CURRENT_LIST_DIR}/ConfigureIncludeQuotesFix.patch
- ${CMAKE_CURRENT_LIST_DIR}/STRINGIFYPatch.patch
- ${CMAKE_CURRENT_LIST_DIR}/EmbedSymbolsInStaticLibsZ7.patch
-)
-
-if(VCPKG_CMAKE_SYSTEM_NAME)
- include(${CMAKE_CURRENT_LIST_DIR}/portfile-nonwindows.cmake)
- return()
-endif()
-
-vcpkg_find_acquire_program(NASM)
-get_filename_component(NASM_EXE_PATH ${NASM} DIRECTORY)
-set(ENV{PATH} "${NASM_EXE_PATH};$ENV{PATH}")
-
-vcpkg_find_acquire_program(JOM)
-
-set(CONFIGURE_COMMAND ${PERL} Configure
- enable-static-engine
- enable-capieng
- no-ssl2
- -utf-8
-)
-
-if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
- set(OPENSSL_ARCH VC-WIN32)
- set(OPENSSL_DO "ms\\do_nasm.bat")
-elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
- set(OPENSSL_ARCH VC-WIN64A)
- set(OPENSSL_DO "ms\\do_win64a.bat")
-else()
- message(FATAL_ERROR "Unsupported target architecture: ${VCPKG_TARGET_ARCHITECTURE}")
-endif()
-
-if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
- set(OPENSSL_MAKEFILE "ms\\ntdll.mak")
-else()
- set(OPENSSL_MAKEFILE "ms\\nt.mak")
-endif()
-
-file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg)
-
-
-file(COPY ${MASTER_COPY_SOURCE_PATH} DESTINATION ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel)
-set(SOURCE_PATH_RELEASE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/openssl-${OPENSSL_VERSION})
-set(OPENSSLDIR_RELEASE ${CURRENT_PACKAGES_DIR})
-
-message(STATUS "Configure ${TARGET_TRIPLET}-rel")
-vcpkg_execute_required_process(
- COMMAND ${CONFIGURE_COMMAND} ${OPENSSL_ARCH} "--prefix=${OPENSSLDIR_RELEASE}" "--openssldir=${OPENSSLDIR_RELEASE}" -FS
- WORKING_DIRECTORY ${SOURCE_PATH_RELEASE}
- LOGNAME configure-perl-${TARGET_TRIPLET}-${CMAKE_BUILD_TYPE}-rel
-)
-vcpkg_execute_required_process(
- COMMAND ${OPENSSL_DO}
- WORKING_DIRECTORY ${SOURCE_PATH_RELEASE}
- LOGNAME configure-do-${TARGET_TRIPLET}-${CMAKE_BUILD_TYPE}-rel
-)
-message(STATUS "Configure ${TARGET_TRIPLET}-rel done")
-
-message(STATUS "Build ${TARGET_TRIPLET}-rel")
-# Openssl's buildsystem has a race condition which will cause JOM to fail at some point.
-# This is ok; we just do as much work as we can in parallel first, then follow up with a single-threaded build.
-make_directory(${SOURCE_PATH_RELEASE}/inc32/openssl)
-execute_process(
- COMMAND ${JOM} -k -j $ENV{NUMBER_OF_PROCESSORS} -f ${OPENSSL_MAKEFILE}
- WORKING_DIRECTORY ${SOURCE_PATH_RELEASE}
- OUTPUT_FILE ${CURRENT_BUILDTREES_DIR}/build-${TARGET_TRIPLET}-rel-0-out.log
- ERROR_FILE ${CURRENT_BUILDTREES_DIR}/build-${TARGET_TRIPLET}-rel-0-err.log
-)
-vcpkg_execute_required_process(
- COMMAND nmake -f ${OPENSSL_MAKEFILE} install
- WORKING_DIRECTORY ${SOURCE_PATH_RELEASE}
- LOGNAME build-${TARGET_TRIPLET}-rel-1)
-
-message(STATUS "Build ${TARGET_TRIPLET}-rel done")
-
-
-message(STATUS "Configure ${TARGET_TRIPLET}-dbg")
-file(COPY ${MASTER_COPY_SOURCE_PATH} DESTINATION ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg)
-set(SOURCE_PATH_DEBUG ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/openssl-${OPENSSL_VERSION})
-set(OPENSSLDIR_DEBUG ${CURRENT_PACKAGES_DIR}/debug)
-
-vcpkg_execute_required_process(
- COMMAND ${CONFIGURE_COMMAND} debug-${OPENSSL_ARCH} "--prefix=${OPENSSLDIR_DEBUG}" "--openssldir=${OPENSSLDIR_DEBUG}" -FS
- WORKING_DIRECTORY ${SOURCE_PATH_DEBUG}
- LOGNAME configure-perl-${TARGET_TRIPLET}-${CMAKE_BUILD_TYPE}-dbg
-)
-vcpkg_execute_required_process(
- COMMAND ${OPENSSL_DO}
- WORKING_DIRECTORY ${SOURCE_PATH_DEBUG}
- LOGNAME configure-do-${TARGET_TRIPLET}-${CMAKE_BUILD_TYPE}-dbg
-)
-message(STATUS "Configure ${TARGET_TRIPLET}-dbg done")
-
-message(STATUS "Build ${TARGET_TRIPLET}-dbg")
-make_directory(${SOURCE_PATH_DEBUG}/inc32/openssl)
-execute_process(
- COMMAND ${JOM} -k -j $ENV{NUMBER_OF_PROCESSORS} -f ${OPENSSL_MAKEFILE}
- WORKING_DIRECTORY ${SOURCE_PATH_DEBUG}
- OUTPUT_FILE ${CURRENT_BUILDTREES_DIR}/build-${TARGET_TRIPLET}-dbg-0-out.log
- ERROR_FILE ${CURRENT_BUILDTREES_DIR}/build-${TARGET_TRIPLET}-dbg-0-err.log
-)
-vcpkg_execute_required_process(
- COMMAND nmake -f ${OPENSSL_MAKEFILE} install
- WORKING_DIRECTORY ${SOURCE_PATH_DEBUG}
- LOGNAME build-${TARGET_TRIPLET}-dbg-1)
-
-message(STATUS "Build ${TARGET_TRIPLET}-dbg done")
-
-
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
-file(REMOVE
- ${CURRENT_PACKAGES_DIR}/debug/bin/openssl.exe
- ${CURRENT_PACKAGES_DIR}/debug/openssl.cnf
- ${CURRENT_PACKAGES_DIR}/openssl.cnf
-)
-
-file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/${PORT}/)
-file(RENAME ${CURRENT_PACKAGES_DIR}/bin/openssl.exe ${CURRENT_PACKAGES_DIR}/tools/${PORT}/openssl.exe)
-
-vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT})
-
-file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/openssl RENAME copyright)
-
-if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
- # They should be empty, only the exes deleted above were in these directories
- file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin/)
- file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin/)
-endif()
-
-file(READ "${CURRENT_PACKAGES_DIR}/include/openssl/dtls1.h" _contents)
-string(REPLACE "<winsock.h>" "<winsock2.h>" _contents "${_contents}")
-file(WRITE "${CURRENT_PACKAGES_DIR}/include/openssl/dtls1.h" "${_contents}")
-
-file(READ "${CURRENT_PACKAGES_DIR}/include/openssl/rand.h" _contents)
-string(REPLACE "# include <windows.h>" "#ifndef _WINSOCKAPI_\n#define _WINSOCKAPI_\n#endif\n# include <windows.h>" _contents "${_contents}")
-file(WRITE "${CURRENT_PACKAGES_DIR}/include/openssl/rand.h" "${_contents}")
-
-vcpkg_copy_pdbs()
-
-file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
+set(VCPKG_POLICY_EMPTY_PACKAGE enabled)
+file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/openssl/)
diff --git a/ports/openvr/CONTROL b/ports/openvr/CONTROL
index fe619c8af..b0f337d0a 100644
--- a/ports/openvr/CONTROL
+++ b/ports/openvr/CONTROL
@@ -1,3 +1,3 @@
Source: openvr
-Version: 1.0.15
+Version: 1.0.16
Description: an API and runtime that allows access to VR hardware from multiple vendors without requiring that applications have specific knowledge of the hardware they are targeting.
diff --git a/ports/openvr/portfile.cmake b/ports/openvr/portfile.cmake
index 02fa29e58..5e4211907 100644
--- a/ports/openvr/portfile.cmake
+++ b/ports/openvr/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO ValveSoftware/openvr
- REF v1.0.15
- SHA512 22ad52a659e1d2e4b52832400ac5c6766d1657cb81dfb9868bdc253120c661d41eeea68991eac44af9179d2bf6a346f038f1c444278a98b55b6b738af90ba1b5
+ REF v1.0.16
+ SHA512 967356563ba4232da5361510c7519d3058e09eced4571aadc00d8a75ab1f299a0aebda2b0b10b0ffb6c6a443fd718634d0c0103964e289961449c93e8d7b9d02
HEAD_REF master
)
diff --git a/ports/opusfile/CMakeLists.txt b/ports/opusfile/CMakeLists.txt
index 737adee1a..51ea8f894 100644
--- a/ports/opusfile/CMakeLists.txt
+++ b/ports/opusfile/CMakeLists.txt
@@ -10,8 +10,6 @@ find_library(OGG_LIBRARY ogg)
find_path(OPUS_INCLUDE_DIR opus.h PATH_SUFFIXES opus)
find_library(OPUS_LIBRARY opus)
-find_package(OpenSSL MODULE REQUIRED)
-
add_library(opusfile
src/info.c
src/internal.c
@@ -21,19 +19,28 @@ add_library(opusfile
target_include_directories(opusfile PRIVATE include PUBLIC ${OGG_INCLUDE_DIR} ${OPUS_INCLUDE_DIR})
target_link_libraries(opusfile PRIVATE ${OGG_LIBRARY} ${OPUS_LIBRARY})
-add_library(opusurl
- src/http.c
- src/wincerts.c)
-
-target_compile_definitions(opusurl PRIVATE OP_ENABLE_HTTP)
-target_include_directories(opusurl PRIVATE include)
-target_link_libraries(opusurl PRIVATE opusfile OpenSSL::SSL ws2_32.lib crypt32.lib)
-
-install(TARGETS opusfile opusurl
+install(TARGETS opusfile
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib)
+if(BUILD_OPUSURL)
+ find_package(OpenSSL MODULE REQUIRED)
+
+ add_library(opusurl
+ src/http.c
+ src/wincerts.c)
+
+ target_compile_definitions(opusurl PRIVATE OP_ENABLE_HTTP)
+ target_include_directories(opusurl PRIVATE include)
+ target_link_libraries(opusurl PRIVATE opusfile OpenSSL::SSL ws2_32.lib crypt32.lib)
+
+ install(TARGETS opusurl
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib)
+endif()
+
if(NOT OPUSFILE_SKIP_HEADERS)
install(FILES include/opusfile.h
DESTINATION include/opus)
diff --git a/ports/opusfile/CONTROL b/ports/opusfile/CONTROL
index 5489cb4b2..5a9cf2002 100644
--- a/ports/opusfile/CONTROL
+++ b/ports/opusfile/CONTROL
@@ -1,4 +1,8 @@
Source: opusfile
-Version: 0.9-1
+Version: 0.9-3
Description: Stand-alone decoder library for .opus streams
-Build-Depends: libogg, opus, openssl
+Build-Depends: libogg, opus
+
+Feature: opusurl
+Description: Support decoding of http(s) streams
+Build-Depends: openssl
diff --git a/ports/opusfile/portfile.cmake b/ports/opusfile/portfile.cmake
index 06c2a2196..c538a692f 100644
--- a/ports/opusfile/portfile.cmake
+++ b/ports/opusfile/portfile.cmake
@@ -12,8 +12,16 @@ vcpkg_from_github(
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+if("opusurl" IN_LIST FEATURES)
+ set(BUILD_OPUSURL ON)
+else()
+ set(BUILD_OPUSURL OFF)
+endif()
+
vcpkg_configure_cmake(SOURCE_PATH ${SOURCE_PATH}
- PREFER_NINJA
+ PREFER_NINJA
+ OPTIONS
+ -DBUILD_OPUSURL=${BUILD_OPUSURL}
OPTIONS_DEBUG
-DOPUSFILE_SKIP_HEADERS=ON)
diff --git a/ports/osg-qt/CONTROL b/ports/osg-qt/CONTROL
index 863fc8c3d..f1b20deb9 100644
--- a/ports/osg-qt/CONTROL
+++ b/ports/osg-qt/CONTROL
@@ -1,4 +1,4 @@
Source: osg-qt
Version: 3.5.7
Description: osgQt - Qt project for making use of OpenSceneGraph(OSG)
-Build-Depends: osg, protobuf \ No newline at end of file
+Build-Depends: osg, protobuf, qt5-base \ No newline at end of file
diff --git a/ports/osgearth/CONTROL b/ports/osgearth/CONTROL
index 34c5bad24..c409a35a9 100644
--- a/ports/osgearth/CONTROL
+++ b/ports/osgearth/CONTROL
@@ -1,4 +1,4 @@
Source: osgearth
-Version: 2.9
+Version: 2.9-1
Description: osgEarth - Dynamic map generation toolkit for OpenSceneGraph Copyright 2015 Pelican Mapping.
Build-Depends: osg
diff --git a/ports/osgearth/portfile.cmake b/ports/osgearth/portfile.cmake
index 9f740e2d2..3c6a55a26 100644
--- a/ports/osgearth/portfile.cmake
+++ b/ports/osgearth/portfile.cmake
@@ -9,6 +9,13 @@ if(VCPKG_CRT_LINKAGE STREQUAL static)
message(FATAL_ERROR "osgearth does not support static CRT linkage")
endif()
+file(GLOB OSG_PLUGINS_SUBDIR ${CURRENT_INSTALLED_DIR}/tools/osg/osgPlugins-*)
+list(LENGTH OSG_PLUGINS_SUBDIR OSG_PLUGINS_SUBDIR_LENGTH)
+if(NOT OSG_PLUGINS_SUBDIR_LENGTH EQUAL 1)
+ message(FATAL_ERROR "Could not determine osg version")
+endif()
+string(REPLACE "${CURRENT_INSTALLED_DIR}/tools/osg/" "" OSG_PLUGINS_SUBDIR "${OSG_PLUGINS_SUBDIR}")
+
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO gwaldron/osgearth
@@ -26,7 +33,7 @@ vcpkg_install_cmake()
#Release
set(OSGEARTH_TOOL_PATH ${CURRENT_PACKAGES_DIR}/tools/osgearth)
-set(OSGEARTH_TOOL_PLUGIN_PATH ${OSGEARTH_TOOL_PATH}/osgPlugins-3.5.6)
+set(OSGEARTH_TOOL_PLUGIN_PATH ${OSGEARTH_TOOL_PATH}/${OSG_PLUGINS_SUBDIR})
file(MAKE_DIRECTORY ${OSGEARTH_TOOL_PATH})
file(MAKE_DIRECTORY ${OSGEARTH_TOOL_PLUGIN_PATH})
@@ -44,7 +51,7 @@ file(REMOVE_RECURSE ${OSGDB_PLUGINS})
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
set(OSGEARTH_DEBUG_TOOL_PATH ${CURRENT_PACKAGES_DIR}/debug/tools/osgearth)
-set(OSGEARTH_DEBUG_TOOL_PLUGIN_PATH ${OSGEARTH_DEBUG_TOOL_PATH}/osgPlugins-3.5.6)
+set(OSGEARTH_DEBUG_TOOL_PLUGIN_PATH ${OSGEARTH_DEBUG_TOOL_PATH}/${OSG_PLUGINS_SUBDIR})
file(MAKE_DIRECTORY ${OSGEARTH_DEBUG_TOOL_PATH})
file(MAKE_DIRECTORY ${OSGEARTH_DEBUG_TOOL_PLUGIN_PATH})
@@ -61,4 +68,4 @@ file(REMOVE_RECURSE ${OSGDB_DEBUG_PLUGINS})
# Handle copyright
file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/osgearth)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/osgearth/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/osgearth/copyright) \ No newline at end of file
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/osgearth/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/osgearth/copyright)
diff --git a/ports/pcg/CONTROL b/ports/pcg/CONTROL
new file mode 100644
index 000000000..e01035076
--- /dev/null
+++ b/ports/pcg/CONTROL
@@ -0,0 +1,3 @@
+Source: pcg
+Version: 0.98.1
+Description: Permuted Congruential Generator
diff --git a/ports/pcg/portfile.cmake b/ports/pcg/portfile.cmake
new file mode 100644
index 000000000..75a4c9040
--- /dev/null
+++ b/ports/pcg/portfile.cmake
@@ -0,0 +1,14 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO imneme/pcg-cpp
+ REF v0.98.1
+ SHA512 3625913eba3b5d3ff0763a00728535cd5273a335f0ce0a9ab8e0cd8183a52309cbf72ae50d089cfea89445201993466a5533469db1cb6e82b14c62564731fe70
+ HEAD_REF master
+)
+
+file(INSTALL ${SOURCE_PATH}/include/pcg_extras.hpp DESTINATION ${CURRENT_PACKAGES_DIR}/include)
+file(INSTALL ${SOURCE_PATH}/include/pcg_random.hpp DESTINATION ${CURRENT_PACKAGES_DIR}/include)
+file(INSTALL ${SOURCE_PATH}/include/pcg_uint128.hpp DESTINATION ${CURRENT_PACKAGES_DIR}/include)
+file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/pcg RENAME copyright)
diff --git a/ports/pdal/CONTROL b/ports/pdal/CONTROL
index 1065a5c2d..ebb658c90 100644
--- a/ports/pdal/CONTROL
+++ b/ports/pdal/CONTROL
@@ -1,4 +1,4 @@
Source: pdal
-Version: 1.7.1-2
+Version: 1.7.1-3
Description: PDAL - Point Data Abstraction Library is a library for manipulating point cloud data.
-Build-Depends: gdal, geos, jsoncpp, libgeotiff
+Build-Depends: gdal, geos, jsoncpp, libgeotiff, laszip
diff --git a/ports/picosha2/CONTROL b/ports/picosha2/CONTROL
index e1800ad6b..7203b8aee 100644
--- a/ports/picosha2/CONTROL
+++ b/ports/picosha2/CONTROL
@@ -1,3 +1,3 @@
Source: picosha2
-Version: 2018-06-15
+Version: 2018-07-30
Description: PicoSHA2 - a C++ SHA256 hash generator
diff --git a/ports/picosha2/portfile.cmake b/ports/picosha2/portfile.cmake
index 109ddf17d..7a93b2d8f 100644
--- a/ports/picosha2/portfile.cmake
+++ b/ports/picosha2/portfile.cmake
@@ -2,8 +2,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO okdshin/PicoSHA2
- REF 0c1fb895e745f386e919740700e1f5c2340f0cf5
- SHA512 6105e9d276d8e2ce9cade3955eaa27fe9a17b9af18031f656baf724c7e4d903b17feb731e6ca29e567f60473c366745937b4bc89562dc4500b329a0a7acf5268
+ REF b699e6c900be6e00152db5a3d123c1db42ea13d0
+ SHA512 5972dfe7675c560a0c58491e72938e8e5ea46eabb2e2f564086001eda21b237035aa0deef94bb36a21154a4b5cbc160b9b0f6b5988f6580d693ad74cfbc53bb5
HEAD_REF master
)
diff --git a/ports/pixman/CMakeLists.txt b/ports/pixman/CMakeLists.txt
index 322c08a9c..8dc9940cb 100644
--- a/ports/pixman/CMakeLists.txt
+++ b/ports/pixman/CMakeLists.txt
@@ -4,6 +4,11 @@ project(pixman VERSION 0.32.0 LANGUAGES C)
set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
set(CMAKE_DEBUG_POSTFIX "d")
+if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
+ add_definitions(-DTLS=__thread)
+ add_definitions(-DHAVE_PTHREADS)
+endif()
+
include_directories(".")
file(GLOB SOURCES
diff --git a/ports/pixman/CONTROL b/ports/pixman/CONTROL
index 940c30cc2..0deb60d33 100644
--- a/ports/pixman/CONTROL
+++ b/ports/pixman/CONTROL
@@ -1,3 +1,3 @@
Source: pixman
-Version: 0.34.0-2
+Version: 0.34.0-3
Description: Pixman is a low-level software library for pixel manipulation, providing features such as image compositing and trapezoid rasterization.
diff --git a/ports/plib/CMakeLists.txt b/ports/plib/CMakeLists.txt
new file mode 100644
index 000000000..ac35b6674
--- /dev/null
+++ b/ports/plib/CMakeLists.txt
@@ -0,0 +1,361 @@
+cmake_minimum_required(VERSION 3.3.0)
+
+project(plib VERSION 1.8.5)
+
+set(CMAKE_DEBUG_POSTFIX d)
+
+# Sources & Headers
+set(fnt_SOURCES
+ src/fnt/fnt.cxx
+ src/fnt/fntBitmap.cxx
+ src/fnt/fntTXF.cxx)
+
+set(fnt_HEADERS
+ src/fnt/fnt.h
+ src/fnt/fntLocal.h)
+
+set(js_SOURCES
+ src/js/js.cxx
+ src/js/jsBSD.cxx
+ src/js/jsLinux.cxx
+ src/js/jsMacOS.cxx
+ src/js/jsMacOSX.cxx
+ src/js/jsNone.cxx
+ src/js/jsWindows.cxx)
+
+set(js_HEADERS
+ src/js/js.h)
+
+set(net_SOURCES
+ src/net/netBuffer.cxx
+ src/net/netChannel.cxx
+ src/net/netChat.cxx
+ src/net/netMessage.cxx
+ src/net/netMonitor.cxx
+ src/net/netSocket.cxx)
+
+set(net_HEADERS
+ src/net/netBuffer.h
+ src/net/netChannel.h
+ src/net/netChat.h
+ src/net/netMessage.h
+ src/net/netMonitor.h
+ src/net/netSocket.h)
+
+set(psl_SOURCES
+ src/psl/psl.cxx
+ src/psl/pslCodeGen.cxx
+ src/psl/pslCompiler.cxx
+ src/psl/pslContext.cxx
+ src/psl/pslDump.cxx
+ src/psl/pslError.cxx
+ src/psl/pslExpression.cxx
+ src/psl/pslFileIO.cxx
+ src/psl/pslProgram.cxx
+ src/psl/pslSymbols.cxx
+ src/psl/pslToken.cxx)
+
+set(psl_HEADERS
+ src/psl/psl.h
+ src/psl/pslCompiler.h
+ src/psl/pslContext.h
+ src/psl/pslFileIO.h
+ src/psl/pslLocal.h
+ src/psl/pslOpcodes.h
+ src/psl/pslSymbol.h)
+
+set(puAux_SOURCES
+ src/puAux/puAux.cxx
+ src/puAux/puAuxBiSlider.cxx
+ src/puAux/puAuxBiSliderWithEnds.cxx
+ src/puAux/puAuxChooser.cxx
+ src/puAux/puAuxComboBox.cxx
+ src/puAux/puAuxCompass.cxx
+ src/puAux/puAuxFileSelector.cxx
+ src/puAux/puAuxLargeInput.cxx
+ src/puAux/puAuxList.cxx
+ src/puAux/puAuxScrollBar.cxx
+ src/puAux/puAuxSelectBox.cxx
+ src/puAux/puAuxSliderWithInput.cxx
+ src/puAux/puAuxSpinBox.cxx
+ src/puAux/puAuxTriSlider.cxx
+ src/puAux/puAuxVerticalMenu.cxx)
+
+set(puAux_HEADERS
+ src/puAux/puAux.h
+ src/puAux/puAuxLocal.h)
+
+set(pui_SOURCES
+ src/pui/pu.cxx
+ src/pui/puArrowButton.cxx
+ src/pui/puBox.cxx
+ src/pui/puButton.cxx
+ src/pui/puButtonBox.cxx
+ src/pui/puDial.cxx
+ src/pui/puDialogBox.cxx
+ src/pui/puFont.cxx
+ src/pui/puFrame.cxx
+ src/pui/puGroup.cxx
+ src/pui/puInput.cxx
+ src/pui/puInputBase.cxx
+ src/pui/puInterface.cxx
+ src/pui/puListBox.cxx
+ src/pui/puMenuBar.cxx
+ src/pui/puObject.cxx
+ src/pui/puOneShot.cxx
+ src/pui/puPopup.cxx
+ src/pui/puPopupMenu.cxx
+ src/pui/puRange.cxx
+ src/pui/puSlider.cxx
+ src/pui/puText.cxx
+ src/pui/puValue.cxx)
+
+set(pui_HEADERS
+ src/pui/pu.h
+ src/pui/puFLTK.h
+ src/pui/puGLUT.h
+ src/pui/puLocal.h
+ src/pui/puNative.h
+ src/pui/puPW.h
+ src/pui/puSDL.h)
+
+set(pw_SOURCES
+ src/pw/pwWindows.cxx)
+
+set(pw_HEADERS
+ src/pw/pw.h)
+
+set(sg_SOURCES
+ src/sg/sg.cxx
+ src/sg/sgd.cxx
+ src/sg/sgdIsect.cxx
+ src/sg/sgIsect.cxx
+ src/sg/sgPerlinNoise.cxx)
+
+set(sg_HEADERS
+ src/sg/sg.h)
+
+set(sl_SOURCES
+ src/sl/slDSP.cxx
+ src/sl/slEnvelope.cxx
+ src/sl/slMODdacio.cxx
+ src/sl/slMODfile.cxx
+ src/sl/slMODinst.cxx
+ src/sl/slMODnote.cxx
+ src/sl/slMODPlayer.cxx
+ src/sl/slPlayer.cxx
+ src/sl/slSample.cxx
+ src/sl/slSamplePlayer.cxx
+ src/sl/slScheduler.cxx
+ src/sl/smMixer.cxx)
+
+set(sl_HEADERS
+ src/sl/sl.h
+ src/sl/slMODfile.h
+ src/sl/slMODPrivate.h
+ src/sl/slPortability.h
+ src/sl/sm.h)
+
+set(ssg_SOURCES
+ src/ssg/ssg.cxx
+ src/ssg/ssgAnimation.cxx
+ src/ssg/ssgAnimTransform.cxx
+ src/ssg/ssgAxisTransform.cxx
+ src/ssg/ssgBase.cxx
+ src/ssg/ssgBaseTransform.cxx
+ src/ssg/ssgBranch.cxx
+ src/ssg/ssgContext.cxx
+ src/ssg/ssgCutout.cxx
+ src/ssg/ssgDList.cxx
+ src/ssg/ssgEntity.cxx
+ src/ssg/ssgInvisible.cxx
+ src/ssg/ssgIO.cxx
+ src/ssg/ssgIsect.cxx
+ src/ssg/ssgLeaf.cxx
+ src/ssg/ssgList.cxx
+ src/ssg/ssgLoad.cxx
+ src/ssg/ssgLoad3ds.cxx
+ src/ssg/ssgLoadAC.cxx
+ src/ssg/ssgLoadASC.cxx
+ src/ssg/ssgLoadASE.cxx
+ src/ssg/ssgLoadATG.cxx
+ src/ssg/ssgLoadBMP.cxx
+ src/ssg/ssgLoadDOF.cxx
+ src/ssg/ssgLoadDXF.cxx
+ src/ssg/ssgLoaderWriterStuff.cxx
+ src/ssg/ssgLoadFLT.cxx
+ src/ssg/ssgLoadIV.cxx
+ src/ssg/ssgLoadM.cxx
+ src/ssg/ssgLoadMD2.cxx
+ src/ssg/ssgLoadMDL.cxx
+ src/ssg/ssgLoadMDL_BGLTexture.cxx
+ src/ssg/ssgLoadOBJ.cxx
+ src/ssg/ssgLoadOFF.cxx
+ src/ssg/ssgLoadPCX.cxx
+ src/ssg/ssgLoadPNG.cxx
+ src/ssg/ssgLoadSGI.cxx
+ src/ssg/ssgLoadSSG.cxx
+ src/ssg/ssgLoadStrip.cxx
+ src/ssg/ssgLoadTexture.cxx
+ src/ssg/ssgLoadTGA.cxx
+ src/ssg/ssgLoadTRI.cxx
+ src/ssg/ssgLoadVRML1.cxx
+ src/ssg/ssgLoadX.cxx
+ src/ssg/ssgLoadXPlaneObj.cxx
+ src/ssg/ssgOptimiser.cxx
+ src/ssg/ssgParser.cxx
+ src/ssg/ssgRangeSelector.cxx
+ src/ssg/ssgRoot.cxx
+ src/ssg/ssgSave3ds.cxx
+ src/ssg/ssgSaveAC.cxx
+ src/ssg/ssgSaveASC.cxx
+ src/ssg/ssgSaveASE.cxx
+ src/ssg/ssgSaveATG.cxx
+ src/ssg/ssgSaveDXF.cxx
+ src/ssg/ssgSaveFLT.cxx
+ src/ssg/ssgSaveIV.cxx
+ src/ssg/ssgSaveM.cxx
+ src/ssg/ssgSaveOBJ.cxx
+ src/ssg/ssgSaveOFF.cxx
+ src/ssg/ssgSaveQHI.cxx
+ src/ssg/ssgSaveTRI.cxx
+ src/ssg/ssgSaveVRML1.cxx
+ src/ssg/ssgSaveX.cxx
+ src/ssg/ssgSelector.cxx
+ src/ssg/ssgSimpleList.cxx
+ src/ssg/ssgSimpleState.cxx
+ src/ssg/ssgState.cxx
+ src/ssg/ssgStateSelector.cxx
+ src/ssg/ssgStateTables.cxx
+ src/ssg/ssgStatistics.cxx
+ src/ssg/ssgStats.cxx
+ src/ssg/ssgTexTrans.cxx
+ src/ssg/ssgTexture.cxx
+ src/ssg/ssgTransform.cxx
+ src/ssg/ssgTween.cxx
+ src/ssg/ssgTweenController.cxx
+ src/ssg/ssgVertSplitter.cxx
+ src/ssg/ssgVTable.cxx
+ src/ssg/ssgVtxArray.cxx
+ src/ssg/ssgVtxTable.cxx)
+
+set(ssg_HEADERS
+ src/ssg/ssg.h
+ src/ssg/ssg3ds.h
+ src/ssg/ssgKeyFlier.h
+ src/ssg/ssgLoaderWriterStuff.h
+ src/ssg/ssgLoadMDL.h
+ src/ssg/ssgLoadVRML.h
+ src/ssg/ssgLocal.h
+ src/ssg/ssgMSFSPalette.h
+ src/ssg/ssgParser.h
+ src/ssg/ssgVertSplitter.h)
+
+set(ssgAux_SOURCES
+ src/ssgAux/ssgAux.cxx
+ src/ssgAux/ssgaBillboards.cxx
+ src/ssgAux/ssgaCelestialBody.cxx
+ src/ssgAux/ssgaCloudLayer.cxx
+ src/ssgAux/ssgaFire.cxx
+ src/ssgAux/ssgaLensFlare.cxx
+ src/ssgAux/ssgaLensFlareTexture.cxx
+ src/ssgAux/ssgaParticleSystem.cxx
+ src/ssgAux/ssgaPatch.cxx
+ src/ssgAux/ssgaScreenDump.cxx
+ src/ssgAux/ssgaShapes.cxx
+ src/ssgAux/ssgaSky.cxx
+ src/ssgAux/ssgaSkyDome.cxx
+ src/ssgAux/ssgaSphere.cxx
+ src/ssgAux/ssgaStars.cxx
+ src/ssgAux/ssgaTeapot.cxx
+ src/ssgAux/ssgaWaveSystem.cxx)
+
+set(ssgAux_HEADERS
+ src/ssgAux/ssgAux.h
+ src/ssgAux/ssgaBillboards.h
+ src/ssgAux/ssgaFire.h
+ src/ssgAux/ssgaLensFlare.h
+ src/ssgAux/ssgaParticleSystem.h
+ src/ssgAux/ssgaScreenDump.h
+ src/ssgAux/ssgaShapes.h
+ src/ssgAux/ssgaSky.h
+ src/ssgAux/ssgaSphere.h
+ src/ssgAux/ssgaWaveSystem.h)
+
+set(ul_SOURCES
+ src/util/ul.cxx
+ src/util/ulClock.cxx
+ src/util/ulError.cxx
+ src/util/ulLinkedList.cxx
+ src/util/ulList.cxx
+ src/util/ulRTTI.cxx)
+
+set(ul_HEADERS
+ src/util/ul.h
+ src/util/ulLocal.h
+ src/util/ulRTTI.h)
+
+# Create and configure the targets
+add_library(plib_fnt STATIC ${fnt_SOURCES} ${fnt_HEADERS})
+target_include_directories(plib_fnt PRIVATE src/sg src/util)
+
+add_library(plib_js STATIC ${js_SOURCES} ${js_HEADERS})
+target_include_directories(plib_js PRIVATE src/util)
+
+add_library(plib_net STATIC ${net_SOURCES} ${net_HEADERS})
+target_include_directories(plib_net PRIVATE src/util)
+
+add_library(plib_psl STATIC ${psl_SOURCES} ${psl_HEADERS})
+target_include_directories(plib_psl PRIVATE src/util)
+
+add_library(plib_puAux STATIC ${puAux_SOURCES} ${puAux_HEADERS})
+target_include_directories(plib_puAux PRIVATE
+ src/fnt
+ src/pui
+ src/sg
+ src/util
+)
+
+add_library(plib_pui STATIC ${pui_SOURCES} ${pui_HEADERS})
+target_include_directories(plib_pui PRIVATE src/fnt src/sg src/util)
+
+add_library(plib_pw STATIC ${pw_SOURCES} ${pw_HEADERS})
+target_include_directories(plib_pw PRIVATE src/util)
+
+add_library(plib_sg STATIC ${sg_SOURCES} ${sg_HEADERS})
+target_include_directories(plib_sg PRIVATE src/util)
+
+add_library(plib_sl STATIC ${sl_SOURCES} ${sl_HEADERS})
+target_include_directories(plib_sl PRIVATE src/util)
+
+add_library(plib_ssg STATIC ${ssg_SOURCES} ${ssg_HEADERS})
+target_include_directories(plib_ssg PRIVATE src/sg src/util)
+
+add_library(plib_ssgAux STATIC ${ssgAux_SOURCES} ${ssgAux_HEADERS})
+target_include_directories(plib_ssgAux PRIVATE src/sg src/ssg src/util)
+
+add_library(plib_ul STATIC ${ul_SOURCES} ${ul_HEADERS})
+
+# Install
+install(
+ TARGETS plib_fnt plib_js plib_net plib_psl plib_puAux plib_pui plib_pw plib_sg plib_sl plib_ssg plib_ssgAux plib_ul
+ ARCHIVE DESTINATION lib
+ LIBRARY DESTINATION lib
+ RUNTIME DESTINATION bin
+)
+
+install(
+ FILES ${fnt_HEADERS}
+ ${js_HEADERS}
+ ${net_HEADERS}
+ ${psl_HEADERS}
+ ${puAux_HEADERS}
+ ${pui_HEADERS}
+ ${pw_HEADERS}
+ ${sg_HEADERS}
+ ${sl_HEADERS}
+ ${ssg_HEADERS}
+ ${ssgAux_HEADERS}
+ ${ul_HEADERS}
+ DESTINATION include/plib
+)
diff --git a/ports/plib/CONTROL b/ports/plib/CONTROL
new file mode 100644
index 000000000..f1509d029
--- /dev/null
+++ b/ports/plib/CONTROL
@@ -0,0 +1,3 @@
+Source: plib
+Version: 1.8.5-2
+Description: A suite of portable game libraries
diff --git a/ports/plib/portfile.cmake b/ports/plib/portfile.cmake
new file mode 100644
index 000000000..16c5673c9
--- /dev/null
+++ b/ports/plib/portfile.cmake
@@ -0,0 +1,27 @@
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
+ message("Note: plib only supports static library linkage")
+ set(VCPKG_LIBRARY_LINKAGE static)
+endif()
+
+include(vcpkg_common_functions)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/plib-1.8.5)
+vcpkg_download_distfile(ARCHIVE
+ URLS "http://plib.sourceforge.net/dist/plib-1.8.5.tar.gz"
+ FILENAME "plib-1.8.5.tar.gz"
+ SHA512 17154cc77243fe576c2bcbcb0285b98aef1a0634658f5473e95fe0ac8fa3ed477dbe5620e44ccf0b7cc616f812af0cd44d6fcbba0c563180d3b61c9d6f158e1d
+)
+vcpkg_extract_source_archive(${ARCHIVE})
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+)
+
+vcpkg_install_cmake()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/plib RENAME copyright)
diff --git a/ports/pmdk/CONTROL b/ports/pmdk/CONTROL
index 868ae45eb..16c6138cc 100644
--- a/ports/pmdk/CONTROL
+++ b/ports/pmdk/CONTROL
@@ -1,3 +1,3 @@
Source: pmdk
-Version: 1.4.1
+Version: 1.4.1-1
Description: Persistent Memory Development Kit \ No newline at end of file
diff --git a/ports/pmdk/portfile.cmake b/ports/pmdk/portfile.cmake
index 690f86b32..302ce07bf 100644
--- a/ports/pmdk/portfile.cmake
+++ b/ports/pmdk/portfile.cmake
@@ -19,7 +19,7 @@ vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO pmem/pmdk
REF 1.4.1
- SHA512 c5398a0b728803f3ccc0787682a749e9685924338532f6ec61299e865fec60c0fd13b3bfafe65794a251fe809e69b321812b6c2fb27e3f08651e6e6abe8e1923
+ SHA512 a4bffb393f07e5e2ffbd2a7835b906148401abf0f3cff28262cf8607691fc2d567d153358a3fb3a15197db699519c7b3a4699b67a51c15fecd707bc30795c5c7
HEAD_REF master
PATCHES
"${CMAKE_CURRENT_LIST_DIR}/addPowerShellExecutionPolicy.patch"
diff --git a/ports/podofo/CONTROL b/ports/podofo/CONTROL
index 2e36ace2f..ba5fa1109 100644
--- a/ports/podofo/CONTROL
+++ b/ports/podofo/CONTROL
@@ -1,5 +1,5 @@
Source: podofo
-Version: 0.9.5-2
+Version: 0.9.6
Description: PoDoFo is a library to work with the PDF file format
Build-Depends: zlib, libpng, libjpeg-turbo, tiff, openssl (!windows&!uwp), freetype
diff --git a/ports/podofo/portfile.cmake b/ports/podofo/portfile.cmake
index c49534329..e33cda7f4 100644
--- a/ports/podofo/portfile.cmake
+++ b/ports/podofo/portfile.cmake
@@ -1,9 +1,9 @@
include(vcpkg_common_functions)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/podofo-0.9.5)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/podofo-0.9.6)
vcpkg_download_distfile(ARCHIVE
- URLS "https://downloads.sourceforge.net/project/podofo/podofo/0.9.5/podofo-0.9.5.tar.gz"
- FILENAME "podofo-0.9.5.tar.gz"
- SHA512 d13b30bfebc89b809173cd2251eed1f15dfa90abb58371bfdce875797d40663923571824ad2b0b1d97aa1be212bdbb710c3a0439bc05bed7022b8eb75ca74705
+ URLS "https://sourceforge.net/projects/podofo/files/podofo/0.9.6/podofo-0.9.6.tar.gz/download"
+ FILENAME "podofo-0.9.6.tar.gz"
+ SHA512 35c1a457758768bdadc93632385f6b9214824fead279f1b85420443fb2135837cefca9ced476df0d47066f060e9150e12fcd40f60fa1606b177da433feb20130
)
vcpkg_extract_source_archive(${ARCHIVE})
diff --git a/ports/protobuf/001-add-compiler-flag.patch b/ports/protobuf/001-add-compiler-flag.patch
deleted file mode 100644
index ad545cad3..000000000
--- a/ports/protobuf/001-add-compiler-flag.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt
-index 7618ba2..d282a60 100644
---- a/cmake/CMakeLists.txt
-+++ b/cmake/CMakeLists.txt
-@@ -165,8 +165,10 @@ endif (protobuf_UNICODE)
-
- include(libprotobuf-lite.cmake)
- include(libprotobuf.cmake)
--include(libprotoc.cmake)
--include(protoc.cmake)
-+if(protobuf_BUILD_COMPILER)
-+ include(libprotoc.cmake)
-+ include(protoc.cmake)
-+endif()
-
- if (protobuf_BUILD_TESTS)
- include(tests.cmake)
-
-diff --git a/cmake/install.cmake b/cmake/install.cmake
-index 441bf55..20b3aa0 100644
---- a/cmake/install.cmake
-+++ b/cmake/install.cmake
-@@ -1,14 +1,17 @@
- include(GNUInstallDirs)
-
-+set(LIBRARIES_TO_SET_DEST libprotobuf-lite libprotobuf)
-+if(protobuf_BUILD_COMPILER)
-+ list(APPEND LIBRARIES_TO_SET_DEST libprotoc)
-+endif()
-+
- configure_file(${CMAKE_CURRENT_SOURCE_DIR}/protobuf.pc.cmake
- ${CMAKE_CURRENT_BINARY_DIR}/protobuf.pc @ONLY)
- configure_file(${CMAKE_CURRENT_SOURCE_DIR}/protobuf-lite.pc.cmake
- ${CMAKE_CURRENT_BINARY_DIR}/protobuf-lite.pc @ONLY)
-
- foreach(_library
-- libprotobuf-lite
-- libprotobuf
-- libprotoc)
-+ ${LIBRARIES_TO_SET_DEST})
- set_property(TARGET ${_library}
- PROPERTY INTERFACE_INCLUDE_DIRECTORIES
- $<BUILD_INTERFACE:${protobuf_source_dir}/src>
-@@ -19,8 +22,10 @@ foreach(_library
- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT ${_library})
- endforeach()
-
--install(TARGETS protoc EXPORT protobuf-targets
-- RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT protoc)
-+if(protobuf_BUILD_COMPILER)
-+ install(TARGETS protoc EXPORT protobuf-targets
-+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT protoc)
-+endif()
-
- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/protobuf.pc ${CMAKE_CURRENT_BINARY_DIR}/protobuf-lite.pc DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
-
-@@ -101,7 +106,12 @@ configure_file(protobuf-options.cmake
- ${CMAKE_INSTALL_CMAKEDIR}/protobuf-options.cmake @ONLY)
-
- # Allows the build directory to be used as a find directory.
--export(TARGETS libprotobuf-lite libprotobuf libprotoc protoc
-+set(FIND_DIRS libprotobuf-lite libprotobuf)
-+if(protobuf_BUILD_COMPILER)
-+ list(APPEND FIND_DIRS libprotoc protoc)
-+endif()
-+
-+export(TARGETS ${FIND_DIRS}
- NAMESPACE protobuf::
- FILE ${CMAKE_INSTALL_CMAKEDIR}/protobuf-targets.cmake
- )
diff --git a/ports/protobuf/CONTROL b/ports/protobuf/CONTROL
index 5df6f1f69..3c480a1e4 100644
--- a/ports/protobuf/CONTROL
+++ b/ports/protobuf/CONTROL
@@ -1,5 +1,5 @@
Source: protobuf
-Version: 3.5.1-5
+Version: 3.6.1-2
Description: Protocol Buffers - Google's data interchange format
Feature: zlib
diff --git a/ports/protobuf/export-ParseGeneratorParameter.patch b/ports/protobuf/export-ParseGeneratorParameter.patch
deleted file mode 100644
index 38b45a4c4..000000000
--- a/ports/protobuf/export-ParseGeneratorParameter.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/google/protobuf/compiler/code_generator.h b/src/google/protobuf/compiler/code_generator.h
-index 4b1d90b..4c2b3ee 100644
---- a/src/google/protobuf/compiler/code_generator.h
-+++ b/src/google/protobuf/compiler/code_generator.h
-@@ -166,7 +166,7 @@ typedef GeneratorContext OutputDirectory;
- // "foo=bar,baz,qux=corge"
- // parses to the pairs:
- // ("foo", "bar"), ("baz", ""), ("qux", "corge")
--void ParseGeneratorParameter(
-+LIBPROTOC_EXPORT void ParseGeneratorParameter(
- const string&, std::vector<std::pair<string, string> >*);
-
- } // namespace compiler
diff --git a/ports/protobuf/js-embed.patch b/ports/protobuf/js-embed.patch
deleted file mode 100644
index df20fe030..000000000
--- a/ports/protobuf/js-embed.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-diff --git a/cmake/libprotoc.cmake b/cmake/libprotoc.cmake
-index 107c1c5..233bcf6 100644
---- a/cmake/libprotoc.cmake
-+++ b/cmake/libprotoc.cmake
-@@ -73,7 +73,7 @@ set(libprotoc_files
- ${protobuf_source_dir}/src/google/protobuf/compiler/javanano/javanano_message_field.cc
- ${protobuf_source_dir}/src/google/protobuf/compiler/javanano/javanano_primitive_field.cc
- ${protobuf_source_dir}/src/google/protobuf/compiler/js/js_generator.cc
-- ${protobuf_source_dir}/src/google/protobuf/compiler/js/well_known_types_embed.cc
-+ ${CMAKE_CURRENT_BINARY_DIR}/well_known_types_embed.cc
- ${protobuf_source_dir}/src/google/protobuf/compiler/objectivec/objectivec_enum.cc
- ${protobuf_source_dir}/src/google/protobuf/compiler/objectivec/objectivec_enum_field.cc
- ${protobuf_source_dir}/src/google/protobuf/compiler/objectivec/objectivec_extension.cc
-@@ -210,9 +210,9 @@ set(js_well_known_types_sources
- )
- add_executable(js_embed ${protobuf_source_dir}/src/google/protobuf/compiler/js/embed.cc)
- add_custom_command(
-- OUTPUT ${protobuf_source_dir}/src/google/protobuf/compiler/js/well_known_types_embed.cc
-+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/well_known_types_embed.cc
- DEPENDS js_embed ${js_well_known_types_sources}
-- COMMAND js_embed ${js_well_known_types_sources} > ${protobuf_source_dir}/src/google/protobuf/compiler/js/well_known_types_embed.cc
-+ COMMAND "$<TARGET_FILE:js_embed>" ${js_well_known_types_sources} > ${CMAKE_CURRENT_BINARY_DIR}/well_known_types_embed.cc
- )
-
- add_library(libprotoc ${protobuf_SHARED_OR_STATIC}
diff --git a/ports/protobuf/portfile.cmake b/ports/protobuf/portfile.cmake
index 87576dea1..37919a820 100644
--- a/ports/protobuf/portfile.cmake
+++ b/ports/protobuf/portfile.cmake
@@ -1,54 +1,34 @@
include(vcpkg_common_functions)
-set(PROTOBUF_VERSION 3.5.1)
-set(PROTOC_VERSION 3.5.1)
-
-vcpkg_download_distfile(ARCHIVE_FILE
- URLS "https://github.com/google/protobuf/releases/download/v${PROTOBUF_VERSION}/protobuf-cpp-${PROTOBUF_VERSION}.tar.gz"
- FILENAME "protobuf-cpp-${PROTOBUF_VERSION}.tar.gz"
- SHA512 195ccb210229e0a1080dcdb0a1d87b2e421ad55f6b036c56db3183bd50a942c75b4cc84e6af8a10ad88022a247781a06f609a145a461dfbb8f04051b7dd714b3
-)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/protobuf-${PROTOBUF_VERSION})
-
-vcpkg_extract_source_archive(${ARCHIVE_FILE})
-
-# Add a flag that can be set to disable the protobuf compiler
-vcpkg_apply_patches(
- SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/protobuf-${PROTOBUF_VERSION}
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO google/protobuf
+ REF v3.6.1
+ SHA512 1bc175d24b49de1b1e41eaf39598194e583afffb924c86c8d2e569d935af21874be76b2cbd4d9655a1d38bac3d4cd811de88bc2c72d81bad79115e69e5b0d839
+ HEAD_REF master
PATCHES
- "${CMAKE_CURRENT_LIST_DIR}/001-add-compiler-flag.patch"
- "${CMAKE_CURRENT_LIST_DIR}/export-ParseGeneratorParameter.patch"
- "${CMAKE_CURRENT_LIST_DIR}/js-embed.patch"
"${CMAKE_CURRENT_LIST_DIR}/fix-uwp.patch"
- "${CMAKE_CURRENT_LIST_DIR}/wire_format_lite_h_fix_error_C4146.patch"
)
-if(CMAKE_HOST_WIN32)
- set(TOOL_PATH ${CURRENT_BUILDTREES_DIR}/src/protobuf-${PROTOBUF_VERSION}-win32)
- vcpkg_download_distfile(TOOL_ARCHIVE_FILE
- URLS "https://github.com/google/protobuf/releases/download/v${PROTOC_VERSION}/protoc-${PROTOC_VERSION}-win32.zip"
- FILENAME "protoc-${PROTOC_VERSION}-win32.zip"
- SHA512 27b1b82e92d82c35158362435a29f590961b91f68cda21bffe46e52271340ea4587c4e3177668809af0d053b61e6efa69f0f62156ea11393cd9e6eb4474a3049
- )
-
- vcpkg_extract_source_archive(${TOOL_ARCHIVE_FILE} ${TOOL_PATH})
+if(CMAKE_HOST_WIN32 AND NOT VCPKG_TARGET_ARCHITECTURE MATCHES "x64" AND NOT VCPKG_TARGET_ARCHITECTURE MATCHES "x86")
+ set(protobuf_BUILD_PROTOC_BINARIES OFF)
+elseif(CMAKE_HOST_WIN32 AND VCPKG_CMAKE_SYSTEM_NAME)
+ set(protobuf_BUILD_PROTOC_BINARIES OFF)
+else()
+ set(protobuf_BUILD_PROTOC_BINARIES ON)
endif()
-
-# Disable the protobuf compiler when targeting UWP
-if(CMAKE_HOST_WIN32 AND VCPKG_CMAKE_SYSTEM_NAME)
- set(protobuf_BUILD_COMPILER OFF)
-else()
- set(protobuf_BUILD_COMPILER ON)
+if(NOT protobuf_BUILD_PROTOC_BINARIES AND NOT EXISTS ${CURRENT_INSTALLED_DIR}/../x86-windows/tools/protobuf)
+ message(FATAL_ERROR "Cross-targetting protobuf requires the x86-windows protoc to be available. Please install protobuf:x86-windows first.")
endif()
-if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
set(protobuf_BUILD_SHARED_LIBS ON)
else()
set(protobuf_BUILD_SHARED_LIBS OFF)
endif()
-if(VCPKG_CRT_LINKAGE STREQUAL static)
+if(VCPKG_CRT_LINKAGE STREQUAL "static")
set(protobuf_MSVC_STATIC_RUNTIME ON)
else()
set(protobuf_MSVC_STATIC_RUNTIME OFF)
@@ -68,8 +48,8 @@ vcpkg_configure_cmake(
-Dprotobuf_MSVC_STATIC_RUNTIME=${protobuf_MSVC_STATIC_RUNTIME}
-Dprotobuf_WITH_ZLIB=${protobuf_WITH_ZLIB}
-Dprotobuf_BUILD_TESTS=OFF
- -Dprotobuf_BUILD_COMPILER=${protobuf_BUILD_COMPILER}
- -DCMAKE_INSTALL_CMAKEDIR=share/protobuf
+ -DCMAKE_INSTALL_CMAKEDIR:STRING=share/protobuf
+ -Dprotobuf_BUILD_PROTOC_BINARIES=${protobuf_BUILD_PROTOC_BINARIES}
)
vcpkg_install_cmake()
@@ -87,23 +67,36 @@ endfunction()
protobuf_try_remove_recurse_wait(${CURRENT_PACKAGES_DIR}/debug/include)
+if(CMAKE_HOST_WIN32)
+ set(EXECUTABLE_SUFFIX ".exe")
+else()
+ set(EXECUTABLE_SUFFIX "")
+endif()
+
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
file(READ ${CURRENT_PACKAGES_DIR}/share/protobuf/protobuf-targets-release.cmake RELEASE_MODULE)
- string(REPLACE "\${_IMPORT_PREFIX}/bin/protoc${CMAKE_EXECUTABLE_SUFFIX}" "\${_IMPORT_PREFIX}/tools/protoc${CMAKE_EXECUTABLE_SUFFIX}" RELEASE_MODULE "${RELEASE_MODULE}")
+ string(REPLACE "\${_IMPORT_PREFIX}/bin/protoc${EXECUTABLE_SUFFIX}" "\${_IMPORT_PREFIX}/tools/protobuf/protoc${EXECUTABLE_SUFFIX}" RELEASE_MODULE "${RELEASE_MODULE}")
file(WRITE ${CURRENT_PACKAGES_DIR}/share/protobuf/protobuf-targets-release.cmake "${RELEASE_MODULE}")
endif()
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
file(READ ${CURRENT_PACKAGES_DIR}/debug/share/protobuf/protobuf-targets-debug.cmake DEBUG_MODULE)
string(REPLACE "\${_IMPORT_PREFIX}" "\${_IMPORT_PREFIX}/debug" DEBUG_MODULE "${DEBUG_MODULE}")
- string(REPLACE "\${_IMPORT_PREFIX}/debug/bin/protoc${CMAKE_EXECUTABLE_SUFFIX}" "\${_IMPORT_PREFIX}/tools/protoc${CMAKE_EXECUTABLE_SUFFIX}" DEBUG_MODULE "${DEBUG_MODULE}")
+ string(REPLACE "\${_IMPORT_PREFIX}/debug/bin/protoc${EXECUTABLE_SUFFIX}" "\${_IMPORT_PREFIX}/tools/protobuf/protoc${EXECUTABLE_SUFFIX}" DEBUG_MODULE "${DEBUG_MODULE}")
file(WRITE ${CURRENT_PACKAGES_DIR}/share/protobuf/protobuf-targets-debug.cmake "${DEBUG_MODULE}")
endif()
protobuf_try_remove_recurse_wait(${CURRENT_PACKAGES_DIR}/debug/share)
if(CMAKE_HOST_WIN32)
- if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ if(protobuf_BUILD_PROTOC_BINARIES)
+ file(INSTALL ${CURRENT_PACKAGES_DIR}/bin/protoc.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools/protobuf)
+ vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/protobuf)
+ else()
+ file(COPY ${CURRENT_INSTALLED_DIR}/../x86-windows/tools/protobuf DESTINATION ${CURRENT_PACKAGES_DIR}/tools)
+ endif()
+
+ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
protobuf_try_remove_recurse_wait(${CURRENT_PACKAGES_DIR}/bin)
protobuf_try_remove_recurse_wait(${CURRENT_PACKAGES_DIR}/debug/bin)
else()
@@ -112,19 +105,16 @@ if(CMAKE_HOST_WIN32)
endif()
else()
protobuf_try_remove_recurse_wait(${CURRENT_PACKAGES_DIR}/debug/bin)
- file(INSTALL ${CURRENT_PACKAGES_DIR}/bin/protoc DESTINATION ${CURRENT_PACKAGES_DIR}/tools
+ file(INSTALL ${CURRENT_PACKAGES_DIR}/bin/protoc DESTINATION ${CURRENT_PACKAGES_DIR}/tools/protobuf
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_WRITE GROUP_EXECUTE WORLD_READ)
protobuf_try_remove_recurse_wait(${CURRENT_PACKAGES_DIR}/bin)
endif()
-if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
file(READ ${CURRENT_PACKAGES_DIR}/include/google/protobuf/stubs/platform_macros.h _contents)
string(REPLACE "\#endif // GOOGLE_PROTOBUF_PLATFORM_MACROS_H_" "\#define PROTOBUF_USE_DLLS\n\#endif // GOOGLE_PROTOBUF_PLATFORM_MACROS_H_" _contents "${_contents}")
file(WRITE ${CURRENT_PACKAGES_DIR}/include/google/protobuf/stubs/platform_macros.h "${_contents}")
endif()
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/protobuf RENAME copyright)
-if(CMAKE_HOST_WIN32)
- file(INSTALL ${TOOL_PATH}/bin/protoc.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools)
-endif()
vcpkg_copy_pdbs()
diff --git a/ports/protobuf/wire_format_lite_h_fix_error_C4146.patch b/ports/protobuf/wire_format_lite_h_fix_error_C4146.patch
deleted file mode 100644
index b56892a22..000000000
--- a/ports/protobuf/wire_format_lite_h_fix_error_C4146.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 24493eef9395e5b832360e12efabf9c363c9cb15 Mon Sep 17 00:00:00 2001
-From: Rodrigo Hernandez <kwizatz@aeongames.com>
-Date: Mon, 4 Dec 2017 19:04:42 -0600
-Subject: [PATCH] Using binary one's complement to negate an unsigned int
-
-This removes a Visual Studio warning:
-
-warning C4146: unary minus operator applied to unsigned type, result
-still unsigned.
----
- src/google/protobuf/wire_format_lite.h | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/google/protobuf/wire_format_lite.h b/src/google/protobuf/wire_format_lite.h
-index cf614c02a4..361920b8ec 100644
---- a/src/google/protobuf/wire_format_lite.h
-+++ b/src/google/protobuf/wire_format_lite.h
-@@ -860,7 +860,7 @@ inline uint32 WireFormatLite::ZigZagEncode32(int32 n) {
-
- inline int32 WireFormatLite::ZigZagDecode32(uint32 n) {
- // Note: Using unsigned types prevent undefined behavior
-- return static_cast<int32>((n >> 1) ^ -(n & 1));
-+ return static_cast<int32>((n >> 1) ^ (~(n & 1) + 1));
- }
-
- inline uint64 WireFormatLite::ZigZagEncode64(int64 n) {
-@@ -871,7 +871,7 @@ inline uint64 WireFormatLite::ZigZagEncode64(int64 n) {
-
- inline int64 WireFormatLite::ZigZagDecode64(uint64 n) {
- // Note: Using unsigned types prevent undefined behavior
-- return static_cast<int64>((n >> 1) ^ -(n & 1));
-+ return static_cast<int64>((n >> 1) ^ (~(n & 1) + 1));
- }
-
- // String is for UTF-8 text only, but, even so, ReadString() can simply
diff --git a/ports/pybind11/CONTROL b/ports/pybind11/CONTROL
index bd389141b..c6f7f5b7e 100644
--- a/ports/pybind11/CONTROL
+++ b/ports/pybind11/CONTROL
@@ -1,4 +1,4 @@
Source: pybind11
Version: 2.2.3
Description: pybind11 is a lightweight header-only library that exposes C++ types in Python and vice versa, mainly to create Python bindings of existing C++ code.
-Build-Depends: python3
+Build-Depends: python3 (windows) \ No newline at end of file
diff --git a/ports/re2/CONTROL b/ports/re2/CONTROL
index b0a955b67..8e271f5ca 100644
--- a/ports/re2/CONTROL
+++ b/ports/re2/CONTROL
@@ -1,3 +1,3 @@
Source: re2
-Version: 2018-06-28
+Version: 2018-07-30
Description: RE2 is a fast, safe, thread-friendly alternative to backtracking regular expression engines like those used in PCRE, Perl, and Python. It is a C++ library. \ No newline at end of file
diff --git a/ports/re2/portfile.cmake b/ports/re2/portfile.cmake
index 1913803d0..06ba4f581 100644
--- a/ports/re2/portfile.cmake
+++ b/ports/re2/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO google/re2
- REF b277f4c78767c9df3aeaea848ff0059e60e358cc
- SHA512 8ca786245a884a030ea522d5e01537982275dac66488d2a94ef5829ab07ef3ee706af6652f0203f17bb93c6a6dfeaed2e05692841aa54ce4e51f82b7784cfbff
+ REF 3b4a3d57f3a0231cfb70ad649099c3aed0499555
+ SHA512 3ff7ece9fafd595d5016d0ad1942dfc1747610cd93e505512179307f7abba2e16d1c830712f9b4a04278ad8bcdc182dc883bcdabad340f2d08264d34d8f08f92
HEAD_REF master
)
diff --git a/ports/readline-win32/CMakeLists.txt b/ports/readline-win32/CMakeLists.txt
new file mode 100644
index 000000000..ac062d0dc
--- /dev/null
+++ b/ports/readline-win32/CMakeLists.txt
@@ -0,0 +1,56 @@
+cmake_minimum_required(VERSION 3.0)
+project(readline C)
+
+add_definitions(-DREADLINE_LIBRARY)
+add_definitions(-DHAVE_CONFIG_H)
+add_definitions(-D_CRT_SECURE_NO_WARNINGS)
+
+if(BUILD_SHARED_LIBS)
+ add_definitions(-DBUILD_READLINE_DLL)
+else()
+ add_definitions(-DREADLINE_STATIC)
+endif()
+
+include_directories(
+ ${CMAKE_CURRENT_SOURCE_DIR} # thats where the config.h is located
+)
+
+add_library(readline
+ readline.c
+ funmap.c
+ keymaps.c
+ vi_mode.c
+ parens.c
+ rltty.c
+ complete.c
+ bind.c
+ isearch.c
+ display.c
+ signals.c
+ util.c
+ kill.c
+ undo.c
+ macro.c
+ input.c
+ callback.c
+ terminal.c
+ xmalloc.c
+ history.c
+ histsearch.c
+ histexpand.c
+ histfile.c
+ nls.c
+ search.c
+ shell.c
+ savestring.c
+ tilde.c
+ text.c
+ misc.c
+ compat.c
+ mbutil.c
+ support/wcwidth.c)
+
+install(TARGETS readline
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib)
diff --git a/ports/readline-win32/CONTROL b/ports/readline-win32/CONTROL
new file mode 100644
index 000000000..d04614bac
--- /dev/null
+++ b/ports/readline-win32/CONTROL
@@ -0,0 +1,3 @@
+Source: readline-win32
+Version: 5.0-2
+Description: Implementation of readline for Windows Desktop provided by https://github.com/lltcggie \ No newline at end of file
diff --git a/ports/readline-win32/config.h b/ports/readline-win32/config.h
new file mode 100644
index 000000000..de0a352fe
--- /dev/null
+++ b/ports/readline-win32/config.h
@@ -0,0 +1,58 @@
+#define RETSIGTYPE void
+#define VOID_SIGHANDLER 1
+#define PROTOTYPES 1
+#define HAVE_ISASCII 1
+#define HAVE_ISXDIGIT 1
+#define HAVE_MBRLEN 1
+#define HAVE_MBRTOWC 1
+#define HAVE_MBRTOWC 1
+#define HAVE_MBSRTOWCS 1
+#define HAVE_MEMMOVE 1
+#define HAVE_PUTENV 1
+#define HAVE_SETENV 1
+#define HAVE_SETLOCALE 1
+#define HAVE_STRCOLL 1
+#define STRCOLL_BROKEN 1
+#define HAVE_STRPBRK 1
+#define HAVE_TCGETATTR 1
+#define HAVE_VSNPRINTF 1
+#define HAVE_WCTOMB 1
+#define HAVE_WCWIDTH 1
+#define STDC_HEADERS 1
+#define HAVE_LANGINFO_H 1
+#define HAVE_LIMITS_H 1
+#define HAVE_LOCALE_H 1
+#define HAVE_MEMORY_H 1
+#define HAVE_STDARG_H 1
+#define HAVE_STDLIB_H 1
+#define HAVE_STRING_H 1
+#define HAVE_TERMIOS_H 1
+#define HAVE_WCHAR_H 1
+#define HAVE_WCTYPE_H 1
+#define HAVE_MBSTATE_T 1
+#define HAVE_LANGINFO_CODESET 1
+#define VOID_SIGHANDLER 1
+#define STRUCT_WINSIZE_IN_SYS_IOCTL 1
+#define HAVE_GETPW_DECLS 1
+#define MUST_REINSTALL_SIGHANDLERS 1
+#define CTYPE_NON_ASCII 1
+
+/* Ultrix botches type-ahead when switching from canonical to
+ non-canonical mode, at least through version 4.3 */
+#if !defined (HAVE_TERMIOS_H) || !defined (HAVE_TCGETATTR) || defined (ultrix)
+# define TERMIOS_MISSING
+#endif
+
+#if defined (STRCOLL_BROKEN)
+# define HAVE_STRCOLL 1
+#endif
+
+#if defined (__STDC__) && defined (HAVE_STDARG_H)
+# define PREFER_STDARG
+# define USE_VARARGS
+#else
+# if defined (HAVE_VARARGS_H)
+# define PREFER_VARARGS
+# define USE_VARARGS
+# endif
+#endif
diff --git a/ports/readline-win32/portfile.cmake b/ports/readline-win32/portfile.cmake
new file mode 100644
index 000000000..51ad377e7
--- /dev/null
+++ b/ports/readline-win32/portfile.cmake
@@ -0,0 +1,31 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO lltcggie/readline
+ REF ea414b4e98475e3976198738061824e8a8379a50
+ SHA512 82d54ab3e19fb2673fe97eff07117d36704791669baa283ec737c704635f872e4c7cd30485a6648d445cb2912e4364286e664e9425444f456a4c862b9e4de843
+ HEAD_REF master
+)
+
+set(SOURCE_PATH "${SOURCE_PATH}/src/readline/5.0/readline-5.0-src")
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/config.h DESTINATION ${SOURCE_PATH})
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+)
+
+vcpkg_install_cmake()
+
+# Copy headers
+file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/include/readline)
+file(GLOB headers "${SOURCE_PATH}/*.h")
+file(COPY ${headers} DESTINATION ${CURRENT_PACKAGES_DIR}/include/readline)
+
+vcpkg_copy_pdbs()
+
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/readline/CONTROL b/ports/readline/CONTROL
new file mode 100644
index 000000000..4fdb10939
--- /dev/null
+++ b/ports/readline/CONTROL
@@ -0,0 +1,4 @@
+Source: readline
+Version: 0
+Description: GNU readline and history libraries
+Build-Depends: readline-win32 (windows)
diff --git a/ports/readline/portfile.cmake b/ports/readline/portfile.cmake
new file mode 100644
index 000000000..45db4f37a
--- /dev/null
+++ b/ports/readline/portfile.cmake
@@ -0,0 +1,5 @@
+if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ message(FATAL_ERROR "No implementation of readline is currently available for UWP targets")
+endif()
+
+set(VCPKG_POLICY_EMPTY_PACKAGE enabled)
diff --git a/ports/rs-core-lib/CONTROL b/ports/rs-core-lib/CONTROL
index e72f18909..c86bfe250 100644
--- a/ports/rs-core-lib/CONTROL
+++ b/ports/rs-core-lib/CONTROL
@@ -1,4 +1,4 @@
Source: rs-core-lib
-Version: 2018-07-08
+Version: 2018-07-30
Description: Minimal common utilities by Ross Smith
diff --git a/ports/rs-core-lib/portfile.cmake b/ports/rs-core-lib/portfile.cmake
index b96b531ce..feba9947d 100644
--- a/ports/rs-core-lib/portfile.cmake
+++ b/ports/rs-core-lib/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO CaptainCrowbar/rs-core-lib
- REF 79a54a4eb1b49eca04db31ff779e31a6626d049a
- SHA512 ded381d977b6b84d82f2400cac3e966ef9e27e597aa8ec4846056dabbd55f1be2dab6fd593cd005930e14f83581d10495c2a459bf75b9e05aa6822f3c3eda0a7
+ REF 989a68109c28c8a4c9352fd166809f63f2e92ce4
+ SHA512 e4b0b0e20ffc67ed737fd26db9860d111f0a59e9d98b0350f5997225b0536768d9987f0fb75fdb08516b36e266ad11c1a0bd3bab7c14eb65ee18e5cd90ff03cb
HEAD_REF master
)
diff --git a/ports/rttr/portfile.cmake b/ports/rttr/portfile.cmake
index bfb1d23ad..63a5678d9 100644
--- a/ports/rttr/portfile.cmake
+++ b/ports/rttr/portfile.cmake
@@ -38,7 +38,14 @@ if(REL_EXES)
file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/rttr)
file(COPY ${REL_EXES} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/rttr)
endif()
-file(REMOVE ${REL_EXES} ${DBG_EXES})
+
+if(REL_EXES)
+ file(REMOVE ${REL_EXES})
+endif(REL_EXES)
+
+if(DBG_EXES)
+ file(REMOVE ${DBG_EXES})
+endif(DBG_EXES)
#Handle copyright
file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/rttr)
diff --git a/ports/sciter/CONTROL b/ports/sciter/CONTROL
index e015335c3..fb49f7b36 100644
--- a/ports/sciter/CONTROL
+++ b/ports/sciter/CONTROL
@@ -1,4 +1,4 @@
Source: sciter
-Version: 4.1.11
+Version: 4.2.2
Description: Sciter is an embeddable HTML/CSS/scripting engine.
Maintainer: andrew.fedoniouk@gmail.com, ehysta@gmail.com
diff --git a/ports/sciter/portfile.cmake b/ports/sciter/portfile.cmake
index b032d1e23..2c5130421 100644
--- a/ports/sciter/portfile.cmake
+++ b/ports/sciter/portfile.cmake
@@ -12,8 +12,8 @@ include(vcpkg_common_functions)
# header-only library
set(VCPKG_POLICY_DLLS_WITHOUT_LIBS enabled)
-set(SCITER_REVISION f1ab32f4c29968b128f7777fddf775dd3066b768)
-set(SCITER_SHA aeb3de87d79d3a159d0bd7cbbc309d1075add9c5e19d23859c315adc55540a1ae8b9e74546397235dc49e8d220b8f2347282ff41877cb75135d0a27f22ef158a)
+set(SCITER_REVISION 8add927504c84d72833973a659e834081672237f)
+set(SCITER_SHA 85aa711b51e7911f62162cf8c3b74e7693c92a02618e074ed24578da56cf7a589e8336a677b21e7359957bcd7357adfb5da54a9fafa12b7f0bee8e480115c84c)
if(VCPKG_TARGET_ARCHITECTURE STREQUAL x64)
set(SCITER_ARCH 64)
diff --git a/ports/sfgui/CONTROL b/ports/sfgui/CONTROL
index 39962e0e5..59a7cdab3 100644
--- a/ports/sfgui/CONTROL
+++ b/ports/sfgui/CONTROL
@@ -1,4 +1,4 @@
Source: sfgui
-Version: 0.3.2-1
+Version: 0.3.2-2
Description: simple and fast graphical user interface library
Build-Depends: sfml
diff --git a/ports/sfgui/portfile.cmake b/ports/sfgui/portfile.cmake
index 7764a60a1..66ce7d830 100644
--- a/ports/sfgui/portfile.cmake
+++ b/ports/sfgui/portfile.cmake
@@ -6,15 +6,12 @@ vcpkg_from_github(
REF 0.3.2
SHA512 cd97e421695f6189995c1b7a4180e3738bf785abae37d3eb51ac6d687a88a26a1f088863b37e065edaff6ba43eea379e423b31118324c4daa65dba0b3e904869
HEAD_REF master
+ PATCHES "${CMAKE_CURRENT_LIST_DIR}/use-sfml-targets.patch"
)
-if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
- set(SFGUI_BUILD_SHARED_LIBS ON)
- set(SFML_STATIC_LIBRARIES OFF)
-else()
- set(SFGUI_BUILD_SHARED_LIBS OFF)
- set(SFML_STATIC_LIBRARIES ON)
-endif()
+file(REMOVE ${SOURCE_PATH}/cmake/Modules/FindSFML.cmake)
+
+string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" SFGUI_BUILD_SHARED_LIBS)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
@@ -23,7 +20,6 @@ vcpkg_configure_cmake(
-DSFGUI_BUILD_DOC=OFF
-DSFGUI_BUILD_EXAMPLES=OFF
-DSFGUI_BUILD_SHARED_LIBS=${SFGUI_BUILD_SHARED_LIBS}
- -DSFML_STATIC_LIBRARIES=${SFML_STATIC_LIBRARIES}
)
vcpkg_install_cmake()
diff --git a/ports/sfgui/use-sfml-targets.patch b/ports/sfgui/use-sfml-targets.patch
new file mode 100644
index 000000000..337949f5a
--- /dev/null
+++ b/ports/sfgui/use-sfml-targets.patch
@@ -0,0 +1,44 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index abc9be0..eb999f5 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -190,7 +190,6 @@ endif()
+
+ include_directories( "${INCLUDE_PATH}" )
+ include_directories( "${SOURCE_PATH}" )
+-include_directories( SYSTEM "${SFML_INCLUDE_DIR}" )
+ include_directories( SYSTEM "${PROJECT_SOURCE_DIR}/extlibs/libELL/include" )
+
+ # Set the library output directory
+@@ -244,7 +243,7 @@ if( WIN32 )
+ endif()
+
+ add_definitions( -DWIN32 )
+- target_link_libraries( sfgui ${SFML_LIBRARIES} ${SFML_DEPENDENCIES} ${OPENGL_gl_LIBRARY} )
++ target_link_libraries( sfgui sfml-graphics sfml-window sfml-system ${OPENGL_gl_LIBRARY} )
+
+ if( CMAKE_COMPILER_IS_GNUCXX )
+ if( SFGUI_BUILD_SHARED_LIBS )
+@@ -261,11 +260,11 @@ elseif( APPLE )
+ mark_as_advanced( COREFOUNDATION_LIBRARY )
+
+ include_directories( SYSTEM /System/Library/Frameworks/CoreFoundation.framework/Headers )
+- target_link_libraries( sfgui ${SFML_LIBRARIES} ${SFML_DEPENDENCIES} ${OPENGL_gl_LIBRARY} ${COREFOUNDATION_LIBRARY} )
++ target_link_libraries( sfgui sfml-graphics sfml-window sfml-system ${OPENGL_gl_LIBRARY} ${COREFOUNDATION_LIBRARY} )
+ set( SHARE_PATH "${CMAKE_INSTALL_PREFIX}/share/SFGUI" )
+ set( LIB_PATH "lib" )
+ elseif( "${CMAKE_SYSTEM_NAME}" MATCHES "Linux" )
+- target_link_libraries( sfgui ${SFML_LIBRARIES} ${SFML_DEPENDENCIES} ${OPENGL_gl_LIBRARY} ${X11_LIBRARIES} )
++ target_link_libraries( sfgui sfml-graphics sfml-window sfml-system ${OPENGL_gl_LIBRARY} ${X11_LIBRARIES} )
+ set( SHARE_PATH "${CMAKE_INSTALL_PREFIX}/share/SFGUI" )
+
+ if( LIB_SUFFIX )
+@@ -274,7 +273,7 @@ elseif( "${CMAKE_SYSTEM_NAME}" MATCHES "Linux" )
+ set( LIB_PATH "lib" )
+ endif()
+ else()
+- target_link_libraries( sfgui ${SFML_LIBRARIES} ${SFML_DEPENDENCIES} ${OPENGL_gl_LIBRARY} )
++ target_link_libraries( sfgui sfml-graphics sfml-window sfml-system ${OPENGL_gl_LIBRARY} )
+ set( SHARE_PATH "${CMAKE_INSTALL_PREFIX}/share/SFGUI" )
+ set( LIB_PATH "lib" )
+ endif()
diff --git a/ports/sfml/CONTROL b/ports/sfml/CONTROL
index 00817f1af..ed3580b4b 100644
--- a/ports/sfml/CONTROL
+++ b/ports/sfml/CONTROL
@@ -1,4 +1,4 @@
Source: sfml
-Version: 2.5.0-1
+Version: 2.5.0-2
Description: Simple and fast multimedia library
Build-Depends: freetype, libflac, libogg, libvorbis, openal-soft, stb
diff --git a/ports/sfml/portfile.cmake b/ports/sfml/portfile.cmake
index 2773ec215..edf9de148 100644
--- a/ports/sfml/portfile.cmake
+++ b/ports/sfml/portfile.cmake
@@ -5,13 +5,16 @@ vcpkg_from_github(OUT_SOURCE_PATH SOURCE_PATH
REF 2.5.0
HEAD_REF master
SHA512 94306dcbed7d68bb7e226cd91e25950a07bcf393988c4bb79f9de3555c18c78cae4573e911235f712e711a7c02a614bf370df32b8d85240d2f08142327e05076
- PATCHES "${CMAKE_CURRENT_LIST_DIR}/portfile.cmake"
+ PATCHES
+ "${CMAKE_CURRENT_LIST_DIR}/use-system-freetype.patch"
)
file(REMOVE_RECURSE ${SOURCE_PATH}/extlibs)
# Without this, we get error: list sub-command REMOVE_DUPLICATES requires list to be present.
file(MAKE_DIRECTORY ${SOURCE_PATH}/extlibs/libs)
file(WRITE ${SOURCE_PATH}/extlibs/libs/x "")
+# The embedded FindFreetype doesn't properly handle debug libraries
+file(REMOVE_RECURSE ${SOURCE_PATH}/cmake/Modules/FindFreetype.cmake)
if(VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
message("SFML currently requires the following libraries from the system package manager:\n libudev\n libx11\n libxrandr\n opengl\n\nThese can be installed on Ubuntu systems via apt-get install libx11-dev libxrandr-dev libxi-dev libudev-dev mesa-common-dev")
diff --git a/ports/sfml/use-system-freetype.patch b/ports/sfml/use-system-freetype.patch
new file mode 100644
index 000000000..c58fc1b95
--- /dev/null
+++ b/ports/sfml/use-system-freetype.patch
@@ -0,0 +1,13 @@
+diff --git a/src/sfml/Graphics/CMakeLists.txt b/src/sfml/Graphics/CMakeLists.txt
+index 883c758..76f3b6f 100644
+--- a/src/sfml/Graphics/CMakeLists.txt
++++ b/src/sfml/Graphics/CMakeLists.txt
+@@ -135,7 +135,7 @@ if(SFML_OS_ANDROID)
+ endif()
+
+ sfml_find_package(Freetype INCLUDE "FREETYPE_INCLUDE_DIRS" LINK "FREETYPE_LIBRARY")
+-target_link_libraries(sfml-graphics PRIVATE Freetype)
++target_link_libraries(sfml-graphics PRIVATE Freetype::Freetype)
+
+ # add preprocessor symbols
+ target_compile_definitions(sfml-graphics PRIVATE "STBI_FAILURE_USERMSG")
diff --git a/ports/shiva-sfml/CONTROL b/ports/shiva-sfml/CONTROL
new file mode 100644
index 000000000..d912c2773
--- /dev/null
+++ b/ports/shiva-sfml/CONTROL
@@ -0,0 +1,4 @@
+Source: shiva-sfml
+Version: 0.7.2
+Description: shiva-sfml plugins of shiva C++ engine
+Build-Depends: sfml (windows), shiva
diff --git a/ports/shiva-sfml/portfile.cmake b/ports/shiva-sfml/portfile.cmake
new file mode 100644
index 000000000..3b4432de1
--- /dev/null
+++ b/ports/shiva-sfml/portfile.cmake
@@ -0,0 +1,51 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO Milerius/shiva
+ REF 0.7.2
+ SHA512 0bd1543ba6067d303640820a17a24ec02c6ab8333f86bd3431c09f5a2ea4ca47379ec06a90e3a0658dba967504cb8a63f85c2f0cbfb51a7c59130b235948d600
+ HEAD_REF master
+ )
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DSHIVA_BUILD_TESTS=OFF -DSHIVA_USE_SFML_AS_RENDERER=ON -DSHIVA_INSTALL_PLUGINS=ON
+
+)
+
+vcpkg_install_cmake()
+
+file(GLOB PLUGINS ${SOURCE_PATH}/bin/systems/*)
+message(STATUS "PLUGINS -> ${PLUGINS}")
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/shiva-sfml)
+
+
+##! Pre removing
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib)
+
+##! Include
+file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/include)
+file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/include/shiva-sfml)
+
+##! Release
+file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/lib)
+file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/lib/shiva)
+file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/lib/shiva/plugins)
+file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/lib/shiva/plugins/shiva-sfml)
+
+##! Debug
+file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug)
+file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/lib)
+file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/lib/shiva)
+file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/lib/shiva/plugins)
+file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/lib/shiva/plugins/shiva-sfml)
+
+##! Copy Plugins
+file(COPY ${PLUGINS} DESTINATION ${CURRENT_PACKAGES_DIR}/lib/shiva/plugins/shiva-sfml)
+file(COPY ${PLUGINS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/shiva/plugins/shiva-sfml)
+
+file(WRITE ${CURRENT_PACKAGES_DIR}/include/shiva-sfml/empty.h "")
+file(WRITE ${CURRENT_PACKAGES_DIR}/share/shiva-sfml/copyright "")
diff --git a/ports/shiva/CONTROL b/ports/shiva/CONTROL
index ab53906e2..8f4df8b82 100644
--- a/ports/shiva/CONTROL
+++ b/ports/shiva/CONTROL
@@ -1,4 +1,4 @@
Source: shiva
-Version: 0.3
+Version: 0.7.2
Description: Modern C++ Game Engine
-Build-Depends: boost-stacktrace, boost-filesystem, boost-dll, boost-function, entt, eastl
+Build-Depends: boost-stacktrace, boost-filesystem, boost-dll, entt, eastl, lua (windows), luafilesystem (windows), sol2, pybind11, spdlog
diff --git a/ports/shiva/portfile.cmake b/ports/shiva/portfile.cmake
index bfb79df9e..e0156058d 100644
--- a/ports/shiva/portfile.cmake
+++ b/ports/shiva/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Milerius/shiva
- REF 0.3
- SHA512 1ffb89019bceaa5d7968f812d33dbadbba847c510fefb43774a9a0a5a970190d166f9f0f43069f3d0e5e8ce6d9c1b103f77f063bfb11223439c09dc2b1e52f6d
+ REF 0.7.2
+ SHA512 0bd1543ba6067d303640820a17a24ec02c6ab8333f86bd3431c09f5a2ea4ca47379ec06a90e3a0658dba967504cb8a63f85c2f0cbfb51a7c59130b235948d600
HEAD_REF master
)
@@ -19,4 +19,4 @@ vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/shiva)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib)
file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/shiva)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/shiva/LICENSE ${CURRENT_PACKAGES_DIR}/share/shiva/copyright) \ No newline at end of file
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/shiva/LICENSE ${CURRENT_PACKAGES_DIR}/share/shiva/copyright)
diff --git a/ports/sol2/CONTROL b/ports/sol2/CONTROL
index 1bb79470f..9534432da 100644
--- a/ports/sol2/CONTROL
+++ b/ports/sol2/CONTROL
@@ -1,3 +1,4 @@
Source: sol2
Version: 2.20.4
Description: Sol v2.0 - a C++ <-> Lua API wrapper with advanced features and top notch performance - is here, and it's great
+Build-Depends: lua (windows) \ No newline at end of file
diff --git a/ports/sol2/portfile.cmake b/ports/sol2/portfile.cmake
index 584f9af9d..403e9e646 100644
--- a/ports/sol2/portfile.cmake
+++ b/ports/sol2/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO ThePhD/sol2
- REF v2.20.4
- SHA512 dacacf57da3d1be3f20542ba83676e247a0d5815d0ee5dbfdbe996ffa264a5aaa71d7e5088088b0f1b41001f681d3c81339fc3f1ba394095eeaef4cb9376499a
+ REF 7f1c2e3ecfc2b78e396c60e067f6486ae1df66c5
+ SHA512 a7e84d3eca26fb3cd4eb73ce0daa2f6f41136e9e919f27713d2d903ec7793017dfd87e7c4fdf54b9ee9b601da1412dad02a191dd614661dfa96da521dfc58a65
HEAD_REF develop
)
diff --git a/ports/spdlog/CONTROL b/ports/spdlog/CONTROL
index 9a9ba786e..690e8bf4b 100644
--- a/ports/spdlog/CONTROL
+++ b/ports/spdlog/CONTROL
@@ -1,4 +1,4 @@
Source: spdlog
-Version: 1.x-2018-07.04
+Version: 1.0.0
Description: Very fast, header only, C++ logging library
Build-Depends: fmt
diff --git a/ports/spdlog/portfile.cmake b/ports/spdlog/portfile.cmake
index 545d52bf3..90152bc08 100644
--- a/ports/spdlog/portfile.cmake
+++ b/ports/spdlog/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO gabime/spdlog
- REF 59f54cda10ea1ee30003ef46f08371e5ed6dccb4
- SHA512 2a80b5b83b59660c2feb87c959cb53628efbc37098cbd2b16f691f67b6c44239d0107987ecbcb45b443cf257dc729beba74f4dba6f43fc165710759d028c0787
+ REF v1.0.0
+ SHA512 4d3cbc1926be513256b5837a53fce425f6d352bb4ab262074f205450cd4eadc09feea9dc8d8c03b3f1e9792bcfbcff414be79e51d58234f540946428bbd88cd1
HEAD_REF v1.x
)
@@ -17,9 +17,7 @@ vcpkg_configure_cmake(
vcpkg_install_cmake()
-# Move cmake files, ensuring they will be 3 directories up the import prefix
-file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/spdlog)
-file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake/spdlog/ ${CURRENT_PACKAGES_DIR}/share/spdlog/cmake)
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/spdlog)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib)
diff --git a/ports/thor/CONTROL b/ports/thor/CONTROL
index cdb393f38..4ff531d14 100644
--- a/ports/thor/CONTROL
+++ b/ports/thor/CONTROL
@@ -1,4 +1,4 @@
Source: thor
-Version: 2.0-1
+Version: 2.0-2
Description: Extends the multimedia library SFML with higher-level features
Build-Depends: sfml, aurora
diff --git a/ports/thor/portfile.cmake b/ports/thor/portfile.cmake
index c96df4728..572853064 100644
--- a/ports/thor/portfile.cmake
+++ b/ports/thor/portfile.cmake
@@ -1,45 +1,31 @@
include(vcpkg_common_functions)
-
-
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/tests)
vcpkg_from_github(ARCHIVE
OUT_SOURCE_PATH SOURCE_PATH
REPO Bromeon/Thor
REF v2.0
SHA512 634fa5286405d9a8a837c082ace98bbb02e609521418935855b9e2fcad57003dbe35088bd771cf6a9292e55d3787f7e463d7a4cca0d0f007509de2520d9a8cf9
HEAD_REF master
+ PATCHES "${CMAKE_CURRENT_LIST_DIR}/sfml-no-depend-libjpeg.patch"
)
+file(REMOVE_RECURSE ${SOURCE_PATH}/extlibs)
file(COPY ${CURRENT_INSTALLED_DIR}/include/Aurora DESTINATION ${SOURCE_PATH}/extlibs/aurora/include)
+file(WRITE "${SOURCE_PATH}/extlibs/aurora/License.txt")
-
-set(ENV{SFML_ROOT} ${CURRENT_INSTALLED_DIR})
-
-if(VCPKG_CRT_LINKAGE STREQUAL static)
- set(THOR_STATIC_STD_LIBS ON)
-else()
- set(THOR_STATIC_STD_LIBS OFF)
-endif()
-
-
-if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
- set(THOR_SHARED_LIBS ON)
-else()
- set(THOR_SHARED_LIBS OFF)
-endif()
+string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" THOR_STATIC_STD_LIBS)
+string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" THOR_SHARED_LIBS)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS
- -DTHOR_SHARED_LIBS=${THOR_SHARED_LIBS}
- -DTHOR_STATIC_STD_LIBS=${THOR_STATIC_STD_LIBS}
+ -DTHOR_SHARED_LIBS=${THOR_SHARED_LIBS}
+ -DTHOR_STATIC_STD_LIBS=${THOR_STATIC_STD_LIBS}
)
vcpkg_install_cmake()
-
set(CONFIG_FILE "${CURRENT_PACKAGES_DIR}/include/Thor/Config.hpp")
file(READ ${CONFIG_FILE} CONFIG_H)
@@ -48,7 +34,6 @@ file(READ ${CONFIG_FILE} CONFIG_H)
else()
string(REPLACE "defined(SFML_STATIC)" "0" CONFIG_H "${CONFIG_H}")
endif()
-
file(WRITE ${CONFIG_FILE} "${CONFIG_H}")
file(GLOB LICENSE
diff --git a/ports/thor/sfml-no-depend-libjpeg.patch b/ports/thor/sfml-no-depend-libjpeg.patch
new file mode 100644
index 000000000..7fcf73ff0
--- /dev/null
+++ b/ports/thor/sfml-no-depend-libjpeg.patch
@@ -0,0 +1,16 @@
+diff --git a/cmake/Modules/FindSFML.cmake b/cmake/Modules/FindSFML.cmake
+index 48873ef..a1834f6 100644
+--- a/cmake/Modules/FindSFML.cmake
++++ b/cmake/Modules/FindSFML.cmake
+@@ -312,10 +312,9 @@ if(SFML_STATIC_LIBRARIES)
+
+ # find libraries
+ find_sfml_dependency(FREETYPE_LIBRARY "FreeType" freetype)
+- find_sfml_dependency(JPEG_LIBRARY "libjpeg" jpeg)
+
+ # update the list
+- set(SFML_GRAPHICS_DEPENDENCIES ${FREETYPE_LIBRARY} ${JPEG_LIBRARY})
++ set(SFML_GRAPHICS_DEPENDENCIES ${FREETYPE_LIBRARY})
+ set(SFML_DEPENDENCIES ${SFML_GRAPHICS_DEPENDENCIES} ${SFML_DEPENDENCIES})
+ endif()
+
diff --git a/ports/thrift/CONTROL b/ports/thrift/CONTROL
index 084800a01..6868dfb79 100644
--- a/ports/thrift/CONTROL
+++ b/ports/thrift/CONTROL
@@ -1,4 +1,4 @@
Source: thrift
-Version: 2018-07-08
+Version: 2018-07-30
Build-Depends: zlib, libevent, openssl, boost-range, boost-smart-ptr, boost-date-time, boost-locale, boost-scope-exit
Description: Apache Thrift is a software project spanning a variety of programming languages and use cases. Our goal is to make reliable, performant communication and data serialization across languages as efficient and seamless as possible. Originally developed at Facebook, Thrift was open sourced in April 2007 and entered the Apache Incubator in May, 2008. Thrift became an Apache TLP in October, 2010.
diff --git a/ports/thrift/portfile.cmake b/ports/thrift/portfile.cmake
index 00430fb23..5cd296c55 100644
--- a/ports/thrift/portfile.cmake
+++ b/ports/thrift/portfile.cmake
@@ -15,8 +15,8 @@ vcpkg_find_acquire_program(BISON)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO apache/thrift
- REF f12cacf56145e2c8f0d4429694fedf5453648089
- SHA512 5efd089ea6bfd6c389cf0392412205d27379f54c4481197ffbb1d7494ee350a003f3896a62d4e5b6cfdf9240d356b27389da8ba7c089d7b0ea56c32a7485d973
+ REF dabb539d64fb303a443c7962caccc9177669ca80
+ SHA512 5132e1f9d6afbaff736f34f5ab18bd0febed6143fe3042b86f0bab522b22324d10ff1fd3de7cef872fd2d434864ef98126636ad3a1cb4a0aae65ffcbabe4febe
HEAD_REF master
)
diff --git a/ports/tiff/CONTROL b/ports/tiff/CONTROL
index 7a91d1d5b..710b7a1c2 100644
--- a/ports/tiff/CONTROL
+++ b/ports/tiff/CONTROL
@@ -1,4 +1,4 @@
Source: tiff
-Version: 4.0.9
+Version: 4.0.9-4
Build-Depends: zlib, libjpeg-turbo, liblzma (windows)
Description: A library that supports the manipulation of TIFF image files
diff --git a/ports/tiff/portfile.cmake b/ports/tiff/portfile.cmake
index e14079c31..5ff4baa92 100644
--- a/ports/tiff/portfile.cmake
+++ b/ports/tiff/portfile.cmake
@@ -42,6 +42,12 @@ file(REMOVE_RECURSE
${CURRENT_PACKAGES_DIR}/debug/share
${CURRENT_PACKAGES_DIR}/share
)
+file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/tiff)
+configure_file(
+ ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake
+ ${CURRENT_PACKAGES_DIR}/share/tiff
+ @ONLY
+)
file(INSTALL
${SOURCE_PATH}/COPYRIGHT
DESTINATION ${CURRENT_PACKAGES_DIR}/share/tiff
diff --git a/ports/tiff/vcpkg-cmake-wrapper.cmake b/ports/tiff/vcpkg-cmake-wrapper.cmake
new file mode 100644
index 000000000..fed3875b8
--- /dev/null
+++ b/ports/tiff/vcpkg-cmake-wrapper.cmake
@@ -0,0 +1,24 @@
+_find_package(${ARGS})
+
+if("@VCPKG_LIBRARY_LINKAGE@" STREQUAL "static")
+ set(TIFF_EXTRA_LIBRARIES)
+ if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
+ find_package(LibLZMA)
+ list(APPEND TIFF_EXTRA_LIBRARIES ${LIBLZMA_LIBRARIES})
+ endif()
+
+ find_package(JPEG)
+ list(APPEND TIFF_EXTRA_LIBRARIES ${JPEG_LIBRARIES})
+
+ find_package(ZLIB)
+
+ if(TARGET TIFF::TIFF)
+ set_property(TARGET TIFF::TIFF APPEND PROPERTY INTERFACE_LINK_LIBRARIES ${TIFF_EXTRA_LIBRARIES} ZLIB::ZLIB)
+ endif()
+ if(TIFF_LIBRARIES)
+ list(APPEND TIFF_LIBRARIES ${TIFF_EXTRA_LIBRARIES} ${ZLIB_LIBRARIES})
+ if(UNIX)
+ list(APPEND TIFF_LIBRARIES m)
+ endif()
+ endif()
+endif()
diff --git a/ports/tiny-dnn/CONTROL b/ports/tiny-dnn/CONTROL
index 6468f2473..f7f010bc2 100644
--- a/ports/tiny-dnn/CONTROL
+++ b/ports/tiny-dnn/CONTROL
@@ -1,3 +1,3 @@
Source: tiny-dnn
-Version: 2018-03-13
+Version: 2018-07-30
Description: A C++14 implementation of deep learning. It is suitable for deep learning on limited computational resource.
diff --git a/ports/tiny-dnn/portfile.cmake b/ports/tiny-dnn/portfile.cmake
index 151f5dbee..daf9457cc 100644
--- a/ports/tiny-dnn/portfile.cmake
+++ b/ports/tiny-dnn/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO tiny-dnn/tiny-dnn
- REF 1c5259477b8b4eab376cc19fd1d55ae965ef5e5a
- SHA512 756b8e3d5d00b44973bbae2c0bedbe15206bce479dc70ae5fc89f455772deadc05503afd7abcae2048aeabefd7a45cba0fae38555df7e0d9eb33e9feed21b099
+ REF a8de26ad40d955908c5ec4fc946c3c67dd381c6c
+ SHA512 4dc89f038a4dd4bd706077f1c72afdd503fa41edc3b1eb0e8c459c55c9a658d17add98e66dac48914e253df121818da3d277b1a0fac945f22efe9d76d2f9476e
HEAD_REF master
)
diff --git a/ports/unicorn-lib/CONTROL b/ports/unicorn-lib/CONTROL
index 19be9b4e1..7fec5c07a 100644
--- a/ports/unicorn-lib/CONTROL
+++ b/ports/unicorn-lib/CONTROL
@@ -1,4 +1,4 @@
Source: unicorn-lib
-Version: 2018-07-08
+Version: 2018-07-30
Description: Unicode library for C++ by Ross Smith
Build-Depends: rs-core-lib, pcre2, zlib, libiconv
diff --git a/ports/unicorn-lib/portfile.cmake b/ports/unicorn-lib/portfile.cmake
index 95af07105..c62fe70bc 100644
--- a/ports/unicorn-lib/portfile.cmake
+++ b/ports/unicorn-lib/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO CaptainCrowbar/unicorn-lib
- REF 10e940d50daeb63464f1000e688304b6d48761cd
- SHA512 752df8f09a9512b9775f2ac652e98449767b446413c4340d2ffefd9524aabc3d0ecb9e7a16f91a8aff0c4a540f16d084f9c52dd0894c8bbaecdc748f1eb60bd2
+ REF 6d33ec8d828c3740cc6fd66ef03f395526450ad6
+ SHA512 4f802b4889e0683bd156a3dcc670cff737b532169f092d99434e2877b152bd2963984000a00bf928e11ba5142e10c5af8e0986f2c92fa6b7251d53cb688bd96a
HEAD_REF master
)
diff --git a/ports/unicorn/CONTROL b/ports/unicorn/CONTROL
index f87c3a839..74a6c282d 100644
--- a/ports/unicorn/CONTROL
+++ b/ports/unicorn/CONTROL
@@ -1,3 +1,3 @@
Source: unicorn
-Version: 2018-07-08
+Version: 2018-07-30
Description: Unicorn is a lightweight multi-platform, multi-architecture CPU emulator framework
diff --git a/ports/unicorn/portfile.cmake b/ports/unicorn/portfile.cmake
index 9d04f54fc..272dc0bc1 100644
--- a/ports/unicorn/portfile.cmake
+++ b/ports/unicorn/portfile.cmake
@@ -14,8 +14,8 @@ set(VCPKG_CRT_LINKAGE "static")
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO unicorn-engine/unicorn
- REF 0b3cd70e67ef8cd564e86f502a411d4e98b9f752
- SHA512 02c55c29997ac6d83daefaaf90d4484dbb491db51fbe89c111ddecc6771937ef8319f8a06fe99e258ad4f33f86283cf6ea37f430caac4cde4d715d20ee91685b
+ REF e3af0d086dc58f3a25f45da2446f99c13a63885e
+ SHA512 0049efa4ca7a1f40d03872bd310766f56bb4c5456544b0d50f78dcc149ac5e62f2e5ba9b1f651d92b4d8ac42780029f3b8ae5f2d7da3295d507226bfa592b8e6
HEAD_REF master
)
diff --git a/ports/usbmuxd/CONTROL b/ports/usbmuxd/CONTROL
new file mode 100644
index 000000000..6d7978bad
--- /dev/null
+++ b/ports/usbmuxd/CONTROL
@@ -0,0 +1,4 @@
+Source: usbmuxd
+Version: 1.1.1.133-1
+Description: A socket daemon to multiplex connections from and to iOS devices
+Build-Depends: libimobiledevice, libusb, libusb-win32, pthreads \ No newline at end of file
diff --git a/ports/usbmuxd/portfile.cmake b/ports/usbmuxd/portfile.cmake
new file mode 100644
index 000000000..56066e19e
--- /dev/null
+++ b/ports/usbmuxd/portfile.cmake
@@ -0,0 +1,19 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO libimobiledevice-win32/usbmuxd
+ REF 1.1.1.133
+ SHA512 1a5f9abc239deeb15e2aab419ba9e88ef41ffa80396546fb65bc06b0f419cbabc80cdf95995caf71d5628d1537fb0329a73d923202e91ea43fcc7c32b840d047
+ HEAD_REF master
+)
+
+vcpkg_install_msbuild(
+ SOURCE_PATH ${SOURCE_PATH}
+ PROJECT_SUBPATH usbmuxd.vcxproj
+ LICENSE_SUBPATH COPYING.GPLv2
+ USE_VCPKG_INTEGRATION
+)
+
+# No headers
+set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled)
diff --git a/ports/wxwidgets/portfile.cmake b/ports/wxwidgets/portfile.cmake
index c88b4b613..e18b8a6ba 100644
--- a/ports/wxwidgets/portfile.cmake
+++ b/ports/wxwidgets/portfile.cmake
@@ -47,5 +47,5 @@ endif()
# Handle copyright
file(COPY ${SOURCE_PATH}/docs/licence.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/wxwidgets)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/wxWidgets/licence.txt ${CURRENT_PACKAGES_DIR}/share/wxwidgets/copyright)
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) \ No newline at end of file
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/wxwidgets/licence.txt ${CURRENT_PACKAGES_DIR}/share/wxwidgets/copyright)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
diff --git a/ports/yoga/CONTROL b/ports/yoga/CONTROL
index 7a96eb9c2..e454a6406 100644
--- a/ports/yoga/CONTROL
+++ b/ports/yoga/CONTROL
@@ -1,3 +1,3 @@
Source: yoga
-Version: 1.8.0-1
+Version: 1.9.0
Description: Yoga is a cross-platform layout engine which implements Flexbox
diff --git a/ports/yoga/portfile.cmake b/ports/yoga/portfile.cmake
index 5dbb4e527..026eac0f4 100644
--- a/ports/yoga/portfile.cmake
+++ b/ports/yoga/portfile.cmake
@@ -21,8 +21,8 @@ endif()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO facebook/yoga
- REF v1.8.0
- SHA512 9af0e9e66ce223c99a9cab12721099ca40f85d2fa2a0e0a7d2bcff6d5acc5b6ca0edaaa53e49ec921bf78bb986070702cfe3271c4819147486dad6f6ee93e690
+ REF 1.9.0
+ SHA512 34b8e0f8ee1b5d4bd0113f6d5cb8e218399d65d0b0bf8c50770746275a3076b7bc1af9c3d15aba0a2e858a5696f85bca206c89509625789598defb8e37802243
HEAD_REF master
)
diff --git a/ports/zeromq/CONTROL b/ports/zeromq/CONTROL
index b131e516d..d2de1a290 100644
--- a/ports/zeromq/CONTROL
+++ b/ports/zeromq/CONTROL
@@ -1,3 +1,3 @@
Source: zeromq
-Version: 2018-07-01
+Version: 2018-07-30
Description: The ZeroMQ lightweight messaging kernel is a library which extends the standard socket interfaces with features traditionally provided by specialised messaging middleware products
diff --git a/ports/zeromq/portfile.cmake b/ports/zeromq/portfile.cmake
index dadcbe7fc..0f6add1a9 100644
--- a/ports/zeromq/portfile.cmake
+++ b/ports/zeromq/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO zeromq/libzmq
- REF 7a9933f2e11a4cebd38f9aa942b56ccfd4629ebf
- SHA512 55a5d9d6c15e7f521f4ffb95af46255915fe0ad28318470a3ded28836fd25dbfbf2efbfbeb16319603ac429ecca8f7b902ea8f110313dc6a6e243eb8a23217fb
+ REF da8024d3c9bb9ee5fa7f0f2e9d05f7e01db73cbf
+ SHA512 2585e784eeb9b79ec2e83eae302593f8da4542d28e53dc6975447d6e44532baedb7145569712e8c76ab3972a3d46585e017dfeb895a45954f20b979f485d9647
HEAD_REF master
)
diff --git a/scripts/buildsystems/msbuild/vcpkg.targets b/scripts/buildsystems/msbuild/vcpkg.targets
index 499052e4d..456783f4d 100644
--- a/scripts/buildsystems/msbuild/vcpkg.targets
+++ b/scripts/buildsystems/msbuild/vcpkg.targets
@@ -47,13 +47,14 @@
<PropertyGroup Condition="'$(Platform)|$(ApplicationType)|$(ApplicationTypeRevision)' == 'arm64|Windows Store|10.0'">
<VcpkgEnabled Condition="'$(VcpkgEnabled)' == ''">true</VcpkgEnabled>
<VcpkgTriplet Condition="'$(VcpkgTriplet)' == ''">arm64-uwp</VcpkgTriplet>
- </PropertyGroup>
+ </PropertyGroup>
<PropertyGroup Condition="'$(VcpkgEnabled)' == 'true'">
<VcpkgConfiguration Condition="'$(VcpkgConfiguration)' == ''">$(Configuration)</VcpkgConfiguration>
<VcpkgNormalizedConfiguration Condition="$(VcpkgConfiguration.StartsWith('Debug'))">Debug</VcpkgNormalizedConfiguration>
<VcpkgNormalizedConfiguration Condition="$(VcpkgConfiguration.StartsWith('Release')) or '$(VcpkgConfiguration)' == 'RelWithDebInfo' or '$(VcpkgConfiguration)' == 'MinSizeRel'">Release</VcpkgNormalizedConfiguration>
<VcpkgRoot Condition="'$(VcpkgRoot)' == ''">$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), .vcpkg-root))\installed\$(VcpkgTriplet)\</VcpkgRoot>
+ <VcpkgApplocalDeps Condition="'$(VcpkgApplocalDeps)' == ''">true</VcpkgApplocalDeps>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(VcpkgEnabled)' == 'true'">
@@ -77,7 +78,7 @@
<Message Text="Vcpkg is unable to link because we cannot decide between Release and Debug libraries. Please define the property VcpkgConfiguration to be 'Release' or 'Debug' (currently '$(VcpkgConfiguration)')." Importance="High" Condition="'$(VcpkgEnabled)' == 'true' and '$(VcpkgNormalizedConfiguration)' == ''"/>
</Target>
- <Target Name="AppLocalFromInstalled" AfterTargets="CopyFilesToOutputDirectory" BeforeTargets="CopyLocalFilesOutputGroup;RegisterOutput" Condition="'$(VcpkgEnabled)' == 'true'">
+ <Target Name="AppLocalFromInstalled" AfterTargets="CopyFilesToOutputDirectory" BeforeTargets="CopyLocalFilesOutputGroup;RegisterOutput" Condition="'$(VcpkgEnabled)' == 'true' and '$(VcpkgApplocalDeps)' == 'true'">
<WriteLinesToFile
File="$(TLogLocation)$(ProjectName).write.1u.tlog"
Lines="^$(TargetPath);$([System.IO.Path]::Combine($(ProjectDir),$(IntDir)))vcpkg.applocal.log" Encoding="Unicode"/>
diff --git a/scripts/cmake/vcpkg_apply_patches.cmake b/scripts/cmake/vcpkg_apply_patches.cmake
index d62fbbf84..ac0b78e20 100644
--- a/scripts/cmake/vcpkg_apply_patches.cmake
+++ b/scripts/cmake/vcpkg_apply_patches.cmake
@@ -37,10 +37,11 @@ function(vcpkg_apply_patches)
find_program(GIT NAMES git git.cmd)
set(PATCHNUM 0)
foreach(PATCH ${_ap_PATCHES})
+ get_filename_component(ABSOLUTE_PATCH "${PATCH}" ABSOLUTE BASE_DIR "${CURRENT_PORT_DIR}")
message(STATUS "Applying patch ${PATCH}")
set(LOGNAME patch-${TARGET_TRIPLET}-${PATCHNUM})
execute_process(
- COMMAND ${GIT} --work-tree=. --git-dir=.git apply "${PATCH}" --ignore-whitespace --whitespace=nowarn --verbose
+ COMMAND ${GIT} --work-tree=. --git-dir=.git apply "${ABSOLUTE_PATCH}" --ignore-whitespace --whitespace=nowarn --verbose
OUTPUT_FILE ${CURRENT_BUILDTREES_DIR}/${LOGNAME}-out.log
ERROR_FILE ${CURRENT_BUILDTREES_DIR}/${LOGNAME}-err.log
WORKING_DIRECTORY ${_ap_SOURCE_PATH}
diff --git a/scripts/cmake/vcpkg_build_msbuild.cmake b/scripts/cmake/vcpkg_build_msbuild.cmake
index fdf519f2c..7a65127f0 100644
--- a/scripts/cmake/vcpkg_build_msbuild.cmake
+++ b/scripts/cmake/vcpkg_build_msbuild.cmake
@@ -1,6 +1,6 @@
## # vcpkg_build_msbuild
##
-## Build an msbuild-based project.
+## Build an msbuild-based project. Deprecated in favor of `vcpkg_install_msbuild()`.
##
## ## Usage
## ```cmake
diff --git a/scripts/cmake/vcpkg_check_linkage.cmake b/scripts/cmake/vcpkg_check_linkage.cmake
new file mode 100644
index 000000000..101adc4fd
--- /dev/null
+++ b/scripts/cmake/vcpkg_check_linkage.cmake
@@ -0,0 +1,53 @@
+## # vcpkg_check_linkage
+##
+## Asserts the available library and CRT linkage options for the port.
+##
+## ## Usage
+## ```cmake
+## vcpkg_check_linkage(
+## [ONLY_STATIC_LIBRARY | ONLY_DYNAMIC_LIBRARY]
+## [ONLY_STATIC_CRT | ONLY_DYNAMIC_CRT]
+## )
+## ```
+##
+## ## Parameters
+## ### ONLY_STATIC_LIBRARY
+## Indicates that this port can only be built with static library linkage.
+##
+## ### ONLY_DYNAMIC_LIBRARY
+## Indicates that this port can only be built with dynamic/shared library linkage.
+##
+## ### ONLY_STATIC_CRT
+## Indicates that this port can only be built with static CRT linkage.
+##
+## ### ONLY_DYNAMIC_CRT
+## Indicates that this port can only be built with dynamic/shared CRT linkage.
+##
+## ## Notes
+## This command will either alter the settings for `VCPKG_LIBRARY_LINKAGE` or fail, depending on what was requested by the user versus what the library supports.
+##
+## ## Examples
+##
+## * [libimobiledevice](https://github.com/Microsoft/vcpkg/blob/master/ports/libimobiledevice/portfile.cmake)
+function(vcpkg_check_linkage)
+ cmake_parse_arguments(_csc "ONLY_STATIC_LIBRARY;ONLY_DYNAMIC_LIBRARY;ONLY_DYNAMIC_CRT;ONLY_STATIC_CRT" "" "" ${ARGN})
+
+ if(_csc_ONLY_STATIC_LIBRARY AND VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
+ message(STATUS "Note: ${PORT} only supports static library linkage. Building static library.")
+ set(VCPKG_LIBRARY_LINKAGE static PARENT_SCOPE)
+ endif()
+ if(_csc_ONLY_DYNAMIC_LIBRARY AND VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ message(STATUS "Note: ${PORT} only supports dynamic library linkage. Building dynamic library.")
+ if(VCPKG_CRT_LINKAGE STREQUAL "static")
+ message(FATAL_ERROR "Refusing to build unexpected dynamic library against the static CRT. If this is desired, please configure your triplet to directly request this configuration.")
+ endif()
+ set(VCPKG_LIBRARY_LINKAGE dynamic PARENT_SCOPE)
+ endif()
+
+ if(_csc_ONLY_DYNAMIC_CRT AND VCPKG_CRT_LINKAGE STREQUAL "static")
+ message(FATAL_ERROR "${PORT} only supports dynamic crt linkage")
+ endif()
+ if(_csc_ONLY_STATIC_CRT AND VCPKG_CRT_LINKAGE STREQUAL "dynamic")
+ message(FATAL_ERROR "${PORT} only supports static crt linkage")
+ endif()
+endfunction()
diff --git a/scripts/cmake/vcpkg_common_functions.cmake b/scripts/cmake/vcpkg_common_functions.cmake
index 8914ac549..6677af00a 100644
--- a/scripts/cmake/vcpkg_common_functions.cmake
+++ b/scripts/cmake/vcpkg_common_functions.cmake
@@ -1,4 +1,5 @@
include(vcpkg_acquire_msys)
+include(vcpkg_check_linkage)
include(vcpkg_download_distfile)
include(vcpkg_extract_source_archive)
include(vcpkg_execute_required_process)
@@ -13,6 +14,7 @@ include(vcpkg_build_msbuild)
include(vcpkg_build_qmake)
include(vcpkg_install_cmake)
include(vcpkg_install_meson)
+include(vcpkg_install_msbuild)
include(vcpkg_configure_cmake)
include(vcpkg_configure_meson)
include(vcpkg_configure_qmake)
diff --git a/scripts/cmake/vcpkg_from_github.cmake b/scripts/cmake/vcpkg_from_github.cmake
index fbceb2aae..68baa908e 100644
--- a/scripts/cmake/vcpkg_from_github.cmake
+++ b/scripts/cmake/vcpkg_from_github.cmake
@@ -117,7 +117,8 @@ function(vcpkg_from_github)
# Hash the archive hash along with the patches. Take the first 10 chars of the hash
set(PATCHSET_HASH "${_vdud_SHA512}")
foreach(PATCH IN LISTS _vdud_PATCHES)
- file(SHA512 ${PATCH} CURRENT_HASH)
+ get_filename_component(ABSOLUTE_PATCH "${PATCH}" ABSOLUTE BASE_DIR "${CURRENT_PORT_DIR}")
+ file(SHA512 ${ABSOLUTE_PATCH} CURRENT_HASH)
string(APPEND PATCHSET_HASH ${CURRENT_HASH})
endforeach()
diff --git a/scripts/cmake/vcpkg_from_gitlab.cmake b/scripts/cmake/vcpkg_from_gitlab.cmake
index 5847f8319..2f2198fd6 100644
--- a/scripts/cmake/vcpkg_from_gitlab.cmake
+++ b/scripts/cmake/vcpkg_from_gitlab.cmake
@@ -5,7 +5,7 @@
## ## Usage:
## ```cmake
## vcpkg_from_gitlab(
-## GITLAB_INSTANCE <https://gitlab.com>
+## GITLAB_URL <https://gitlab.com>
## OUT_SOURCE_PATH <SOURCE_PATH>
## REPO <gitlab-org/gitlab-ce>
## [REF <v10.7.3>]
diff --git a/scripts/cmake/vcpkg_install_msbuild.cmake b/scripts/cmake/vcpkg_install_msbuild.cmake
new file mode 100644
index 000000000..ad700dd35
--- /dev/null
+++ b/scripts/cmake/vcpkg_install_msbuild.cmake
@@ -0,0 +1,220 @@
+## # vcpkg_install_msbuild
+##
+## Build and install an msbuild-based project. This replaces `vcpkg_build_msbuild()`.
+##
+## ## Usage
+## ```cmake
+## vcpkg_install_msbuild(
+## SOURCE_PATH <${SOURCE_PATH}>
+## PROJECT_SUBPATH <port.sln>
+## [INCLUDES_SUBPATH <include>]
+## [LICENSE_SUBPATH <LICENSE>]
+## [RELEASE_CONFIGURATION <Release>]
+## [DEBUG_CONFIGURATION <Debug>]
+## [TARGET <Build>]
+## [TARGET_PLATFORM_VERSION <10.0.15063.0>]
+## [PLATFORM <${TRIPLET_SYSTEM_ARCH}>]
+## [PLATFORM_TOOLSET <${VCPKG_PLATFORM_TOOLSET}>]
+## [OPTIONS </p:ZLIB_INCLUDE_PATH=X>...]
+## [OPTIONS_RELEASE </p:ZLIB_LIB=X>...]
+## [OPTIONS_DEBUG </p:ZLIB_LIB=X>...]
+## [USE_VCPKG_INTEGRATION]
+## [ALLOW_ROOT_INCLUDES | REMOVE_ROOT_INCLUDES]
+## )
+## ```
+##
+## ## Parameters
+## ### SOURCE_PATH
+## The path to the root of the source tree.
+##
+## Because MSBuild uses in-source builds, the source tree will be copied into a temporary location for the build. This
+## parameter is the base for that copy and forms the base for all XYZ_SUBPATH options.
+##
+## ### USE_VCPKG_INTEGRATION
+## Apply the normal `integrate install` integration for building the project.
+##
+## By default, projects built with this command will not automatically link libraries or have header paths set.
+##
+## ### PROJECT_SUBPATH
+## The subpath to the solution (`.sln`) or project (`.vcxproj`) file relative to `SOURCE_PATH`.
+##
+## ### LICENSE_SUBPATH
+## The subpath to the license file relative to `SOURCE_PATH`.
+##
+## ### INCLUDES_SUBPATH
+## The subpath to the includes directory relative to `SOURCE_PATH`.
+##
+## This parameter should be a directory and should not end in a trailing slash.
+##
+## ### ALLOW_ROOT_INCLUDES
+## Indicates that top-level include files (e.g. `include/zlib.h`) should be allowed.
+##
+## ### REMOVE_ROOT_INCLUDES
+## Indicates that top-level include files (e.g. `include/Makefile.am`) should be removed.
+##
+## ### RELEASE_CONFIGURATION
+## The configuration (``/p:Configuration`` msbuild parameter) used for Release builds.
+##
+## ### DEBUG_CONFIGURATION
+## The configuration (``/p:Configuration`` msbuild parameter)
+## used for Debug builds.
+##
+## ### TARGET_PLATFORM_VERSION
+## The WindowsTargetPlatformVersion (``/p:WindowsTargetPlatformVersion`` msbuild parameter)
+##
+## ### TARGET
+## The MSBuild target to build. (``/t:<TARGET>``)
+##
+## ### PLATFORM
+## The platform (``/p:Platform`` msbuild parameter) used for the build.
+##
+## ### PLATFORM_TOOLSET
+## The platform toolset (``/p:PlatformToolset`` msbuild parameter) used for the build.
+##
+## ### OPTIONS
+## Additional options passed to msbuild for all builds.
+##
+## ### OPTIONS_RELEASE
+## Additional options passed to msbuild for Release builds. These are in addition to `OPTIONS`.
+##
+## ### OPTIONS_DEBUG
+## Additional options passed to msbuild for Debug builds. These are in addition to `OPTIONS`.
+##
+## ## Examples
+##
+## * [libimobiledevice](https://github.com/Microsoft/vcpkg/blob/master/ports/libimobiledevice/portfile.cmake)
+
+function(vcpkg_install_msbuild)
+ cmake_parse_arguments(
+ _csc
+ "USE_VCPKG_INTEGRATION;ALLOW_ROOT_INCLUDES;REMOVE_ROOT_INCLUDES"
+ "SOURCE_PATH;PROJECT_SUBPATH;INCLUDES_SUBPATH;LICENSE_SUBPATH;RELEASE_CONFIGURATION;DEBUG_CONFIGURATION;PLATFORM;PLATFORM_TOOLSET;TARGET_PLATFORM_VERSION;TARGET"
+ "OPTIONS;OPTIONS_RELEASE;OPTIONS_DEBUG"
+ ${ARGN}
+ )
+
+ if(NOT DEFINED _csc_RELEASE_CONFIGURATION)
+ set(_csc_RELEASE_CONFIGURATION Release)
+ endif()
+ if(NOT DEFINED _csc_DEBUG_CONFIGURATION)
+ set(_csc_DEBUG_CONFIGURATION Debug)
+ endif()
+ if(NOT DEFINED _csc_PLATFORM)
+ if(VCPKG_TARGET_ARCHITECTURE STREQUAL x64)
+ set(_csc_PLATFORM x64)
+ elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL x86)
+ set(_csc_PLATFORM Win32)
+ elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL ARM)
+ set(_csc_PLATFORM ARM)
+ else()
+ message(FATAL_ERROR "Unsupported target architecture")
+ endif()
+ endif()
+ if(NOT DEFINED _csc_PLATFORM_TOOLSET)
+ set(_csc_PLATFORM_TOOLSET ${VCPKG_PLATFORM_TOOLSET})
+ endif()
+ if(NOT DEFINED _csc_TARGET_PLATFORM_VERSION)
+ vcpkg_get_windows_sdk(_csc_TARGET_PLATFORM_VERSION)
+ endif()
+ if(NOT DEFINED _csc_TARGET)
+ set(_csc_TARGET Rebuild)
+ endif()
+
+ list(APPEND _csc_OPTIONS
+ /t:${_csc_TARGET}
+ /p:Platform=${_csc_PLATFORM}
+ /p:PlatformToolset=${_csc_PLATFORM_TOOLSET}
+ /p:VCPkgLocalAppDataDisabled=true
+ /p:UseIntelMKL=No
+ /p:WindowsTargetPlatformVersion=${_csc_TARGET_PLATFORM_VERSION}
+ /m
+ )
+
+ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ # Disable LTCG for static libraries because this setting introduces ABI incompatibility between minor compiler versions
+ # TODO: Add a way for the user to override this if they want to opt-in to incompatibility
+ list(APPEND _csc_OPTIONS /p:WholeProgramOptimization=false)
+ endif()
+
+ if(_csc_USE_VCPKG_INTEGRATION)
+ list(APPEND _csc_OPTIONS /p:ForceImportBeforeCppTargets=${VCPKG_ROOT_DIR}/scripts/buildsystems/msbuild/vcpkg.targets /p:VcpkgApplocalDeps=false)
+ endif()
+
+ get_filename_component(SOURCE_PATH_SUFFIX "${_csc_SOURCE_PATH}" NAME)
+ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
+ message(STATUS "Building ${_csc_PROJECT_SUBPATH} for Release")
+ file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel)
+ file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel)
+ file(COPY ${_csc_SOURCE_PATH} DESTINATION ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel)
+ set(SOURCE_COPY_PATH ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/${SOURCE_PATH_SUFFIX})
+ vcpkg_execute_required_process(
+ COMMAND msbuild ${SOURCE_COPY_PATH}/${_csc_PROJECT_SUBPATH}
+ /p:Configuration=${_csc_RELEASE_CONFIGURATION}
+ ${_csc_OPTIONS}
+ ${_csc_OPTIONS_RELEASE}
+ WORKING_DIRECTORY ${SOURCE_COPY_PATH}
+ LOGNAME build-${TARGET_TRIPLET}-rel
+ )
+ file(GLOB_RECURSE LIBS ${SOURCE_COPY_PATH}/*.lib)
+ file(GLOB_RECURSE DLLS ${SOURCE_COPY_PATH}/*.dll)
+ file(GLOB_RECURSE EXES ${SOURCE_COPY_PATH}/*.exe)
+ if(LIBS)
+ file(COPY ${LIBS} DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
+ endif()
+ if(DLLS)
+ file(COPY ${DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/bin)
+ endif()
+ if(EXES)
+ file(COPY ${EXES} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT})
+ vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT})
+ endif()
+ endif()
+
+ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
+ message(STATUS "Building ${_csc_PROJECT_SUBPATH} for Debug")
+ file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg)
+ file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg)
+ file(COPY ${_csc_SOURCE_PATH} DESTINATION ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg)
+ set(SOURCE_COPY_PATH ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/${SOURCE_PATH_SUFFIX})
+ vcpkg_execute_required_process(
+ COMMAND msbuild ${SOURCE_COPY_PATH}/${_csc_PROJECT_SUBPATH}
+ /p:Configuration=${_csc_DEBUG_CONFIGURATION}
+ ${_csc_OPTIONS}
+ ${_csc_OPTIONS_DEBUG}
+ WORKING_DIRECTORY ${SOURCE_COPY_PATH}
+ LOGNAME build-${TARGET_TRIPLET}-dbg
+ )
+ file(GLOB_RECURSE LIBS ${SOURCE_COPY_PATH}/*.lib)
+ file(GLOB_RECURSE DLLS ${SOURCE_COPY_PATH}/*.dll)
+ if(LIBS)
+ file(COPY ${LIBS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
+ endif()
+ if(DLLS)
+ file(COPY ${DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
+ endif()
+ endif()
+
+ vcpkg_copy_pdbs()
+
+ file(REMOVE_RECURSE
+ ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg
+ ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel
+ )
+
+ if(DEFINED _csc_INCLUDES_SUBPATH)
+ file(COPY ${_csc_SOURCE_PATH}/${_csc_INCLUDES_SUBPATH}/ DESTINATION ${CURRENT_PACKAGES_DIR}/include/)
+ file(GLOB ROOT_INCLUDES LIST_DIRECTORIES false ${CURRENT_PACKAGES_DIR}/include/*)
+ if(ROOT_INCLUDES)
+ if(_csc_REMOVE_ROOT_INCLUDES)
+ file(REMOVE ${ROOT_INCLUDES})
+ elseif(_csc_ALLOW_ROOT_INCLUDES)
+ else()
+ message(FATAL_ERROR "Top-level files were found in ${CURRENT_PACKAGES_DIR}/include; this may indicate a problem with the call to `vcpkg_install_msbuild()`.\nTo avoid conflicts with other libraries, it is recommended to not put includes into the root `include/` directory.\nPass either ALLOW_ROOT_INCLUDES or REMOVE_ROOT_INCLUDES to handle these files.\n")
+ endif()
+ endif()
+ endif()
+
+ if(DEFINED _csc_LICENSE_SUBPATH)
+ file(INSTALL ${_csc_SOURCE_PATH}/${_csc_LICENSE_SUBPATH} DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
+ endif()
+endfunction()
diff --git a/scripts/toolchains/freebsd.cmake b/scripts/toolchains/freebsd.cmake
index bfeabe18b..9edbb8394 100644
--- a/scripts/toolchains/freebsd.cmake
+++ b/scripts/toolchains/freebsd.cmake
@@ -2,3 +2,17 @@ if(CMAKE_HOST_SYSTEM_NAME STREQUAL "FreeBSD")
set(CMAKE_CROSSCOMPILING OFF CACHE BOOL "")
endif()
set(CMAKE_SYSTEM_NAME FreeBSD CACHE STRING "")
+
+get_property( _CMAKE_IN_TRY_COMPILE GLOBAL PROPERTY IN_TRY_COMPILE )
+if(NOT _CMAKE_IN_TRY_COMPILE)
+ set(CMAKE_CXX_FLAGS "${VCPKG_CXX_FLAGS} -fPIC" CACHE STRING "")
+ set(CMAKE_C_FLAGS "${VCPKG_C_FLAGS} -fPIC" CACHE STRING "")
+
+ set(CMAKE_CXX_FLAGS_DEBUG "${VCPKG_CXX_FLAGS_DEBUG}" CACHE STRING "")
+ set(CMAKE_C_FLAGS_DEBUG "${VCPKG_C_FLAGS_DEBUG}" CACHE STRING "")
+ set(CMAKE_CXX_FLAGS_RELEASE "${VCPKG_CXX_FLAGS_RELEASE}" CACHE STRING "")
+ set(CMAKE_C_FLAGS_RELEASE "${VCPKG_C_FLAGS_RELEASE}" CACHE STRING "")
+
+ set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${VCPKG_LINKER_FLAGS}" CACHE STRING "")
+ set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${VCPKG_LINKER_FLAGS}" CACHE STRING "")
+endif()
diff --git a/scripts/toolchains/linux.cmake b/scripts/toolchains/linux.cmake
index 54f80c6a2..524d745cf 100644
--- a/scripts/toolchains/linux.cmake
+++ b/scripts/toolchains/linux.cmake
@@ -5,8 +5,8 @@ set(CMAKE_SYSTEM_NAME Linux CACHE STRING "")
get_property( _CMAKE_IN_TRY_COMPILE GLOBAL PROPERTY IN_TRY_COMPILE )
if(NOT _CMAKE_IN_TRY_COMPILE)
- set(CMAKE_CXX_FLAGS "${VCPKG_CXX_FLAGS}" CACHE STRING "")
- set(CMAKE_C_FLAGS "${VCPKG_C_FLAGS}" CACHE STRING "")
+ set(CMAKE_CXX_FLAGS "${VCPKG_CXX_FLAGS} -fPIC" CACHE STRING "")
+ set(CMAKE_C_FLAGS "${VCPKG_C_FLAGS} -fPIC" CACHE STRING "")
set(CMAKE_CXX_FLAGS_DEBUG "${VCPKG_CXX_FLAGS_DEBUG}" CACHE STRING "")
set(CMAKE_C_FLAGS_DEBUG "${VCPKG_C_FLAGS_DEBUG}" CACHE STRING "")
diff --git a/scripts/toolchains/osx.cmake b/scripts/toolchains/osx.cmake
index dd21f5264..b8f261d09 100644
--- a/scripts/toolchains/osx.cmake
+++ b/scripts/toolchains/osx.cmake
@@ -2,3 +2,17 @@ if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin")
set(CMAKE_CROSSCOMPILING OFF CACHE BOOL "")
endif()
set(CMAKE_SYSTEM_NAME Darwin CACHE STRING "")
+
+get_property( _CMAKE_IN_TRY_COMPILE GLOBAL PROPERTY IN_TRY_COMPILE )
+if(NOT _CMAKE_IN_TRY_COMPILE)
+ set(CMAKE_CXX_FLAGS "${VCPKG_CXX_FLAGS} -fPIC" CACHE STRING "")
+ set(CMAKE_C_FLAGS "${VCPKG_C_FLAGS} -fPIC" CACHE STRING "")
+
+ set(CMAKE_CXX_FLAGS_DEBUG "${VCPKG_CXX_FLAGS_DEBUG}" CACHE STRING "")
+ set(CMAKE_C_FLAGS_DEBUG "${VCPKG_C_FLAGS_DEBUG}" CACHE STRING "")
+ set(CMAKE_CXX_FLAGS_RELEASE "${VCPKG_CXX_FLAGS_RELEASE}" CACHE STRING "")
+ set(CMAKE_C_FLAGS_RELEASE "${VCPKG_C_FLAGS_RELEASE}" CACHE STRING "")
+
+ set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${VCPKG_LINKER_FLAGS}" CACHE STRING "")
+ set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${VCPKG_LINKER_FLAGS}" CACHE STRING "")
+endif()
diff --git a/toolsrc/src/vcpkg/base/files.cpp b/toolsrc/src/vcpkg/base/files.cpp
index a6fbfbd73..4ff0912d1 100644
--- a/toolsrc/src/vcpkg/base/files.cpp
+++ b/toolsrc/src/vcpkg/base/files.cpp
@@ -263,7 +263,7 @@ namespace vcpkg::Files
for (auto&& ext : EXTS)
{
auto p = fs::u8path(base + ext.c_str());
- if (Util::find(ret, p) != ret.end() && this->exists(p))
+ if (Util::find(ret, p) == ret.end() && this->exists(p))
{
ret.push_back(p);
Debug::println("Found path: %s", p.u8string());
diff --git a/toolsrc/src/vcpkg/build.cpp b/toolsrc/src/vcpkg/build.cpp
index dc7653795..8e87fe7fe 100644
--- a/toolsrc/src/vcpkg/build.cpp
+++ b/toolsrc/src/vcpkg/build.cpp
@@ -1,9 +1,9 @@
#include "pch.h"
-#include <vcpkg/base/hash.h>
#include <vcpkg/base/checks.h>
#include <vcpkg/base/chrono.h>
#include <vcpkg/base/enums.h>
+#include <vcpkg/base/hash.h>
#include <vcpkg/base/optional.h>
#include <vcpkg/base/stringliteral.h>
#include <vcpkg/base/system.h>
@@ -473,11 +473,6 @@ namespace vcpkg::Build
abi_tag_entries.emplace_back(
AbiEntry{"control", vcpkg::Hash::get_file_hash(fs, config.port_dir / "CONTROL", "SHA1")});
- if (pre_build_info.cmake_system_name == "Linux")
- {
- abi_tag_entries.emplace_back(AbiEntry{"toolchain", "1"});
- }
-
abi_tag_entries.emplace_back(AbiEntry{"triplet", pre_build_info.triplet_abi_tag});
const std::string features = Strings::join(";", config.feature_list);
@@ -798,21 +793,6 @@ namespace vcpkg::Build
const fs::path ports_cmake_script_path = paths.scripts / "get_triplet_environment.cmake";
const fs::path triplet_file_path = paths.triplets / (triplet.canonical_name() + ".cmake");
- const std::string triplet_abi_tag = [&]() {
- static std::map<fs::path, std::string> s_hash_cache;
-
- auto it_hash = s_hash_cache.find(triplet_file_path);
- if (it_hash != s_hash_cache.end())
- {
- return it_hash->second;
- }
- auto hash = Hash::get_file_hash(paths.get_filesystem(), triplet_file_path, "SHA1");
- s_hash_cache.emplace(triplet_file_path, hash);
- return hash;
-
- return std::string();
- }();
-
const auto cmd_launch_cmake = System::make_cmake_cmd(cmake_exe_path,
ports_cmake_script_path,
{
@@ -824,7 +804,6 @@ namespace vcpkg::Build
const std::vector<std::string> lines = Strings::split(ec_data.output, "\n");
PreBuildInfo pre_build_info;
- pre_build_info.triplet_abi_tag = triplet_abi_tag;
const auto e = lines.cend();
auto cur = std::find(lines.cbegin(), e, FLAG_GUID);
@@ -900,6 +879,47 @@ namespace vcpkg::Build
Checks::exit_with_message(VCPKG_LINE_INFO, "Unknown variable name %s", line);
}
+ pre_build_info.triplet_abi_tag = [&]() {
+ const auto& fs = paths.get_filesystem();
+ static std::map<fs::path, std::string> s_hash_cache;
+
+ auto it_hash = s_hash_cache.find(triplet_file_path);
+ if (it_hash != s_hash_cache.end())
+ {
+ return it_hash->second;
+ }
+ auto hash = Hash::get_file_hash(fs, triplet_file_path, "SHA1");
+
+ if (auto p = pre_build_info.external_toolchain_file.get())
+ {
+ hash += "-";
+ hash += Hash::get_file_hash(fs, *p, "SHA1");
+ }
+ else if (pre_build_info.cmake_system_name == "Linux")
+ {
+ hash += "-";
+ hash += Hash::get_file_hash(fs, paths.scripts / "toolchains" / "linux.cmake", "SHA1");
+ }
+ else if (pre_build_info.cmake_system_name == "Darwin")
+ {
+ hash += "-";
+ hash += Hash::get_file_hash(fs, paths.scripts / "toolchains" / "osx.cmake", "SHA1");
+ }
+ else if (pre_build_info.cmake_system_name == "FreeBSD")
+ {
+ hash += "-";
+ hash += Hash::get_file_hash(fs, paths.scripts / "toolchains" / "freebsd.cmake", "SHA1");
+ }
+ else if (pre_build_info.cmake_system_name == "Android")
+ {
+ hash += "-";
+ hash += Hash::get_file_hash(fs, paths.scripts / "toolchains" / "android.cmake", "SHA1");
+ }
+
+ s_hash_cache.emplace(triplet_file_path, hash);
+ return hash;
+ }();
+
return pre_build_info;
}
ExtendedBuildResult::ExtendedBuildResult(BuildResult code) : code(code) {}
diff --git a/toolsrc/vcpkg.natvis b/toolsrc/vcpkg.natvis
new file mode 100644
index 000000000..7f9c7f61e
--- /dev/null
+++ b/toolsrc/vcpkg.natvis
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
+ <Type Name="vcpkg::ErrorHolder&lt;std::error_code&gt;">
+ <DisplayString Condition="m_err._Myval!=0">{m_err}</DisplayString>
+ <DisplayString Condition="m_err._Myval==0"></DisplayString>
+ </Type>
+ <Type Name="vcpkg::ErrorHolder&lt;*&gt;">
+ <DisplayString Condition="m_is_error==true">{m_err}</DisplayString>
+ <DisplayString Condition="m_is_error==false"></DisplayString>
+ </Type>
+ <Type Name="vcpkg::ExpectedT&lt;*,std::error_code&gt;">
+ <DisplayString Condition="m_s.m_err._Myval==0">val: {m_t}</DisplayString>
+ <DisplayString Condition="m_s.m_err._Myval!=0">err: {m_s}</DisplayString>
+ </Type>
+ <Type Name="vcpkg::ExpectedT&lt;*,*&gt;">
+ <DisplayString Condition="m_s.m_is_error==false">val: {m_t}</DisplayString>
+ <DisplayString Condition="m_s.m_is_error==true">err: {m_s}</DisplayString>
+ </Type>
+ <Type Name="vcpkg::Optional&lt;*&gt;">
+ <DisplayString Condition="m_base.m_is_present==true">{m_base.m_t}</DisplayString>
+ <DisplayString Condition="m_base.m_is_present==false">empty</DisplayString>
+ </Type>
+ <Type Name="vcpkg::TripletInstance">
+ <DisplayString>{*(std::string*)this}</DisplayString>
+ </Type>
+ <Type Name="vcpkg::Triplet">
+ <DisplayString>{m_instance}</DisplayString>
+ </Type>
+ <Type Name="vcpkg::StringLiteral">
+ <DisplayString>{m_cstr}</DisplayString>
+ </Type>
+ <Type Name="std::experimental::filesystem::v1::path">
+ <DisplayString>{_Mystr}</DisplayString>
+ </Type>
+</AutoVisualizer> \ No newline at end of file
diff --git a/toolsrc/vcpkg.sln b/toolsrc/vcpkg.sln
index 9a998e214..6b92c973b 100644
--- a/toolsrc/vcpkg.sln
+++ b/toolsrc/vcpkg.sln
@@ -47,6 +47,11 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "cmake", "cmake", "{A0122231
..\scripts\cmake\vcpkg_install_meson.cmake = ..\scripts\cmake\vcpkg_install_meson.cmake
EndProjectSection
EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{BCE555DF-F471-4ACC-98E5-76CBE8E8F79E}"
+ ProjectSection(SolutionItems) = preProject
+ vcpkg.natvis = vcpkg.natvis
+ EndProjectSection
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64