diff options
| author | JackBoosY <yuzaiyang@beyondsoft.com> | 2020-01-13 23:55:59 -0800 |
|---|---|---|
| committer | JackBoosY <yuzaiyang@beyondsoft.com> | 2020-01-13 23:55:59 -0800 |
| commit | 2514481b42ebdeec28649582fc666955cf206c84 (patch) | |
| tree | 60c9809a5c3c8adbad240a40b1088a6f8e42c019 | |
| parent | b751326c91c9a307aaf5e340b61ab9f2d1ad45a4 (diff) | |
| parent | 28eee51adb36f2165be846e77ef7b3ee5b3f8789 (diff) | |
| download | vcpkg-2514481b42ebdeec28649582fc666955cf206c84.tar.gz vcpkg-2514481b42ebdeec28649582fc666955cf206c84.zip | |
Merge branch 'master' of https://github.com/Microsoft/vcpkg into dev/jack/upgrade_libi
762 files changed, 18331 insertions, 5334 deletions
diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 000000000..5126cee2a --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,7 @@ +**Describe the pull request**
+
+- What does your PR fix? Fixes issue #
+
+- Which triplets are supported/not supported? Have you updated the CI baseline?
+
+- Does your PR follow the [maintainer guide](https://github.com/microsoft/vcpkg/blob/master/docs/maintainers/maintainer-guide.md)?
diff --git a/CHANGELOG.md b/CHANGELOG.md index 271a3a0bb..d3a397353 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,1180 @@ +vcpkg (2019.12.31) +--- +#### Total port count: 1268 +#### Total port count per triplet (tested): +|triplet|ports available| +|---|---| +|**x64-windows**|1181| +|x86-windows|1166| +|x64-windows-static|1087| +|**x64-linux**|1000| +|**x64-osx**|920| +|arm64-windows|795| +|x64-uwp|642| +|arm-uwp|615| + +#### The following documentation has been updated: +- [PR Review Checklist](docs/maintainers/pr-review-checklist.md) ***[NEW]*** + - [(#9264)](https://github.com/microsoft/vcpkg/pull/9264) [vcpkg] Initialize PR review checklist +- [vcpkg_install_qmake](docs/maintainers/vcpkg_install_qmake.md) ***[NEW]*** + - [(#9412)](https://github.com/microsoft/vcpkg/pull/9412) [vcpkg_install_qmake] Add vcpkg_install_qmake +- [CONTROL Files](docs/maintainers/control-files.md) + - [(#9140)](https://github.com/microsoft/vcpkg/pull/9140) [docs] Fix CONTROL file default-features section header +- [Portfile Functions](docs/maintainers/portfile-functions.md) + - [(#9412)](https://github.com/microsoft/vcpkg/pull/9412) [vcpkg_install_qmake] Add vcpkg_install_qmake +- [vcpkg_build_nmake](docs/maintainers/vcpkg_build_nmake.md) + - [(#9412)](https://github.com/microsoft/vcpkg/pull/9412) [vcpkg_install_qmake] Add vcpkg_install_qmake +- [vcpkg_common_definitions](docs/maintainers/vcpkg_common_definitions.md) + - [(#9412)](https://github.com/microsoft/vcpkg/pull/9412) [vcpkg_install_qmake] Add vcpkg_install_qmake +- [vcpkg_configure_make](docs/maintainers/vcpkg_configure_make.md) + - [(#9412)](https://github.com/microsoft/vcpkg/pull/9412) [vcpkg_install_qmake] Add vcpkg_install_qmake +- [vcpkg_download_distfile](docs/maintainers/vcpkg_download_distfile.md) + - [(#9412)](https://github.com/microsoft/vcpkg/pull/9412) [vcpkg_install_qmake] Add vcpkg_install_qmake +- [vcpkg_extract_source_archive_ex](docs/maintainers/vcpkg_extract_source_archive_ex.md) + - [(#9412)](https://github.com/microsoft/vcpkg/pull/9412) [vcpkg_install_qmake] Add vcpkg_install_qmake +- [vcpkg_find_acquire_program](docs/maintainers/vcpkg_find_acquire_program.md) + - [(#9412)](https://github.com/microsoft/vcpkg/pull/9412) [vcpkg_install_qmake] Add vcpkg_install_qmake +- [vcpkg_install_nmake](docs/maintainers/vcpkg_install_nmake.md) + - [(#9412)](https://github.com/microsoft/vcpkg/pull/9412) [vcpkg_install_qmake] Add vcpkg_install_qmake + +#### The following changes have been made to vcpkg's infrastructure: +- [(#9160)](https://github.com/microsoft/vcpkg/pull/9160) [ffmpeg] Fixed build error ARM64 Windows 10 +- [(#9199)](https://github.com/microsoft/vcpkg/pull/9199) [vcpkg] Add November changelog +- [(#9203)](https://github.com/microsoft/vcpkg/pull/9203) [vcpkg] Check in baseline results for CI builds +- [(#9191)](https://github.com/microsoft/vcpkg/pull/9191) [vcpkg] Give hints for yasm with brew and apt +- [(#9242)](https://github.com/microsoft/vcpkg/pull/9242) [libxslt] Fix writing to locations outside vcpkg in Windows builds +- [(#9279)](https://github.com/microsoft/vcpkg/pull/9279) Removed umock-c:64-windows-static result in baseline +- [(#9280)](https://github.com/microsoft/vcpkg/pull/9280) [vcpkg] Add pull request template +- [(#9331)](https://github.com/microsoft/vcpkg/pull/9331) Update baseline to skip ogre conflicts +- [(#9349)](https://github.com/microsoft/vcpkg/pull/9349) Update baseline with 'leptonica:arm-uwp=fail' +- [(#9277)](https://github.com/microsoft/vcpkg/pull/9277) [brynet] Update to 1.0.5 +- [(#9330)](https://github.com/microsoft/vcpkg/pull/9330) [simpleini] Fix build failure on travis CI +- [(#9313)](https://github.com/microsoft/vcpkg/pull/9313) [opendnp3] Add new port +- [(#9255)](https://github.com/microsoft/vcpkg/pull/9255) [OpenEXR] add missing underscore for OpenEXR_IEXMATH_LIBRARY_DEBUG NAMES +- [(#9252)](https://github.com/microsoft/vcpkg/pull/9252) [rttr] Add dependency rapidjson +- [(#8533)](https://github.com/microsoft/vcpkg/pull/8533) Fix CMAKE_TRY_COMPILE_PLATFORM_VARIABLES +- [(#9382)](https://github.com/microsoft/vcpkg/pull/9382) [directxtk12] Update to dec2019 release +- [(#9383)](https://github.com/microsoft/vcpkg/pull/9383) [directxtex] Update to dec2019 release +- [(#9384)](https://github.com/microsoft/vcpkg/pull/9384) [directxmesh] Update to dec2019 release +- [(#9381)](https://github.com/microsoft/vcpkg/pull/9381) [directxtk] Update to dec2019 release +- [(#9287)](https://github.com/microsoft/vcpkg/pull/9287) Removed unused template function. +- [(#9411)](https://github.com/microsoft/vcpkg/pull/9411) [vcpkg-baseline] Fixes for vtk, libarchive, xalan-c, and openvpn3 on Linux +- [(#9412)](https://github.com/microsoft/vcpkg/pull/9412) [vcpkg_install_qmake] Add vcpkg_install_qmake +- [(#9388)](https://github.com/microsoft/vcpkg/pull/9388) [hiredis] Support building static +- [(#8624)](https://github.com/microsoft/vcpkg/pull/8624) [protobuf-c]Add new port. +- [(#9389)](https://github.com/microsoft/vcpkg/pull/9389) Remove vtk:x64-linux result in baseline + +<details> +<summary><b>The following 8 ports have been added:</b></summary> + +|port|version| +|---|---| +|[proxywrapper](https://github.com/microsoft/vcpkg/pull/8916)| 1.0.0 +|[opendnp3](https://github.com/microsoft/vcpkg/pull/9313)| 2.3.2 +|[function2](https://github.com/microsoft/vcpkg/pull/9246)| 4.0.0 +|[protobuf-c](https://github.com/microsoft/vcpkg/pull/8624)| 1.3.2 +|[indicators](https://github.com/microsoft/vcpkg/pull/9315)| 1.5 +|[proxygen](https://github.com/microsoft/vcpkg/pull/8766)| 2019.10.21.00 +|[azure-kinect-sensor-sdk](https://github.com/microsoft/vcpkg/pull/8786)| 1.4.0-alpha.0 +|[xtensor-fftw](https://github.com/microsoft/vcpkg/pull/9159)| 2019-11-30 +</details> + +<details> +<summary><b>The following 72 ports have been updated:</b></summary> + +- restinio `0.6.1` -> `0.6.2` + - [(#9174)](https://github.com/microsoft/vcpkg/pull/9174) [restinio] Update to v.0.6.1.1. + - [(#9293)](https://github.com/microsoft/vcpkg/pull/9293) [restinio] update to 0.6.2 + +- pixman `0.38.0-4` -> `0.38.4-1` + - [(#9170)](https://github.com/microsoft/vcpkg/pull/9170) [pixman] Update to version 0.38.4 + +- cjson `1.7.12` -> `2019-11-30` + - [(#9157)](https://github.com/microsoft/vcpkg/pull/9157) [cjson] Update to 2019-11-30 + +- parallel-hashmap `1.24` -> `1.27` + - [(#9152)](https://github.com/microsoft/vcpkg/pull/9152) [parallel-hashmap] Update to 1.27 + +- jsoncons `0.139.0` -> `0.140.0` + - [(#9124)](https://github.com/microsoft/vcpkg/pull/9124) [jsoncons] Update to v0.140.0 + +- boost-modular-build-helper `1.71.0` -> `1.71.0-1` + - [(#9108)](https://github.com/microsoft/vcpkg/pull/9108) [boost-modular-build-helper] put quotes around the directory + +- protobuf `3.10.0` -> `3.11.2` + - [(#9131)](https://github.com/microsoft/vcpkg/pull/9131) [protobuf] Update protobuf to 3.11.0 + - [(#9271)](https://github.com/microsoft/vcpkg/pull/9271) [protobuf] Update to 3.11.2 + +- ecsutil `1.0.7.3` -> `1.0.7.8` + - [(#8885)](https://github.com/microsoft/vcpkg/pull/8885) [ecsuti] Update to v1.0.7.8 + +- libmodman `2.0.1` -> `2.0.1-1` + - [(#8916)](https://github.com/microsoft/vcpkg/pull/8916) [proxywrapper] Add new port + +- libproxy `0.4.15` -> `0.4.15-1` + - [(#8916)](https://github.com/microsoft/vcpkg/pull/8916) [proxywrapper] Add new port + +- xalan-c `1.11-9` -> `1.11-11` + - [(#9203)](https://github.com/microsoft/vcpkg/pull/9203) [vcpkg] Check in baseline results for CI builds + - [(#9411)](https://github.com/microsoft/vcpkg/pull/9411) [vcpkg-baseline] Fixes for vtk, libarchive, xalan-c, and openvpn3 on Linux + +- libxslt `1.1.33-5` -> `1.1.33-6` + - [(#9242)](https://github.com/microsoft/vcpkg/pull/9242) [libxslt] Fix writing to locations outside vcpkg in Windows builds + +- azure-c-shared-utility `2019-10-07.2` -> `2019-10-07.2-1` + - [(#9117)](https://github.com/microsoft/vcpkg/pull/9117) [azure-iot-sdk-c] Update macro-utils and umock-c to differentiate master and public-preview installations + +- azure-iot-sdk-c `2019-11-21.1` -> `2019-11-27.1` + - [(#9117)](https://github.com/microsoft/vcpkg/pull/9117) [azure-iot-sdk-c] Update macro-utils and umock-c to differentiate master and public-preview installations + +- azure-macro-utils-c `2019-10-07.2` -> `2019-11-27.1` + - [(#9117)](https://github.com/microsoft/vcpkg/pull/9117) [azure-iot-sdk-c] Update macro-utils and umock-c to differentiate master and public-preview installations + +- azure-uamqp-c `2019-10-07.2` -> `2019-11-27.1` + - [(#9117)](https://github.com/microsoft/vcpkg/pull/9117) [azure-iot-sdk-c] Update macro-utils and umock-c to differentiate master and public-preview installations + +- azure-uhttp-c `2019-10-07.2` -> `2019-11-27.1` + - [(#9117)](https://github.com/microsoft/vcpkg/pull/9117) [azure-iot-sdk-c] Update macro-utils and umock-c to differentiate master and public-preview installations + +- azure-umqtt-c `2019-10-07.2` -> `2019-11-27.1` + - [(#9117)](https://github.com/microsoft/vcpkg/pull/9117) [azure-iot-sdk-c] Update macro-utils and umock-c to differentiate master and public-preview installations + +- umock-c `2019-10-07.2` -> `2019-11-27.1` + - [(#9117)](https://github.com/microsoft/vcpkg/pull/9117) [azure-iot-sdk-c] Update macro-utils and umock-c to differentiate master and public-preview installations + +- python3 `3.7.4` -> `3.7.3` + - [(#9173)](https://github.com/microsoft/vcpkg/pull/9173) [python3] Fix CONTROL Version + +- brynet `1.0.3` -> `1.0.5` + - [(#9277)](https://github.com/microsoft/vcpkg/pull/9277) [brynet] Update to 1.0.5 + +- cpp-httplib `0.2.5` -> `0.4.2` + - [(#9360)](https://github.com/microsoft/vcpkg/pull/9360) [cpp-httplib] Update library to 0.4.2 + +- botan `2.12.1` -> `2.12.1-1` + - [(#9335)](https://github.com/microsoft/vcpkg/pull/9335) [botan] Fix unrecognized compile flag MT/MD + +- simpleini `2018-08-31-2` -> `2018-08-31-3` + - [(#9330)](https://github.com/microsoft/vcpkg/pull/9330) [simpleini] Fix build failure on travis CI + +- libpcap `1.9.0` -> `1.9.1` + - [(#9329)](https://github.com/microsoft/vcpkg/pull/9329) [libpcap] update portfile for cmake build and bump version to 1.9.1 + +- live555 `latest` -> `latest-1` + - [(#9303)](https://github.com/microsoft/vcpkg/pull/9303) [live555] Fix live555:x86-windows-static build failure + +- usockets `0.3.1` -> `0.3.4` + - [(#9278)](https://github.com/microsoft/vcpkg/pull/9278) [usockets] update to 0.3.4 + +- uwebsockets `0.15.7` -> `0.16.5` + - [(#9276)](https://github.com/microsoft/vcpkg/pull/9276) [uwebsockets] update to 0.16.5 + +- check `0.13.0` -> `0.13.0-1` + - [(#9267)](https://github.com/microsoft/vcpkg/pull/9267) [check] Fix library cannot be found + +- tesseract `4.1.0-3` -> `4.1.0-4` + - [(#9266)](https://github.com/microsoft/vcpkg/pull/9266) [tesseract] Fix feature name and build error + +- libharu `2017-08-15-8` -> `2017-08-15-9` + - [(#9261)](https://github.com/microsoft/vcpkg/pull/9261) [libharu] Remove symbols also exported from tiff (as a default feature) + +- alembic `1.7.11-5` -> `1.7.11-6` + - [(#9255)](https://github.com/microsoft/vcpkg/pull/9255) [OpenEXR] add missing underscore for OpenEXR_IEXMATH_LIBRARY_DEBUG NAMES + +- openexr `2.3.0-4` -> `2.3.0-5` + - [(#9255)](https://github.com/microsoft/vcpkg/pull/9255) [OpenEXR] add missing underscore for OpenEXR_IEXMATH_LIBRARY_DEBUG NAMES + +- xeus `0.20.0` -> `0.20.0-1` + - [(#9254)](https://github.com/microsoft/vcpkg/pull/9254) [xeus] Fix build error with Visual Studio 2019 + +- libpq `9.6.1-8` -> `9.6.3` + - [(#9253)](https://github.com/microsoft/vcpkg/pull/9253) [libpq] Fix version mismatch between CONTROL and portfile + +- rttr `0.9.6-1` -> `0.9.6-2` + - [(#9252)](https://github.com/microsoft/vcpkg/pull/9252) [rttr] Add dependency rapidjson + +- proj4 `6.2.0-1` -> `6.2.1-1` + - [(#9227)](https://github.com/microsoft/vcpkg/pull/9227) [proj4] Update to version 6.2.1; disable exporting symbols for static libraries + +- geotrans `3.7` -> `3.7-1` + - [(#9217)](https://github.com/microsoft/vcpkg/pull/9217) [geotrans] Add macro LITTLE_ENDIAN + +- mongoose `6.15-1` -> `6.15-2` + - [(#9209)](https://github.com/microsoft/vcpkg/pull/9209) [mongoose] Add feature ssl + +- ecm `5.60.0-1` -> `5.60.0-2` + - [(#9210)](https://github.com/microsoft/vcpkg/pull/9210) [ecm] Add usage to fix printing error messages + +- tbb `2019_U8-2` -> `2019_U8-3` + - [(#9188)](https://github.com/microsoft/vcpkg/pull/9188) [tbb] Set fatal build tool requirements for UNIX + +- libqglviewer `2.7.0-2` -> `2.7.2-2` + - [(#9186)](https://github.com/microsoft/vcpkg/pull/9186) [libqglviewer] update to 2.7.2 + - [(#9412)](https://github.com/microsoft/vcpkg/pull/9412) [vcpkg_install_qmake] Add vcpkg_install_qmake + +- nanodbc `2.12.4-4` -> `2.12.4-5` + - [(#9185)](https://github.com/microsoft/vcpkg/pull/9185) [nanodbc] Set NANODBC_ENABLE_UNICODE to OFF + +- libevent `2.1.11-1` -> `2.1.11-2` + - [(#9101)](https://github.com/microsoft/vcpkg/pull/9101) [libevent] Add thread as default feature + +- directxtk12 `oct2019` -> `dec2019` + - [(#9382)](https://github.com/microsoft/vcpkg/pull/9382) [directxtk12] Update to dec2019 release + +- directxtex `oct2019` -> `dec2019` + - [(#9383)](https://github.com/microsoft/vcpkg/pull/9383) [directxtex] Update to dec2019 release + +- directxmesh `aug2019` -> `dec2019` + - [(#9384)](https://github.com/microsoft/vcpkg/pull/9384) [directxmesh] Update to dec2019 release + +- directxtk `oct2019` -> `dec2019` + - [(#9381)](https://github.com/microsoft/vcpkg/pull/9381) [directxtk] Update to dec2019 release + +- nano-signal-slot `2018-08-25-1` -> `2.0.1` + - [(#9376)](https://github.com/microsoft/vcpkg/pull/9376) [nano-signal-slot] Update to latest version + +- libarchive `3.4.0-1` -> `3.4.0-2` + - [(#9411)](https://github.com/microsoft/vcpkg/pull/9411) [vcpkg-baseline] Fixes for vtk, libarchive, xalan-c, and openvpn3 on Linux + +- openvpn3 `3.4.1` -> `3.4.1-1` + - [(#9411)](https://github.com/microsoft/vcpkg/pull/9411) [vcpkg-baseline] Fixes for vtk, libarchive, xalan-c, and openvpn3 on Linux + +- ffmpeg `4.2-1` -> `4.2-2` + - [(#9405)](https://github.com/microsoft/vcpkg/pull/9405) [ffmpeg] portfile: fix typo Relase->Release + - [(#9090)](https://github.com/microsoft/vcpkg/pull/9090) [ffmpeg] install correct copyright file and enable (L)GPLv3 builds + +- entt `3.1.1` -> `3.2.2` + - [(#9409)](https://github.com/microsoft/vcpkg/pull/9409) [entt] Upgrade library to 3.2.2 + +- doctest `2.3.5` -> `2.3.6` + - [(#9403)](https://github.com/microsoft/vcpkg/pull/9403) [doctest] Update library to 2.3.6 + +- qcustomplot `2.0.1-1` -> `2.0.1-3` + - [(#9412)](https://github.com/microsoft/vcpkg/pull/9412) [vcpkg_install_qmake] Add vcpkg_install_qmake + +- qscintilla `2.10-9` -> `2.10-11` + - [(#9412)](https://github.com/microsoft/vcpkg/pull/9412) [vcpkg_install_qmake] Add vcpkg_install_qmake + +- qt5-base `5.12.5-3` -> `5.12.5-7` + - [(#9412)](https://github.com/microsoft/vcpkg/pull/9412) [vcpkg_install_qmake] Add vcpkg_install_qmake + +- qwt `6.1.3-8` -> `6.1.3-10` + - [(#9412)](https://github.com/microsoft/vcpkg/pull/9412) [vcpkg_install_qmake] Add vcpkg_install_qmake + +- hiredis `2019-11-1` -> `2019-11-2` + - [(#9388)](https://github.com/microsoft/vcpkg/pull/9388) [hiredis] Support building static + +- argparse `2.0.1` -> `2.1` + - [(#9291)](https://github.com/microsoft/vcpkg/pull/9291) [argparse] Upgrade to v2.1 + +- angle `2019-07-19-3` -> `2019-07-19-4` + - [(#7923)](https://github.com/microsoft/vcpkg/pull/7923) [angle]Fix windows build error: cannot find definition far. + +- libwebp `1.0.2-7` -> `1.0.2-8` + - [(#9300)](https://github.com/microsoft/vcpkg/pull/9300) [libwebp] Fixed build error ARM64 Windows 10 + +- libpng `1.6.37-5` -> `1.6.37-6` + - [(#9198)](https://github.com/microsoft/vcpkg/pull/9198) [libpng] Strong cleanup of the port + +- libgit2 `0.28.3` -> `0.28.4` + - [(#9270)](https://github.com/microsoft/vcpkg/pull/9270) [libgit2] Update to 0.28.4 + +- embree3 `3.5.2-3` -> `3.6.1` + - [(#9073)](https://github.com/microsoft/vcpkg/pull/9073) [embree3] Update to version 3.6.1 + +- pmdk `1.7` -> `1.7-1` + - [(#9094)](https://github.com/microsoft/vcpkg/pull/9094) [pmdk] Remove non-ascii charactor + +- fftwpp `2.05` -> `2019-12-19` + - [(#9169)](https://github.com/microsoft/vcpkg/pull/9169) [fftwpp] Update to latest commit + +- freerdp `2.0.0-rc4-2` -> `2.0.0-rc4-3` + - [(#9176)](https://github.com/microsoft/vcpkg/pull/9176) [freerdp] Fix linux build, add dependency port glib + +- abseil `2019-05-08-1` -> `2019-12-19` + - [(#9367)](https://github.com/microsoft/vcpkg/pull/9367) [abseil] Update to the latest and fix link failure error using StrCat + +- sdl2-gfx `1.0.4-2` -> `1.0.4-4` + - [(#9319)](https://github.com/microsoft/vcpkg/pull/9319) [sdl2-gfx] Update CMake build and find_package support + +- io2d `2019-07-11-1` -> `2019-07-11-2` + - [(#8935)](https://github.com/microsoft/vcpkg/pull/8935) [io2d] Fix link to target "Cairo::Cairo" error + +- vtk `8.2.0-9` -> `8.2.0-10` + - [(#9389)](https://github.com/microsoft/vcpkg/pull/9389) Remove vtk:x64-linux result in baseline + +</details> + +-- vcpkg team vcpkg@microsoft.com TUE, 09 Jan 05:45:00 -0800 + +vcpkg (2019.11.30) +--- +#### Total port count: 1262 +#### Total port count per triplet (tested): +|triplet|ports available| +|---|---| +|**x64-windows**|1182| +|x86-windows|1163| +|x64-windows-static|1094| +|**x64-linux**|1021| +|**x64-osx**|984| +|arm64-windows|782| +|x64-uwp|646| +|arm-uwp|614| + +#### The following commands and options have been updated: +- `export` + - `--x-chocolatey` ***[NEW OPTION]*** : Experimental option to export a port as a `chocolatey` package + - [(#6891)](https://github.com/microsoft/vcpkg/pull/6891) [feature] add `vcpkg export --x-chocolatey` support + +#### The following documentation has been updated: +- [vcpkg_from_github](docs/maintainers/vcpkg_from_github.md) + - [(#5719)](https://github.com/microsoft/vcpkg/pull/5719) [vcpkg_from_github] Allow targeting Github Enterprise instances +- [Privacy and Vcpkg](docs/about/privacy.md) + - [(#9080)](https://github.com/microsoft/vcpkg/pull/9080) [vcpkg] update telemetry + +#### The following additional changes have been made to vcpkg's infrastructure: +- [(#8853)](https://github.com/microsoft/vcpkg/pull/8853) Add October changelog +- [(#8894)](https://github.com/microsoft/vcpkg/pull/8894) Update README.md +- [(#8976)](https://github.com/microsoft/vcpkg/pull/8976) [libusb] upgrade and support arm64-windows +- [(#8924)](https://github.com/microsoft/vcpkg/pull/8924) [vcpkg] Remove libc++fs link dependency for clang/libc++ 9.* +- [(#7598)](https://github.com/microsoft/vcpkg/pull/7598) [vcpkg] QoL: add host specific path separator to common definitions +- [(#8941)](https://github.com/microsoft/vcpkg/pull/8941) [docs] Add the gcc+=7 prerequisite to the README +- [(#5719)](https://github.com/microsoft/vcpkg/pull/5719) [vcpkg_from_github] Allow targeting Github Enterprise instances +- [(#9080)](https://github.com/microsoft/vcpkg/pull/9080) [vcpkg] update telemetry + +<details> +<summary><b>The following 12 ports have been added:</b></summary> + +|port|version| +|---|---| +|[ogre-next](https://github.com/microsoft/vcpkg/pull/8677)| 2019-10-20 +|[hiredis](https://github.com/microsoft/vcpkg/pull/8843)<sup>[#8862](https://github.com/microsoft/vcpkg/pull/8862) </sup>| 2019-11-1 +|[cspice](https://github.com/microsoft/vcpkg/pull/8859)| 66-1 +|[ecos](https://github.com/microsoft/vcpkg/pull/9019)| 2.0.7 +|[redis-plus-plus](https://github.com/microsoft/vcpkg/pull/8846)| 1.1.1 +|[nanoflann](https://github.com/microsoft/vcpkg/pull/8962)| 1.3.1 +|[wxchartdir](https://github.com/microsoft/vcpkg/pull/7914)| 1.0.0 +|[faad2](https://github.com/microsoft/vcpkg/pull/9003)| 2.9.1-1 +|[pfring](https://github.com/microsoft/vcpkg/pull/8648)| 2019-10-17 +|[libmodman](https://github.com/microsoft/vcpkg/pull/8931)| 2.0.1 +|[libproxy](https://github.com/microsoft/vcpkg/pull/8931)| 0.4.15 +|[google-cloud-cpp-spanner](https://github.com/microsoft/vcpkg/pull/9096)| 0.3.0 +</details> + +<details> +<summary><b>The following 67 ports have been updated:</b></summary> + +- tbb `2019_U8-1` -> `2019_U8-2` + - [(#8744)](https://github.com/microsoft/vcpkg/pull/8744) tbb: Fix compilation on OSX + +- openvpn3 `2018-03-21-1` -> `3.4.1` + - [(#8851)](https://github.com/microsoft/vcpkg/pull/8851) openvpn3: bump version + +- sqlpp11 `0.58-2` -> `0.58-3` + - [(#8837)](https://github.com/microsoft/vcpkg/pull/8837) [sqlpp11] fixed ddl2cpp path + +- jsonnet `0.13.0` -> `0.14.0` + - [(#8848)](https://github.com/microsoft/vcpkg/pull/8848) [jsonnet]Upgrade to 0.14.0. + +- pango `1.40.11-4` -> `1.40.11-5` + - [(#8745)](https://github.com/microsoft/vcpkg/pull/8745) [pango] Add missing link library + +- opencv3 `3.4.7-2` -> `3.4.8` + - [(#8623)](https://github.com/microsoft/vcpkg/pull/8623) [opencv3] Upgrade to version 3.4.8 + - [(#8911)](https://github.com/microsoft/vcpkg/pull/8911) Revert "[opencv3] Upgrade to version 3.4.8" + +- boost-modular-build-helper `1.70.0-2` -> `1.71.0` + - [(#8606)](https://github.com/microsoft/vcpkg/pull/8606) [boost-modular-build-helper] Update to 1.71. + +- libxslt `1.1.33-4` -> `1.1.33-5` + - [(#9014)](https://github.com/microsoft/vcpkg/pull/9014) Prevent python3 build failure + +- python3 `3.7.3` -> `3.7.4` + - [(#9014)](https://github.com/microsoft/vcpkg/pull/9014) Prevent python3 build failure + +- orc `1.5.6-1` -> `1.5.7` + - [(#8980)](https://github.com/microsoft/vcpkg/pull/8980) [orc]Upgrade to 1.5.7, disable tzdata test. + +- openvdb `6.1.0` -> `6.2.1` + - [(#8979)](https://github.com/microsoft/vcpkg/pull/8979) [openvdb]Upgrade to 6.2.1 + +- libusb `1.0.22-4` -> `1.0.23` + - [(#8976)](https://github.com/microsoft/vcpkg/pull/8976) [libusb] upgrade and support arm64-windows + +- libmad `0.15.1-4` -> `0.15.1-5` + - [(#8959)](https://github.com/microsoft/vcpkg/pull/8959) [libmad] Fix libmad header for non-x86 MSVC targets + +- wil `2019-07-16` -> `2019-11-07` + - [(#8948)](https://github.com/microsoft/vcpkg/pull/8948) Update WIL port + +- botan `2.11.0` -> `2.12.1` + - [(#8844)](https://github.com/microsoft/vcpkg/pull/8844) [botan]Upgrade to 2.12.1 + +- libbson `1.14.0-3` -> `1.15.1-1` + - [(#8790)](https://github.com/microsoft/vcpkg/pull/8790) [libbson][mongo-c-driver] Update to 1.15.1. Parse CONTROL file for version number + +- mongo-c-driver `1.14.0-5` -> `1.15.1-1` + - [(#8790)](https://github.com/microsoft/vcpkg/pull/8790) [libbson][mongo-c-driver] Update to 1.15.1. Parse CONTROL file for version number + +- libpopt `1.16-11` -> `1.16-12` + - [(#8652)](https://github.com/microsoft/vcpkg/pull/8652) [libpopt]Fix linux build. + +- libpng `1.6.37-4` -> `1.6.37-5` + - [(#8622)](https://github.com/microsoft/vcpkg/pull/8622) [lipng/libpng-apng]Remove port libpng-apng and add apng as a feature with libpng. + - [(#8716)](https://github.com/microsoft/vcpkg/pull/8716) [libpng] Fix CMake targets + +- evpp `0.7.0-1` -> `0.7.0-2` + - [(#8349)](https://github.com/microsoft/vcpkg/pull/8349) [libevent] add features + +- libevent `2.1.11` -> `2.1.11-1` + - [(#8349)](https://github.com/microsoft/vcpkg/pull/8349) [libevent] add features + +- restinio `0.6.0.1` -> `0.6.1` + - [(#8993)](https://github.com/microsoft/vcpkg/pull/8993) [restinio] Update to v.0.6.1 + +- google-cloud-cpp-common `0.15.0` -> `0.16.0-1` + - [(#8986)](https://github.com/microsoft/vcpkg/pull/8986) [google-cloud-cpp*] Update to 0.16.0 + - [(#9097)](https://github.com/microsoft/vcpkg/pull/9097) [google-cloud-cpp-common] Add test feature + +- google-cloud-cpp `0.14.0-1` -> `0.15.0` + - [(#8986)](https://github.com/microsoft/vcpkg/pull/8986) [google-cloud-cpp*] Update to 0.16.0 + +- freetype-gl `2019-03-29-2` -> `2019-03-29-3` + - [(#8992)](https://github.com/microsoft/vcpkg/pull/8992) [freetype-gl] Fix POST_BUILD_CHECKS_FAILED failure on Unix + +- tinyobjloader `1.0.7-1` -> `2.0.0-rc2` + - [(#8955)](https://github.com/microsoft/vcpkg/pull/8955) [tinyobjloader] Update to 2.0.0-rc2; Add feature to enable double precision + +- libzip `rel-1-5-2` -> `rel-1-5-2--1` + - [(#8918)](https://github.com/microsoft/vcpkg/pull/8918) [libzip] Fix patch not applying + +- tgui `0.8.5` -> `0.8.6` + - [(#8877)](https://github.com/microsoft/vcpkg/pull/8877) [tgui]Update to 0.8.6 + +- jsoncons `0.136.1` -> `0.139.0` + - [(#9058)](https://github.com/microsoft/vcpkg/pull/9058) [jsoncons] Update to v0.139.0 + +- azure-iot-sdk-c `2019-10-11.2` -> `2019-11-21.1` + - [(#9059)](https://github.com/microsoft/vcpkg/pull/9059) [azure-iot-sdk-c] Update public-preview feature to branch with fixed telemetry + +- tiff `4.0.10-7` -> `4.0.10-8` + - [(#9010)](https://github.com/microsoft/vcpkg/pull/9010) [tiff] Make BUILD_TOOLS option a feature + +- magic-enum `0.6.3` -> `0.6.3-1` + - [(#9007)](https://github.com/microsoft/vcpkg/pull/9007) [magic-enum] Fix export config.cmake issue + +- libflac `1.3.2-6` -> `1.3.3` + - [(#8988)](https://github.com/microsoft/vcpkg/pull/8988) [libflac] Update libflac to 1.3.3 + +- otl `4.0.447` -> `4.0.448` + - [(#8937)](https://github.com/microsoft/vcpkg/pull/8937) [otl] Upgrade to version 4.0.448 + +- librtmp `2.4-2` -> `2019-11-11` + - [(#8958)](https://github.com/microsoft/vcpkg/pull/8958) use latest librtmp + +- stlab `1.4.1-1` -> `1.5.1` + - [(#8901)](https://github.com/microsoft/vcpkg/pull/8901) [stlab] Update to 1.5.1 + +- bitsery `5.0.0` -> `5.0.1-1` + - [(#8892)](https://github.com/microsoft/vcpkg/pull/8892) [bitsery] Update to 5.0.1 + +- cereal `1.2.2-2` -> `1.3.0` + - [(#8913)](https://github.com/microsoft/vcpkg/pull/8913) [cereal] Update to 1.3.0 + +- fizz `2019.07.08.00` -> `2019.10.28.00` + - [(#8765)](https://github.com/microsoft/vcpkg/pull/8765) [folly/fizz]Upgrade version. + +- folly `2019.06.17.00` -> `2019.10.21.00` + - [(#8765)](https://github.com/microsoft/vcpkg/pull/8765) [folly/fizz]Upgrade version. + +- qt5-base `5.12.5-1` -> `5.12.5-3` + - [(#8793)](https://github.com/microsoft/vcpkg/pull/8793) [qt5] Modify qtdeploy to include qtquickshapes + - [(#8932)](https://github.com/microsoft/vcpkg/pull/8932) [qt5-base] Add option to link to OpenSSL at compile-time + +- nlohmann-json `3.7.0` -> `3.7.3` + - [(#9069)](https://github.com/microsoft/vcpkg/pull/9069) [nlohmann-json] Upgrade to 3.7.3 + +- json-dto `0.2.8-2` -> `0.2.9.2` + - [(#9057)](https://github.com/microsoft/vcpkg/pull/9057) [json-dto] Update to v0.2.9; Switch repo; Fix license installation + - [(#9083)](https://github.com/microsoft/vcpkg/pull/9083) [json_dto] Update to v.0.2.9.2 + +- prometheus-cpp `0.7.0` -> `0.8.0` + - [(#9047)](https://github.com/microsoft/vcpkg/pull/9047) [prometheus-cpp] Update to version 0.8.0 + +- date `2019-09-09` -> `2019-11-08` + - [(#9006)](https://github.com/microsoft/vcpkg/pull/9006) [date] Update to 2019-11-08 + +- netcdf-cxx4 `4.3.0-5` -> `4.3.1` + - [(#8978)](https://github.com/microsoft/vcpkg/pull/8978) [netcdf-cxx4] Update to 4.3.1 + +- libsodium `1.0.18-1` -> `1.0.18-2` + - [(#8974)](https://github.com/microsoft/vcpkg/pull/8974) [libsodium] Fix CPU feature not properly detected on Linux + +- cgal `4.14-3` -> `5.0` + - [(#8659)](https://github.com/microsoft/vcpkg/pull/8659) [cgal][openmvs] CGAL: Upgrade to 5.0 + +- openmvs `1.0-2` -> `1.0-3` + - [(#8659)](https://github.com/microsoft/vcpkg/pull/8659) [cgal][openmvs] CGAL: Upgrade to 5.0 + +- ace `6.5.6` -> `6.5.7` + - [(#9074)](https://github.com/microsoft/vcpkg/pull/9074) [ace] Upgrade to 6.5.7 + +- libmspack `0.10.1-2` -> `0.10.1-3` + - [(#8966)](https://github.com/microsoft/vcpkg/pull/8966) [libmspack] Fix several missing imports + +- mdnsresponder `765.30.11-1` -> `765.30.11-2` + - [(#8953)](https://github.com/microsoft/vcpkg/pull/8953) [mdnsresponder] Fix build with dynamic CRT + +- detours `4.0.1` -> `4.0.1-1` + - [(#8854)](https://github.com/microsoft/vcpkg/pull/8854) [detours] Update for vcpkg_build_nmake + +- curlpp `2018-06-15-1` -> `2018-06-15-2` + - [(#9065)](https://github.com/microsoft/vcpkg/pull/9065) [curlpp] Restore installing vcpkg-cmake-wrapper script + +- portaudio `2019-09-30` -> `2019-11-5` + - [(#8944)](https://github.com/microsoft/vcpkg/pull/8944) [portaudio] Fix library cannot be found + +- wt `4.0.5-1` -> `4.1.1` + - [(#8903)](https://github.com/microsoft/vcpkg/pull/8903) [wt] Update to 4.1.1 + +- z3 `4.8.5-1` -> `4.8.6` + - [(#8899)](https://github.com/microsoft/vcpkg/pull/8899) [z3] Update to 4.8.6 + +- pdcurses `3.8-1` -> `3.8-2` + - [(#9042)](https://github.com/microsoft/vcpkg/pull/9042) [pdcurses] Fix linkage error + +- angle `2019-07-19-2` -> `2019-07-19-3` + - [(#8785)](https://github.com/microsoft/vcpkg/pull/8785) [angle] Add option /bigobj to compiler + +- argparse `1.9` -> `2.0.1` + - [(#9088)](https://github.com/microsoft/vcpkg/pull/9088) [argparse] Update library to 2.0.1 + +- catch2 `2.10.1-1` -> `2.11.0` + - [(#9089)](https://github.com/microsoft/vcpkg/pull/9089) [catch2] Update library to 2.11.0 + +- magnum-plugins `2019.10` -> `2019.10-1` + - [(#8939)](https://github.com/microsoft/vcpkg/pull/8939) [magnum-plugins] Fix basisimporter/basisimageconverter features + +- spdlog `1.3.1-2` -> `1.4.2` + - [(#8779)](https://github.com/microsoft/vcpkg/pull/8779) [spdlog]Update to 1.4.2 + +- assimp `5.0.0-1` -> `5.0.0-2` + - [(#9075)](https://github.com/microsoft/vcpkg/pull/9075) [minizip, assimp] Export minizip CMake targets; Add minizip as assimp dependency + +- minizip `1.2.11-5` -> `1.2.11-6` + - [(#9075)](https://github.com/microsoft/vcpkg/pull/9075) [minizip, assimp] Export minizip CMake targets; Add minizip as assimp dependency + +- ixwebsocket `6.1.0` -> `7.4.0` + - [(#9099)](https://github.com/microsoft/vcpkg/pull/9099) [ixwebsocket] Update to 7.4.0 + +- ppconsul `0.3-1` -> `0.4` + - [(#9104)](https://github.com/microsoft/vcpkg/pull/9104) [ppconsul] Update to 0.4 + +</details> + +-- vcpkg team vcpkg@microsoft.com TUE, 03 Dec 14:30:00 -0800 + +vcpkg (2019.10.31) +--- +#### Total port count: 1250 +#### Total port count per triplet (tested): +|triplet|ports available| +|---|---| +|**x64-windows**|1169| +|x86-windows|1154| +|x64-windows-static|1080| +|**x64-linux**|1014| +|**x64-osx**|976| +|arm64-windows|774| +|x64-uwp|638| +|arm-uwp|608| + +#### The following commands and options have been updated: +- `create` + - Port template updated with best practices, new CMake variables, `CONTROL` homepage field and example feature entries, links to relevant documentation, and maintainer function usage examples + - [(#8427)](https://github.com/microsoft/vcpkg/pull/8427) Update vcpkg create template + - [(#8488)](https://github.com/microsoft/vcpkg/pull/8488) update templates. + +#### The following documentation has been updated: +- [vcpkg_fixup_cmake_targets](docs/maintainers/cmake_fixup_cmake_targets.md) ***[NEW]*** + - [(#8365)](https://github.com/microsoft/vcpkg/pull/8365) [Documentation] Added documentation page for vcpkg_fixup_cmake_targets.cmake + - [(#8424)](https://github.com/microsoft/vcpkg/pull/8424) [Documentation] Update and rename cmake_fixup_cmake_targets.md to vcpkg_fixup_cmake_t… +- [vcpkg_build_make](docs/maintainers/vcpkg_build_make.md) ***[NEW]*** + - [(#8267)](https://github.com/microsoft/vcpkg/pull/8267) Add function vcpkg_configure_make/vcpkg_build_make/vcpkg_install_make/vcpkg_build_nmake/vcpkg_install_nmake +- [vcpkg_build_nmake](docs/maintainers/vcpkg_build_nmake.md) ***[NEW]*** + - [(#8267)](https://github.com/microsoft/vcpkg/pull/8267) Add function vcpkg_configure_make/vcpkg_build_make/vcpkg_install_make/vcpkg_build_nmake/vcpkg_install_nmake + - [(#8589)](https://github.com/microsoft/vcpkg/pull/8589) [libxslt]Using vcpkg_install_nmake in Windows, support unix. +- [vcpkg_configure_make](docs/maintainers/vcpkg_configure_make.md) ***[NEW]*** + - [(#8267)](https://github.com/microsoft/vcpkg/pull/8267) Add function vcpkg_configure_make/vcpkg_build_make/vcpkg_install_make/vcpkg_build_nmake/vcpkg_install_nmake + - [(#8647)](https://github.com/microsoft/vcpkg/pull/8647) support SKIP_CONFIGURE in vcpkg_configure_make. +- [vcpkg_install_make](docs/maintainers/vcpkg_install_make.md) ***[NEW]*** + - [(#8267)](https://github.com/microsoft/vcpkg/pull/8267) Add function vcpkg_configure_make/vcpkg_build_make/vcpkg_install_make/vcpkg_build_nmake/vcpkg_install_nmake +- [vcpkg_install_nmake](docs/maintainers/vcpkg_install_nmake.md) ***[NEW]*** + - [(#8267)](https://github.com/microsoft/vcpkg/pull/8267) Add function vcpkg_configure_make/vcpkg_build_make/vcpkg_install_make/vcpkg_build_nmake/vcpkg_install_nmake + - [(#8589)](https://github.com/microsoft/vcpkg/pull/8589) [libxslt]Using vcpkg_install_nmake in Windows, support unix. +- [Chinese README](README_zh_CN.md) ***[NEW]*** + - [(#8476)](https://github.com/microsoft/vcpkg/pull/8476) Add Chinese readme. +- [Portfile Helper Functions](docs/maintainers/portfile-functions.md) + - [(#8267)](https://github.com/microsoft/vcpkg/pull/8267) Add function vcpkg_configure_make/vcpkg_build_make/vcpkg_install_make/vcpkg_build_nmake/vcpkg_install_nmake +- [Maintainer Guidelines and Policies](docs/maintainers/maintainer-guide.md) + - [(#8720)](https://github.com/microsoft/vcpkg/pull/8720) maintainer-guide.md - Fix link + +#### The following *remarkable* changes have been made to vcpkg's infrastructure: +- New maintainer `portfile.cmake` helper functions for finer control over configuring/building/installing with `make` and `nmake` + - [(#8267)](https://github.com/microsoft/vcpkg/pull/8267) Add function vcpkg_configure_make/vcpkg_build_make/vcpkg_install_make/vcpkg_build_nmake/vcpkg_install_nmake + - [(#8540)](https://github.com/microsoft/vcpkg/pull/8540) Fix separate make and install execution error issue. + - [(#8589)](https://github.com/microsoft/vcpkg/pull/8589) [libxslt]Using vcpkg_install_nmake in Windows, support unix. + - [(#8610)](https://github.com/microsoft/vcpkg/pull/8610) Add AUTOCONF support with vcpkg_configure_make in Windows. + - [(#8647)](https://github.com/microsoft/vcpkg/pull/8647) support SKIP_CONFIGURE in vcpkg_configure_make. +- Support for the `go` compiler in `vcpkg_find_acquire_program` + - [(#8440)](https://github.com/microsoft/vcpkg/pull/8440) Add go to vcpkg_find_acquire_program + +#### The following *additional* changes have been made to vcpkg's infrastructure: +- [(#8365)](https://github.com/microsoft/vcpkg/pull/8365) [Documentation] Added documentation page for vcpkg_fixup_cmake_targets.cmake +- [(#8418)](https://github.com/microsoft/vcpkg/pull/8418) Add September changelog +- [(#8435)](https://github.com/microsoft/vcpkg/pull/8435) Find default for text/plain on Linux and Windows (#567) +- [(#8489)](https://github.com/microsoft/vcpkg/pull/8489) Fix option -j +- [(#8580)](https://github.com/microsoft/vcpkg/pull/8580) Fix CMake checks for Apple Clang 11.0 on macOS 10.15 +- [(#8638)](https://github.com/microsoft/vcpkg/pull/8638) Fix compile error in Visual Studio 2017 15.1 +- [(#8669)](https://github.com/microsoft/vcpkg/pull/8669) [vcpkg_download_distfile.cmake] Fix Examples +- [(#8667)](https://github.com/microsoft/vcpkg/pull/8667) vcpkg_configure_meson - Remove compiler flag /Oi +- [(#8639)](https://github.com/microsoft/vcpkg/pull/8639) mesonbuild - Update to 0.52.0 + +<details> +<summary><b>The following 24 ports have been added:</b></summary> + +|port|version| +|---|---| +|[cpp-base64](https://github.com/microsoft/vcpkg/pull/8368)| 2019-06-19 +|[mgnlibs](https://github.com/microsoft/vcpkg/pull/8390)| 2019-09-29 +|[mmx](https://github.com/microsoft/vcpkg/pull/8384)| 2019-09-29 +|[kcp](https://github.com/microsoft/vcpkg/pull/8278)| 2019-09-20 +|[dbow3](https://github.com/microsoft/vcpkg/pull/8547)| 1.0.0 +|[nlohmann-fifo-map](https://github.com/microsoft/vcpkg/pull/8458)| 2018.05.07 +|[libcrafter](https://github.com/microsoft/vcpkg/pull/8568)| 0.3 +|[libudns](https://github.com/microsoft/vcpkg/pull/8572)| 0.4 +|[ffnvcodec](https://github.com/microsoft/vcpkg/pull/8559)| 9.1.23.0 +|[bfgroup-lyra](https://github.com/microsoft/vcpkg/pull/8612)| 1.1 +|[google-cloud-cpp-common](https://github.com/microsoft/vcpkg/pull/8735)| 0.15.0 +|[libsrt](https://github.com/microsoft/vcpkg/pull/8712)| 1.3.4 +|[polyhook2](https://github.com/microsoft/vcpkg/pull/8719)| 2019-10-24 +|[tool-meson](https://github.com/microsoft/vcpkg/pull/8639)| 0.52.0 +|[slikenet](https://github.com/microsoft/vcpkg/pull/8693)| 2019-10-22 +|[libigl](https://github.com/microsoft/vcpkg/pull/8607)| 2.1.0-1 +|[libmesh](https://github.com/microsoft/vcpkg/pull/8592)| 1.5.0 +|[upb](https://github.com/microsoft/vcpkg/pull/8681)| 2019-10-21 +|[opencensus-cpp](https://github.com/microsoft/vcpkg/pull/8740)| 0.4.0 +|[openscap](https://github.com/microsoft/vcpkg/pull/8654)| 1.3.1 +|[fftwpp](https://github.com/microsoft/vcpkg/pull/8625)| 2.05 +|[ois](https://github.com/microsoft/vcpkg/pull/8507)| 1.5 +|[libdivide](https://github.com/microsoft/vcpkg/pull/8320)| 3.0 +|[wordnet](https://github.com/microsoft/vcpkg/pull/8816)| 3.0 +</details> + +<details> +<summary><b>The following 151 ports have been updated:</b></summary> + +- kangaru `4.2.0` -> `4.2.1` + - [(#8414)](https://github.com/microsoft/vcpkg/pull/8414) [kangaru] Update library to 4.2.1 + +- magic-enum `0.6.0` -> `0.6.3` + - [(#8431)](https://github.com/microsoft/vcpkg/pull/8431) [magic_enum] Update to 0.6.1. Add HEAD_REF + - [(#8500)](https://github.com/microsoft/vcpkg/pull/8500) [magic-enum] Update to 0.6.2 + - [(#8656)](https://github.com/microsoft/vcpkg/pull/8656) [magic-enum] Update to 0.6.3 + +- json5-parser `1.0.0` -> `1.0.0-1` + - [(#8401)](https://github.com/microsoft/vcpkg/pull/8401) [json5-parser] fix find_package issue + +- reproc `8.0.1` -> `9.0.0` + - [(#8411)](https://github.com/microsoft/vcpkg/pull/8411) Update reproc to 9.0.0. + +- libfabric `1.8.0` -> `1.8.1` + - [(#8415)](https://github.com/microsoft/vcpkg/pull/8415) [libfabric] Update library to 1.8.1 + +- thrift `2019-05-07-3` -> `2019-05-07-4` + - [(#8410)](https://github.com/microsoft/vcpkg/pull/8410) [thrift]fix-paths + +- grpc `1.23.0` -> `1.23.1-1` + - [(#8438)](https://github.com/microsoft/vcpkg/pull/8438) [grpc] Update grpc to 1.23.1 + - [(#8737)](https://github.com/microsoft/vcpkg/pull/8737) [grpc]Fix build failure in Linux: duplicate function gettid. + +- protobuf `3.9.1` -> `3.10.0` + - [(#8439)](https://github.com/microsoft/vcpkg/pull/8439) [protobuf] Update protobuf to 3.10.0 + +- google-cloud-cpp `0.13.0` -> `0.14.0` + - [(#8441)](https://github.com/microsoft/vcpkg/pull/8441) [google-cloud-cpp] Update to v0.14.0 + +- nrf-ble-driver `4.1.1` -> `4.1.1-1` + - [(#8437)](https://github.com/microsoft/vcpkg/pull/8437) [nrf-ble-driver] Fix version number + +- plplot `5.13.0-2` -> `5.13.0-3` + - [(#8405)](https://github.com/microsoft/vcpkg/pull/8405) fix find_package(wxWidgets) issue in release build + +- freexl `1.0.4-2` -> `1.0.4-8` + - [(#8267)](https://github.com/microsoft/vcpkg/pull/8267) Add function vcpkg_configure_make/vcpkg_build_make/vcpkg_install_make/vcpkg_build_nmake/vcpkg_install_nmake + - [(#8489)](https://github.com/microsoft/vcpkg/pull/8489) Fix option -j + - [(#8540)](https://github.com/microsoft/vcpkg/pull/8540) Fix separate make and install execution error issue. + +- libosip2 `5.1.0` -> `5.1.0-1` + - [(#8267)](https://github.com/microsoft/vcpkg/pull/8267) Add function vcpkg_configure_make/vcpkg_build_make/vcpkg_install_make/vcpkg_build_nmake/vcpkg_install_nmake + +- x264 `157-303c484ec828ed0-2` -> `157-303c484ec828ed0-6` + - [(#8267)](https://github.com/microsoft/vcpkg/pull/8267) Add function vcpkg_configure_make/vcpkg_build_make/vcpkg_install_make/vcpkg_build_nmake/vcpkg_install_nmake + - [(#8489)](https://github.com/microsoft/vcpkg/pull/8489) Fix option -j + - [(#8540)](https://github.com/microsoft/vcpkg/pull/8540) Fix separate make and install execution error issue. + +- qt5-tools `5.12.5-1` -> `5.12.5-2` + - [(#8373)](https://github.com/microsoft/vcpkg/pull/8373) [qt5-tools] change control file so activeqt isn't a dependency on non windows + +- metis `5.1.0-5` -> `5.1.0-6` + - [(#8376)](https://github.com/microsoft/vcpkg/pull/8376) [metis][suitesparse] add metisConfig.cmake + +- suitesparse `5.4.0-3` -> `5.4.0-4` + - [(#8376)](https://github.com/microsoft/vcpkg/pull/8376) [metis][suitesparse] add metisConfig.cmake + +- activemq-cpp `3.9.5` -> `3.9.5-1` + - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply + +- alac-decoder `0.2-1` -> `0.2-3` + - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply + +- angelscript `2.33.1-1` -> `2.34.0` + - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply + - [(#8520)](https://github.com/microsoft/vcpkg/pull/8520) [angelscript] Upgrade to version 2.34.0 + +- anyrpc `2017-12-01` -> `2017-12-01-1` + - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply + +- apr-util `1.6.0-3` -> `1.6.0-5` + - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply + +- apr `1.6.5-2` -> `1.6.5-3` + - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply + +- argtable2 `2.13-2` -> `2.13-4` + - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply + +- atk `2.24.0-4` -> `2.24.0-5` + - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply + +- atkmm `2.24.2-1` -> `2.24.2-2` + - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply + +- aubio `0.4.9` -> `0.4.9-1` + - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply + +- azure-c-shared-utility `2019-08-20.1` -> `2019-10-07.2` + - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply + - [(#8513)](https://github.com/microsoft/vcpkg/pull/8513) [azure] Update azure-iot-sdk-c for release of 2019-10-07 + - [(#8686)](https://github.com/microsoft/vcpkg/pull/8686) [azure] Update azure-iot-sdk-c for 07/2019 LTS refresh + - [(#8731)](https://github.com/microsoft/vcpkg/pull/8731) Revert "[azure] Update azure-iot-sdk-c for 07/2019 LTS refresh (#8686)" + +- berkeleydb `4.8.30-2` -> `4.8.30-3` + - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply + +- bigint `2010.04.30-3` -> `2010.04.30-4` + - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply + +- blaze `3.6` -> `3.6-1` + - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply + +- bond `8.1.0-2` -> `8.1.0-3` + - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply + +- boost-di `1.1.0` -> `1.1.0-1` + - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply + +- butteraugli `2019-05-08` -> `2019-05-08-1` + - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply + +- cairomm `1.15.3-3` -> `1.15.3-4` + - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply + +- cartographer `1.0.0-1` -> `1.0.0-2` + - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply + +- ccd `2.1-1` -> `2.1-3` + - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply + +- ccfits `2.5-3` -> `2.5-4` + - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply + +- cfitsio `3.410-2` -> `3.410-3` + - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply + +- charls `2.0.0-2` -> `2.0.0-3` + - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply + +- chmlib `0.40-3` -> `0.40-4` + - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply + +- clblas `2.12-2` -> `2.12-3` + - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply + +- clblast `1.5.0` -> `1.5.0-1` + - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply + +- clfft `2.12.2-1` -> `2.12.2-2` + - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply + +- collada-dom `2.5.0-2` -> `2.5.0-3` + - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply + +- console-bridge `0.4.3-1` -> `0.4.3-2` + - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply + +- cppkafka `0.3.1-1` -> `0.3.1-2` + - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply + +- cppunit `1.14.0` -> `1.14.0-1` + - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply + +- cunit `2.1.3-2` -> `2.1.3-3` + - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply + +- dlfcn-win32 `1.1.1-3` -> `1.1.1-4` + - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply + +- dmlc `2019-08-12` -> `2019-08-12-1` + - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply + +- duktape `2.4.0-4` -> `2.4.0-6` + - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply + - [(#8767)](https://github.com/microsoft/vcpkg/pull/8767) [duktape] fix pip and pyyaml install issue + +- entityx `1.3.0-1` -> `1.3.0-2` + - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply + +- epsilon `0.9.2` -> `0.9.2-1` + - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply + +- fcl `0.5.0-6` -> `0.5.0-7` + - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply + +- flint `2.5.2-3` -> `2.5.2-4` + - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply + +- nameof `2019-07-13` -> `0.9.2` + - [(#8464)](https://github.com/microsoft/vcpkg/pull/8464) [nameof] Update to 0.9.1 + - [(#8671)](https://github.com/microsoft/vcpkg/pull/8671) [nameof] Update to 0.9.2 + +- gsl-lite `0.28.0` -> `0.34.0` + - [(#8465)](https://github.com/microsoft/vcpkg/pull/8465) [gsl-lite] Update to v0.34.0 + +- libffi `3.1-5` -> `3.1-6` + - [(#8162)](https://github.com/microsoft/vcpkg/pull/8162) [libffi] Add support for CMake config + +- mathgl `2.4.3-2` -> `2.4.3-3` + - [(#8369)](https://github.com/microsoft/vcpkg/pull/8369) [mathgl]Fix feature glut/hdf5/qt5. + +- yoga `1.14.0` -> `1.16.0-1` + - [(#8495)](https://github.com/microsoft/vcpkg/pull/8495) [yoga] Add project declaration and fix linux installation. + - [(#8630)](https://github.com/microsoft/vcpkg/pull/8630) [yoga] Update to 1.16.0 and enabled UWP builds + +- openssl-windows `1.0.2s-1` -> `1.0.2s-2` + - [(#8224)](https://github.com/microsoft/vcpkg/pull/8224) Including config file openssl.cnf in installation. + +- liblas `1.8.1-2` -> `1.8.1-3` + - [(#7920)](https://github.com/microsoft/vcpkg/pull/7920) [liblas]Fix ${_IMPORT_PREFIX} in liblas-depends-*.cmake. + - [(#7917)](https://github.com/microsoft/vcpkg/pull/7917) [proj4]Upgrade version to 6.1.1 and remove useless patches. + +- azure-storage-cpp `6.1.0-2` -> `7.0.0` + - [(#8499)](https://github.com/microsoft/vcpkg/pull/8499) [azure-storage-cpp]Upgrade to 7.0.0 + +- sdl2-mixer `2.0.4-6` -> `2.0.4-7` + - [(#8496)](https://github.com/microsoft/vcpkg/pull/8496) [sdl2-mixer]Fix usage issue. + +- armadillo `2019-04-16-5` -> `2019-04-16-6` + - [(#8494)](https://github.com/microsoft/vcpkg/pull/8494) [armadillo]Fix cmake path. + +- restinio `0.6.0` -> `0.6.0.1` + - [(#8493)](https://github.com/microsoft/vcpkg/pull/8493) [restinio] updated to v.0.6.0.1 + +- ode `0.15.1-3` -> `0.16` + - [(#8485)](https://github.com/microsoft/vcpkg/pull/8485) [ode] Upgrade to 0.16 + +- itk `5.0.1-1` -> `5.0.1-2` + - [(#8501)](https://github.com/microsoft/vcpkg/pull/8501) [itk]Fix use 64 bit ids. + +- irrlicht `1.8.4-2` -> `1.8.4-4` + - [(#8505)](https://github.com/microsoft/vcpkg/pull/8505) [irrlicht] Reorder link libraries + - [(#8535)](https://github.com/microsoft/vcpkg/pull/8535) [irrlicht] do not build exisiting dependencies + +- azure-iot-sdk-c `2019-08-20.1` -> `2019-10-11.2` + - [(#8513)](https://github.com/microsoft/vcpkg/pull/8513) [azure] Update azure-iot-sdk-c for release of 2019-10-07 + - [(#8565)](https://github.com/microsoft/vcpkg/pull/8565) azure-iot-sdk-c for release of 2019-10-10 + - [(#8686)](https://github.com/microsoft/vcpkg/pull/8686) [azure] Update azure-iot-sdk-c for 07/2019 LTS refresh + - [(#8731)](https://github.com/microsoft/vcpkg/pull/8731) Revert "[azure] Update azure-iot-sdk-c for 07/2019 LTS refresh (#8686)" + +- azure-macro-utils-c `2019-08-20.1` -> `2019-10-07.2` + - [(#8513)](https://github.com/microsoft/vcpkg/pull/8513) [azure] Update azure-iot-sdk-c for release of 2019-10-07 + - [(#8686)](https://github.com/microsoft/vcpkg/pull/8686) [azure] Update azure-iot-sdk-c for 07/2019 LTS refresh + - [(#8731)](https://github.com/microsoft/vcpkg/pull/8731) Revert "[azure] Update azure-iot-sdk-c for 07/2019 LTS refresh (#8686)" + +- azure-uamqp-c `2019-08-20.1` -> `2019-10-07.2` + - [(#8513)](https://github.com/microsoft/vcpkg/pull/8513) [azure] Update azure-iot-sdk-c for release of 2019-10-07 + - [(#8686)](https://github.com/microsoft/vcpkg/pull/8686) [azure] Update azure-iot-sdk-c for 07/2019 LTS refresh + - [(#8731)](https://github.com/microsoft/vcpkg/pull/8731) Revert "[azure] Update azure-iot-sdk-c for 07/2019 LTS refresh (#8686)" + +- azure-uhttp-c `2019-08-20.1` -> `2019-10-07.2` + - [(#8513)](https://github.com/microsoft/vcpkg/pull/8513) [azure] Update azure-iot-sdk-c for release of 2019-10-07 + - [(#8686)](https://github.com/microsoft/vcpkg/pull/8686) [azure] Update azure-iot-sdk-c for 07/2019 LTS refresh + - [(#8731)](https://github.com/microsoft/vcpkg/pull/8731) Revert "[azure] Update azure-iot-sdk-c for 07/2019 LTS refresh (#8686)" + +- azure-umqtt-c `2019-08-20.1` -> `2019-10-07.2` + - [(#8513)](https://github.com/microsoft/vcpkg/pull/8513) [azure] Update azure-iot-sdk-c for release of 2019-10-07 + - [(#8686)](https://github.com/microsoft/vcpkg/pull/8686) [azure] Update azure-iot-sdk-c for 07/2019 LTS refresh + - [(#8731)](https://github.com/microsoft/vcpkg/pull/8731) Revert "[azure] Update azure-iot-sdk-c for 07/2019 LTS refresh (#8686)" + +- umock-c `2019-08-20.1` -> `2019-10-07.2` + - [(#8513)](https://github.com/microsoft/vcpkg/pull/8513) [azure] Update azure-iot-sdk-c for release of 2019-10-07 + - [(#8686)](https://github.com/microsoft/vcpkg/pull/8686) [azure] Update azure-iot-sdk-c for 07/2019 LTS refresh + - [(#8731)](https://github.com/microsoft/vcpkg/pull/8731) Revert "[azure] Update azure-iot-sdk-c for 07/2019 LTS refresh (#8686)" + +- openxr-loader `2019-09-25` -> `1.0.3.0` + - [(#8515)](https://github.com/microsoft/vcpkg/pull/8515) [openxr-loader] Update to 1.0.3 release + latest C++ bindings header + +- gdcm `3.0.0-5` -> `3.0.3` + - [(#8522)](https://github.com/microsoft/vcpkg/pull/8522) [gdcm/libtorrent] Upgrade to new version + +- libtorrent `1.2.1-bcb26fd6` -> `1.2.2` + - [(#8522)](https://github.com/microsoft/vcpkg/pull/8522) [gdcm/libtorrent] Upgrade to new version + +- sfml `2.5.1-3` -> `2.5.1-4` + - [(#8523)](https://github.com/microsoft/vcpkg/pull/8523) [sfml]Add usage. + +- darknet `0.2.5.1` -> `0.2.5.1-1` + - [(#8527)](https://github.com/microsoft/vcpkg/pull/8527) [stb] update and add cmake module + +- stb `2019-07-11` -> `2019-08-17` + - [(#8527)](https://github.com/microsoft/vcpkg/pull/8527) [stb] update and add cmake module + +- curlpp `2018-06-15` -> `2018-06-15-1` + - [(#8532)](https://github.com/microsoft/vcpkg/pull/8532) [curlpp] fix regression introduced in #7331 + +- libjpeg-turbo `2.0.2` -> `2.0.3` + - [(#8412)](https://github.com/microsoft/vcpkg/pull/8412) [libjpeg-turbo] Update to 2.0.3. + +- opencv3 `3.4.7-1` -> `3.4.7-2` + - [(#8542)](https://github.com/microsoft/vcpkg/pull/8542) [opencv] add tesseract to fix downstream linking + +- opencv4 `4.1.1-2` -> `4.1.1-3` + - [(#8542)](https://github.com/microsoft/vcpkg/pull/8542) [opencv] add tesseract to fix downstream linking + +- gtest `2019-08-14-2` -> `2019-10-09` + - [(#8544)](https://github.com/microsoft/vcpkg/pull/8544) [gtest/pmdk] Upgrade to new version + +- pmdk `1.6-3` -> `2019-10-10` + - [(#8544)](https://github.com/microsoft/vcpkg/pull/8544) [gtest/pmdk] Upgrade to new version + - [(#8586)](https://github.com/microsoft/vcpkg/pull/8586) [pmdk] Upgrade to version 1.7 + +- imgui `1.72b` -> `1.73-1` + - [(#8504)](https://github.com/microsoft/vcpkg/pull/8504) [imgui] Update to 1.73 + - [(#8605)](https://github.com/microsoft/vcpkg/pull/8605) [imgui]Add feature example in windows. + +- sqlite3 `3.29.0-1` -> `3.30.1-1` + - [(#8567)](https://github.com/microsoft/vcpkg/pull/8567) [sqlite3] Update to 3.30.1 + - [(#7917)](https://github.com/microsoft/vcpkg/pull/7917) [proj4]Upgrade version to 6.1.1 and remove useless patches. + +- ffmpeg `4.2` -> `4.2-1` + - [(#8596)](https://github.com/microsoft/vcpkg/pull/8596) [ffmpeg] Pass Vcpkg compiler and linker flags to build script + +- libyuv `fec9121` -> `fec9121-1` + - [(#8576)](https://github.com/microsoft/vcpkg/pull/8576) [libyuv] fix include header installation + - [(#8709)](https://github.com/microsoft/vcpkg/pull/8709) [libyuv] Add Mac/Linux build support + - [(#8769)](https://github.com/microsoft/vcpkg/pull/8769) [libyuv]Build corresponding type library according to BUILD_SHARED_LIBS. + +- libarchive `3.4.0` -> `3.4.0-1` + - [(#8564)](https://github.com/microsoft/vcpkg/pull/8564) Mixed release and debug build in libarchive + +- aixlog `1.2.1-1` -> `1.2.2` + - [(#8587)](https://github.com/microsoft/vcpkg/pull/8587) [aixlog] Update library to 1.2.2 + +- portaudio `19.0.6.00-5` -> `2019-09-30` + - [(#8399)](https://github.com/microsoft/vcpkg/pull/8399) [portaudio] Update to the latest version + +- chakracore `1.11.13` -> `1.11.14` + - [(#8593)](https://github.com/microsoft/vcpkg/pull/8593) [chakracore] Update library to 1.11.14 + +- embree3 `3.5.2-2` -> `3.5.2-3` + - [(#8608)](https://github.com/microsoft/vcpkg/pull/8608) [embree3]Fix generated cmake files path. + - [(#8591)](https://github.com/microsoft/vcpkg/pull/8591) [embree3]Fix EMBREE_ROOT_DIR path setting,EMBREE_LIBRARY Debug/Release path setting. + +- cpp-httplib `0.2.4` -> `0.2.5` + - [(#8590)](https://github.com/microsoft/vcpkg/pull/8590) [cpp-httplib] Update library to 0.2.5 + +- range-v3 `0.9.0-20190822` -> `0.9.1` + - [(#8583)](https://github.com/microsoft/vcpkg/pull/8583) [range-v3] Update to 0.9.1 + +- otl `4.0.443-2` -> `4.0.447` + - [(#8581)](https://github.com/microsoft/vcpkg/pull/8581) otl version 447 + +- directxtex `aug2019` -> `oct2019` + - [(#8563)](https://github.com/microsoft/vcpkg/pull/8563) [directxtk][directxtk12][directxtex][directxmesh] Fixed missing pdbs + - [(#8723)](https://github.com/microsoft/vcpkg/pull/8723) [directxtex] Update library to oct2019 + +- directxtk `aug2019` -> `oct2019` + - [(#8563)](https://github.com/microsoft/vcpkg/pull/8563) [directxtk][directxtk12][directxtex][directxmesh] Fixed missing pdbs + - [(#8724)](https://github.com/microsoft/vcpkg/pull/8724) [directxtk] Update library to oct2019 + +- directxtk12 `aug2019` -> `oct2019` + - [(#8563)](https://github.com/microsoft/vcpkg/pull/8563) [directxtk][directxtk12][directxtex][directxmesh] Fixed missing pdbs + - [(#8725)](https://github.com/microsoft/vcpkg/pull/8725) [directxtk12] Update library to oct2019 + +- vtk `8.2.0-8` -> `8.2.0-9` + - [(#8554)](https://github.com/microsoft/vcpkg/pull/8554) [vtk] Change atlmfc as feature + - [(#7917)](https://github.com/microsoft/vcpkg/pull/7917) [proj4]Upgrade version to 6.1.1 and remove useless patches. + +- sdl2 `2.0.9-4` -> `2.0.10-2` + - [(#8643)](https://github.com/microsoft/vcpkg/pull/8643) [sdl2] Update to 2.0.10 + - [(#8760)](https://github.com/microsoft/vcpkg/pull/8760) Fix sdl2 build if there is space in the path + +- gdal `2.4.1-8` -> `2.4.1-9` + - [(#7917)](https://github.com/microsoft/vcpkg/pull/7917) [proj4]Upgrade version to 6.1.1 and remove useless patches. + - [(#8621)](https://github.com/microsoft/vcpkg/pull/8621) [proj4] Update to version 6.2.0 + +- libgeotiff `1.4.2-9` -> `1.4.2-10` + - [(#7917)](https://github.com/microsoft/vcpkg/pull/7917) [proj4]Upgrade version to 6.1.1 and remove useless patches. + +- proj4 `4.9.3-5` -> `6.2.0-1` + - [(#7917)](https://github.com/microsoft/vcpkg/pull/7917) [proj4]Upgrade version to 6.1.1 and remove useless patches. + - [(#8621)](https://github.com/microsoft/vcpkg/pull/8621) [proj4] Update to version 6.2.0 + +- tcl `8.6.5` -> `8.6.10-2` + - [(#8402)](https://github.com/microsoft/vcpkg/pull/8402) [tcl]Upgrade to 8.6.9 and use vcpkg_install_make/vcpkg_install_nmake. + +- physx `4.1.1-1` -> `4.1.1-3` + - [(#8561)](https://github.com/microsoft/vcpkg/pull/8561) [physx] Added a patch to fix missing typeinfo.h header with VS16.3 and missing pdb files + - [(#8658)](https://github.com/microsoft/vcpkg/pull/8658) [physx] Added UWP support + +- celero `2.5.0-1` -> `2.6.0` + - [(#8646)](https://github.com/microsoft/vcpkg/pull/8646) [celero] Updated to v2.6.0 + +- assimp `5.0.0` -> `5.0.0-1` + - [(#8665)](https://github.com/microsoft/vcpkg/pull/8665) [assimp] Fix cmake package config + +- mosquitto `1.6.3` -> `1.6.7` + - [(#8661)](https://github.com/microsoft/vcpkg/pull/8661) [mosquitto] Update to 1.6.7 + +- plog `1.1.4` -> `1.1.5` + - [(#8685)](https://github.com/microsoft/vcpkg/pull/8685) [plog] Update to 1.1.5 + +- catch2 `2.9.2` -> `2.10.1-1` + - [(#8684)](https://github.com/microsoft/vcpkg/pull/8684) [catch2] Update to 2.10.1 + +- nano-signal-slot `commit-25aa2aa90d450d3c7550c535c7993a9e2ed0764a` -> `2018-08-25-1` + - [(#8675)](https://github.com/microsoft/vcpkg/pull/8675) [nano-signal-slot] Enable UWP and dynamic builds + +- duckx `2019-08-06` -> `1.0.0` + - [(#8673)](https://github.com/microsoft/vcpkg/pull/8673) [duckx] update library to 1.0.0 + +- jsoncons `0.136.0` -> `0.136.1` + - [(#8689)](https://github.com/microsoft/vcpkg/pull/8689) [jsoncons] Update to v.0.136.1 + +- libpmemobj-cpp `1.7` -> `1.8` + - [(#8729)](https://github.com/microsoft/vcpkg/pull/8729) [libpmemobj-cpp] Update library to 1.8 + +- forest `12.0.3` -> `12.0.4` + - [(#8727)](https://github.com/microsoft/vcpkg/pull/8727) [forest] Update library to 12.0.4 + +- check `0.12.0-2` -> `0.13.0` + - [(#8722)](https://github.com/microsoft/vcpkg/pull/8722) [check] Update library to 0.13.0 + +- libcopp `1.2.0` -> `1.2.1` + - [(#8728)](https://github.com/microsoft/vcpkg/pull/8728) [libcopp] Update library to 1.2.1 + +- corrade `2019.01-1` -> `2019.10` + - [(#8742)](https://github.com/microsoft/vcpkg/pull/8742) Update magnum ports to new version + +- magnum-extras `2019.01-2` -> `2019.10` + - [(#8742)](https://github.com/microsoft/vcpkg/pull/8742) Update magnum ports to new version + +- magnum-integration `2019.01-2` -> `2019.10` + - [(#8742)](https://github.com/microsoft/vcpkg/pull/8742) Update magnum ports to new version + +- magnum-plugins `2019.01-2` -> `2019.10` + - [(#8742)](https://github.com/microsoft/vcpkg/pull/8742) Update magnum ports to new version + +- magnum `2019.01-2` -> `2019.10` + - [(#8742)](https://github.com/microsoft/vcpkg/pull/8742) Update magnum ports to new version + +- curl `7.66.0` -> `7.66.0-1` + - [(#8739)](https://github.com/microsoft/vcpkg/pull/8739) [curl]Fix tools depends zlib. + +- x265 `3.0-2` -> `3.2-1` + - [(#8738)](https://github.com/microsoft/vcpkg/pull/8738) update x265 to 3.2 + +- pixman `0.38.0-3` -> `0.38.0-4` + - [(#8736)](https://github.com/microsoft/vcpkg/pull/8736) [pixman] Improve Arm detection + +- xmlsec `1.2.28` -> `1.2.29` + - [(#8721)](https://github.com/microsoft/vcpkg/pull/8721) [xmlsec] Update to 1.2.29 + +- string-theory `2.2` -> `2.3` + - [(#8734)](https://github.com/microsoft/vcpkg/pull/8734) [string-theory] Update library to 2.3 + +- log4cpp `2.9.1-1` -> `2.9.1-2` + - [(#8741)](https://github.com/microsoft/vcpkg/pull/8741) [log4cpp] Fix link static library + +- so5extra `1.3.1-2` -> `1.3.1.1` + - [(#8770)](https://github.com/microsoft/vcpkg/pull/8770) [so5extra] updated to 1.3.1.1 + +- wangle `2019.07.08.00` -> `2019.07.08.00-1` + - [(#8764)](https://github.com/microsoft/vcpkg/pull/8764) [wangle]Fix config.cmake + +- fribidi `2019-02-04-1` -> `2019-02-04-2` + - [(#8639)](https://github.com/microsoft/vcpkg/pull/8639) mesonbuild - Update to 0.52.0 + +- libepoxy `1.5.3-1` -> `1.5.3-2` + - [(#8639)](https://github.com/microsoft/vcpkg/pull/8639) mesonbuild - Update to 0.52.0 + +- jxrlib `1.1-9` -> `2019.10.9` + - [(#8525)](https://github.com/microsoft/vcpkg/pull/8525) [jxrlib] Update port + +- fltk `1.3.4-8` -> `1.3.5-1` + - [(#8457)](https://github.com/microsoft/vcpkg/pull/8457) FLTK v1.3.5 + +- qt5-location `5.12.5-1` -> `5.12.5-2` + - [(#8777)](https://github.com/microsoft/vcpkg/pull/8777) [qt5-location] Modify clipper library name to avoid conflicts with vxl + +- pthreads `3.0.0-3` -> `3.0.0-4` + - [(#8651)](https://github.com/microsoft/vcpkg/pull/8651) [pthreads]Add usage. + +- glib `2.52.3-14-3` -> `2.52.3-14-4` + - [(#8653)](https://github.com/microsoft/vcpkg/pull/8653) [glib]Fix linux build. + +- libxslt `1.1.33-2` -> `1.1.33-4` + - [(#8589)](https://github.com/microsoft/vcpkg/pull/8589) [libxslt]Using vcpkg_install_nmake in Windows, support unix. + +- paho-mqtt `1.3.0` -> `1.3.0-1` + - [(#8492)](https://github.com/microsoft/vcpkg/pull/8492) Export paho-mqtt cmake targets, fix paho-mqttpp3 dependency. + +- paho-mqttpp3 `1.0.1-2` -> `1.0.1-3` + - [(#8492)](https://github.com/microsoft/vcpkg/pull/8492) Export paho-mqtt cmake targets, fix paho-mqttpp3 dependency. + +- pcre2 `10.30-5` -> `10.30-6` + - [(#8620)](https://github.com/microsoft/vcpkg/pull/8620) [pcre2]Fix uwp build failure. + +- arrow `0.14.1-1` -> `0.15.1` + - [(#8815)](https://github.com/microsoft/vcpkg/pull/8815) [Arrow] Update to Arrow 0.15.1 + +- netcdf-c `4.7.0-4` -> `4.7.0-5` + - [(#8398)](https://github.com/microsoft/vcpkg/pull/8398) [netcdf-c] Add usage + +- sol2 `3.0.3-1` -> `3.0.3-2` + - [(#8776)](https://github.com/microsoft/vcpkg/pull/8776) [sol2] Use the single header release + +- arb `2.16.0` -> `2.17.0` + - [(#8831)](https://github.com/microsoft/vcpkg/pull/8831) [arb]Upgrade to 2.17.0 + +- wxwidgets `3.1.2-2` -> `3.1.3` + - [(#8808)](https://github.com/microsoft/vcpkg/pull/8808) [wxwidgets] Upgrade to 3.1.3 + +</details> + +-- vcpkg team vcpkg@microsoft.com FRI, 01 Nov 08:30:00 -0800 + vcpkg (2019.09.30) --- #### Total port count: 1225 @@ -5,11 +5,20 @@ Vcpkg helps you manage C and C++ libraries on Windows, Linux and MacOS. This too For short description of available commands, run `vcpkg help`. +* Github: [https://github.com/microsoft/vcpkg](https://github.com/microsoft/vcpkg) +* Slack: [https://cpplang.now.sh/](https://cpplang.now.sh/), the #vcpkg channel +* Docs: [Documentation](docs/index.md) + +| Windows (x86, x64, arm, uwp) | MacOS | Linux | +| ------------- | ------------- | ------------- | +| [](https://dev.azure.com/vcpkg/public/_build/latest?definitionId=9&branchName=master) | [](https://dev.azure.com/vcpkg/public/_build/latest?definitionId=11&branchName=master) | [](https://dev.azure.com/vcpkg/public/_build/latest?definitionId=6&branchName=master) | + ## Quick Start Prerequisites: - Windows 10, 8.1, 7, Linux, or MacOS - Visual Studio 2015 Update 3 or newer (on Windows) - Git +- gcc >= 7 or equivalent clang (on Linux) - *Optional:* CMake 3.12.4 To get started: diff --git a/docs/about/privacy.md b/docs/about/privacy.md index 91d709372..542f27614 100644 --- a/docs/about/privacy.md +++ b/docs/about/privacy.md @@ -1,51 +1,45 @@ +# Vcpkg telemetry and privacy -# Privacy and Vcpkg +vcpkg collects telemetry data to understand usage issues, such as failing packages, and to guide tool improvements. The collected data is anonymous. +For more information about how Microsoft protects your privacy, see https://privacy.microsoft.com/en-US/privacystatement#mainenterprisedeveloperproductsmodule -## Do you collect telemetry data? What is it used for? +## Scope -We do collect telemetry data from usage of "vcpkg.exe". We explicitly ONLY collect information from invocations of the tool itself; we do NOT add any tracking information into the produced libraries. We use this information to understand usage issues, such as failing packages, and to guide tool improvements. +We explicitly ONLY collect information from invocations of the tool itself; we do NOT add any tracking information into the produced libraries. Telemetry is collected when using any of the `vcpkg` commands. -## What telemetry is collected? +## How to opt out -We collect the command line used, the time of invocation, and how long execution took. Some commands also add additional calculated information (such as the full set of libraries to install). We generate a completely random UUID on first use and attach it to each event. -In order to opt-out of data collection, you can re-run the boostrap script with the following flag, for Windows and Linux/OSX, respectively: +The vcpkg telemetry feature is enabled by default. In order to opt-out of data collection, you can re-run the boostrap script with the following flag, for Windows and Linux/OSX, respectively: ```PS> .\bootstrap-vcpkg.bat -disableMetrics``` ```~/$ ./bootstrap-vcpkg.sh -disableMetrics``` -For more information about how Microsoft protects your privacy, see https://privacy.microsoft.com/en-us/privacy. - -Here is an example of an event for the command line `vcpkg install zlib`: -```json -[{ - "ver": 1, - "name": "Microsoft.ApplicationInsights.Event", - "time": "2016-09-01T00:19:10.949Z", - "sampleRate": 100.000000, - "seq": "0:0", - "iKey": "aaaaaaaa-4393-4dd9-ab8e-97e8fe6d7603", - "flags": 0.000000, - "tags": { - "ai.device.os": "Windows", - "ai.device.osVersion": "10.0.14912", - "ai.session.id": "aaaaaaaa-7c69-4b83-7d82-8a4198d7e88d", - "ai.user.id": "aaaaaaaa-c9ab-4bf5-0847-a3455f539754", - "ai.user.accountAcquisitionDate": "2016-08-20T00:38:09.860Z" - }, - "data": { - "baseType": "EventData", - "baseData": { - "ver": 2, - "name": "commandline_test7", - "properties": { "version":"0.0.30-9b4e44a693459c0a618f370681f837de6dd95a30","cmdline":"install zlib","command":"install","installplan":"zlib:x86-windows" }, - "measurements": { "elapsed_us":68064.355736 } - } - } -}] +## Disclosure + +vcpkg displays text similar to the following when you build vcpkg. This is how Microsoft notifies you about data collection. + ``` -In the source code (included in `toolsrc\`), you can search for calls to the functions `TrackProperty()` and `TrackMetric()` to see every specific data point we collect. +Telemetry +--------- +vcpkg collects usage data in order to help us improve your experience. The data collected by Microsoft is anonymous. You can opt-out of telemetry by re-running the bootstrap-vcpkg script with -disableMetrics. + +Read more about vcpkg telemetry at docs/about/privacy.md +``` + +## Data Collected + +The telemetry feature doesn't collect personal data, such as usernames or email addresses. It doesn't scan your code and doesn't extract project-level data, such as name, repository, or author. The data is sent securely to Microsoft servers and held under restricted access. + +Protecting your privacy is important to us. If you suspect the telemetry is collecting sensitive data or the data is being insecurely or inappropriately handled, file an issue in the Microsoft/vcpkg repository or send an email to vcpkg@microsoft.com for investigation. + +We collect various telemetry events such as the command line used, the time of invocation, and how long execution took. Some commands also add additional calculated information (such as the full set of libraries to install). We generate a completely random UUID on first use and attach it to each event. + +You can see the telemetry events any command by appending `--printmetrics` after the vcpkg command line. + +In the source code (included in `toolsrc\`), you can search for calls to the functions `track_property()` and `track_metric()` to see every specific data point we collect. -## Is the data stored on my system? +## Avoid inadvertent disclosure information -We store each event document in your temporary files directory. These will be cleaned out whenever you clear your temporary files. +vcpkg contributors and anyone else running a version of vcpkg that they built themselves should consider the path to their source code. If a crash occurs when using vcpkg, the file path from the build machine is collected as part of the stack trace and isn't hashed. +Because of this, builds of vcpkg shouldn't be located in directories whose path names expose personal or sensitive information. diff --git a/docs/examples/packaging-github-repos.md b/docs/examples/packaging-github-repos.md index af2e6141a..61e1f9a5d 100644 --- a/docs/examples/packaging-github-repos.md +++ b/docs/examples/packaging-github-repos.md @@ -10,13 +10,7 @@ Description: Ogg is a multimedia container format, and the native file and strea ```
### Create the portfile
-`portfile.cmake` describes how to build and install the package. First we include `vcpkg_common_functions` to give us utilities for carrying this out:
-
-```no-highlight
-include(vcpkg_common_functions)
-```
-
-Now we download the project from Github with [`vcpkg_from_github`](../maintainers/vcpkg_from_github.md):
+`portfile.cmake` describes how to build and install the package. First we download the project from Github with [`vcpkg_from_github`](../maintainers/vcpkg_from_github.md):
```no-highlight
vcpkg_from_github(
diff --git a/docs/maintainers/control-files.md b/docs/maintainers/control-files.md index 03bfa113a..a074a7ae2 100644 --- a/docs/maintainers/control-files.md +++ b/docs/maintainers/control-files.md @@ -109,7 +109,7 @@ Example: Build-Depends: curl[openssl] (!windows&!osx), curl[winssl] (windows), curl[darwinssl] (osx) ``` -#### Default-Feature +#### Default-Features Comma separated list of optional port features to install by default. This field is optional. diff --git a/docs/maintainers/portfile-functions.md b/docs/maintainers/portfile-functions.md index dac417acf..9ff16fd96 100644 --- a/docs/maintainers/portfile-functions.md +++ b/docs/maintainers/portfile-functions.md @@ -6,14 +6,14 @@ - [vcpkg\_add\_to\_path](vcpkg_add_to_path.md)
- [vcpkg\_apply\_patches](vcpkg_apply_patches.md)
- [vcpkg\_build\_cmake](vcpkg_build_cmake.md)
-- [vcpkg\_build\_msbuild](vcpkg_build_msbuild.md) -- [vcpkg\_build\_make](vcpkg_build_make.md) +- [vcpkg\_build\_make](vcpkg_build_make.md)
+- [vcpkg\_build\_msbuild](vcpkg_build_msbuild.md)
- [vcpkg\_build\_nmake](vcpkg_build_nmake.md)
- [vcpkg\_check\_features](vcpkg_check_features.md)
- [vcpkg\_check\_linkage](vcpkg_check_linkage.md)
- [vcpkg\_clean\_msbuild](vcpkg_clean_msbuild.md)
- [vcpkg\_common\_definitions](vcpkg_common_definitions.md)
-- [vcpkg\_configure\_cmake](vcpkg_configure_cmake.md) +- [vcpkg\_configure\_cmake](vcpkg_configure_cmake.md)
- [vcpkg\_configure\_make](vcpkg_configure_make.md)
- [vcpkg\_copy\_pdbs](vcpkg_copy_pdbs.md)
- [vcpkg\_copy\_tool\_dependencies](vcpkg_copy_tool_dependencies.md)
@@ -29,8 +29,9 @@ - [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) -- [vcpkg\_install\_make](vcpkg_install_make.md) +- [vcpkg\_install\_make](vcpkg_install_make.md)
+- [vcpkg\_install\_msbuild](vcpkg_install_msbuild.md)
- [vcpkg\_install\_nmake](vcpkg_install_nmake.md)
+- [vcpkg\_install\_qmake](vcpkg_install_qmake.md)
- [vcpkg\_prettify\_command](vcpkg_prettify_command.md)
- [vcpkg\_test\_cmake](vcpkg_test_cmake.md)
diff --git a/docs/maintainers/pr-review-checklist.md b/docs/maintainers/pr-review-checklist.md new file mode 100644 index 000000000..44aa46741 --- /dev/null +++ b/docs/maintainers/pr-review-checklist.md @@ -0,0 +1,106 @@ +Vcpkg PR Checklist +===================== +Revision: 0 + +## Overview +This document provides an annotated checklist which vcpkg team members use to apply the "reviewed" label on incoming pull requests. If a pull request violates any of these points, we may ask contributors to make necessary changes before we can merge the changeset. + +Feel free to create an issue or pull request if you feel that this checklist can be improved. Please increment the revision number when modifying the checklist content. + +## Checklist +You can link any of these checklist items in a GitHub comment by copying the link address attached to each item code. + +<details id=c000001> +<summary><a href=#c000001>c000001</a>: No deprecated helper functions are used</summary> + +See our [Maintainer Guidelines and Policies](maintainer-guide.md#Avoid-deprecated-helper-functions) for more information. + +</details> + +<details id=c000002> +<summary><a href=#c000002>c000002</a>: Control Version field is updated</summary> + +See our [Maintainer Guidelines and Policies](maintainer-guide.md#versioning) for more information. + +</details> + +<details id=c000003> +<summary><a href=#c000003>c000003</a>: New ports contain a Description field written in English</summary> + +A description only one or a few sentences long is helpful. Consider using the library's official description from their `README.md` or similar if possible. Automatic translations are acceptable and we are happy to clean up translations to English for our contributors. + +See our [CONTROL file documentation](https://github.com/grdowns/vcpkg/blob/pr-checklist/docs/maintainers/control-files.md#description) for more information. + +</details> + +<details id=c000004> + <summary><a href=#c000004>c000004</a>: No unnecessary comments are present in the changeset</summary> + +See our [Maintainer Guidelines and Policies](maintainer-guide.md#Avoid-excessive-comments-in-portfiles) for more information. + +</details> + +<details id=c000005> +<summary><a href=#c000005>c000005</a>: Downloaded archives are versioned if available</summary + +To ensure archive content does not change, archives downloaded preferably have an associated version tag that can be incremented alongside the port version. + +</details> + +<details id=c000006> +<summary><a href=#c000006>c000006</a>: New ports pass CI checks for triplets that the library officially supports</summary> + +To ensure vcpkg ports are of a high quality, we ask that incoming ports support the official platforms for the library in question. + +</details> + +<details id=c000007> +<summary><a href=#c000007>c000007</a>: Patches fix issues that are vcpkg-specific only</summary> + +If possible, patches to the library source code should be upstreamed to the library's official repository. Opening up a pull request on the library's repository will help to improve the library for everyone, not just vcpkg users. + +</details> + +<details id=c000008> +<summary><a href=#c000008>c000008</a>: New ports download source code from the official source if available</summary> + +To respect library authors and keep code secure, please have ports download source code from the official source. We may make exceptions if the original source code is not available and there is substantial community interest in maintaining the library in question. + +</details> + +<details id=c000009> +<summary><a href=#c000010>c000010</a>: Ports and port features are named correctly</summary> + +For user accessibility, we prefer names of ports and port features to be intuitive and close to their counterparts in official sources and other package managers. If you are unsure about the naming of a port or port feature, we recommend checking repology.org, packages.ubuntu.com, or searching for additional information using a search engine. We can also help our contributors with this, so feel free to ask for naming suggestions if you are unsure. + +</details> + +<details id=c000010> +<summary><a href=#c000011>c000011</a>: Library targets are exported when appropriate</summary> + +To provide users with a seamless build system integration, please be sure to export and provide a means of finding the library targets intended to be used downstream. Targets not meant to be exported should be be marked private and not exported. + +</details> + +<details id=c000011> +<summary><a href=#c000012>c000012</a>: Ports do not use applications which modify the user's system</summary> + +Ports should uphold vcpkg's contract of not modifying the user's system by avoiding applications which do so. Examples of these applications are `sudo`, `apt`, `brew`, or `pip`. Please use an alternative to these types of programs wherever possible. + +</details> + +<details id=c000012> +<summary><a href=#c000013>c000013</a>: Ports with system dependencies include an information message during installation</summary> + +Some ports have library and tool dependencies that do not exist within vcpkg. For these missing dependencies, we ask that contributors add a message to the top of the port's `portfile.cmake` stating the missing dependencies and how to acquire them. We ask that the message is displayed before any major work is done to ensure that users can "early out" of the installation process as soon as possible in case they are missing the dependency. + +Example: +```cmake +message( +"${PORT} currently requires the following libraries from the system package manager: + autoconf libtool +These can be installed on Ubuntu systems via sudo apt install autoconf libtool" +) +``` + +</details> diff --git a/docs/maintainers/vcpkg_build_nmake.md b/docs/maintainers/vcpkg_build_nmake.md index e5c177b1b..c9f4cc5d9 100644 --- a/docs/maintainers/vcpkg_build_nmake.md +++ b/docs/maintainers/vcpkg_build_nmake.md @@ -7,8 +7,8 @@ Build a msvc makefile project. vcpkg_build_nmake( SOURCE_PATH <${SOURCE_PATH}> [NO_DEBUG] - PROJECT_SUBPATH <${SUBPATH}> - PROJECT_NAME <${MAKEFILE_NAME}> + [PROJECT_SUBPATH <${SUBPATH}>] + [PROJECT_NAME <${MAKEFILE_NAME}>] [PRERUN_SHELL <${SHELL_PATH}>] [PRERUN_SHELL_DEBUG <${SHELL_PATH}>] [PRERUN_SHELL_RELEASE <${SHELL_PATH}>] diff --git a/docs/maintainers/vcpkg_common_definitions.md b/docs/maintainers/vcpkg_common_definitions.md index 3bb922b17..276e04190 100644 --- a/docs/maintainers/vcpkg_common_definitions.md +++ b/docs/maintainers/vcpkg_common_definitions.md @@ -5,14 +5,22 @@ File contains helpful variabls for portfiles which are commonly needed or used. ## The following variables are available: ```cmake VCPKG_TARGET_IS_<target> with <target> being one of the following: WINDOWS, UWP, LINUX, OSX, ANDROID, FREEBSD. only defined if <target> +VCPKG_HOST_PATH_SEPARATOR Host specific path separator (USAGE: "<something>${VCPKG_HOST_PATH_SEPARATOR}<something>"; only use and pass variables with VCPKG_HOST_PATH_SEPARATOR within "") +VCPKG_HOST_EXECUTABLE_SUFFIX executable suffix of the host +VCPKG_TARGET_EXECUTABLE_SUFFIX executable suffix of the target VCPKG_TARGET_STATIC_LIBRARY_PREFIX static library prefix for target (same as CMAKE_STATIC_LIBRARY_PREFIX) VCPKG_TARGET_STATIC_LIBRARY_SUFFIX static library suffix for target (same as CMAKE_STATIC_LIBRARY_SUFFIX) VCPKG_TARGET_SHARED_LIBRARY_PREFIX shared library prefix for target (same as CMAKE_SHARED_LIBRARY_PREFIX) VCPKG_TARGET_SHARED_LIBRARY_SUFFIX shared library suffix for target (same as CMAKE_SHARED_LIBRARY_SUFFIX) +VCPKG_TARGET_IMPORT_LIBRARY_PREFIX import library prefix for target (same as CMAKE_IMPORT_LIBRARY_PREFIX) +VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX import library suffix for target (same as CMAKE_IMPORT_LIBRARY_SUFFIX) +VCPKG_FIND_LIBRARY_PREFIXES target dependent prefixes used for find_library calls in portfiles +VCPKG_FIND_LIBRARY_SUFFIXES target dependent suffixes used for find_library calls in portfiles ``` -CMAKE_STATIC_LIBRARY_PREFIX, CMAKE_STATIC_LIBRARY_SUFFIX, CMAKE_SHARED_LIBRARY_PREFIX, CMAKE_SHARED_LIBRARY_SUFFIX are defined for the target so that -portfiles are able to use find_library calls to discover dependent libraries within the current triplet for ports. +CMAKE_STATIC_LIBRARY_(PREFIX|SUFFIX), CMAKE_SHARED_LIBRARY_(PREFIX|SUFFIX) and CMAKE_IMPORT_LIBRARY_(PREFIX|SUFFIX) are defined for the target +Furthermore the variables CMAKE_FIND_LIBRARY_(PREFIXES|SUFFIXES) are also defined for the target so that +portfiles are able to use find_library calls to discover dependent libraries within the current triplet for ports. ## Source diff --git a/docs/maintainers/vcpkg_configure_make.md b/docs/maintainers/vcpkg_configure_make.md index 73b46bafc..a18621794 100644 --- a/docs/maintainers/vcpkg_configure_make.md +++ b/docs/maintainers/vcpkg_configure_make.md @@ -1,6 +1,6 @@ # vcpkg_configure_make -Configure `configure` for Debug and Release builds of a project. +Configure configure for Debug and Release builds of a project. ## Usage ```cmake diff --git a/docs/maintainers/vcpkg_download_distfile.md b/docs/maintainers/vcpkg_download_distfile.md index 2e86b8f7c..18bdf9dc7 100644 --- a/docs/maintainers/vcpkg_download_distfile.md +++ b/docs/maintainers/vcpkg_download_distfile.md @@ -45,7 +45,7 @@ The helper [`vcpkg_from_github`](vcpkg_from_github.md) should be used for downlo * [apr](https://github.com/Microsoft/vcpkg/blob/master/ports/apr/portfile.cmake) * [fontconfig](https://github.com/Microsoft/vcpkg/blob/master/ports/fontconfig/portfile.cmake) -* [openssl](https://github.com/Microsoft/vcpkg/blob/master/ports/openssl/portfile.cmake) +* [freetype](https://github.com/Microsoft/vcpkg/blob/master/ports/freetype/portfile.cmake) ## Source [scripts/cmake/vcpkg_download_distfile.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_download_distfile.cmake)
diff --git a/docs/maintainers/vcpkg_extract_source_archive_ex.md b/docs/maintainers/vcpkg_extract_source_archive_ex.md index 8f525c3ce..90dafb6be 100644 --- a/docs/maintainers/vcpkg_extract_source_archive_ex.md +++ b/docs/maintainers/vcpkg_extract_source_archive_ex.md @@ -5,6 +5,7 @@ Extract an archive into the source directory. Replaces [`vcpkg_extract_source_ar ## Usage ```cmake vcpkg_extract_source_archive_ex( + SKIP_PATCH_CHECK OUT_SOURCE_PATH <SOURCE_PATH> ARCHIVE <${ARCHIVE}> [REF <1.0.0>] @@ -14,6 +15,9 @@ vcpkg_extract_source_archive_ex( ) ``` ## Parameters +### SKIP_PATCH_CHECK +If this option is set the failure to apply a patch is ignored. + ### OUT_SOURCE_PATH Specifies the out-variable that will contain the extracted location. diff --git a/docs/maintainers/vcpkg_find_acquire_program.md b/docs/maintainers/vcpkg_find_acquire_program.md index b868ea418..106bbe4b7 100644 --- a/docs/maintainers/vcpkg_find_acquire_program.md +++ b/docs/maintainers/vcpkg_find_acquire_program.md @@ -20,6 +20,7 @@ The current list of programs includes: - PERL - PYTHON2 - PYTHON3 +- GO - JOM - MESON - NASM diff --git a/docs/maintainers/vcpkg_from_github.md b/docs/maintainers/vcpkg_from_github.md index 8f9731629..18ab5b976 100644 --- a/docs/maintainers/vcpkg_from_github.md +++ b/docs/maintainers/vcpkg_from_github.md @@ -11,6 +11,8 @@ vcpkg_from_github( [SHA512 <45d0d7f8cc350...>] [HEAD_REF <master>] [PATCHES <patch1.patch> <patch2.patch>...] + [GITHUB_HOST <https://github.com>] + [AUTHORIZATION_TOKEN <${SECRET_FROM_FILE}>] ) ``` @@ -45,6 +47,14 @@ A list of patches to be applied to the extracted sources. Relative paths are based on the port directory. +### GITHUB_HOST +A replacement host for enterprise GitHub instances. + +This field should contain the scheme, host, and port of the desired URL without a trailing slash. + +### AUTHORIZATION_TOKEN +A token to be passed via the Authorization HTTP header as "token ${AUTHORIZATION_TOKEN}". + ## Notes: At least one of `REF` and `HEAD_REF` must be specified, however it is preferable for both to be present. diff --git a/docs/maintainers/vcpkg_install_nmake.md b/docs/maintainers/vcpkg_install_nmake.md index 3f397c195..e83b05ff7 100644 --- a/docs/maintainers/vcpkg_install_nmake.md +++ b/docs/maintainers/vcpkg_install_nmake.md @@ -56,5 +56,10 @@ See [`vcpkg_build_nmake()`](vcpkg_build_nmake.md). ## Notes: This command transparently forwards to [`vcpkg_build_nmake()`](vcpkg_build_nmake.md), adding `ENABLE_INSTALL` +## Examples + +* [tcl](https://github.com/Microsoft/vcpkg/blob/master/ports/tcl/portfile.cmake) +* [freexl](https://github.com/Microsoft/vcpkg/blob/master/ports/freexl/portfile.cmake) + ## Source [scripts/cmake/vcpkg_install_nmake.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_install_nmake.cmake)
diff --git a/docs/maintainers/vcpkg_install_qmake.md b/docs/maintainers/vcpkg_install_qmake.md new file mode 100644 index 000000000..cbf08aa3e --- /dev/null +++ b/docs/maintainers/vcpkg_install_qmake.md @@ -0,0 +1,24 @@ +# vcpkg_install_qmake + +Build and install a qmake project. + +## Usage: +```cmake +vcpkg_install_qmake(...) +``` + +## Parameters: +See [`vcpkg_build_qmake()`](vcpkg_build_qmake.md). + +## Notes: +This command transparently forwards to [`vcpkg_build_qmake()`](vcpkg_build_qmake.md). + +Additionally, this command will copy produced .libs/.dlls/.as/.dylibs/.sos to the appropriate +staging directories. + +## Examples + +* [libqglviewer](https://github.com/Microsoft/vcpkg/blob/master/ports/libqglviewer/portfile.cmake) + +## Source +[scripts/cmake/vcpkg_install_qmake.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_install_qmake.cmake)
diff --git a/ports/abseil/CONTROL b/ports/abseil/CONTROL index 63d5e26f0..459eeee3f 100644 --- a/ports/abseil/CONTROL +++ b/ports/abseil/CONTROL @@ -1,5 +1,5 @@ Source: abseil
-Version: 2019-05-08-1
+Version: 2019-12-19
Homepage: https://github.com/abseil/abseil-cpp
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.
diff --git a/ports/abseil/fix-config.patch b/ports/abseil/fix-config.patch deleted file mode 100644 index daa5dd3a4..000000000 --- a/ports/abseil/fix-config.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/CMake/abslConfig.cmake.in b/CMake/abslConfig.cmake.in
-index 60847fa..4641d44 100644
---- a/CMake/abslConfig.cmake.in
-+++ b/CMake/abslConfig.cmake.in
-@@ -4,4 +4,8 @@ include(FindThreads)
-
- @PACKAGE_INIT@
-
-+include(CMakeFindDependencyMacro)
-+
-+set_and_check(absl_INCLUDE_DIR "@PACKAGE_CMAKE_INSTALL_INCLUDEDIR@")
-+
- include ("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake")
-\ No newline at end of file
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index e7587f7..3079534 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -132,6 +132,7 @@ if(ABSL_ENABLE_INSTALL)
- CMake/abslConfig.cmake.in
- "${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
- INSTALL_DESTINATION "${ABSL_INSTALL_CONFIGDIR}"
-+ PATH_VARS CMAKE_INSTALL_INCLUDEDIR
- )
- install(FILES "${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
- DESTINATION "${ABSL_INSTALL_CONFIGDIR}"
diff --git a/ports/abseil/fix-lnk2019-error.patch b/ports/abseil/fix-lnk2019-error.patch new file mode 100644 index 000000000..f16f1f68b --- /dev/null +++ b/ports/abseil/fix-lnk2019-error.patch @@ -0,0 +1,39 @@ +diff --git a/absl/base/options.h b/absl/base/options.h
+index 3961e63..d4f21ec 100644
+--- a/absl/base/options.h
++++ b/absl/base/options.h
+@@ -94,7 +94,7 @@
+ // User code should not inspect this macro. To check in the preprocessor if
+ // absl::any is a typedef of std::any, use the feature macro ABSL_USES_STD_ANY.
+
+-#define ABSL_OPTION_USE_STD_ANY 2
++#define ABSL_OPTION_USE_STD_ANY 0
+
+
+ // ABSL_OPTION_USE_STD_OPTIONAL
+@@ -129,7 +129,7 @@
+ // absl::optional is a typedef of std::optional, use the feature macro
+ // ABSL_USES_STD_OPTIONAL.
+
+-#define ABSL_OPTION_USE_STD_OPTIONAL 2
++#define ABSL_OPTION_USE_STD_OPTIONAL 0
+
+
+ // ABSL_OPTION_USE_STD_STRING_VIEW
+@@ -156,7 +156,7 @@
+ // absl::string_view is a typedef of std::string_view, use the feature macro
+ // ABSL_USES_STD_STRING_VIEW.
+
+-#define ABSL_OPTION_USE_STD_STRING_VIEW 2
++#define ABSL_OPTION_USE_STD_STRING_VIEW 0
+
+
+ // ABSL_OPTION_USE_STD_VARIANT
+@@ -183,6 +183,6 @@
+ // absl::variant is a typedef of std::variant, use the feature macro
+ // ABSL_USES_STD_VARIANT.
+
+-#define ABSL_OPTION_USE_STD_VARIANT 2
++#define ABSL_OPTION_USE_STD_VARIANT 0
+
+ #endif // ABSL_BASE_OPTIONS_H_
diff --git a/ports/abseil/fix-usage-lnk-error.patch b/ports/abseil/fix-usage-lnk-error.patch index 5335d144b..94c5d98d9 100644 --- a/ports/abseil/fix-usage-lnk-error.patch +++ b/ports/abseil/fix-usage-lnk-error.patch @@ -1,12 +1,11 @@ diff --git a/absl/strings/ascii.cc b/absl/strings/ascii.cc
-index c9481e8..5c155e1 100644
+index abea3e4..16d0bcc 100644
--- a/absl/strings/ascii.cc
+++ b/absl/strings/ascii.cc
-@@ -49,109 +49,6 @@ namespace ascii_internal {
- // print ' //', Hex2(i & 0x78)
+@@ -51,108 +51,6 @@ namespace ascii_internal {
// elif i % 16 == 15:
// print
--
+
-// clang-format off
-// Array of bitfields holding character information. Each bit value corresponds
-// to a particular character feature. For readability, and because the value
@@ -113,11 +112,11 @@ index c9481e8..5c155e1 100644 void AsciiStrToLower(std::string* s) {
diff --git a/absl/strings/ascii.h b/absl/strings/ascii.h
-index 48a9da2..9d70382 100644
+index 792aabe..989e464 100644
--- a/absl/strings/ascii.h
+++ b/absl/strings/ascii.h
-@@ -61,14 +61,105 @@
- namespace absl {
+@@ -62,14 +62,105 @@ namespace absl {
+ ABSL_NAMESPACE_BEGIN
namespace ascii_internal {
-// Declaration for an array of bitfields holding character information.
diff --git a/ports/abseil/portfile.cmake b/ports/abseil/portfile.cmake index 22f3bc349..6acc0ea39 100644 --- a/ports/abseil/portfile.cmake +++ b/ports/abseil/portfile.cmake @@ -1,20 +1,16 @@ -include(vcpkg_common_functions)
-
-if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
- message(FATAL_ERROR "Abseil currently only supports being built for desktop")
-endif()
+vcpkg_fail_port_install(ON_TARGET "UWP")
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO abseil/abseil-cpp
- REF aa468ad75539619b47979911297efbb629c52e44 - SHA512 4254d8599103d8f06b03f60a0386eba07f314184217d0bca404d41fc0bd0a8df287fe6d07158d10cde096af3097aff2ecc1a5e8f7c3046ecf956b5fde709ad1d
+ REF 29235139149790f5afc430c11cec8f1eb1677607 #commit 2019-12-19 + SHA512 be34c782eb6cdb3355ab56f1592e692435a63bf19a0364980d498c75db267e986e60a3e425bd3b9c57b7f8afdb7c642eb68386165ec147a6d5b448570bbe756a
HEAD_REF master
PATCHES
fix-usage-lnk-error.patch
- fix-config.patch
+ fix-lnk2019-error.patch
)
vcpkg_configure_cmake(
@@ -27,7 +23,7 @@ vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/absl TARGET_PATH share/absl) vcpkg_copy_pdbs()
-file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/abseil RENAME copyright)
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share
${CURRENT_PACKAGES_DIR}/debug/include
${CURRENT_PACKAGES_DIR}/include/absl/copts
diff --git a/ports/ace/CONTROL b/ports/ace/CONTROL index 64ef84425..456088aa6 100644 --- a/ports/ace/CONTROL +++ b/ports/ace/CONTROL @@ -1,5 +1,5 @@ Source: ace -Version: 6.5.6 +Version: 6.5.7 Homepage: https://www.dre.vanderbilt.edu/~schmidt/ACE.html Description: The ADAPTIVE Communication Environment diff --git a/ports/ace/portfile.cmake b/ports/ace/portfile.cmake index e45fbfe94..c09964b94 100644 --- a/ports/ace/portfile.cmake +++ b/ports/ace/portfile.cmake @@ -2,9 +2,9 @@ include(vcpkg_common_functions) # Don't change to vcpkg_from_github! This points to a release and not an archive vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/DOCGroup/ACE_TAO/releases/download/ACE%2BTAO-6_5_6/ACE-src-6.5.6.zip" - FILENAME ACE-src-6.5.6.zip - SHA512 4ee42aafc86af159ab20dbb14c7c2a49bed733645f5cc3afa8cef3e9688ff929002f3420eb33e859afe10a534afc276340faa21d029fa56bd07bd9aed3403ab4 + URLS "https://github.com/DOCGroup/ACE_TAO/releases/download/ACE%2BTAO-6_5_7/ACE-src-6.5.7.zip" + FILENAME ACE-src-6.5.7.zip + SHA512 6ce6954941521b34ae8913dfe053d0f066632c55adf4091dae6bc180c79963d6f4ddfec7796cd6d9fc8ff59037ee162d20b017c4c296828913498bdbac2fc8a7 ) vcpkg_extract_source_archive_ex( @@ -30,6 +30,7 @@ else() endif() if("ssl" IN_LIST FEATURES) list(APPEND ACE_FEATURE_LIST "ssl=1") + list(APPEND ACE_FEATURE_LIST "openssl11=1") else() list(APPEND ACE_FEATURE_LIST "ssl=0") endif() diff --git a/ports/akali/CONTROL b/ports/akali/CONTROL new file mode 100644 index 000000000..2aa6b0d6c --- /dev/null +++ b/ports/akali/CONTROL @@ -0,0 +1,4 @@ +Source: akali +Version: 1.39 +Description: C++ Common Library. +Homepage: https://github.com/winsoft666/akali
\ No newline at end of file diff --git a/ports/akali/portfile.cmake b/ports/akali/portfile.cmake new file mode 100644 index 000000000..1c87179f8 --- /dev/null +++ b/ports/akali/portfile.cmake @@ -0,0 +1,30 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO winsoft666/akali + REF 07d855dd2da7cddb374646465799734e48e0adb2 + SHA512 4298bc97c5b99494f517e46a86a30dcd61e9d4cfdfa5dbb4c17957c8e866de8ed5b41b2f9a17261f96fc3c7b25fbac2003af4ad8ca675d3f59ce6176e1112220 + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DBUILD_TESTS:BOOL=OFF +) + +vcpkg_fail_port_install(ON_ARCH "arm" "arm64" ON_TARGET "UWP") + +vcpkg_install_cmake() + +if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/cmake/akali) + vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/akali) +elseif(EXISTS ${CURRENT_PACKAGES_DIR}/share/akali) + vcpkg_fixup_cmake_targets(CONFIG_PATH share/akali) +endif() + +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) + +vcpkg_copy_pdbs() diff --git a/ports/alembic/CONTROL b/ports/alembic/CONTROL index e95c999d7..5d9e05635 100644 --- a/ports/alembic/CONTROL +++ b/ports/alembic/CONTROL @@ -1,5 +1,5 @@ Source: alembic -Version: 1.7.11-5 +Version: 1.7.11-6 Build-Depends: ilmbase, hdf5 Description: Alembic is an open framework for storing and sharing scene data that includes a C++ library, a file format, and client plugins and applications. Homepage: https://alembic.io/ diff --git a/ports/alembic/fix-find-openexr-ilmbase.patch b/ports/alembic/fix-find-openexr-ilmbase.patch index fdd24249a..6a72711f4 100644 --- a/ports/alembic/fix-find-openexr-ilmbase.patch +++ b/ports/alembic/fix-find-openexr-ilmbase.patch @@ -1,5 +1,5 @@ diff --git a/cmake/AlembicIlmBase.cmake b/cmake/AlembicIlmBase.cmake -index cd00d70..a73c8db 100644 +index cd00d70..0e50512 100644 --- a/cmake/AlembicIlmBase.cmake +++ b/cmake/AlembicIlmBase.cmake @@ -33,11 +33,25 @@ @@ -30,6 +30,18 @@ index cd00d70..a73c8db 100644 SET(ALEMBIC_ILMBASE_LIBS ${ALEMBIC_ILMBASE_IMATH_LIB} ${ALEMBIC_ILMBASE_ILMTHREAD_LIB} +@@ -45,9 +59,9 @@ IF (ILMBASE_FOUND) + ${ALEMBIC_ILMBASE_HALF_LIB} + ) + +- if (${ALEMBIC_ILMBASE_IEXMATH_LIB}) ++ if (ALEMBIC_ILMBASE_IEXMATH_LIB) + SET(ALEMBIC_ILMBASE_LIBS ${ALEMBIC_ILMBASE_LIBS} ${ALEMBIC_ILMBASE_IEXMATH_LIB}) +- endif (${ALEMBIC_ILMBASE_IEXMATH_LIB}) ++ endif (ALEMBIC_ILMBASE_IEXMATH_LIB) + + ELSE() + SET(ALEMBIC_ILMBASE_FOUND 0 CACHE STRING "Set to 1 if IlmBase is found, 0 otherwise") diff --git a/cmake/AlembicOpenEXR.cmake b/cmake/AlembicOpenEXR.cmake index 0833b32..a9180cd 100644 --- a/cmake/AlembicOpenEXR.cmake diff --git a/ports/angle/002-fix-builder-error.patch b/ports/angle/002-fix-builder-error.patch new file mode 100644 index 000000000..db70f9fdc --- /dev/null +++ b/ports/angle/002-fix-builder-error.patch @@ -0,0 +1,30 @@ +diff --git a/src/gpu_info_util/SystemInfo_win.cpp b/src/gpu_info_util/SystemInfo_win.cpp +index 878f0f5..2255982 100644 +--- a/src/gpu_info_util/SystemInfo_win.cpp ++++ b/src/gpu_info_util/SystemInfo_win.cpp +@@ -4,6 +4,12 @@ + // found in the LICENSE file. + // + ++// Windows.h needs to be included first ++#include <windows.h> ++ ++#include <d3d10.h> ++#include <dxgi.h> ++ + // SystemInfo_win.cpp: implementation of the Windows-specific parts of SystemInfo.h + + #include "gpu_info_util/SystemInfo_internal.h" +@@ -11,12 +17,6 @@ + #include "common/debug.h" + #include "common/string_utils.h" + +-// Windows.h needs to be included first +-#include <windows.h> +- +-#include <d3d10.h> +-#include <dxgi.h> +- + #include <array> + #include <sstream> + diff --git a/ports/angle/CMakeLists.txt b/ports/angle/CMakeLists.txt index 8be51c0d4..83850b54f 100644 --- a/ports/angle/CMakeLists.txt +++ b/ports/angle/CMakeLists.txt @@ -14,7 +14,7 @@ else() endif()
if(MSVC)
- add_compile_options(/d2guard4 /Wv:18 /guard:cf /permissive)
+ add_compile_options(/d2guard4 /Wv:18 /guard:cf /permissive /bigobj)
else()
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
diff --git a/ports/angle/CONTROL b/ports/angle/CONTROL index e0b0a5f6d..1a919f3fc 100644 --- a/ports/angle/CONTROL +++ b/ports/angle/CONTROL @@ -1,6 +1,6 @@ -Source: angle
-Version: 2019-07-19-2 -Homepage: https://github.com/google/angle
-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
+Source: angle +Version: 2019-07-19-4 +Homepage: https://github.com/google/angle +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/angle/portfile.cmake b/ports/angle/portfile.cmake index 527874d72..c3f27eb4e 100644 --- a/ports/angle/portfile.cmake +++ b/ports/angle/portfile.cmake @@ -1,8 +1,6 @@ -include(vcpkg_common_functions) - vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) -if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") +if (VCPKG_TARGET_IS_LINUX) message(WARNING "Building with a gcc version less than 6.1 is not supported.") endif() @@ -23,6 +21,7 @@ vcpkg_from_github( SHA512 037ebe356371924088563180c4a37a31eaffa41ca21c42554391672c28e62fabc19d787516b88baa192b771e05c370c5a6cfec0863b70e08d65216f41d89923f PATCHES 001-fix-uwp.patch + 002-fix-builder-error.patch ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) @@ -42,4 +41,4 @@ vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-angle TARGET_PATH share/u vcpkg_copy_pdbs() -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/angle RENAME copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/argparse/CONTROL b/ports/argparse/CONTROL index 58aee48ef..cfb3e8eed 100644 --- a/ports/argparse/CONTROL +++ b/ports/argparse/CONTROL @@ -1,4 +1,4 @@ Source: argparse
-Version: 1.9
+Version: 2.1
Description: Argument parser for modern C++
Homepage: https://github.com/p-ranav/argparse
diff --git a/ports/argparse/portfile.cmake b/ports/argparse/portfile.cmake index a3d38d4b4..82216fdb2 100644 --- a/ports/argparse/portfile.cmake +++ b/ports/argparse/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO p-ranav/argparse
- REF v1.9
- SHA512 6cfc7fc274a11093fe5254f244adaacdcc81123b1d7e9b51110ffdfe9a344fb59044ec9d98017f25aa8ea417d57cfca330fdea7161226da26f1b4fc199fdc4fb
+ REF 473d550ea313ea315a820b3b1b426254ad17061a # v2.1
+ SHA512 59408a95e2ddb8d2e0f35229d58545569489f03b1a156fa9b9e92bbf7d669656045c3cffd8f2d939e1d749999cbc9ade7946eb2da1552b5edf2e069e893bdbaf
HEAD_REF master
)
diff --git a/ports/argumentum/CONTROL b/ports/argumentum/CONTROL new file mode 100755 index 000000000..055a42337 --- /dev/null +++ b/ports/argumentum/CONTROL @@ -0,0 +1,4 @@ +Source: argumentum
+Version: 0.2.2
+Description: A C++17 command line argument parser inspired by Python argparse
+Homepage: https://github.com/mmahnic/argumentum
diff --git a/ports/argumentum/portfile.cmake b/ports/argumentum/portfile.cmake new file mode 100755 index 000000000..7d8ffae7a --- /dev/null +++ b/ports/argumentum/portfile.cmake @@ -0,0 +1,27 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO mmahnic/argumentum
+ REF v0.2.2
+ SHA512 750a26d021cdf243479a20d01924007cdca717a53f34e4969d2df6c2c10c2f41a4df4bcd0a9fdf3d75928290d31195fa490fe13d4f2cba391c9dbad48aa98184
+ HEAD_REF master
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DARGUMENTUM_BUILD_EXAMPLES=OFF
+ -DARGUMENTUM_BUILD_TESTS=OFF
+)
+
+vcpkg_install_cmake()
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/Argumentum)
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/LICENSE
+ DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}
+ RENAME copyright)
diff --git a/ports/assimp/CONTROL b/ports/assimp/CONTROL index ba4a89980..2e58fd6af 100644 --- a/ports/assimp/CONTROL +++ b/ports/assimp/CONTROL @@ -1,5 +1,5 @@ Source: assimp
-Version: 5.0.0-1
+Version: 5.0.0-2
Homepage: https://github.com/assimp/assimp
Description: The Open Asset import library
-Build-Depends: zlib, rapidjson
+Build-Depends: zlib, rapidjson, minizip
diff --git a/ports/assimp/fix_minizip.patch b/ports/assimp/fix_minizip.patch new file mode 100644 index 000000000..a0207ebe6 --- /dev/null +++ b/ports/assimp/fix_minizip.patch @@ -0,0 +1,32 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 6c3d03e..4cb6927 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -470,12 +470,12 @@ ENDIF(HUNTER_ENABLED)
+
+ IF( NOT IOS )
+ IF( NOT ASSIMP_BUILD_MINIZIP )
+- use_pkgconfig(UNZIP minizip)
++ find_package(minizip CONFIG REQUIRED)
+ ENDIF( NOT ASSIMP_BUILD_MINIZIP )
+ ELSE ( NOT IOS )
+ IF( NOT BUILD_SHARED_LIBS )
+ IF( NOT ASSIMP_BUILD_MINIZIP )
+- use_pkgconfig(UNZIP minizip)
++ find_package(minizip CONFIG REQUIRED)
+ ENDIF( NOT ASSIMP_BUILD_MINIZIP )
+ ENDIF ( NOT BUILD_SHARED_LIBS )
+ ENDIF ( NOT IOS )
+diff --git a/code/CMakeLists.txt b/code/CMakeLists.txt
+index 55538d9..30568ff 100644
+--- a/code/CMakeLists.txt
++++ b/code/CMakeLists.txt
+@@ -1125,7 +1125,7 @@ IF(HUNTER_ENABLED)
+ zip::zip
+ )
+ ELSE(HUNTER_ENABLED)
+- TARGET_LINK_LIBRARIES(assimp ${ZLIB_LIBRARIES} ${OPENDDL_PARSER_LIBRARIES} ${IRRXML_LIBRARY} )
++ TARGET_LINK_LIBRARIES(assimp ${ZLIB_LIBRARIES} ${OPENDDL_PARSER_LIBRARIES} ${IRRXML_LIBRARY} minizip::minizip)
+ ENDIF(HUNTER_ENABLED)
+
+ if(ASSIMP_ANDROID_JNIIOSYSTEM)
diff --git a/ports/assimp/portfile.cmake b/ports/assimp/portfile.cmake index 07c0534e8..99ef185bd 100644 --- a/ports/assimp/portfile.cmake +++ b/ports/assimp/portfile.cmake @@ -1,5 +1,3 @@ -include(vcpkg_common_functions) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO assimp/assimp @@ -10,6 +8,7 @@ vcpkg_from_github( uninitialized-variable.patch fix-static-build-error.patch cmake-policy.patch + fix_minizip.patch ) file(REMOVE ${SOURCE_PATH}/cmake-modules/FindZLIB.cmake) @@ -67,6 +66,4 @@ endif() file(WRITE ${CURRENT_PACKAGES_DIR}/share/assimp/assimp-config.cmake "${ASSIMP_CONFIG}") -# Handle copyright -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/assimp) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/assimp/LICENSE ${CURRENT_PACKAGES_DIR}/share/assimp/copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
\ No newline at end of file diff --git a/ports/azure-c-shared-utility/CONTROL b/ports/azure-c-shared-utility/CONTROL index 7ace5d3ac..42ace4276 100644 --- a/ports/azure-c-shared-utility/CONTROL +++ b/ports/azure-c-shared-utility/CONTROL @@ -1,7 +1,8 @@ Source: azure-c-shared-utility -Version: 2019-10-07.2 +Version: 2019-10-07.2-1 Description: Azure C SDKs common code Build-Depends: curl (linux), openssl (linux), azure-macro-utils-c, umock-c Feature: public-preview Description: Azure C SDKs common code (public preview) +Build-Depends: curl (linux), openssl (linux), azure-macro-utils-c[public-preview], umock-c[public-preview]
\ No newline at end of file diff --git a/ports/azure-c-shared-utility/portfile.cmake b/ports/azure-c-shared-utility/portfile.cmake index 11669b71c..4ae236b53 100644 --- a/ports/azure-c-shared-utility/portfile.cmake +++ b/ports/azure-c-shared-utility/portfile.cmake @@ -1,4 +1,4 @@ -include(vcpkg_common_functions) +vcpkg_fail_port_install(ON_TARGET "UWP") vcpkg_check_linkage(ONLY_STATIC_LIBRARY) diff --git a/ports/azure-iot-sdk-c/CONTROL b/ports/azure-iot-sdk-c/CONTROL index 047f55c6a..f13b4d20e 100644 --- a/ports/azure-iot-sdk-c/CONTROL +++ b/ports/azure-iot-sdk-c/CONTROL @@ -1,11 +1,11 @@ Source: azure-iot-sdk-c -Version: 2019-10-11.2 +Version: 2019-11-27.1 Build-Depends: azure-uamqp-c, azure-umqtt-c, azure-c-shared-utility, parson, azure-uhttp-c, azure-macro-utils-c, umock-c Description: A C99 SDK for connecting devices to Microsoft Azure IoT services Feature: public-preview Description: A version of the azure-iot-sdk-c containing public-preview features. -Build-Depends: azure-uamqp-c[public-preview], azure-umqtt-c[public-preview], azure-c-shared-utility[public-preview], azure-uhttp-c[public-preview], azure-macro-utils-c, umock-c +Build-Depends: azure-uamqp-c[public-preview], azure-umqtt-c[public-preview], azure-c-shared-utility[public-preview], azure-uhttp-c[public-preview], azure-macro-utils-c[public-preview], umock-c[public-preview] Feature: use_prov_client Description: Enables device provisioning client for DPS
\ No newline at end of file diff --git a/ports/azure-iot-sdk-c/cmake-hsm-option.patch b/ports/azure-iot-sdk-c/cmake-hsm-option.patch deleted file mode 100644 index ea6af5c23..000000000 --- a/ports/azure-iot-sdk-c/cmake-hsm-option.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt
-index b2c51de83..5d42dc441 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -121,9 +121,12 @@ if (${use_prov_client})
- set(use_prov_client_core ON)
-
- if ("${hsm_custom_lib}" STREQUAL "")
-- set(hsm_type_x509 ON)
-- set(hsm_type_sastoken ON)
-- set(hsm_type_symm_key ON)
-+ if ((NOT ${hsm_type_x509}) AND (NOT ${hsm_type_sastoken}) AND (NOT ${hsm_type_symm_key}))
-+ # If the cmake option did not explicitly configure an hsm type, then enable them all.
-+ set(hsm_type_x509 ON)
-+ set(hsm_type_sastoken ON)
-+ set(hsm_type_symm_key ON)
-+ endif()
- else()
- set(hsm_type_custom ON)
- endif()
diff --git a/ports/azure-iot-sdk-c/portfile.cmake b/ports/azure-iot-sdk-c/portfile.cmake index 98d051e2b..83f637114 100644 --- a/ports/azure-iot-sdk-c/portfile.cmake +++ b/ports/azure-iot-sdk-c/portfile.cmake @@ -6,10 +6,10 @@ if("public-preview" IN_LIST FEATURES) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Azure/azure-iot-sdk-c - REF d1cdf78b5160af8e08354e102a6b96395eee79e1 - SHA512 0efbfc19e5eef4831b55ded0e8d88e83194bc0f26886841ddc83405c15b7f1bae983e22dc569e22846acd78b843b9e7492883b7c502f4eed92ff80ef45a9942d + REF cb2e8d390df56ffa31d08ca0a79ab58ff96160cc + SHA512 6798b17d6768b3ccbd0eb66719b50f364cd951736eb71110e2dc9deca054a1566ff88b9e8c5e9b52536e4308cad6cd3cbebff3282c123083e3afaee5535e724b HEAD_REF public-preview - PATCHES improve-external-deps.patch cmake-hsm-option.patch + PATCHES improve-external-deps.patch ) else() vcpkg_from_github( diff --git a/ports/azure-kinect-sensor-sdk/CONTROL b/ports/azure-kinect-sensor-sdk/CONTROL new file mode 100644 index 000000000..015a3118f --- /dev/null +++ b/ports/azure-kinect-sensor-sdk/CONTROL @@ -0,0 +1,12 @@ +Source: azure-kinect-sensor-sdk +Version: 1.4.0-alpha.0-1 +Homepage: https://github.com/microsoft/Azure-Kinect-Sensor-SDK +Description: Azure Kinect SDK is a cross platform (Linux and Windows) user mode SDK to read data from your Azure Kinect device. +Build-Depends: azure-c-shared-utility, glfw3, gtest, imgui, libusb, spdlog, cjson, ebml, libjpeg-turbo, matroska, libsoundio, libyuv + +Feature: docs +Description: Build K4A doxygen documentation. + +Feature: tool +Description: Build tools. +Build-Depends: gl3w, imgui[example]
\ No newline at end of file diff --git a/ports/azure-kinect-sensor-sdk/disable-c4275.patch b/ports/azure-kinect-sensor-sdk/disable-c4275.patch new file mode 100644 index 000000000..354d1cce3 --- /dev/null +++ b/ports/azure-kinect-sensor-sdk/disable-c4275.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e36009e..58a092e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -117,7 +117,7 @@ endif() + # add jpeg-turbo library to jpeg libraries. + set(JPEG_LIBRARIES ${JPEG_LIBRARIES} ${JPEG_TURBO}) + # Fix embl error +-add_compile_options(/wd4828 /wd4251) ++add_compile_options(/wd4828 /wd4251 /wd4275) + + # Find all dependencies + add_subdirectory(extern) diff --git a/ports/azure-kinect-sensor-sdk/fix-builds.patch b/ports/azure-kinect-sensor-sdk/fix-builds.patch new file mode 100644 index 000000000..52240c68a --- /dev/null +++ b/ports/azure-kinect-sensor-sdk/fix-builds.patch @@ -0,0 +1,662 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4967b94..e36009e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -27,8 +27,6 @@ option(K4A_BUILD_DOCS "Build K4A doxygen documentation" OFF) + option(K4A_MTE_VERSION "Skip FW version check" OFF) + option(K4A_SOURCE_LINK "Enable source linking on MSVC" OFF) + +-include(GitCommands) +- + # Set the project version + include(K4AProjectVersion) + +@@ -100,6 +98,27 @@ if ("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_C_COMPILER_ID}" STREQUAL + set(CMAKE_VISIBILITY_INLINES_HIDDEN 1) + endif() + ++find_package(azure_c_shared_utility CONFIG REQUIRED) ++find_package(glfw3 CONFIG REQUIRED) ++find_package(cJSON CONFIG REQUIRED) ++find_package(gtest CONFIG REQUIRED) ++find_package(imgui CONFIG REQUIRED) ++find_package(EBML CONFIG REQUIRED) ++find_package(JPEG REQUIRED) ++find_library(JPEG_TURBO turbojpeg REQUIRED) ++find_package(Matroska CONFIG REQUIRED) ++find_package(libsoundio CONFIG REQUIRED) ++find_library(LibUSB libusb-1.0 REQUIRED) ++find_package(libyuv CONFIG REQUIRED) ++find_package(spdlog CONFIG REQUIRED) ++if (BUILD_TOOLS) ++ find_package(gl3w CONFIG REQUIRED) ++endif() ++# add jpeg-turbo library to jpeg libraries. ++set(JPEG_LIBRARIES ${JPEG_LIBRARIES} ${JPEG_TURBO}) ++# Fix embl error ++add_compile_options(/wd4828 /wd4251) ++ + # Find all dependencies + add_subdirectory(extern) + +@@ -160,10 +179,16 @@ if ("${CMAKE_C_COMPILER_ID}" STREQUAL "MSVC") + endif() + endif() + +-add_subdirectory(examples) +-add_subdirectory(src) +-add_subdirectory(tests) +-add_subdirectory(tools) ++if (BUILD_EXAMPLES) ++ add_subdirectory(examples) ++endif() ++ add_subdirectory(src) ++if (WITH_TEST) ++ add_subdirectory(tests) ++endif() ++if (BUILD_TOOLS) ++ add_subdirectory(tools) ++endif() + + if (K4A_BUILD_DOCS) + find_package(Doxygen 1.8.14 EXACT) +diff --git a/examples/green_screen/CMakeLists.txt b/examples/green_screen/CMakeLists.txt +index 423ca68..0c7cc0a 100644 +--- a/examples/green_screen/CMakeLists.txt ++++ b/examples/green_screen/CMakeLists.txt +@@ -7,9 +7,9 @@ target_include_directories( green_screen PRIVATE ${OpenCV_INCLUDE_DIRS} ) + # OpenCV_LIBS, by default, is picking up the debug version of opencv on Windows even in release mode, which was causing a dependency on non-redistributable Visual Studio dlls. + if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") + if ("${CMAKE_BUILD_TYPE}" STREQUAL "Debug") +- target_link_libraries(green_screen PRIVATE k4a::k4a ${OpenCV_DIR}/Opencv_world320d.lib) ++ target_link_libraries(green_screen PRIVATE k4a::k4a ${OpenCV_LIBS}) + else() +- target_link_libraries(green_screen PRIVATE k4a::k4a ${OpenCV_DIR}/Opencv_world320.lib) ++ target_link_libraries(green_screen PRIVATE k4a::k4a ${OpenCV_LIBS}) + endif() + else() + target_link_libraries(green_screen PRIVATE k4a::k4a ${OpenCV_LIBS}) +diff --git a/examples/opencv_compatibility/CMakeLists.txt b/examples/opencv_compatibility/CMakeLists.txt +index ef72e99..f1faeb7 100644 +--- a/examples/opencv_compatibility/CMakeLists.txt ++++ b/examples/opencv_compatibility/CMakeLists.txt +@@ -7,9 +7,9 @@ target_include_directories( opencv_example PRIVATE ${OpenCV_INCLUDE_DIRS} ) + # OpenCV_LIBS, by default, is picking up the debug version of opencv on Windows even in release mode, which was causing a dependency on non-redistributable Visual Studio dlls. + if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") + if ("${CMAKE_BUILD_TYPE}" STREQUAL "Debug") +- target_link_libraries(opencv_example PRIVATE k4a::k4a ${OpenCV_DIR}/Opencv_world320d.lib) ++ target_link_libraries(opencv_example PRIVATE k4a::k4a ${OpenCV_LIBS}) + else() +- target_link_libraries(opencv_example PRIVATE k4a::k4a ${OpenCV_DIR}/Opencv_world320.lib) ++ target_link_libraries(opencv_example PRIVATE k4a::k4a ${OpenCV_LIBS}) + endif() + else() + target_link_libraries(opencv_example PRIVATE k4a::k4a ${OpenCV_LIBS}) +diff --git a/examples/transformation/CMakeLists.txt b/examples/transformation/CMakeLists.txt +index e5b41e6..8f7f7f3 100644 +--- a/examples/transformation/CMakeLists.txt ++++ b/examples/transformation/CMakeLists.txt +@@ -9,5 +9,5 @@ add_executable(transformation_example + target_link_libraries(transformation_example PRIVATE + k4a::k4a + k4a::k4arecord +- libjpeg-turbo::libjpeg-turbo ++ ${JPEG_LIBRARIES} + ) +diff --git a/examples/viewer/opengl/CMakeLists.txt b/examples/viewer/opengl/CMakeLists.txt +index 166fe2a..a3db07f 100644 +--- a/examples/viewer/opengl/CMakeLists.txt ++++ b/examples/viewer/opengl/CMakeLists.txt +@@ -14,6 +14,6 @@ add_executable(viewer_opengl + + target_link_libraries(viewer_opengl PRIVATE + k4a::k4a +- glfw::glfw ++ glfw + imgui::imgui + ${OPENGL_LIBRARIES}) +\ No newline at end of file +diff --git a/extern/CMakeLists.txt b/extern/CMakeLists.txt +index cb4f7b4..c102766 100644 +--- a/extern/CMakeLists.txt ++++ b/extern/CMakeLists.txt +@@ -1,7 +1,6 @@ + # External dependencies are pulled in via submodules. Lets make sure the user + # has updated all the submodules +-if ((NOT K4A_TURNED_ON_GIT_SUBMODULES_RECURSE) OR +- (NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/azure_c_shared/src/CMakeLists.txt")) ++if (0) + find_package(Git REQUIRED QUIET) + if (Git_FOUND) + get_git_dir(${K4A_SOURCE_DIR} GIT_DIR) +@@ -57,18 +56,4 @@ endif() + # lower than CMake 3.3 + set(CMAKE_POLICY_DEFAULT_CMP0063 NEW) + +-add_subdirectory(azure_c_shared) +-add_subdirectory(cjson) +-add_subdirectory(glfw) +-add_subdirectory(googletest) +-add_subdirectory(imgui) +-add_subdirectory(libebml) +-add_subdirectory(libjpeg-turbo) +-add_subdirectory(libmatroska) +-add_subdirectory(libsoundio) +-add_subdirectory(libyuv) + add_subdirectory(libuvc) +-add_subdirectory(spdlog) +-if (NOT ${CMAKE_SYSTEM_NAME} STREQUAL "WindowsStore") +- add_subdirectory(libusb) +-endif() +diff --git a/src/allocator/CMakeLists.txt b/src/allocator/CMakeLists.txt +index 7140274..3bb6747 100644 +--- a/src/allocator/CMakeLists.txt ++++ b/src/allocator/CMakeLists.txt +@@ -11,7 +11,7 @@ target_include_directories(k4a_allocator PUBLIC + + # Dependencies of this library + target_link_libraries(k4a_allocator PUBLIC +- azure::aziotsharedutil ++ aziotsharedutil + k4ainternal::image + k4ainternal::logging) + +diff --git a/src/calibration/CMakeLists.txt b/src/calibration/CMakeLists.txt +index e96b7d0..ed69f41 100644 +--- a/src/calibration/CMakeLists.txt ++++ b/src/calibration/CMakeLists.txt +@@ -11,7 +11,7 @@ target_include_directories(k4a_calibration PUBLIC + + # Dependencies of this library + target_link_libraries(k4a_calibration PUBLIC +- cJSON::cJSON ++ cjson + k4ainternal::logging) + + # Define alias for other targets to link against +diff --git a/src/calibration/calibration.c b/src/calibration/calibration.c +index f046ef2..3d23ada 100644 +--- a/src/calibration/calibration.c ++++ b/src/calibration/calibration.c +@@ -6,7 +6,7 @@ + + // Dependent libraries + #include <k4ainternal/common.h> +-#include <cJSON.h> ++#include <cjson/cJSON.h> + + // System dependencies + #include <stdlib.h> +diff --git a/src/capturesync/CMakeLists.txt b/src/capturesync/CMakeLists.txt +index a434593..bcb19ba 100644 +--- a/src/capturesync/CMakeLists.txt ++++ b/src/capturesync/CMakeLists.txt +@@ -11,7 +11,7 @@ target_include_directories(k4a_capturesync PUBLIC + + # Dependencies of this library + target_link_libraries(k4a_capturesync PUBLIC +- azure::aziotsharedutil ++ aziotsharedutil + k4ainternal::logging) + + # Define alias for other targets to link against +diff --git a/src/dewrapper/CMakeLists.txt b/src/dewrapper/CMakeLists.txt +index 2756e43..f736fd1 100644 +--- a/src/dewrapper/CMakeLists.txt ++++ b/src/dewrapper/CMakeLists.txt +@@ -10,7 +10,7 @@ target_include_directories(k4a_dewrapper PUBLIC + ${K4A_PRIV_INCLUDE_DIR}) + + target_link_libraries(k4a_dewrapper PUBLIC +- azure::aziotsharedutil ++ aziotsharedutil + k4ainternal::allocator + k4ainternal::calibration + k4ainternal::logging +diff --git a/src/image/CMakeLists.txt b/src/image/CMakeLists.txt +index c40999b..82406e2 100644 +--- a/src/image/CMakeLists.txt ++++ b/src/image/CMakeLists.txt +@@ -11,7 +11,7 @@ target_include_directories(k4a_image PUBLIC + + # Dependencies of this library + target_link_libraries(k4a_image PUBLIC +- azure::aziotsharedutil ++ aziotsharedutil + k4ainternal::allocator + k4ainternal::logging) + +diff --git a/src/logging/CMakeLists.txt b/src/logging/CMakeLists.txt +index cbf0e4d..ca81c41 100644 +--- a/src/logging/CMakeLists.txt ++++ b/src/logging/CMakeLists.txt +@@ -11,7 +11,7 @@ target_include_directories(k4a_logging PUBLIC + + # Dependencies of this library + target_link_libraries(k4a_logging PUBLIC +- azure::aziotsharedutil ++ aziotsharedutil + spdlog::spdlog + k4ainternal::rwlock + k4ainternal::global +diff --git a/src/logging/logging.cpp b/src/logging/logging.cpp +index 05264c5..41185de 100644 +--- a/src/logging/logging.cpp ++++ b/src/logging/logging.cpp +@@ -24,6 +24,9 @@ + #pragma warning(disable : 4702) + #endif + #include <spdlog/spdlog.h> ++#include <spdlog/sinks/stdout_color_sinks.h> ++#include <spdlog/sinks/rotating_file_sink.h> ++#include <spdlog/sinks/stdout_sinks.h> + #ifdef _MSC_VER + #pragma warning(default : 4702) + #endif +diff --git a/src/queue/CMakeLists.txt b/src/queue/CMakeLists.txt +index 03d15f4..a42a135 100644 +--- a/src/queue/CMakeLists.txt ++++ b/src/queue/CMakeLists.txt +@@ -10,7 +10,7 @@ target_include_directories(k4a_queue PUBLIC + ${K4A_PRIV_INCLUDE_DIR}) + + target_link_libraries(k4a_queue PUBLIC +- azure::aziotsharedutil ++ aziotsharedutil + k4ainternal::allocator + k4ainternal::logging + ) +diff --git a/src/record/internal/CMakeLists.txt b/src/record/internal/CMakeLists.txt +index 97c6cf3..e9f5b1a 100644 +--- a/src/record/internal/CMakeLists.txt ++++ b/src/record/internal/CMakeLists.txt +@@ -22,17 +22,17 @@ target_include_directories(k4a_playback PUBLIC + target_link_libraries(k4a_record PUBLIC + k4a::k4a + k4ainternal::logging +- ebml::ebml +- matroska::matroska ++ EBML::ebml ++ Matroska::matroska + ) + + target_link_libraries(k4a_playback PUBLIC + k4a::k4a + k4ainternal::logging +- ebml::ebml +- matroska::matroska +- libyuv::libyuv +- libjpeg-turbo::libjpeg-turbo ++ EBML::ebml ++ Matroska::matroska ++ yuv ++ ${JPEG_LIBRARIES} + ) + + # Define alias for other targets to link against +diff --git a/src/record/sdk/CMakeLists.txt b/src/record/sdk/CMakeLists.txt +index 571a297..4be0697 100644 +--- a/src/record/sdk/CMakeLists.txt ++++ b/src/record/sdk/CMakeLists.txt +@@ -41,8 +41,8 @@ target_link_libraries(k4arecord PRIVATE + k4ainternal::playback + k4a::k4a + k4ainternal::logging +- ebml::ebml +- matroska::matroska ++ EBML::ebml ++ Matroska::matroska + ) + + # Define alias for k4arecord +diff --git a/src/tewrapper/CMakeLists.txt b/src/tewrapper/CMakeLists.txt +index e4a696e..6ee6696 100644 +--- a/src/tewrapper/CMakeLists.txt ++++ b/src/tewrapper/CMakeLists.txt +@@ -10,7 +10,7 @@ target_include_directories(k4a_tewrapper PUBLIC + ${K4A_PRIV_INCLUDE_DIR}) + + target_link_libraries(k4a_tewrapper PUBLIC +- azure::aziotsharedutil ++ aziotsharedutil + k4ainternal::logging + k4ainternal::deloader) + +diff --git a/src/usbcommand/CMakeLists.txt b/src/usbcommand/CMakeLists.txt +index f75bd55..5403216 100644 +--- a/src/usbcommand/CMakeLists.txt ++++ b/src/usbcommand/CMakeLists.txt +@@ -12,8 +12,8 @@ target_include_directories(k4a_usb_cmd PUBLIC + + # Dependencies of this library + target_link_libraries(k4a_usb_cmd PUBLIC +- azure::aziotsharedutil +- LibUSB::LibUSB ++ aziotsharedutil ++ ${LibUSB} + k4ainternal::allocator + k4ainternal::image + k4ainternal::logging) +diff --git a/src/usbcommand/usb_cmd_priv.h b/src/usbcommand/usb_cmd_priv.h +index 0aa502c..0405b58 100644 +--- a/src/usbcommand/usb_cmd_priv.h ++++ b/src/usbcommand/usb_cmd_priv.h +@@ -20,7 +20,7 @@ + #include <azure_c_shared_utility/threadapi.h> + + // Exteranl dependencis +-#include <libusb.h> ++#include <libusb-1.0/libusb.h> + + // Ensure we have LIBUSB_API_VERSION defined if not defined by libusb.h + #ifndef LIBUSB_API_VERSION +diff --git a/tests/Calibration/CMakeLists.txt b/tests/Calibration/CMakeLists.txt +index ea6a9dd..c107269 100644 +--- a/tests/Calibration/CMakeLists.txt ++++ b/tests/Calibration/CMakeLists.txt +@@ -4,8 +4,8 @@ + add_executable(calibration_ut calibration.cpp) + + target_link_libraries(calibration_ut PRIVATE +- azure::aziotsharedutil +- gtest::gtest ++ aziotsharedutil ++ GTest::gtest + k4ainternal::calibration + k4ainternal::utcommon) + +diff --git a/tests/CaptureSync/CMakeLists.txt b/tests/CaptureSync/CMakeLists.txt +index 0a9a8e2..f7bff42 100644 +--- a/tests/CaptureSync/CMakeLists.txt ++++ b/tests/CaptureSync/CMakeLists.txt +@@ -4,8 +4,8 @@ + add_executable(capturesync_ut capturesync.cpp) + + target_link_libraries(capturesync_ut PRIVATE +- azure::aziotsharedutil +- gtest::gtest ++ aziotsharedutil ++ GTest::gtest + k4ainternal::allocator + k4ainternal::capturesync + k4ainternal::image +diff --git a/tests/ColorTests/FunctionalTest/CMakeLists.txt b/tests/ColorTests/FunctionalTest/CMakeLists.txt +index 1e65ad7..709dfb0 100644 +--- a/tests/ColorTests/FunctionalTest/CMakeLists.txt ++++ b/tests/ColorTests/FunctionalTest/CMakeLists.txt +@@ -6,7 +6,7 @@ add_executable(color_ft color_ft.cpp) + target_link_libraries(color_ft PRIVATE + k4a::k4a + k4ainternal::utcommon +- gtest::gtest +- azure::aziotsharedutil) ++ GTest::gtest ++ aziotsharedutil) + + k4a_add_tests(TARGET color_ft HARDWARE_REQUIRED TEST_TYPE FUNCTIONAL) +diff --git a/tests/ColorTests/UnitTest/CMakeLists.txt b/tests/ColorTests/UnitTest/CMakeLists.txt +index f8f49c1..541548f 100644 +--- a/tests/ColorTests/UnitTest/CMakeLists.txt ++++ b/tests/ColorTests/UnitTest/CMakeLists.txt +@@ -42,7 +42,7 @@ if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") + elseif (${CMAKE_SYSTEM_NAME} STREQUAL "Linux") + target_link_libraries(color_ut PRIVATE + libuvc::libuvc +- libjpeg-turbo::libjpeg-turbo) ++ ${JPEG_LIBRARIES}) + endif() + + k4a_add_tests(TARGET color_ut TEST_TYPE UNIT) +diff --git a/tests/DepthTests/FunctionalTest/CMakeLists.txt b/tests/DepthTests/FunctionalTest/CMakeLists.txt +index 469c125..00f15f8 100644 +--- a/tests/DepthTests/FunctionalTest/CMakeLists.txt ++++ b/tests/DepthTests/FunctionalTest/CMakeLists.txt +@@ -6,7 +6,7 @@ add_executable(depth_ft depth_ft.cpp) + target_link_libraries(depth_ft PRIVATE + k4a::k4a + k4ainternal::utcommon +- gtest::gtest +- azure::aziotsharedutil) ++ GTest::gtest ++ aziotsharedutil) + + k4a_add_tests(TARGET depth_ft HARDWARE_REQUIRED TEST_TYPE FUNCTIONAL) +diff --git a/tests/ExternLibraries/azure_c_shared/CMakeLists.txt b/tests/ExternLibraries/azure_c_shared/CMakeLists.txt +index a487cde..44170f4 100644 +--- a/tests/ExternLibraries/azure_c_shared/CMakeLists.txt ++++ b/tests/ExternLibraries/azure_c_shared/CMakeLists.txt +@@ -6,7 +6,7 @@ add_executable(azure_c_shared_test + threading.cpp) + + target_link_libraries(azure_c_shared_test PRIVATE +- azure::aziotsharedutil +- gtest::gtest) ++ aziotsharedutil ++ GTest::gtest) + + k4a_add_tests(TARGET azure_c_shared_test TEST_TYPE UNIT) +diff --git a/tests/IMUTests/FunctionalTest/CMakeLists.txt b/tests/IMUTests/FunctionalTest/CMakeLists.txt +index cc6b3c2..d8762f6 100644 +--- a/tests/IMUTests/FunctionalTest/CMakeLists.txt ++++ b/tests/IMUTests/FunctionalTest/CMakeLists.txt +@@ -6,7 +6,7 @@ add_executable(imu_ft imu_ft.cpp) + target_link_libraries(imu_ft PRIVATE + k4a::k4a + k4ainternal::utcommon +- gtest::gtest +- azure::aziotsharedutil) ++ GTest::gtest ++ aziotsharedutil) + + k4a_add_tests(TARGET imu_ft HARDWARE_REQUIRED TEST_TYPE FUNCTIONAL) +diff --git a/tests/Transformation/CMakeLists.txt b/tests/Transformation/CMakeLists.txt +index 7f11a2f..c4ddaf8 100644 +--- a/tests/Transformation/CMakeLists.txt ++++ b/tests/Transformation/CMakeLists.txt +@@ -4,8 +4,8 @@ + add_executable(transformation_ut transformation.cpp) + + target_link_libraries(transformation_ut PRIVATE +- azure::aziotsharedutil +- gtest::gtest ++ aziotsharedutil ++ GTest::gtest + k4ainternal::image + k4ainternal::transformation + k4ainternal::utcommon +diff --git a/tests/UnitTests/allocator_ut/CMakeLists.txt b/tests/UnitTests/allocator_ut/CMakeLists.txt +index 913a7d8..0b7baeb 100644 +--- a/tests/UnitTests/allocator_ut/CMakeLists.txt ++++ b/tests/UnitTests/allocator_ut/CMakeLists.txt +@@ -4,8 +4,8 @@ + add_executable(allocator_ut allocator.cpp) + + target_link_libraries(allocator_ut PRIVATE +- azure::aziotsharedutil +- gtest::gtest ++ aziotsharedutil ++ GTest::gtest + k4ainternal::allocator + k4ainternal::image + k4ainternal::utcommon) +diff --git a/tests/UnitTests/dynlib_ut/CMakeLists.txt b/tests/UnitTests/dynlib_ut/CMakeLists.txt +index fbecc17..af73be2 100644 +--- a/tests/UnitTests/dynlib_ut/CMakeLists.txt ++++ b/tests/UnitTests/dynlib_ut/CMakeLists.txt +@@ -34,7 +34,7 @@ elseif (${CMAKE_SYSTEM_NAME} STREQUAL "Linux") + endif() + + target_link_libraries(dynlib_ut PRIVATE +- gtest::gtest ++ GTest::gtest + k4ainternal::dynlib + k4ainternal::utcommon) + +diff --git a/tests/UnitTests/queue_ut/CMakeLists.txt b/tests/UnitTests/queue_ut/CMakeLists.txt +index cf9b040..ec4a024 100644 +--- a/tests/UnitTests/queue_ut/CMakeLists.txt ++++ b/tests/UnitTests/queue_ut/CMakeLists.txt +@@ -4,8 +4,8 @@ + add_executable(queue_ut queue.cpp) + + target_link_libraries(queue_ut PRIVATE +- azure::aziotsharedutil +- gtest::gtest ++ aziotsharedutil ++ GTest::gtest + k4ainternal::allocator + k4ainternal::image + k4ainternal::queue +diff --git a/tests/UnitTests/utcommon/CMakeLists.txt b/tests/UnitTests/utcommon/CMakeLists.txt +index cca52c6..dfdd13d 100644 +--- a/tests/UnitTests/utcommon/CMakeLists.txt ++++ b/tests/UnitTests/utcommon/CMakeLists.txt +@@ -4,8 +4,8 @@ + add_library(utcommon STATIC utcommon.cpp) + + target_link_libraries(utcommon PUBLIC +- gtest::gtest +- gtest::gmock ++ GTest::gtest ++ GTest::gmock + k4ainternal::logging + ) + +diff --git a/tests/example/CMakeLists.txt b/tests/example/CMakeLists.txt +index 3305a1a..be0b667 100644 +--- a/tests/example/CMakeLists.txt ++++ b/tests/example/CMakeLists.txt +@@ -3,6 +3,6 @@ + + add_executable(k4a_example_test test.cpp) + target_link_libraries(k4a_example_test PRIVATE k4a::k4a) +-target_link_libraries(k4a_example_test PRIVATE gtest::gtest) ++target_link_libraries(k4a_example_test PRIVATE GTest::gtest) + + k4a_add_tests(TARGET k4a_example_test HARDWARE_REQUIRED TEST_TYPE FUNCTIONAL) +diff --git a/tests/executables/CMakeLists.txt b/tests/executables/CMakeLists.txt +index 7b03d15..6c070ee 100644 +--- a/tests/executables/CMakeLists.txt ++++ b/tests/executables/CMakeLists.txt +@@ -17,12 +17,12 @@ target_compile_definitions(executables_ft_custom PRIVATE -DUSE_CUSTOM_TEST_CONFI + target_link_libraries(executables_ft PRIVATE + k4a::k4a + k4ainternal::utcommon +- gtest::gtest) ++ GTest::gtest) + + target_link_libraries(executables_ft_custom PRIVATE + k4a::k4a + k4ainternal::utcommon +- gtest::gtest) ++ GTest::gtest) + + k4a_add_tests(TARGET executables_ft HARDWARE_REQUIRED TEST_TYPE FUNCTIONAL) + k4a_add_tests(TARGET executables_ft_custom HARDWARE_REQUIRED TEST_TYPE FUNCTIONAL_CUSTOM) +diff --git a/tests/global/CMakeLists.txt b/tests/global/CMakeLists.txt +index ea0a0e5..d85728d 100644 +--- a/tests/global/CMakeLists.txt ++++ b/tests/global/CMakeLists.txt +@@ -4,8 +4,8 @@ + add_executable(global_ft global.cpp) + + target_link_libraries(global_ft PRIVATE +- azure::aziotsharedutil +- gtest::gtest ++ aziotsharedutil ++ GTest::gtest + k4ainternal::global + k4ainternal::utcommon) + +diff --git a/tests/multidevice/CMakeLists.txt b/tests/multidevice/CMakeLists.txt +index 3fe044b..85f3058 100644 +--- a/tests/multidevice/CMakeLists.txt ++++ b/tests/multidevice/CMakeLists.txt +@@ -4,8 +4,8 @@ + add_executable(multidevice_ft multidevice.cpp) + + target_link_libraries(multidevice_ft PRIVATE +- azure::aziotsharedutil +- gtest::gtest ++ aziotsharedutil ++ GTest::gtest + k4a::k4a + k4ainternal::utcommon) + +diff --git a/tests/projections/cpp/CMakeLists.txt b/tests/projections/cpp/CMakeLists.txt +index 2fdfa2c..09b5303 100644 +--- a/tests/projections/cpp/CMakeLists.txt ++++ b/tests/projections/cpp/CMakeLists.txt +@@ -6,6 +6,6 @@ add_executable(cpp_projection_ft cpp_projection_ft.cpp) + target_link_libraries(cpp_projection_ft PRIVATE + k4a::k4a + k4ainternal::utcommon +- gtest::gtest) ++ GTest::gtest) + + k4a_add_tests(TARGET cpp_projection_ft HARDWARE_REQUIRED TEST_TYPE FUNCTIONAL) +diff --git a/tests/rwlock/CMakeLists.txt b/tests/rwlock/CMakeLists.txt +index 5889435..c6c1f73 100644 +--- a/tests/rwlock/CMakeLists.txt ++++ b/tests/rwlock/CMakeLists.txt +@@ -4,8 +4,8 @@ + add_executable(rwlock_ft rwlock.cpp) + + target_link_libraries(rwlock_ft PRIVATE +- azure::aziotsharedutil +- gtest::gtest ++ aziotsharedutil ++ GTest::gtest + k4ainternal::rwlock + k4ainternal::utcommon) + +diff --git a/tests/throughput/CMakeLists.txt b/tests/throughput/CMakeLists.txt +index c544e1e..9489bf8 100644 +--- a/tests/throughput/CMakeLists.txt ++++ b/tests/throughput/CMakeLists.txt +@@ -6,8 +6,8 @@ add_executable(throughput_perf throughput_perf.cpp) + target_compile_definitions(throughput_perf PRIVATE _CRT_SECURE_NO_WARNINGS) + + target_link_libraries(throughput_perf PRIVATE +- azure::aziotsharedutil +- gtest::gtest ++ aziotsharedutil ++ GTest::gtest + k4a::k4a + k4ainternal::logging + k4ainternal::utcommon) +diff --git a/tools/k4aviewer/CMakeLists.txt b/tools/k4aviewer/CMakeLists.txt +index 98578c0..6ab38d9 100644 +--- a/tools/k4aviewer/CMakeLists.txt ++++ b/tools/k4aviewer/CMakeLists.txt +@@ -58,12 +58,13 @@ set(EXTERNAL_LIBRARIES + k4a::k4a + k4a::k4arecord + imgui::imgui +- libjpeg-turbo::libjpeg-turbo ++ ${JPEG_LIBRARIES} + libsoundio::libsoundio +- LibUSB::LibUSB +- libyuv::libyuv +- glfw::glfw ++ ${LibUSB} ++ yuv ++ glfw + ${OPENGL_LIBRARIES} ++ unofficial::gl3w::gl3w + ) + + # On Windows, we need to call into setupapi to get USB container ID information +diff --git a/tools/k4aviewer/k4aaudiomanager.cpp b/tools/k4aviewer/k4aaudiomanager.cpp +index 243c800..ef85d45 100644 +--- a/tools/k4aviewer/k4aaudiomanager.cpp ++++ b/tools/k4aviewer/k4aaudiomanager.cpp +@@ -11,7 +11,7 @@ + + // Library headers + // +-#include <libusb.h> ++#include <libusb-1.0/libusb.h> + + // Project headers + // diff --git a/ports/azure-kinect-sensor-sdk/fix-components-path.patch b/ports/azure-kinect-sensor-sdk/fix-components-path.patch new file mode 100644 index 000000000..a8aa0773e --- /dev/null +++ b/ports/azure-kinect-sensor-sdk/fix-components-path.patch @@ -0,0 +1,26 @@ +diff --git a/src/record/sdk/CMakeLists.txt b/src/record/sdk/CMakeLists.txt +index 4be0697..d30c6de 100644 +--- a/src/record/sdk/CMakeLists.txt ++++ b/src/record/sdk/CMakeLists.txt +@@ -81,7 +81,7 @@ install( + development + RUNTIME + DESTINATION +- ${CMAKE_INSTALL_BINDIR} ++ tools + COMPONENT + runtime + ) +diff --git a/src/sdk/CMakeLists.txt b/src/sdk/CMakeLists.txt +index 3616f40..a5019cb 100644 +--- a/src/sdk/CMakeLists.txt ++++ b/src/sdk/CMakeLists.txt +@@ -90,7 +90,7 @@ install( + development + RUNTIME + DESTINATION +- ${CMAKE_INSTALL_BINDIR} ++ tools + COMPONENT + runtime + ) diff --git a/ports/azure-kinect-sensor-sdk/portfile.cmake b/ports/azure-kinect-sensor-sdk/portfile.cmake new file mode 100644 index 000000000..3c94f7dc3 --- /dev/null +++ b/ports/azure-kinect-sensor-sdk/portfile.cmake @@ -0,0 +1,49 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO microsoft/Azure-Kinect-Sensor-SDK + REF 17b644560ce7b4ee7dd921dfff0ae811aa54ede6 #v1.4.0-alpha.0 + SHA512 2746eebe5ef66c4b9d2215b6883723fca66dab77d405c662cc2af9364dc7fcd76aade396d23427db5797e0a534764eb2398890930ff3c792d0df8a681ce31462 + HEAD_REF master + PATCHES + fix-builds.patch + disable-c4275.patch + fix-components-path.patch +) + +vcpkg_find_acquire_program(PYTHON3) +get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY) +vcpkg_add_to_path("${PYTHON3_DIR}") + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + docs K4A_BUILD_DOCS + tool BUILD_TOOLS +) + +# .rc file needs windows.h, so do not use PREFER_NINJA here +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS ${FEATURE_OPTIONS} + -DK4A_SOURCE_LINK=OFF + -DK4A_MTE_VERSION=ON + -DBUILD_EXAMPLES=OFF + -DWITH_TEST=OFF +) + +vcpkg_install_cmake() + +# Avoid deleting debug/lib/cmake when fixing the first cmake +file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/cmake ${CURRENT_PACKAGES_DIR}/debug/share) +file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake ${CURRENT_PACKAGES_DIR}/share) +vcpkg_fixup_cmake_targets(CONFIG_PATH share/k4a TARGET_PATH share/k4a) +vcpkg_fixup_cmake_targets(CONFIG_PATH share/k4arecord TARGET_PATH share/k4arecord) + +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +if (VCPKG_LIBRARY_LINKAGE STREQUAL static) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) +endif() + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/azure-macro-utils-c/CONTROL b/ports/azure-macro-utils-c/CONTROL index 152bab24b..519824497 100644 --- a/ports/azure-macro-utils-c/CONTROL +++ b/ports/azure-macro-utils-c/CONTROL @@ -1,5 +1,7 @@ Source: azure-macro-utils-c -Version: 2019-10-07.2 +Version: 2019-11-27.1 Description: A library of macros for the Azure IoT SDK Suite Build-Depends: +Feature: public-preview +Description: A library of macros for the Azure IoT SDK Suite (public-preview) diff --git a/ports/azure-macro-utils-c/portfile.cmake b/ports/azure-macro-utils-c/portfile.cmake index 306a9e463..1758d13db 100644 --- a/ports/azure-macro-utils-c/portfile.cmake +++ b/ports/azure-macro-utils-c/portfile.cmake @@ -2,13 +2,23 @@ include(vcpkg_common_functions) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO Azure/azure-macro-utils-c - REF 7523af934fc4d9423111e358f49b19314ec9c3e3 - SHA512 b53765096654fff9c5670004e4e107bffa81dd07e63eeac687c9e2b7e5ea2e1f26b6ae025c05c45f5c28152a457922f08c7f8d3303fa4d3b9194c34ba59533d5 - HEAD_REF master -) +if("public-preview" IN_LIST FEATURES) + vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Azure/azure-macro-utils-c + REF 7523af934fc4d9423111e358f49b19314ec9c3e3 + SHA512 b53765096654fff9c5670004e4e107bffa81dd07e63eeac687c9e2b7e5ea2e1f26b6ae025c05c45f5c28152a457922f08c7f8d3303fa4d3b9194c34ba59533d5 + HEAD_REF master + ) +else() + vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Azure/azure-macro-utils-c + REF 7523af934fc4d9423111e358f49b19314ec9c3e3 + SHA512 b53765096654fff9c5670004e4e107bffa81dd07e63eeac687c9e2b7e5ea2e1f26b6ae025c05c45f5c28152a457922f08c7f8d3303fa4d3b9194c34ba59533d5 + HEAD_REF master + ) +endif() vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} diff --git a/ports/azure-storage-cpp/CONTROL b/ports/azure-storage-cpp/CONTROL index d1b76a4f9..3fc857f95 100644 --- a/ports/azure-storage-cpp/CONTROL +++ b/ports/azure-storage-cpp/CONTROL @@ -1,5 +1,5 @@ Source: azure-storage-cpp -Version: 7.0.0 +Version: 7.1.0 Build-Depends: cpprestsdk[core], atlmfc (windows), boost-log (!windows&!uwp), boost-locale (!windows&!uwp), libxml2 (!windows&!uwp), libuuid (!windows&!uwp&!osx), gettext Description: Microsoft Azure Storage Client SDK for C++ A client library for working with Microsoft Azure storage services including blobs, files, tables, and queues. This client library enables working with the Microsoft Azure storage services which include the blob service for storing binary and text data, the file service for storing binary and text data, the table service for storing structured non-relational data, and the queue service for storing messages that may be accessed by a client. diff --git a/ports/azure-storage-cpp/portfile.cmake b/ports/azure-storage-cpp/portfile.cmake index 9f7ac2162..6f6b4b39f 100644 --- a/ports/azure-storage-cpp/portfile.cmake +++ b/ports/azure-storage-cpp/portfile.cmake @@ -7,11 +7,9 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Azure/azure-storage-cpp - REF v7.0.0 - SHA512 2187bd4d640ff1630f4f20d2717ea0219f7835e524b1db5b89563b5b525a34200a33693030d9e004db9cfe1df905b6c76ffd709f9e6cb2e2861ba1c1f8d062db + REF v7.1.0 + SHA512 19ed12ee397141f2b5374857ff56514228cd6541307f754b2595507f8a81821fe49d3c8c4312c484678739432ad1a7d5202f1b2d48aa348e4601053dbb430ed9 HEAD_REF master - PATCHES - remove-gcov-dependency.patch ) vcpkg_configure_cmake( diff --git a/ports/azure-storage-cpp/remove-gcov-dependency.patch b/ports/azure-storage-cpp/remove-gcov-dependency.patch deleted file mode 100644 index 7083fe3fa..000000000 --- a/ports/azure-storage-cpp/remove-gcov-dependency.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/Microsoft.WindowsAzure.Storage/src/CMakeLists.txt b/Microsoft.WindowsAzure.Storage/src/CMakeLists.txt -index 6443f8e..db20749 100644 ---- a/Microsoft.WindowsAzure.Storage/src/CMakeLists.txt -+++ b/Microsoft.WindowsAzure.Storage/src/CMakeLists.txt -@@ -63,9 +63,6 @@ if(UNIX OR WIN32) - ) - endif() - --if ("${CMAKE_BUILD_TYPE}" MATCHES "Debug") -- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage") --endif() - if (APPLE) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${WARNINGS}") - else() diff --git a/ports/azure-uamqp-c/CONTROL b/ports/azure-uamqp-c/CONTROL index d22373ff7..f67f773cd 100644 --- a/ports/azure-uamqp-c/CONTROL +++ b/ports/azure-uamqp-c/CONTROL @@ -1,8 +1,8 @@ Source: azure-uamqp-c -Version: 2019-10-07.2 +Version: 2019-11-27.1 Build-Depends: azure-c-shared-utility, azure-macro-utils-c, umock-c Description: AMQP library for C Feature: public-preview Description: AMQP library for C (public preview) -Build-Depends: azure-c-shared-utility[public-preview], azure-macro-utils-c, umock-c +Build-Depends: azure-c-shared-utility[public-preview], azure-macro-utils-c[public-preview], umock-c[public-preview] diff --git a/ports/azure-uhttp-c/CONTROL b/ports/azure-uhttp-c/CONTROL index d9bb7460a..f485c0a4e 100644 --- a/ports/azure-uhttp-c/CONTROL +++ b/ports/azure-uhttp-c/CONTROL @@ -1,8 +1,8 @@ Source: azure-uhttp-c -Version: 2019-10-07.2 +Version: 2019-11-27.1 Build-Depends: azure-c-shared-utility, azure-macro-utils-c, umock-c Description: Azure HTTP Library written in C Feature: public-preview Description: Azure HTTP Library written in C (public preview) -Build-Depends: azure-c-shared-utility[public-preview], azure-macro-utils-c, umock-c +Build-Depends: azure-c-shared-utility[public-preview], azure-macro-utils-c[public-preview], umock-c[public-preview] diff --git a/ports/azure-umqtt-c/CONTROL b/ports/azure-umqtt-c/CONTROL index f9c1f6512..985959aee 100644 --- a/ports/azure-umqtt-c/CONTROL +++ b/ports/azure-umqtt-c/CONTROL @@ -1,8 +1,8 @@ Source: azure-umqtt-c -Version: 2019-10-07.2 +Version: 2019-11-27.1 Build-Depends: azure-c-shared-utility, azure-macro-utils-c, umock-c Description: General purpose library for communication over the mqtt protocol Feature: public-preview Description: General purpose library for communication over the mqtt protocol (public preview) -Build-Depends: azure-c-shared-utility[public-preview], azure-macro-utils-c, umock-c +Build-Depends: azure-c-shared-utility[public-preview], azure-macro-utils-c[public-preview], umock-c[public-preview] diff --git a/ports/basisu/CONTROL b/ports/basisu/CONTROL index e8b19db22..81e17c2de 100644 --- a/ports/basisu/CONTROL +++ b/ports/basisu/CONTROL @@ -1,5 +1,5 @@ Source: basisu
-Version: 1.11-2
+Version: 1.11-3
Homepage: https://github.com/BinomialLLC/basis_universal
Description: Basis Universal is a supercompressed GPU texture and video compression format that outputs a highly compressed intermediate file format (.basis) that can be quickly transcoded to a wide variety of GPU texture compression formats.
Build-Depends: lodepng
diff --git a/ports/basisu/portfile.cmake b/ports/basisu/portfile.cmake index 892026cbd..c78b80188 100644 --- a/ports/basisu/portfile.cmake +++ b/ports/basisu/portfile.cmake @@ -1,10 +1,8 @@ -include(vcpkg_common_functions) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO jherico/basis_universal - REF b0ec54562c215b2f9ed6d54dcaaca9d762d4aff3 - SHA512 27ceb6076c79991639c16bd56a1f81f03fad6d6b4b0184f3f3b594bb163509525e03a7d5f1ba068d186f9cbba677e52972e0b364f4369eadf507fca6e6c60820 + REF 497875f756ed0e3eb62e0ff08d55c62242f4be74 + SHA512 2293b78620a7ed510dbecf48bcae5f4b8524fe9020f864c8e79cf94ea9d95d51dddf83a5b4ea29cc95db19f87137bfef1cb68b7fbc6387e08bb42898d81c9303 HEAD_REF master ) @@ -24,9 +22,8 @@ else() set(TOOL_NAME basisu_tool) endif() -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/basisu) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) file(COPY ${CURRENT_PACKAGES_DIR}/bin/${TOOL_NAME} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/basisu) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/basisu/LICENSE ${CURRENT_PACKAGES_DIR}/share/basisu/copyright) vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/basisu) diff --git a/ports/bitsery/CONTROL b/ports/bitsery/CONTROL index 63ebade47..f2f18255a 100644 --- a/ports/bitsery/CONTROL +++ b/ports/bitsery/CONTROL @@ -1,3 +1,3 @@ Source: bitsery -Version: 5.0.0 +Version: 5.0.1-1 Description: Header only C++ binary serialization library diff --git a/ports/bitsery/portfile.cmake b/ports/bitsery/portfile.cmake index 8900f27b0..53a8bc5ac 100644 --- a/ports/bitsery/portfile.cmake +++ b/ports/bitsery/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO fraillt/bitsery - REF f85dff74151530fb05241877e3c80afab5891467 - SHA512 27dc79e80224f1429fccbbff75d9562e19db60a50567cb66c7999587cbf4a0b8344e3865ec804c63d05e041377dcc30de6fdc5ddfb99c779894ddd811f0d4a71 + REF v5.0.1 + SHA512 b4bb0cdec177b2b3e02f66bd313e4742345c5d928d862be3a3cf1b726006741cf6db2258bb7078bb42f46ed6247838c553bbb9c95b42566d9b05397554676696 HEAD_REF master PATCHES fix-install-paths.patch ) @@ -19,5 +19,4 @@ vcpkg_install_cmake() # Delete redundant and empty directories file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) -# Install license -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/bitsery RENAME copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/blend2d/CONTROL b/ports/blend2d/CONTROL index a589a4ee9..a0a1f6cc7 100644 --- a/ports/blend2d/CONTROL +++ b/ports/blend2d/CONTROL @@ -1,5 +1,5 @@ Source: blend2d -Version: beta_2019-10-09 +Version: beta_2019-12-27 Description: Beta 2D Vector Graphics Powered by a JIT Compiler Default-Features: jit, logging diff --git a/ports/blend2d/portfile.cmake b/ports/blend2d/portfile.cmake index 6e4705b2f..aadc1e95b 100644 --- a/ports/blend2d/portfile.cmake +++ b/ports/blend2d/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO blend2d/blend2d - REF 60bb0a03199b406dac92cfaa07d026cd8be2df34 - SHA512 eb214f39be5285e2fcea494ecb461723420763fea14e0ffd3ee96618f0256b5da25e4c74e2914d0722d44cc75ccaa5fd91a1731b427b884dd829107a5e8d5c55 + REF bddae39a210aa48c839901584eec647c8ae1b967 + SHA512 4d80571f5ec8f05753497af396046a75059002a1b7593cee80724a8b3c2495e566e88935bcc02c7380480a20b84ce44c228b1d6ca9c06e24af6564c2e40bc143 HEAD_REF master ) @@ -21,8 +21,8 @@ if(NOT BLEND2D_BUILD_NO_JIT) vcpkg_from_github( OUT_SOURCE_PATH ASMJIT_SOURCE_PATH REPO asmjit/asmjit - REF 238243530a35f5ad6205695ff0267b8bd639543a - SHA512 fd7936d3de5eabba35f4eb2d91f1833ab29c2ca34d9a89de674373f8101888ca9594bae34eb9eb02a9552fbf1785cdbf913a34db1865f9f56d39ce32aa951df7 + REF baa79895c81b47a9d39abec904204dc0d9e0e6bb + SHA512 ec79736d22795de0135598e6649089df5f1594100ff6b6595ed2b83707808ba76d69cf807ecf5e4b9f17ebf7c00e4c7155105e600d56932cb209b77ee9b4fd96 HEAD_REF master ) diff --git a/ports/boost-modular-build-helper/CONTROL b/ports/boost-modular-build-helper/CONTROL index c72ccb307..c468d11f1 100644 --- a/ports/boost-modular-build-helper/CONTROL +++ b/ports/boost-modular-build-helper/CONTROL @@ -1,2 +1,2 @@ Source: boost-modular-build-helper
-Version: 1.70.0-2
+Version: 1.71.0-1
diff --git a/ports/boost-modular-build-helper/Jamroot.jam b/ports/boost-modular-build-helper/Jamroot.jam index 7721973a9..b39bdc493 100644 --- a/ports/boost-modular-build-helper/Jamroot.jam +++ b/ports/boost-modular-build-helper/Jamroot.jam @@ -1,5 +1,5 @@ -constant BOOST_VERSION : 1.70.0 ;
-constant BOOST_VERSION_ABI_TAG : 1_70 ;
+constant BOOST_VERSION : 1.71.0 ;
+constant BOOST_VERSION_ABI_TAG : 1_71 ;
constant BOOST_JAMROOT_MODULE : $(__name__) ;
import boostcpp ;
diff --git a/ports/boost-modular-build-helper/boost-modular-build.cmake b/ports/boost-modular-build-helper/boost-modular-build.cmake index 600062e26..59db75312 100644 --- a/ports/boost-modular-build-helper/boost-modular-build.cmake +++ b/ports/boost-modular-build-helper/boost-modular-build.cmake @@ -253,7 +253,7 @@ function(boost_modular_build) file(TO_NATIVE_PATH "${PLATFORM_WINMD_DIR}" PLATFORM_WINMD_DIR)
string(REPLACE "\\" "/" PLATFORM_WINMD_DIR ${PLATFORM_WINMD_DIR}) # escape backslashes
- set(TOOLSET_OPTIONS "${TOOLSET_OPTIONS} <cflags>-Zl <compileflags>\"/AI${PLATFORM_WINMD_DIR}\" <linkflags>WindowsApp.lib <cxxflags>/ZW <compileflags>-DVirtualAlloc=VirtualAllocFromApp <compileflags>-D_WIN32_WINNT=0x0A00")
+ set(TOOLSET_OPTIONS "${TOOLSET_OPTIONS} <cflags>-Zl <compileflags> /AI\"${PLATFORM_WINMD_DIR}\" <linkflags>WindowsApp.lib <cxxflags>/ZW <compileflags>-DVirtualAlloc=VirtualAllocFromApp <compileflags>-D_WIN32_WINNT=0x0A00")
else()
set(TOOLSET_OPTIONS "${TOOLSET_OPTIONS} <compileflags>-D_WIN32_WINNT=0x0602")
endif()
@@ -357,7 +357,7 @@ function(boost_modular_build) string(REPLACE "-x64-" "-" NEW_FILENAME ${NEW_FILENAME}) # To enable CMake 3.10 and earlier to locate the binaries
string(REPLACE "-a32-" "-" NEW_FILENAME ${NEW_FILENAME}) # To enable CMake 3.10 and earlier to locate the binaries
string(REPLACE "-a64-" "-" NEW_FILENAME ${NEW_FILENAME}) # To enable CMake 3.10 and earlier to locate the binaries
- string(REPLACE "-1_70" "" NEW_FILENAME ${NEW_FILENAME}) # To enable CMake > 3.10 to locate the binaries
+ string(REPLACE "-1_71" "" NEW_FILENAME ${NEW_FILENAME}) # To enable CMake > 3.10 to locate the binaries
string(REPLACE "_python3-" "_python-" NEW_FILENAME ${NEW_FILENAME})
if("${DIRECTORY_OF_LIB_FILE}/${NEW_FILENAME}" STREQUAL "${DIRECTORY_OF_LIB_FILE}/${OLD_FILENAME}")
# nothing to do
diff --git a/ports/botan/CONTROL b/ports/botan/CONTROL index e96ef2ff5..e38a27bbb 100644 --- a/ports/botan/CONTROL +++ b/ports/botan/CONTROL @@ -1,4 +1,4 @@ Source: botan -Version: 2.11.0 +Version: 2.12.1-1 Homepage: https://botan.randombit.net Description: A cryptography library written in C++11 diff --git a/ports/botan/fix-generate-build-path.patch b/ports/botan/fix-generate-build-path.patch new file mode 100644 index 000000000..11c3dc0af --- /dev/null +++ b/ports/botan/fix-generate-build-path.patch @@ -0,0 +1,13 @@ +diff --git a/configure.py b/configure.py
+index 00baa0c..cfec5bb 100644
+--- a/configure.py
++++ b/configure.py
+@@ -2035,7 +2035,7 @@ def create_template_vars(source_paths, build_paths, options, modules, cc, arch,
+ 'maintainer_mode': options.maintainer_mode,
+
+ 'out_dir': build_dir,
+- 'build_dir': build_paths.build_dir,
++ 'build_dir': os.path.abspath(build_paths.build_dir),
+
+ 'doc_stamp_file': os.path.join(build_paths.build_dir, 'doc.stamp'),
+ 'makefile_path': os.path.join(build_paths.build_dir, '..', 'Makefile'),
diff --git a/ports/botan/fix-msvc-build.patch b/ports/botan/fix-msvc-build.patch new file mode 100644 index 000000000..a884b621d --- /dev/null +++ b/ports/botan/fix-msvc-build.patch @@ -0,0 +1,17 @@ +diff --git a/configure.py b/configure.py +index cfec5bb..0fad6ce 100644 +--- a/configure.py ++++ b/configure.py +@@ -2146,6 +2146,12 @@ def create_template_vars(source_paths, build_paths, options, modules, cc, arch, + + 'mod_list': sorted([m.basename for m in modules]) + } ++ ++ if cc.basename == 'msvc' and variables['cxx_abi_flags'] != '': ++ # MSVC linker doesn't support/need the ABI options, ++ # just transfer them over to just the compiler invocations ++ variables['cc_compile_flags'] = '%s %s' % (variables['cxx_abi_flags'], variables['cc_compile_flags']) ++ variables['cxx_abi_flags'] = '' + + variables['lib_flags'] = cc.gen_lib_flags(options, variables) + variables['cmake_lib_flags'] = cmake_escape(variables['lib_flags']) diff --git a/ports/botan/portfile.cmake b/ports/botan/portfile.cmake index 170b399ce..7343046b4 100644 --- a/ports/botan/portfile.cmake +++ b/ports/botan/portfile.cmake @@ -1,13 +1,14 @@ -include(vcpkg_common_functions) - -set(BOTAN_VERSION 2.11.0) +set(BOTAN_VERSION 2.12.1) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO randombit/botan - REF 16a726c3ad10316bd8d37b6118a5cc52894e8e8f - SHA512 3d759fb262d65f7d325a1e888f74cb1c372ef687b0fcc6fc6ba041b83e3dc65c2928b343c65a89e73ea00c09d11cdda3a161ca98dbabe426903c4cbaf030767c + REF 1a6ad661ce64287ccbe26460ccc3aa4247d86ba8 # 2.12.1 + SHA512 7a774f325c85761e2d076847f1fc8bc67592d696c4ebde839928591f7c85352e2df6032c122bdcc603adf84d76f5a1897c7118aa3859d38f79e474f27bc3b588 HEAD_REF master + PATCHES + fix-generate-build-path.patch + fix-msvc-build.patch # Remove this patch on next update ) if(CMAKE_HOST_WIN32) @@ -95,7 +96,11 @@ function(BOTAN_BUILD BOTAN_BUILD_TYPE) vcpkg_execute_required_process( COMMAND "${PYTHON3}" "${SOURCE_PATH}/src/scripts/install.py" --prefix=${BOTAN_FLAG_PREFIX} - --docdir=share + --bindir=${BOTAN_FLAG_PREFIX}/bin + --libdir=${BOTAN_FLAG_PREFIX}/lib + --pkgconfigdir=${BOTAN_FLAG_PREFIX}/lib + --includedir=${BOTAN_FLAG_PREFIX}/include + --docdir=${BOTAN_FLAG_PREFIX}/share WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${BOTAN_BUILD_TYPE}" LOGNAME install-${TARGET_TRIPLET}-${BOTAN_BUILD_TYPE}) diff --git a/ports/box2d/CMakeLists.txt b/ports/box2d/CMakeLists.txt deleted file mode 100644 index 951554266..000000000 --- a/ports/box2d/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -cmake_minimum_required(VERSION 3.9)
-project(Box2d CXX)
-
-file(GLOB_RECURSE SOURCES Box2D/Box2D/*.cpp)
-
-add_library(Box2D ${SOURCES})
-target_include_directories(Box2D PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/Box2D> $<INSTALL_INTERFACE:include>)
-
-install(TARGETS Box2D
- EXPORT unofficial-box2d-targets
- RUNTIME DESTINATION bin
- ARCHIVE DESTINATION lib
- LIBRARY DESTINATION lib
-)
-
-install(
- EXPORT unofficial-box2d-targets
- FILE unofficial-box2d-config.cmake
- NAMESPACE unofficial::box2d::
- DESTINATION share/unofficial-box2d
-)
diff --git a/ports/box2d/CONTROL b/ports/box2d/CONTROL index 98f6e2cbd..a7e4b7f1c 100644 --- a/ports/box2d/CONTROL +++ b/ports/box2d/CONTROL @@ -1,4 +1,4 @@ Source: box2d
-Version: 2.3.1-374664b-2
+Version: 2019-12-31
Description: An open source C++ engine for simulating rigid bodies in 2D.
Homepage: https://box2d.org
diff --git a/ports/box2d/export-targets.patch b/ports/box2d/export-targets.patch new file mode 100644 index 000000000..636f1086b --- /dev/null +++ b/ports/box2d/export-targets.patch @@ -0,0 +1,36 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 6ef515f..6975f91 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -95,8 +95,8 @@ set(BOX2D_HEADER_FILES
+ ../include/box2d/b2_world_callbacks.h
+ ../include/box2d/box2d.h)
+
+-add_library(box2d STATIC ${BOX2D_SOURCE_FILES} ${BOX2D_HEADER_FILES})
+-target_include_directories(box2d PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../include)
++add_library(box2d STATIC ${BOX2D_SOURCE_FILES})
++target_include_directories(box2d PUBLIC $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include> $<INSTALL_INTERFACE:include>)
+ target_include_directories(box2d PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
+ set_target_properties(box2d PROPERTIES
+ CXX_STANDARD 11
+@@ -104,5 +104,18 @@ set_target_properties(box2d PROPERTIES
+ CXX_EXTENSIONS NO
+ )
+
+-source_group(TREE "${CMAKE_CURRENT_SOURCE_DIR}" PREFIX "src" FILES ${BOX2D_SOURCE_FILES})
+-source_group(TREE "${CMAKE_CURRENT_SOURCE_DIR}/../include" PREFIX "include" FILES ${BOX2D_HEADER_FILES})
++install(FILES ${BOX2D_HEADER_FILES} DESTINATION include/box2d)
++
++install(TARGETS box2d
++ EXPORT unofficial-box2d-targets
++ RUNTIME DESTINATION bin
++ ARCHIVE DESTINATION lib
++ LIBRARY DESTINATION lib
++)
++
++install(
++ EXPORT unofficial-box2d-targets
++ FILE unofficial-box2d-config.cmake
++ NAMESPACE unofficial::box2d::
++ DESTINATION share/unofficial-box2d
++)
diff --git a/ports/box2d/portfile.cmake b/ports/box2d/portfile.cmake index 24da7f143..c930f41b9 100644 --- a/ports/box2d/portfile.cmake +++ b/ports/box2d/portfile.cmake @@ -1,32 +1,30 @@ -include(vcpkg_common_functions) +vcpkg_fail_port_install(ON_TARGET "uwp") vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO erincatto/Box2D - REF 374664b2a4ce2e7c24fbad6e1ed34bebcc9ab6bc - SHA512 39074bab01b36104aa685bfe39b40eb903d9dfb54cc3ba8098125db5291f55a8a9e578fc59563b2e8743abbbb26f419be7ae1524e235e7bd759257f99ff96bda + REF 37e2dc25f8da158abda10324d75cb4d1db009adf + SHA512 c9021b6bbc8ee405e38418bdadc136814fb66d5f4928ffd06d2ed016751613ecc3e82e7f60851fdc7a2e13594f68c21e7b7adb06d35a5a02314235132556d174 HEAD_REF master + PATCHES + export-targets.patch ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) - vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA + OPTIONS + -DBUILD_TESTS=OFF + -DBUILD_SAMPLES=OFF ) vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-box2d TARGET_PATH share/unofficial-box2d) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file( - COPY ${SOURCE_PATH}/Box2D/Box2D - DESTINATION ${CURRENT_PACKAGES_DIR}/include - FILES_MATCHING PATTERN "*.h" -) +vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-box2d TARGET_PATH share/unofficial-box2d) vcpkg_copy_pdbs() -file(COPY ${SOURCE_PATH}/Box2D/License.txt ${SOURCE_PATH}/README.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/box2d) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/box2d/License.txt ${CURRENT_PACKAGES_DIR}/share/box2d/copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/brynet/CONTROL b/ports/brynet/CONTROL index 341076cba..36e4a5f65 100644 --- a/ports/brynet/CONTROL +++ b/ports/brynet/CONTROL @@ -1,5 +1,4 @@ Source: brynet -Version: 1.0.3 +Version: 1.0.5 Homepage: https://github.com/IronsDu/brynet -Description: A C++ cross platform high performance tcp network library, and support SSL/HTTP/Websocket. -Build-Depends: openssl +Description: A C++ header only cross platform high performance tcp network library, and support SSL/HTTP/Websocket. diff --git a/ports/brynet/portfile.cmake b/ports/brynet/portfile.cmake index f707948ac..623b466db 100644 --- a/ports/brynet/portfile.cmake +++ b/ports/brynet/portfile.cmake @@ -1,23 +1,13 @@ -include(vcpkg_common_functions) - -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +#header-only library vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO IronsDu/brynet - REF v1.0.3 - SHA512 8759b522da34be68a7ba0959ed3d85382965efe5080e4cdd403001f3911d36398b7fe9d039fd9fb485a0d557cec0fa53863a512eb88f13f3ff222b6e30642baf + REF v1.0.5 + SHA512 2c625a6dc6f7b1b578d74f97b0ccec90856caaedb0725db4c5892cfaa33e77cd502b01ee26b1789017c459f4b0a03eaf16ae859dc51ad4e6f362aca7c5833995 HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA -) - -vcpkg_install_cmake() - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(INSTALL ${SOURCE_PATH}/include/brynet DESTINATION ${CURRENT_PACKAGES_DIR}/include) -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/brynet) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/brynet/LICENSE ${CURRENT_PACKAGES_DIR}/share/brynet/copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/bullet3/CONTROL b/ports/bullet3/CONTROL index d313255a5..be9bf2ef3 100644 --- a/ports/bullet3/CONTROL +++ b/ports/bullet3/CONTROL @@ -1,7 +1,7 @@ Source: bullet3
-Version: 2.88-1
+Version: 2.89
Homepage: https://github.com/bulletphysics/bullet3
Description: Bullet Physics is a professional collision detection, rigid body, and soft body dynamics library
Feature: multithreading
-Description: Multithreading funcitonality for bullet3
\ No newline at end of file +Description: Multithreading functionality for bullet3
diff --git a/ports/bullet3/cmake-fix.patch b/ports/bullet3/cmake-fix.patch new file mode 100644 index 000000000..c8339e51e --- /dev/null +++ b/ports/bullet3/cmake-fix.patch @@ -0,0 +1,277 @@ +diff --git a/BulletConfig.cmake.in b/BulletConfig.cmake.in +index f5dc7bdbb..f5412dac3 100644 +--- a/BulletConfig.cmake.in ++++ b/BulletConfig.cmake.in +@@ -3,6 +3,8 @@ + # BulletConfig.cmake(.in) + # + ++@PACKAGE_INIT@ ++ + # Use the following variables to compile and link against Bullet: + # BULLET_FOUND - True if Bullet was found on your system + # BULLET_USE_FILE - The file making Bullet usable +@@ -15,11 +17,20 @@ + # BULLET_VERSION_STRING - A human-readable string containing the version + + set ( BULLET_FOUND 1 ) +-set ( BULLET_USE_FILE "@BULLET_USE_FILE@" ) ++set_and_check ( BULLET_USE_FILE "@PACKAGE_BULLET_CONFIG_CMAKE_PATH@/UseBullet.cmake" ) + set ( BULLET_DEFINITIONS "@BULLET_DEFINITIONS@" ) +-set ( BULLET_INCLUDE_DIR "@INCLUDE_INSTALL_DIR@" ) +-set ( BULLET_INCLUDE_DIRS "@INCLUDE_INSTALL_DIR@" ) ++set_and_check ( BULLET_INCLUDE_DIR "@PACKAGE_INCLUDE_INSTALL_DIR@" ) ++set_and_check ( BULLET_INCLUDE_DIRS "@PACKAGE_INCLUDE_INSTALL_DIR@" ) + set ( BULLET_LIBRARIES "@BULLET_LIBRARIES@" ) +-set ( BULLET_LIBRARY_DIRS "@LIB_DESTINATION@" ) +-set ( BULLET_ROOT_DIR "@CMAKE_INSTALL_PREFIX@" ) +-set ( BULLET_VERSION_STRING "@BULLET_VERSION@" ) +\ No newline at end of file ++set_and_check ( BULLET_LIBRARY_DIRS "@PACKAGE_LIB_DESTINATION@" ) ++set_and_check ( BULLET_ROOT_DIR "@PACKAGE_CMAKE_INSTALL_PREFIX@" ) ++set ( BULLET_VERSION_STRING "@BULLET_VERSION@" ) ++ ++# Load targets ++if(NOT TARGET Bullet3Common) ++ file(GLOB CONFIG_FILES "@PACKAGE_BULLET_CONFIG_CMAKE_PATH@/*Targets.cmake") ++ foreach(f ${CONFIG_FILES}) ++ include(${f}) ++ endforeach() ++ set(_DIR) ++endif() +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 68e0a93bc..872e14361 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,4 +1,4 @@ +-cmake_minimum_required(VERSION 2.4.3) ++cmake_minimum_required(VERSION 3.0) + set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true) + cmake_policy(SET CMP0017 NEW) + #this line has to appear before 'PROJECT' in order to be able to disable incremental linking +@@ -465,23 +465,34 @@ IF (BUILD_UNIT_TESTS) + SUBDIRS(test) + ENDIF() + +-set (BULLET_CONFIG_CMAKE_PATH lib${LIB_SUFFIX}/cmake/bullet ) ++include(CMakePackageConfigHelpers) ++write_basic_package_version_file( ++ "${CMAKE_CURRENT_BINARY_DIR}/BulletConfigVersion.cmake" ++ VERSION ${BULLET_VERSION} ++ COMPATIBILITY AnyNewerVersion ++) ++ ++set (BULLET_CONFIG_CMAKE_PATH share/bullet3 ) + list (APPEND BULLET_LIBRARIES LinearMath) + list (APPEND BULLET_LIBRARIES Bullet3Common) + list (APPEND BULLET_LIBRARIES BulletInverseDynamics) + list (APPEND BULLET_LIBRARIES BulletCollision) + list (APPEND BULLET_LIBRARIES BulletDynamics) + list (APPEND BULLET_LIBRARIES BulletSoftBody) +-set (BULLET_USE_FILE ${BULLET_CONFIG_CMAKE_PATH}/UseBullet.cmake) +-configure_file ( ${CMAKE_CURRENT_SOURCE_DIR}/BulletConfig.cmake.in +- ${CMAKE_CURRENT_BINARY_DIR}/BulletConfig.cmake +- @ONLY ESCAPE_QUOTES +- ) ++ ++configure_package_config_file( ++ ${CMAKE_CURRENT_SOURCE_DIR}/BulletConfig.cmake.in ++ ${CMAKE_CURRENT_BINARY_DIR}/BulletConfig.cmake ++ PATH_VARS INCLUDE_INSTALL_DIR LIB_DESTINATION CMAKE_INSTALL_PREFIX BULLET_CONFIG_CMAKE_PATH ++ INSTALL_DESTINATION ${BULLET_CONFIG_CMAKE_PATH} ++) ++ + OPTION(INSTALL_CMAKE_FILES "Install generated CMake files" ON) + + IF (INSTALL_CMAKE_FILES) + install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/UseBullet.cmake + ${CMAKE_CURRENT_BINARY_DIR}/BulletConfig.cmake ++ ${CMAKE_CURRENT_BINARY_DIR}/BulletConfigVersion.cmake + DESTINATION ${BULLET_CONFIG_CMAKE_PATH} + ) + ENDIF (INSTALL_CMAKE_FILES) +diff --git a/src/Bullet3Common/CMakeLists.txt b/src/Bullet3Common/CMakeLists.txt +index e899e67d9..0ca702eb8 100644 +--- a/src/Bullet3Common/CMakeLists.txt ++++ b/src/Bullet3Common/CMakeLists.txt +@@ -43,9 +43,12 @@ IF (INSTALL_LIBS) + #FILES_MATCHING requires CMake 2.6 + IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5) + IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) +- INSTALL(TARGETS Bullet3Common DESTINATION .) ++ INSTALL(TARGETS Bullet3Common ++ EXPORT Bullet3CommonTargets ++ DESTINATION .) + ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + INSTALL(TARGETS Bullet3Common ++ EXPORT Bullet3CommonTargets + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX}) +@@ -59,5 +62,8 @@ DESTINATION ${INCLUDE_INSTALL_DIR} FILES_MATCHING PATTERN "*.h" PATTERN + SET_TARGET_PROPERTIES(Bullet3Common PROPERTIES FRAMEWORK true) + SET_TARGET_PROPERTIES(Bullet3Common PROPERTIES PUBLIC_HEADER "${Bullet3Common_HDRS}") + ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) ++ ++ INSTALL(EXPORT Bullet3CommonTargets ++ DESTINATION ${BULLET_CONFIG_CMAKE_PATH}) + ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) + ENDIF (INSTALL_LIBS) +diff --git a/src/BulletCollision/CMakeLists.txt b/src/BulletCollision/CMakeLists.txt +index f5d725562..e98de8ba2 100644 +--- a/src/BulletCollision/CMakeLists.txt ++++ b/src/BulletCollision/CMakeLists.txt +@@ -266,11 +266,15 @@ IF (INSTALL_LIBS) + #INSTALL of other files requires CMake 2.6 + IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5) + IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) +- INSTALL(TARGETS BulletCollision DESTINATION .) ++ INSTALL(TARGETS BulletCollision ++ EXPORT BulletCollisionTargets ++ DESTINATION .) + ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) +- INSTALL(TARGETS BulletCollision RUNTIME DESTINATION bin +- LIBRARY DESTINATION lib${LIB_SUFFIX} +- ARCHIVE DESTINATION lib${LIB_SUFFIX}) ++ INSTALL(TARGETS BulletCollision ++ EXPORT BulletCollisionTargets ++ RUNTIME DESTINATION bin ++ LIBRARY DESTINATION lib${LIB_SUFFIX} ++ ARCHIVE DESTINATION lib${LIB_SUFFIX}) + INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + DESTINATION ${INCLUDE_INSTALL_DIR} FILES_MATCHING PATTERN "*.h" PATTERN ".svn" EXCLUDE PATTERN "CMakeFiles" EXCLUDE) + INSTALL(FILES ../btBulletCollisionCommon.h +@@ -290,5 +294,8 @@ DESTINATION ${INCLUDE_INSTALL_DIR}/BulletCollision) + SET_PROPERTY(SOURCE ${NarrowPhaseCollision_HDRS} PROPERTY MACOSX_PACKAGE_LOCATION Headers/NarrowPhaseCollision) + + ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) ++ ++ INSTALL(EXPORT BulletCollisionTargets ++ DESTINATION ${BULLET_CONFIG_CMAKE_PATH}) + ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) + ENDIF (INSTALL_LIBS) +diff --git a/src/BulletDynamics/CMakeLists.txt b/src/BulletDynamics/CMakeLists.txt +index 3332440f2..3bbce4389 100644 +--- a/src/BulletDynamics/CMakeLists.txt ++++ b/src/BulletDynamics/CMakeLists.txt +@@ -147,11 +147,15 @@ IF (INSTALL_LIBS) + IF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) + IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5) + IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) +- INSTALL(TARGETS BulletDynamics DESTINATION .) ++ INSTALL(TARGETS BulletDynamics ++ EXPORT BulletDynamicsTargets ++ DESTINATION .) + ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) +- INSTALL(TARGETS BulletDynamics RUNTIME DESTINATION bin +- LIBRARY DESTINATION lib${LIB_SUFFIX} +- ARCHIVE DESTINATION lib${LIB_SUFFIX}) ++ INSTALL(TARGETS BulletDynamics ++ EXPORT BulletDynamicsTargets ++ RUNTIME DESTINATION bin ++ LIBRARY DESTINATION lib${LIB_SUFFIX} ++ ARCHIVE DESTINATION lib${LIB_SUFFIX}) + INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + DESTINATION ${INCLUDE_INSTALL_DIR} FILES_MATCHING PATTERN "*.h" PATTERN + ".svn" EXCLUDE PATTERN "CMakeFiles" EXCLUDE) +@@ -172,4 +176,7 @@ DESTINATION ${INCLUDE_INSTALL_DIR}/BulletDynamics) + SET_PROPERTY(SOURCE ${MLCPSolvers_HDRS} PROPERTY MACOSX_PACKAGE_LOCATION Headers/MLCPSolvers) + ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) ++ ++ INSTALL(EXPORT BulletDynamicsTargets ++ DESTINATION ${BULLET_CONFIG_CMAKE_PATH}) + ENDIF (INSTALL_LIBS) +diff --git a/src/BulletInverseDynamics/CMakeLists.txt b/src/BulletInverseDynamics/CMakeLists.txt +index 3331c27ea..86b4e54be 100644 +--- a/src/BulletInverseDynamics/CMakeLists.txt ++++ b/src/BulletInverseDynamics/CMakeLists.txt +@@ -42,11 +42,15 @@ IF (INSTALL_LIBS) + #INSTALL of other files requires CMake 2.6 + IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5) + IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) +- INSTALL(TARGETS BulletInverseDynamics DESTINATION .) ++ INSTALL(TARGETS BulletInverseDynamics ++ EXPORT BulletInverseDynamicsTargets ++ DESTINATION .) + ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) +- INSTALL(TARGETS BulletInverseDynamics RUNTIME DESTINATION bin +- LIBRARY DESTINATION lib${LIB_SUFFIX} +- ARCHIVE DESTINATION lib${LIB_SUFFIX}) ++ INSTALL(TARGETS BulletInverseDynamics ++ EXPORT BulletInverseDynamicsTargets ++ RUNTIME DESTINATION bin ++ LIBRARY DESTINATION lib${LIB_SUFFIX} ++ ARCHIVE DESTINATION lib${LIB_SUFFIX}) + INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + DESTINATION ${INCLUDE_INSTALL_DIR} FILES_MATCHING PATTERN "*.h" PATTERN ".svn" EXCLUDE PATTERN "CMakeFiles" EXCLUDE) + INSTALL(FILES ../btBulletCollisionCommon.h +@@ -62,5 +66,8 @@ DESTINATION ${INCLUDE_INSTALL_DIR}/BulletInverseDynamics) + SET_PROPERTY(SOURCE ${BulletInverseDynamicsDetails_HDRS} PROPERTY MACOSX_PACKAGE_LOCATION Headers/details) + + ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) ++ ++ INSTALL(EXPORT BulletInverseDynamicsTargets ++ DESTINATION ${BULLET_CONFIG_CMAKE_PATH}) + ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) + ENDIF (INSTALL_LIBS) +diff --git a/src/BulletSoftBody/CMakeLists.txt b/src/BulletSoftBody/CMakeLists.txt +index d43df1c67..6ba508ec5 100644 +--- a/src/BulletSoftBody/CMakeLists.txt ++++ b/src/BulletSoftBody/CMakeLists.txt +@@ -50,11 +50,15 @@ IF (INSTALL_LIBS) + IF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) + IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5) + IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) +- INSTALL(TARGETS BulletSoftBody DESTINATION .) ++ INSTALL(TARGETS BulletSoftBody ++ EXPORT BulletSoftBodyTargets ++ DESTINATION .) + ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) +- INSTALL(TARGETS BulletSoftBody RUNTIME DESTINATION bin +- LIBRARY DESTINATION lib${LIB_SUFFIX} +- ARCHIVE DESTINATION lib${LIB_SUFFIX}) ++ INSTALL(TARGETS BulletSoftBody ++ EXPORT BulletSoftBodyTargets ++ RUNTIME DESTINATION bin ++ LIBRARY DESTINATION lib${LIB_SUFFIX} ++ ARCHIVE DESTINATION lib${LIB_SUFFIX}) + INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + DESTINATION ${INCLUDE_INSTALL_DIR} FILES_MATCHING PATTERN "*.h" PATTERN + ".svn" EXCLUDE PATTERN "CMakeFiles" EXCLUDE) +@@ -65,5 +69,8 @@ DESTINATION ${INCLUDE_INSTALL_DIR} FILES_MATCHING PATTERN "*.h" PATTERN + SET_TARGET_PROPERTIES(BulletSoftBody PROPERTIES FRAMEWORK true) + SET_TARGET_PROPERTIES(BulletSoftBody PROPERTIES PUBLIC_HEADER "${BulletSoftBody_HDRS}") + ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) ++ ++ INSTALL(EXPORT BulletSoftBodyTargets ++ DESTINATION ${BULLET_CONFIG_CMAKE_PATH}) + ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) + ENDIF (INSTALL_LIBS) +diff --git a/src/LinearMath/CMakeLists.txt b/src/LinearMath/CMakeLists.txt +index 0c8c0133a..56d4b5bcc 100644 +--- a/src/LinearMath/CMakeLists.txt ++++ b/src/LinearMath/CMakeLists.txt +@@ -59,9 +59,12 @@ IF (INSTALL_LIBS) + #FILES_MATCHING requires CMake 2.6 + IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5) + IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) +- INSTALL(TARGETS LinearMath DESTINATION .) ++ INSTALL(TARGETS LinearMath ++ EXPORT LinearMathTargets ++ DESTINATION .) + ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + INSTALL(TARGETS LinearMath ++ EXPORT LinearMathTargets + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX}) +@@ -75,5 +78,8 @@ DESTINATION ${INCLUDE_INSTALL_DIR} FILES_MATCHING PATTERN "*.h" PATTERN + SET_TARGET_PROPERTIES(LinearMath PROPERTIES FRAMEWORK true) + SET_TARGET_PROPERTIES(LinearMath PROPERTIES PUBLIC_HEADER "${LinearMath_HDRS}") + ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) ++ ++ INSTALL(EXPORT LinearMathTargets ++ DESTINATION ${BULLET_CONFIG_CMAKE_PATH}) + ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) + ENDIF (INSTALL_LIBS) diff --git a/ports/bullet3/portfile.cmake b/ports/bullet3/portfile.cmake index 031ddf23f..cfad9f391 100644 --- a/ports/bullet3/portfile.cmake +++ b/ports/bullet3/portfile.cmake @@ -1,13 +1,14 @@ -include(vcpkg_common_functions) +vcpkg_fail_port_install(ON_ARCH "arm" "arm64" ON_TARGET "UWP") vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO bulletphysics/bullet3 - REF 2.88 - SHA512 15face1940d496c96fd19a44139d11d2cbb629526c40432be4a0eef5fa9a532c842ec7318248c0359a080f2034111bf1a3c2d3a6fd789bec675bd368fac7bd93 + REF 2.89 + SHA512 3c4ba6a3b3623ef44dd4a23e0bc2e90dec1f2b7af463edcb886e110feac1dfb4a91945f0ed640052cac228318539e275976d37238102fb10a0f78aef065a730b HEAD_REF master + PATCHES cmake-fix.patch ) set(BULLET_MULTITHREADING OFF) @@ -32,8 +33,10 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/cmake) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) +vcpkg_fixup_cmake_targets(CONFIG_PATH "share/bullet3") + +# Clean up unneeded files +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/bullet/BulletInverseDynamics/details) diff --git a/ports/caf/CONTROL b/ports/caf/CONTROL index f4a438357..256737e11 100644 --- a/ports/caf/CONTROL +++ b/ports/caf/CONTROL @@ -1,4 +1,4 @@ Source: caf
-Version: 0.16.3 +Version: 0.17.2 Build-Depends: openssl
Description: an open source C++11 actor model implementation featuring lightweight & fast actor implementations, pattern matching for messages, network transparent messaging, and more.
diff --git a/ports/caf/fix-arm.patch b/ports/caf/fix-arm.patch new file mode 100644 index 000000000..1c14287cc --- /dev/null +++ b/ports/caf/fix-arm.patch @@ -0,0 +1,19 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index da58790..d79a1ae 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -99,11 +99,13 @@ endfunction(pretty_yes) + + add_executable(caf-generate-enum-strings cmake/caf-generate-enum-strings.cpp) + ++install(TARGETS caf-generate-enum-strings DESTINATION tools) ++ + function(enum_to_string relative_input_file relative_output_file) + set(input "${CMAKE_CURRENT_SOURCE_DIR}/${relative_input_file}") + set(output "${CMAKE_CURRENT_BINARY_DIR}/${relative_output_file}") + add_custom_command(OUTPUT "${output}" +- COMMAND caf-generate-enum-strings "${input}" "${output}" ++ COMMAND ${CAF_TOOL_PATH}caf-generate-enum-strings "${input}" "${output}" + DEPENDS caf-generate-enum-strings "${input}") + endfunction() + diff --git a/ports/caf/portfile.cmake b/ports/caf/portfile.cmake index 2e34e888e..de6840664 100644 --- a/ports/caf/portfile.cmake +++ b/ports/caf/portfile.cmake @@ -1,15 +1,29 @@ -include(vcpkg_common_functions) - vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +set(CAF_TOOL_PATH ) +if (VCPKG_TARGET_IS_WINDOWS AND (TRIPLET_SYSTEM_ARCH STREQUAL arm OR TRIPLET_SYSTEM_ARCH STREQUAL arm64)) + if (EXISTS ${CURRENT_INSTALLED_DIR}/../x86-windows/tools/caf-generate-enum-strings.exe) + set(CAF_TOOL_PATH ${CURRENT_INSTALLED_DIR}/../x86-windows/tools/) + elseif (EXISTS ${CURRENT_INSTALLED_DIR}/../x86-windows-static/tools/caf-generate-enum-strings.exe) + set(CAF_TOOL_PATH ${CURRENT_INSTALLED_DIR}/../x86-windows-static/tools/) + elseif (EXISTS ${CURRENT_INSTALLED_DIR}/../x64-windows/tools/caf-generate-enum-strings.exe AND CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "x86_64") + set(CAF_TOOL_PATH ${CURRENT_INSTALLED_DIR}/../x64-windows/tools/) + elseif (EXISTS ${CURRENT_INSTALLED_DIR}/../x64-windows-static/tools/caf-generate-enum-strings.exe AND CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "x86_64") + set(CAF_TOOL_PATH ${CURRENT_INSTALLED_DIR}/../x64-windows-static/tools/) + else() + message(FATAL_ERROR "Since caf needs to run the built-in executable, please install caf:x86-windows or caf:x64-windows first.") + endif() +endif() + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO actor-framework/actor-framework - REF 0.16.3 - SHA512 f7e567264ea1686a431eacbf2a62f49c0f4467df073ec983ae622d9417c28124eb456eb40d6a70dbe062ad58333944924f04f7e3fee5a7b76917890d98bedce1 + REF 4da751ab7a79bcdc6e9dd2157b9b5c5c6814e26d # 0.17.2 + SHA512 4bd739c553fcbd6aa3b61372b42ad2ab40099c18959892553b9bc232b95740ba563d967d73e0695f0ce3d31409ae704eb578b6590431039f18291c896f535a36 HEAD_REF master PATCHES openssl-version-override.patch + fix-arm.patch ) vcpkg_configure_cmake( @@ -29,6 +43,7 @@ vcpkg_configure_cmake( -DCAF_NO_OPENSSL=OFF -DCAF_NO_CURL_EXAMPLES=ON -DCAF_OPENSSL_VERSION_OVERRIDE=ON + -DCAF_TOOL_PATH=${CAF_TOOL_PATH} ) vcpkg_install_cmake() diff --git a/ports/catch2/CONTROL b/ports/catch2/CONTROL index a9d6440a4..de3d4de46 100644 --- a/ports/catch2/CONTROL +++ b/ports/catch2/CONTROL @@ -1,4 +1,4 @@ Source: catch2 -Version: 2.10.1-1 +Version: 2.11.0 Description: A modern, header-only test framework for unit testing. Homepage: https://github.com/catchorg/Catch2 diff --git a/ports/catch2/portfile.cmake b/ports/catch2/portfile.cmake index 5f3408bc7..6272fa814 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.10.1 - SHA512 7806dc3cd5b7ecb51ae5f4e0e4c6ca07943af6038a5a6bdd6825951018f1a79baa76ab37f15a660b7c420ec5b0d3ea19ae95bd8f380f56588850db6566958d00 + REF v2.11.0 + SHA512 0a7843931118a1b64c14bf7e3061662a68e804e93a17a956532356e319dcaeb9f1f71d0338a7e980701443dbdb4c3ed044a271e3d1faf3a6bfd942eae3f39498 HEAD_REF master ) diff --git a/ports/cereal/CONTROL b/ports/cereal/CONTROL index 05175d91d..511113482 100644 --- a/ports/cereal/CONTROL +++ b/ports/cereal/CONTROL @@ -1,4 +1,4 @@ Source: cereal -Version: 1.2.2-2 +Version: 1.3.0 Homepage: https://github.com/USCiLab/cereal Description: a header-only C++11 serialization library (built in support for binary, XML and JSon) diff --git a/ports/cereal/portfile.cmake b/ports/cereal/portfile.cmake index de056150d..d956d86f6 100644 --- a/ports/cereal/portfile.cmake +++ b/ports/cereal/portfile.cmake @@ -5,9 +5,9 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO USCiLab/cereal - REF v1.2.2 - SHA512 9567b2e19add9446b24f8afd122eea09ba6ecd1a090335cf0ab31fdc8f64c6c97daa3d9eaf0801c36a770737488e0eebf81d96d7b7a65deed30da6130f2d47eb - HEAD_REF develop + REF v1.3.0 + SHA512 2bb640a222d4efe7c624c6ec3e755fecae00ef59e91c4db462e233546c5afe73c065ba1d16d9600f7cd3cc185593109148008b0b2b870208e2f1d6984fd40c72 + HEAD_REF master ) vcpkg_configure_cmake( diff --git a/ports/cgal/CONTROL b/ports/cgal/CONTROL index 5d7879fe0..3f71a911a 100644 --- a/ports/cgal/CONTROL +++ b/ports/cgal/CONTROL @@ -1,6 +1,6 @@ Source: cgal -Version: 4.14-3 -Build-Depends: mpfr, mpir, zlib, boost-format, boost-container, boost-iterator, boost-variant, boost-any, boost-unordered, boost-random, boost-foreach, boost-graph, boost-heap, boost-logic, boost-multiprecision +Version: 5.0 +Build-Depends: mpfr, mpir, zlib, boost-format, boost-container, boost-ptr-container, boost-iterator, boost-variant, boost-any, boost-unordered, boost-random, boost-foreach, boost-graph, boost-heap, boost-logic, boost-multiprecision Homepage: https://github.com/CGAL/cgal Description: The Computational Geometry Algorithms Library (CGAL) is a C++ library that aims to provide easy access to efficient and reliable algorithms in computational geometry. diff --git a/ports/cgal/cgal_target_fix.patch b/ports/cgal/cgal_target_fix.patch deleted file mode 100644 index 2fa5155bb..000000000 --- a/ports/cgal/cgal_target_fix.patch +++ /dev/null @@ -1,49 +0,0 @@ -From a0bfaee9ebed49fb65c93d7fb00a0c24c1898841 Mon Sep 17 00:00:00 2001 -From: Laurent Rineau <laurent.rineau@cgal.org> -Date: Fri, 10 May 2019 17:31:17 +0200 -Subject: [PATCH 1/2] Consider CGAL as an imported target - ---- - Installation/lib/cmake/CGAL/CGALConfig.cmake | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/Installation/lib/cmake/CGAL/CGALConfig.cmake b/Installation/lib/cmake/CGAL/CGALConfig.cmake -index c2b0aed549d..08d757aad7f 100644 ---- a/Installation/lib/cmake/CGAL/CGALConfig.cmake -+++ b/Installation/lib/cmake/CGAL/CGALConfig.cmake -@@ -116,7 +116,11 @@ include(CGAL_setup_target_dependencies) - foreach(cgal_lib ${CGAL_LIBRARIES}) - set(WITH_${cgal_lib} TRUE) - if(${cgal_lib}_FOUND AND NOT TARGET ${cgal_lib}) -- add_library(${cgal_lib} INTERFACE) -+ if(CGAL_BUILDING_LIBS) -+ add_library(${cgal_lib} INTERFACE) -+ else() -+ add_library(${cgal_lib} INTERFACE IMPORTED GLOBAL) -+ endif() - if(NOT TARGET CGAL::${cgal_lib}) - add_library(CGAL::${cgal_lib} ALIAS ${cgal_lib}) - endif() - -From c2e8365303b97669fe50ea2427c9943049575be4 Mon Sep 17 00:00:00 2001 -From: Laurent Rineau <laurent.rineau@cgal.org> -Date: Fri, 10 May 2019 17:47:58 +0200 -Subject: [PATCH 2/2] Actually, it can only work with CMake>=3.11 - ---- - Installation/lib/cmake/CGAL/CGALConfig.cmake | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Installation/lib/cmake/CGAL/CGALConfig.cmake b/Installation/lib/cmake/CGAL/CGALConfig.cmake -index 08d757aad7f..8ef95a85c94 100644 ---- a/Installation/lib/cmake/CGAL/CGALConfig.cmake -+++ b/Installation/lib/cmake/CGAL/CGALConfig.cmake -@@ -116,7 +116,7 @@ include(CGAL_setup_target_dependencies) - foreach(cgal_lib ${CGAL_LIBRARIES}) - set(WITH_${cgal_lib} TRUE) - if(${cgal_lib}_FOUND AND NOT TARGET ${cgal_lib}) -- if(CGAL_BUILDING_LIBS) -+ if(CGAL_BUILDING_LIBS OR CMAKE_VERSION VERSION_LESS "3.11") - add_library(${cgal_lib} INTERFACE) - else() - add_library(${cgal_lib} INTERFACE IMPORTED GLOBAL) diff --git a/ports/cgal/portfile.cmake b/ports/cgal/portfile.cmake index 1a006116d..d351af738 100644 --- a/ports/cgal/portfile.cmake +++ b/ports/cgal/portfile.cmake @@ -5,11 +5,9 @@ vcpkg_buildpath_length_warning(37) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO CGAL/cgal - REF releases/CGAL-4.14 - SHA512 c70b3ad475f6b2c03ecb540e195b4d26a709205c511b0c705dfddb5b14ef372453ce1d4d49ed342fcd21ba654dea793e91c058afae626276bfb3cfd72bccb382 + REF releases/CGAL-5.0 + SHA512 c7462f1f5ca1ef154a3a20ce4c1b63e544ad7e62ea0afb9aee99872402362fa2001a52740d62ac779e75f1354ad9c955a895f3cad12186e3b75d91f0f3452847 HEAD_REF master - PATCHES - cgal_target_fix.patch ) set(WITH_CGAL_Qt5 OFF) @@ -60,4 +58,5 @@ file( DESTINATION ${CURRENT_PACKAGES_DIR}/share/cgal ) +file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/cgal) vcpkg_test_cmake(PACKAGE_NAME CGAL) diff --git a/ports/cgal/usage b/ports/cgal/usage new file mode 100644 index 000000000..9ea12d70b --- /dev/null +++ b/ports/cgal/usage @@ -0,0 +1,5 @@ +The package cgal provides CMake targets: + + find_package(CGAL CONFIG REQUIRED) + target_link_libraries(main PRIVATE CGAL::CGAL) + diff --git a/ports/cgicc/CMakeLists.txt b/ports/cgicc/CMakeLists.txt index a6533315b..8a74f6bff 100644 --- a/ports/cgicc/CMakeLists.txt +++ b/ports/cgicc/CMakeLists.txt @@ -104,6 +104,12 @@ set (cgicc_HEADERS include_directories (. ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}) add_library (cgicc ${cgicc_SOURCES} ${cgicc_HEADERS}) +if (BUILD_SHARED_LIBS) + add_definitions(-DCGICC_EXPORTS) +else() + add_definitions(-DCGICC_STATIC) +endif() + install(TARGETS cgicc RUNTIME DESTINATION bin LIBRARY DESTINATION lib diff --git a/ports/cgicc/CONTROL b/ports/cgicc/CONTROL index 551d3ca13..ad598509f 100644 --- a/ports/cgicc/CONTROL +++ b/ports/cgicc/CONTROL @@ -1,4 +1,4 @@ Source: cgicc
-Version: 3.2.19-3
+Version: 3.2.19-4
Homepage: https://www.gnu.org/software/cgicc/
Description: GNU Cgicc is an ANSI C++ compliant class library that greatly simplifies the creation of CGI applications for the World Wide Web
diff --git a/ports/cgicc/fix-static-build.patch b/ports/cgicc/fix-static-build.patch new file mode 100644 index 000000000..4bd21794c --- /dev/null +++ b/ports/cgicc/fix-static-build.patch @@ -0,0 +1,15 @@ +diff --git a/cgicc/CgiDefs.h.in b/cgicc/CgiDefs.h.in +index 71b70ad..3793cd8 100644 +--- a/cgicc/CgiDefs.h.in ++++ b/cgicc/CgiDefs.h.in +@@ -47,7 +47,9 @@ + #ifdef WIN32 + + // export library symbols +-# ifdef CGICC_EXPORTS ++# ifdef CGICC_STATIC ++# define CGICC_API ++# elif defined(CGICC_EXPORTS) + # define CGICC_API __declspec(dllexport) + # else + # define CGICC_API __declspec(dllimport) diff --git a/ports/cgicc/portfile.cmake b/ports/cgicc/portfile.cmake index ba135d9d5..0be8d1825 100644 --- a/ports/cgicc/portfile.cmake +++ b/ports/cgicc/portfile.cmake @@ -1,18 +1,19 @@ - -include(vcpkg_common_functions) +set(CGICC_VERSION 3.2.19) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_download_distfile(ARCHIVE - URLS "http://ftp.gnu.org/gnu/cgicc/cgicc-3.2.19.tar.gz" - FILENAME "cgicc-3.2.19.tar.gz" + URLS "https://ftp.gnu.org/gnu/cgicc/cgicc-${CGICC_VERSION}.tar.gz" "https://www.mirrorservice.org/sites/ftp.gnu.org/gnu/cgicc/cgicc-${CGICC_VERSION}.tar.gz" + FILENAME "cgicc-${CGICC_VERSION}.tar.gz" SHA512 c361923cf3ac876bc3fc94dffd040d2be7cd44751d8534f4cfa3545e9f58a8ec35ebcd902a8ce6a19da0efe52db67506d8b02e5cc868188d187ce3092519abdf ) vcpkg_extract_source_archive_ex( ARCHIVE ${ARCHIVE} OUT_SOURCE_PATH SOURCE_PATH - PATCHES fix-define.patch + PATCHES + fix-define.patch + fix-static-build.patch ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) @@ -28,4 +29,13 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_copy_pdbs() +file(READ ${CURRENT_PACKAGES_DIR}/include/cgicc/CgiDefs.h CGI_H) +if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + string(REPLACE "# ifdef CGICC_STATIC" "# if 0" CGI_H "${CGI_H}") +else() + string(REPLACE "# ifdef CGICC_STATIC" "# if 1" CGI_H "${CGI_H}") +endif() +file(WRITE ${CURRENT_PACKAGES_DIR}/include/cgicc/CgiDefs.h "${CGI_H}") + + file(INSTALL ${SOURCE_PATH}/COPYING.DOC DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/cgl/CMakeLists.txt b/ports/cgl/CMakeLists.txt index b3c1ca827..ce859f192 100644 --- a/ports/cgl/CMakeLists.txt +++ b/ports/cgl/CMakeLists.txt @@ -23,24 +23,9 @@ foreach(p LIB BIN INCLUDE CMAKE) endif() endforeach() -if(MSVC) - set( - CMAKE_CXX_FLAGS - "${CMAKE_CXX_FLAGS} /bigobj /MP /wd4996 /wd4819 /wd4251 /wd4267 /wd4244 /wd4275" - ) -endif() - -if(APPLE) - set( - CMAKE_CXX_FLAGS - "${CMAKE_CXX_FLAGS} -Wno-inconsistent-missing-override -Wno-unused-command-line-argument -Wno-unused-result -Wno-exceptions" - ) - set(CMAKE_OSX_DEPLOYMENT_TARGET "10.9" - CACHE STRING "Minimum OS X deployment version") -endif() - find_package(CoinUtils REQUIRED) find_package(Osi REQUIRED) +find_package(Clp REQUIRED) file(GLOB CGL_SOURCES Cgl/src/CglConfig.h @@ -100,13 +85,10 @@ target_include_directories(${PROJECT_NAME} $<INSTALL_INTERFACE:${RELATIVE_INSTALL_INCLUDE_DIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/Cgl/src/>) -if(MSVC) - target_compile_definitions(${PROJECT_NAME} PRIVATE _CRT_SECURE_NO_WARNINGS) -endif() target_compile_definitions(${PROJECT_NAME} PRIVATE HAVE_CMATH) target_compile_definitions(${PROJECT_NAME} PUBLIC COIN_HAS_CLP) -target_link_libraries(${PROJECT_NAME} PRIVATE Coin::CoinUtils Coin::Osi) +target_link_libraries(${PROJECT_NAME} PRIVATE Coin::CoinUtils Coin::Osi Coin::Clp) install(DIRECTORY Cgl/src/ DESTINATION ${INSTALL_INCLUDE_DIR} diff --git a/ports/cgl/CONTROL b/ports/cgl/CONTROL index 502193214..9c715c8a1 100644 --- a/ports/cgl/CONTROL +++ b/ports/cgl/CONTROL @@ -1,5 +1,5 @@ Source: cgl -Version: 0.60.2-1 +Version: 0.60.2-2 Homepage: https://github.com/coin-or/Cgl Description: The COIN-OR Cut Generation Library (Cgl) is a collection of cut generators that can be used with other COIN-OR packages that make use of cuts, such as, among others, the linear solver Clp or the mixed integer linear programming solvers Cbc or BCP. Build-Depends: coinutils, osi, clp
\ No newline at end of file diff --git a/ports/cgl/portfile.cmake b/ports/cgl/portfile.cmake index 932bb7fbb..8969d8131 100644 --- a/ports/cgl/portfile.cmake +++ b/ports/cgl/portfile.cmake @@ -1,12 +1,10 @@ -include(vcpkg_common_functions) - vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO coin-or/Cgl - REF releases/0.60.2 - SHA512 86db94638d586d2fb64cb55f72197f847731c710351168189647686c5229555c79bc411044ab1cc789a520577de2be3c2e8611221d743f9dbaabb71544d0fa66 + REF 6377b88754fafacf24baac28bb27c0623cc14457 + SHA512 7579a89f945fd3b88cc1f0dd95906c385b5c730b58bd620ea8b820926096256f9083f50dd4e70f71d69432e4d0ffc60b4ec8fa517893a549621d8373f944a1bb PATCHES fix-c1083-error.patch ) @@ -20,6 +18,8 @@ vcpkg_configure_cmake( vcpkg_install_cmake() +vcpkg_fixup_cmake_targets() + vcpkg_copy_pdbs() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) diff --git a/ports/charls/0001_cmake.patch b/ports/charls/0001_cmake.patch deleted file mode 100644 index 7f50a98e6..000000000 --- a/ports/charls/0001_cmake.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 1aa40a8..1051997 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -33,6 +33,7 @@ option (BUILD_TESTING "Build tests" ON) - if (WIN32) - if (BUILD_SHARED_LIBS) - add_definitions(-D CHARLS_DLL) -+ set_source_files_properties(src/interface.cpp PROPERTIES COMPILE_FLAGS -DCHARLS_DLL_BUILD) - else() - add_definitions(-D CHARLS_STATIC) - endif() diff --git a/ports/charls/CONTROL b/ports/charls/CONTROL index f68ecdccf..f266fe998 100644 --- a/ports/charls/CONTROL +++ b/ports/charls/CONTROL @@ -1,4 +1,4 @@ Source: charls -Version: 2.0.0-3 +Version: 2.1.0-1 Homepage: https://github.com/team-charls/charls -Description: CharLS, a C++ JPEG-LS library implementation. +Description: CharLS, a C++ JPEG-LS library implementation.
\ No newline at end of file diff --git a/ports/charls/portfile.cmake b/ports/charls/portfile.cmake index c303c42bc..805d7b087 100644 --- a/ports/charls/portfile.cmake +++ b/ports/charls/portfile.cmake @@ -3,24 +3,23 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO team-charls/charls - REF 2.0.0 - SHA512 0a2862fad6d65b941c81f5f838db1fdc6a4625887281ddbf27e21be9084f607d27c8a27d246d6252e08358b2ed4aa0c2b7407048ca559fb40e94313ca72487dd + REF 2.1.0 + SHA512 456539243d984ebe6afe1bbb7c9422e642cf0346d25d220126ad8a6d04e945c6c340ab3c2b73a7db4ec390ed6a52236e5c6e9ad6d14e8b78b701937810fb327d HEAD_REF master - PATCHES - 0001_cmake.patch ) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS - -DBUILD_TESTING=OFF + -DCHARLS_BUILD_TESTS=OFF + -DCHARLS_BUILD_SAMPLES=OFF ) vcpkg_install_cmake() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(INSTALL ${SOURCE_PATH}/License.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) vcpkg_copy_pdbs() diff --git a/ports/check/CONTROL b/ports/check/CONTROL index f529ad731..d6ea30554 100644 --- a/ports/check/CONTROL +++ b/ports/check/CONTROL @@ -1,3 +1,4 @@ Source: check
-Version: 0.13.0
+Version: 0.13.0-2
+Homepage: https://github.com/libcheck/check
Description: A unit testing framework for C
diff --git a/ports/check/fix-lib-path.patch b/ports/check/fix-lib-path.patch new file mode 100644 index 000000000..7ed76195d --- /dev/null +++ b/ports/check/fix-lib-path.patch @@ -0,0 +1,43 @@ +diff --git a/doc/example/src/CMakeLists.txt b/doc/example/src/CMakeLists.txt +index b5e211e..2a92a1a 100644 +--- a/doc/example/src/CMakeLists.txt ++++ b/doc/example/src/CMakeLists.txt +@@ -18,7 +18,7 @@ target_link_libraries(main money) + + install(TARGETS money + RUNTIME DESTINATION bin +- LIBRARY DESTINATION lib +- ARCHIVE DESTINATION lib) ++ LIBRARY DESTINATION lib/manual-link ++ ARCHIVE DESTINATION lib/manual-link) + + install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/money.h DESTINATION include) +diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt +index e6346dd..8f5762a 100644 +--- a/lib/CMakeLists.txt ++++ b/lib/CMakeLists.txt +@@ -70,3 +70,8 @@ set(HEADERS libcompat.h) + + add_library(compat STATIC ${SOURCES} ${HEADERS}) + ++install(TARGETS compat ++ RUNTIME DESTINATION bin ++ LIBRARY DESTINATION lib/manual-link ++ ARCHIVE DESTINATION lib/manual-link ++) +\ No newline at end of file +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 37fcaf8..334fc9c 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -180,8 +180,8 @@ target_include_directories(checkShared + + install(TARGETS check checkShared + EXPORT check-targets +- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} +- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}/manual-link ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/manual-link + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} + ) diff --git a/ports/check/portfile.cmake b/ports/check/portfile.cmake index c5271e8f7..7b44127a6 100644 --- a/ports/check/portfile.cmake +++ b/ports/check/portfile.cmake @@ -1,10 +1,10 @@ -include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO libcheck/check
REF 0.13.0
SHA512 7943021c5bc3b5ca7bc552f6fe1287e384724d69e5bb128d58256692e810b194e506fc1b65ea4fed27d065e2176e7371483e918beb48125abfe3b6f1ca68eb8f
HEAD_REF master
+ PATCHES fix-lib-path.patch
)
vcpkg_configure_cmake(
@@ -14,7 +14,9 @@ vcpkg_configure_cmake( vcpkg_install_cmake()
-vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake)
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/check)
+
+vcpkg_copy_pdbs()
if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
@@ -24,6 +26,4 @@ endif() 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()
\ No newline at end of file +file(INSTALL ${SOURCE_PATH}/COPYING.LESSER DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
\ No newline at end of file diff --git a/ports/cjson/CONTROL b/ports/cjson/CONTROL index f8eada28b..51557451e 100644 --- a/ports/cjson/CONTROL +++ b/ports/cjson/CONTROL @@ -1,6 +1,7 @@ Source: cjson
-Version: 1.7.12
+Version: 2019-11-30
Description: Ultralightweight JSON parser in ANSI C
+Homepage: https://github.com/DaveGamble/cJSON
Feature: utils
Description: Enable building the cJSON_Utils library
diff --git a/ports/cjson/fix-install-path.patch b/ports/cjson/fix-install-path.patch deleted file mode 100644 index 96a65d996..000000000 --- a/ports/cjson/fix-install-path.patch +++ /dev/null @@ -1,34 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 033a882..6e2b2e4 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -149,7 +149,13 @@ configure_file("${CMAKE_CURRENT_SOURCE_DIR}/library_config/libcjson.pc.in" - - install(FILES cJSON.h DESTINATION "${CMAKE_INSTALL_FULL_INCLUDEDIR}/cjson") - install (FILES "${CMAKE_CURRENT_BINARY_DIR}/libcjson.pc" DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}/pkgconfig") --install(TARGETS "${CJSON_LIB}" DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}" EXPORT "${CJSON_LIB}") -+install(TARGETS "${CJSON_LIB}" -+ EXPORT "${CJSON_LIB}" -+ ARCHIVE DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}" -+ LIBRARY DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}" -+ RUNTIME DESTINATION "${CMAKE_INSTALL_FULL_BINDIR}" -+ INCLUDES DESTINATION "${CMAKE_INSTALL_FULL_INCLUDEDIR}" -+) - if (BUILD_SHARED_AND_STATIC_LIBS) - install(TARGETS "${CJSON_LIB}-static" DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}") - endif() -@@ -186,7 +192,13 @@ if(ENABLE_CJSON_UTILS) - configure_file("${CMAKE_CURRENT_SOURCE_DIR}/library_config/libcjson_utils.pc.in" - "${CMAKE_CURRENT_BINARY_DIR}/libcjson_utils.pc" @ONLY) - -- install(TARGETS "${CJSON_UTILS_LIB}" DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}" EXPORT "${CJSON_UTILS_LIB}") -+ install(TARGETS "${CJSON_UTILS_LIB}" -+ EXPORT "${CJSON_UTILS_LIB}" -+ ARCHIVE DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}" -+ LIBRARY DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}" -+ RUNTIME DESTINATION "${CMAKE_INSTALL_FULL_BINDIR}" -+ INCLUDES DESTINATION "${CMAKE_INSTALL_FULL_INCLUDEDIR}" -+ ) - if (BUILD_SHARED_AND_STATIC_LIBS) - install(TARGETS "${CJSON_UTILS_LIB}-static" DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}") - endif() diff --git a/ports/cjson/portfile.cmake b/ports/cjson/portfile.cmake index 753c4ed2a..eefb66659 100644 --- a/ports/cjson/portfile.cmake +++ b/ports/cjson/portfile.cmake @@ -3,18 +3,15 @@ include(vcpkg_common_functions) vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO DaveGamble/cJSON
- REF v1.7.12
- SHA512 d767b7261eff3a1a50ea46cc5573f9504f5734a891ea211ad348835bfb4b80acf7f744da2d34bb1fa270cd4d44576c21bc6f52c0604b7e6ffdeb61ecb396b376
+ REF 95368da1a13c1ced5507bb5b0a457729af34837c
+ SHA512 e50fb7857573fac39bc9659004bd71483156677b4b1c7dd801470469162d1af2b1e3803fb4f1291b2b5defefb005ddd78b0efb01965626eecc00bc78b5f98c72
HEAD_REF master
- PATCHES
- fix-install-path.patch
)
-if("utils" IN_LIST FEATURES)
- set(ENABLE_CJSON_UTILS ON)
-else()
- set(ENABLE_CJSON_UTILS OFF)
-endif()
+vcpkg_check_features(
+ OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+ utils ENABLE_CJSON_UTILS
+)
if(CMAKE_HOST_WIN32)
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" ENABLE_PUBLIC_SYMBOLS)
@@ -30,9 +27,9 @@ vcpkg_configure_cmake( -DCJSON_OVERRIDE_BUILD_SHARED_LIBS=OFF
-DENABLE_PUBLIC_SYMBOLS=${ENABLE_PUBLIC_SYMBOLS}
-DENABLE_TARGET_EXPORT=ON # Export CMake config files
- -DENABLE_CJSON_UTILS=${ENABLE_CJSON_UTILS}
-DENABLE_CJSON_TEST=OFF
-DENABLE_FUZZING=OFF
+ ${FEATURE_OPTIONS}
)
vcpkg_install_cmake()
diff --git a/ports/cpp-httplib/CONTROL b/ports/cpp-httplib/CONTROL index 180ec102a..0cec8643a 100644 --- a/ports/cpp-httplib/CONTROL +++ b/ports/cpp-httplib/CONTROL @@ -1,4 +1,4 @@ Source: cpp-httplib
-Version: 0.2.5
+Version: 0.5.1
Homepage: https://github.com/yhirose/cpp-httplib
Description: A single file C++11 header-only HTTP/HTTPS server and client library
diff --git a/ports/cpp-httplib/portfile.cmake b/ports/cpp-httplib/portfile.cmake index a23fbe461..bbf7daf88 100644 --- a/ports/cpp-httplib/portfile.cmake +++ b/ports/cpp-httplib/portfile.cmake @@ -1,10 +1,8 @@ -include(vcpkg_common_functions)
-
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO yhirose/cpp-httplib
- REF v0.2.5
- SHA512 2b898acb0534517386d14ffa8c2d4640e27cdbbb7ed627a29c289a3012348950bbe1c64711315e8d8654688ab447735d73b9c03be39caaf10e783f612f65e31a
+ REF v0.5.1
+ SHA512 808ad4a9b4d2a6d25eb342985a9d2407c252b6cdf85da2372b7426338c59ccaf49b2a04a4aa1cb0c97487ab8ec6ab5c098e1785edcccd94296488539af6ba1ef
HEAD_REF master
)
@@ -14,8 +12,4 @@ file( )
# Handle copyright
-configure_file(
- ${SOURCE_PATH}/LICENSE
- ${CURRENT_PACKAGES_DIR}/share/cpp-httplib/copyright
- COPYONLY
-)
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/cpp-httplib RENAME copyright)
diff --git a/ports/cpp-netlib/CONTROL b/ports/cpp-netlib/CONTROL index 9d33aa289..845a89e66 100644 --- a/ports/cpp-netlib/CONTROL +++ b/ports/cpp-netlib/CONTROL @@ -1,4 +1,5 @@ Source: cpp-netlib
-Version: 0.13.0-2
+Version: 0.13.0-3
+Homepage: https://cpp-netlib.org/
Build-Depends: boost
Description: A collection of network-related routines/implementations geared towards providing a robust cross-platform networking library
diff --git a/ports/cpp-netlib/portfile.cmake b/ports/cpp-netlib/portfile.cmake index abea253d8..1e505ec22 100644 --- a/ports/cpp-netlib/portfile.cmake +++ b/ports/cpp-netlib/portfile.cmake @@ -1,8 +1,4 @@ -include(vcpkg_common_functions)
-
-if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
- message(FATAL_ERROR "${PORT} does not currently support UWP")
-endif()
+vcpkg_fail_port_install(ON_TARGET "UWP")
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
@@ -27,10 +23,10 @@ vcpkg_install_cmake() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
-if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
- vcpkg_fixup_cmake_targets(CONFIG_PATH cmake)
+if (VCPKG_TARGET_IS_WINDOWS)
+ vcpkg_fixup_cmake_targets(CONFIG_PATH cmake TARGET_PATH share/cppnetlib)
else()
- vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/cppnetlib)
+ vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/cppnetlib TARGET_PATH share/cppnetlib)
endif()
file(INSTALL ${SOURCE_PATH}/LICENSE_1_0.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/cppmicroservices/CONTROL b/ports/cppmicroservices/CONTROL index 9a53e06b1..4ca4793f0 100644 --- a/ports/cppmicroservices/CONTROL +++ b/ports/cppmicroservices/CONTROL @@ -1,3 +1,5 @@ Source: cppmicroservices -Version: 4.0.0-pre1 +Version: v3.4.0 +Homepage: https://github.com/CppMicroServices/CppMicroServices Description: An OSGi-like C++ dynamic module system and service registry + diff --git a/ports/cppmicroservices/portfile.cmake b/ports/cppmicroservices/portfile.cmake index d0edb6374..c15e2eb8b 100644 --- a/ports/cppmicroservices/portfile.cmake +++ b/ports/cppmicroservices/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO "CppMicroServices/CppMicroservices" - REF b322441568f903ef96c0ccb03e2611d052ceb4e0 - SHA512 1673dfe9dba913890ec93e351263a924437a0d739a5858dcdc07650e1aaca30c3b4fcce59e32b201c1d65e15eb82e27912d759e4d07ecc149ae8a4f9eb1669bc + REF b4d3d404df01d67dfd7fc36111bc5de50e1b89d6 # v3.4.0 + SHA512 b4a55f7c86cae25e936a237108b82824458b123fa1c14d4e0218c72c444a6d7f0db8900409af321225ec818f5691894b01fd311c606463386e7ce8e81e3656c8 HEAD_REF development PATCHES werror.patch ) @@ -30,3 +30,4 @@ vcpkg_fixup_cmake_targets() if(NOT BUILD_SHARED_LIBS) set(VCPKG_POLICY_EMPTY_PACKAGE enabled) endif() + diff --git a/ports/cspice/CMakeLists.txt b/ports/cspice/CMakeLists.txt new file mode 100644 index 000000000..e82b3a280 --- /dev/null +++ b/ports/cspice/CMakeLists.txt @@ -0,0 +1,41 @@ +cmake_minimum_required(VERSION 3.1) +project(cspice LANGUAGES C) + +set(SOVERSION 66) + +# Include all *.c files from the library +file(GLOB CSPICE_SOURCE ${PROJECT_SOURCE_DIR}/cspice/src/cspice/*.c) +set(INCLUDE_PATH "${PROJECT_SOURCE_DIR}/cspice/include") + +if (_STATIC_BUILD) + add_library(cspice STATIC ${CSPICE_SOURCE}) +else() + add_library(cspice SHARED ${CSPICE_SOURCE}) +endif() +target_include_directories(cspice PUBLIC "${INCLUDE_PATH}") + +if (WIN32) + target_compile_definitions(cspice PUBLIC "_COMPLEX_DEFINED;MSDOS;OMIT_BLANK_CC;NON_ANSI_STDIO") + set_target_properties(cspice PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS TRUE) +elseif (UNIX) + target_compile_definitions(cspice PUBLIC "NON_ANSI_STDIO") + target_compile_options(cspice PUBLIC -m64 -ansi -fPIC) +endif () + +if (NOT _SKIP_HEADERS) + file(GLOB SPICE_HEADERS ${INCLUDE_PATH}/*.h) + install(FILES ${SPICE_HEADERS} DESTINATION include/cspice) +endif() + +set_target_properties( + cspice + PROPERTIES SOVERSION ${SOVERSION} +) + +install( + TARGETS cspice + EXPORT cspice + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib + RUNTIME DESTINATION bin +) diff --git a/ports/cspice/CONTROL b/ports/cspice/CONTROL new file mode 100644 index 000000000..670f75a3a --- /dev/null +++ b/ports/cspice/CONTROL @@ -0,0 +1,3 @@ +Source: cspice +Version: 66-1 +Description: NASA C SPICE toolkit diff --git a/ports/cspice/License.txt b/ports/cspice/License.txt new file mode 100644 index 000000000..dcec937a1 --- /dev/null +++ b/ports/cspice/License.txt @@ -0,0 +1,16 @@ +This software and any related materials were created by the California +Institute of Technology (Caltech) under U.S. government contract with the +National Aeronautics and Space Administration (NASA). The software is +Technology and Software Publicly Available under U.S. export laws and is +provided "as-is" to the recipient without warranty of any kind, including any +warranties of performance or merchantability or fitness for particular use or +purpose (as set forth in United States UCC§2312-§2313) or for any purpose +whatsoever, for the software and related materials, however used. In no event +shall Caltech, its Jet Propulsion Laboratory, or NASA be liable for any damages +and/or costs, including, but not limited to, incidental or consequential +damages of any kind, including economic damage or injury to property and lost +profits, regardless of whether Caltech, JPL, or NASA be advised, have reason to +know, or, in fact, shall know of the possibility. Recipient bears all risk +relating to quality and performance of the software and any related materials, +and agrees to indemnify Caltech and NASA for all third-party claims resulting +from the actions of recipient in the use of the software. diff --git a/ports/cspice/isatty.patch b/ports/cspice/isatty.patch new file mode 100644 index 000000000..a6d201d77 --- /dev/null +++ b/ports/cspice/isatty.patch @@ -0,0 +1,19 @@ +--- a/cspice/src/cspice/fio.h 2019-11-01 20:51:53.198400000 +0300 ++++ b/cspice/src/cspice/fio.h 2019-11-01 21:19:58.123200000 +0300 +@@ -1,3 +1,6 @@ ++#ifdef _WIN32 ++#include <io.h> /* for isatty() */ ++#endif + #include "stdio.h" + #include "errno.h" + #ifndef NULL +@@ -75,7 +76,9 @@ + extern int (*f__donewrec)(void), t_putc(int), x_wSL(void); + extern void b_char(char*,char*,ftnlen), g_char(char*,ftnlen,char*); + extern int c_sfe(cilist*), z_rnew(void); ++#ifndef _WIN32 + extern int isatty(int); ++#endif + extern int err__fl(int,int,char*); + extern int xrd_SL(void); + extern int f__putbuf(int); diff --git a/ports/cspice/mktemp.patch b/ports/cspice/mktemp.patch new file mode 100644 index 000000000..5a7cc0ee0 --- /dev/null +++ b/ports/cspice/mktemp.patch @@ -0,0 +1,11 @@ +--- a/cspice/src/cspice/open.c 2019-11-02 10:57:10.073886963 +0300 ++++ b/cspice/src/cspice/open.c 2019-11-02 10:57:49.230398941 +0300 +@@ -324,7 +324,7 @@ + #ifdef NON_ANSI_STDIO + + (void) strcpy(buf,"tmp.FXXXXXX"); +- (void) mktemp(buf); ++ fclose(mktemp(buf)); + goto replace; + + #else diff --git a/ports/cspice/portfile.cmake b/ports/cspice/portfile.cmake new file mode 100644 index 000000000..7c52772f3 --- /dev/null +++ b/ports/cspice/portfile.cmake @@ -0,0 +1,60 @@ +include(vcpkg_common_functions) + +if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + message(FATAL_ERROR "${PORT} does not currently support UWP") +endif() + +if (WIN32) + vcpkg_download_distfile(ARCHIVE + URLS "https://naif.jpl.nasa.gov/pub/naif/toolkit/C/PC_Windows_VisualC_32bit/packages/cspice.zip" + FILENAME "cspice.zip" + SHA512 4f6129b26543729f4eb4f8240b43ca87530db9c6d9a5c0e3f43faf30561eaad95dcf507e3fecfd1c3d4388ccaa4e22a76df7bf7945b6ce9a68eb3b4893885992 + ) +elseif (APPLE) + vcpkg_download_distfile(ARCHIVE + URLS "https://naif.jpl.nasa.gov/pub/naif/toolkit//C/MacIntel_OSX_AppleC_32bit/packages/cspice.tar.Z" + FILENAME "cspice.tar.Z" + SHA512 bd5cc20206e48b3712c5077a2beb05c98cd58a25ce374ed363699a04998eb8ba93e42b5f7c2104c5296db95b3bccdc7cc9b6a2ba45875454d0c3914834aa4c42 + ) +else () + vcpkg_download_distfile(ARCHIVE + URLS "https://naif.jpl.nasa.gov/pub/naif/toolkit/C/PC_Linux_GCC_32bit/packages/cspice.tar.Z" + FILENAME "cspice.tar.Z" + SHA512 b387bc2cfca4deccc451d198af49564ea0b19cf665ba143d39196ed532639cbc11aad7e1d63f71f1bb88d72c0e6ac30757b6e1babca9e0ee3b92f9c205c1b908 + ) +endif() + +set(PATCHES isatty.patch) +if (NOT WIN32) + set(PATCHES ${PATCHES} mktemp.patch) +endif() + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + NO_REMOVE_ONE_LEVEL + PATCHES ${PATCHES} +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) + +if (VCPKG_LIBRARY_LINKAGE STREQUAL static) + set(_STATIC_BUILD ON) +endif() + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS -D_STATIC_BUILD=${_STATIC_BUILD} + OPTIONS_DEBUG -D_SKIP_HEADERS=ON +) + +vcpkg_install_cmake() + +vcpkg_copy_pdbs() + +file( + INSTALL ${CMAKE_CURRENT_LIST_DIR}/License.txt + DESTINATION ${CURRENT_PACKAGES_DIR}/share/cspice + RENAME copyright +) diff --git a/ports/curl/0002_fix_uwp.patch b/ports/curl/0002_fix_uwp.patch index 565903ad2..b69dd4cb9 100644 --- a/ports/curl/0002_fix_uwp.patch +++ b/ports/curl/0002_fix_uwp.patch @@ -56,19 +56,6 @@ index e7060eb..9cd76f7 100644 #endif
tw = ((curl_off_t)time(NULL) + CURL_OFF_T_C(11644473600)) * 10000000;
-diff --git a/lib/ftp.c b/lib/ftp.c
-index 825aaaa..3b96670 100644
---- a/lib/ftp.c
-+++ b/lib/ftp.c
-@@ -4262,7 +4262,7 @@ CURLcode ftp_parse_url_path(struct connectdata *conn)
- /* prevpath is "raw" so we convert the input path before we compare the
- strings */
- size_t dlen;
-- char *path;
-+ char *path = NULL;
- CURLcode result =
- Curl_urldecode(conn->data, ftp->path, 0, &path, &dlen, TRUE);
- if(result) {
diff --git a/lib/rand.c b/lib/rand.c
index 6ee45fe..b2d712d 100644
--- a/lib/rand.c
diff --git a/ports/curl/0007_disable_tool_export_curl_target.patch b/ports/curl/0007_disable_tool_export_curl_target.patch new file mode 100644 index 000000000..3361f1b3a --- /dev/null +++ b/ports/curl/0007_disable_tool_export_curl_target.patch @@ -0,0 +1,18 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index b376cd1..baffe7e 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -71,8 +71,8 @@ target_link_libraries(${EXE_NAME} libcurl ${CURL_LIBS} ZLIB::ZLIB)
+
+ #INCLUDE(ModuleInstall OPTIONAL)
+
+-install(TARGETS ${EXE_NAME} EXPORT ${TARGETS_EXPORT_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR})
+-export(TARGETS ${EXE_NAME}
+- APPEND FILE ${PROJECT_BINARY_DIR}/curl-target.cmake
+- NAMESPACE CURL::
+-)
++install(TARGETS ${EXE_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR})
++#export(TARGETS ${EXE_NAME}
++# APPEND FILE ${PROJECT_BINARY_DIR}/curl-target.cmake
++# NAMESPACE CURL::
++#)
diff --git a/ports/curl/CONTROL b/ports/curl/CONTROL index 1022e223b..90e91c95a 100644 --- a/ports/curl/CONTROL +++ b/ports/curl/CONTROL @@ -1,5 +1,5 @@ Source: curl -Version: 7.66.0-1 +Version: 7.68.0 Build-Depends: zlib Homepage: https://github.com/curl/curl Description: A library for transferring data with URLs diff --git a/ports/curl/portfile.cmake b/ports/curl/portfile.cmake index 2b6514886..17e6817b1 100644 --- a/ports/curl/portfile.cmake +++ b/ports/curl/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO curl/curl - REF curl-7_66_0 - SHA512 0b02b6117ab69e848219fa59b25e4254934d841fbc3e2a70ccfdcb417ab7fc46a10dd703a25fbe8a2a98a59cbc73ad6b9298f5668a7345f7910010b958de4d21 + REF curl-7_68_0 + SHA512 d75ed39b121a5a04d5a4ba89779967a49e196a93325747b51399adf1afb5f5c13355d6dbe798b259d19245c83bb55f0b621b24b25d8f3ddb1914df30067b8737 HEAD_REF master PATCHES 0001_cmake.patch @@ -13,6 +13,7 @@ vcpkg_from_github( 0004_nghttp2_staticlib.patch 0005_remove_imp_suffix.patch 0006_fix_tool_depends.patch + 0007_disable_tool_export_curl_target.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" CURL_STATICLIB) diff --git a/ports/curlpp/CONTROL b/ports/curlpp/CONTROL index 538d18ed5..3978c383c 100644 --- a/ports/curlpp/CONTROL +++ b/ports/curlpp/CONTROL @@ -1,4 +1,4 @@ Source: curlpp -Version: 2018-06-15-1 +Version: 2018-06-15-2 Description: C++ wrapper around libcURL Build-Depends: curl diff --git a/ports/curlpp/portfile.cmake b/ports/curlpp/portfile.cmake index e08a2868e..fdc6d7f45 100644 --- a/ports/curlpp/portfile.cmake +++ b/ports/curlpp/portfile.cmake @@ -1,5 +1,3 @@ -include(vcpkg_common_functions) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO jpbarrette/curlpp @@ -17,10 +15,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -vcpkg_fixup_cmake_targets( - CONFIG_PATH lib/cmake/${PORT} - TARGET_PATH share/unofficial-${PORT} -) +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT} TARGET_PATH share/unofficial-${PORT}) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) @@ -31,11 +26,9 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL static) ) endif() -# Handle copyright -configure_file(${SOURCE_PATH}/doc/LICENSE - ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) - vcpkg_copy_pdbs() +vcpkg_test_cmake(PACKAGE_NAME unofficial-${PORT}) + +file(INSTALL ${SOURCE_PATH}/doc/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/unofficial-${PORT}) -# CMake integration test -#vcpkg_test_cmake(PACKAGE_NAME ${PORT}) diff --git a/ports/date/0002-fix-cmake-3.14.patch b/ports/date/0002-fix-cmake-3.14.patch new file mode 100644 index 000000000..de5ec1bd3 --- /dev/null +++ b/ports/date/0002-fix-cmake-3.14.patch @@ -0,0 +1,31 @@ +diff --git i/CMakeLists.txt w/CMakeLists.txt +index 885e424..b9e0b43 100644 +--- i/CMakeLists.txt ++++ w/CMakeLists.txt +@@ -72,7 +72,6 @@ target_sources( date INTERFACE + $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include/date/julian.h> + ) + # public headers will get installed: +-set_target_properties( date PROPERTIES PUBLIC_HEADER include/date/date.h ) + target_compile_definitions( date INTERFACE + #To workaround libstdc++ issue https://github.com/HowardHinnant/date/issues/388 + ONLY_C_LOCALE=$<IF:$<BOOL:${COMPILE_WITH_C_LOCALE}>,1,0> +@@ -112,7 +111,6 @@ if( BUILD_TZ_LIB ) + endif( ) + set_target_properties( tz PROPERTIES + POSITION_INDEPENDENT_CODE ON +- PUBLIC_HEADER "${TZ_HEADERS}" + VERSION "${PROJECT_VERSION}" + SOVERSION "${PROJECT_VERSION}" ) + if( NOT MSVC ) +@@ -136,8 +134,8 @@ write_basic_package_version_file( "${version_config}" + COMPATIBILITY SameMajorVersion ) + + install( TARGETS date +- EXPORT dateConfig +- PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/date ) ++ EXPORT dateConfig ) ++install( FILES include/date/date.h ${TZ_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/date ) + export( TARGETS date NAMESPACE date:: FILE dateConfig.cmake ) + + if( BUILD_TZ_LIB ) diff --git a/ports/date/CONTROL b/ports/date/CONTROL index eb1712116..7aaa8a823 100644 --- a/ports/date/CONTROL +++ b/ports/date/CONTROL @@ -1,5 +1,5 @@ Source: date -Version: 2019-09-09 +Version: 2019-11-08 Homepage: https://github.com/HowardHinnant/date Description: A date and time library based on the C++17 <chrono> header diff --git a/ports/date/portfile.cmake b/ports/date/portfile.cmake index ab2250b97..28c723a5f 100644 --- a/ports/date/portfile.cmake +++ b/ports/date/portfile.cmake @@ -10,10 +10,12 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO HowardHinnant/date - REF 44344000f0fa32e66787d6d2c9ff5ddfd3605df7 - SHA512 1ec75a4b6310f735261c996c63df8176f0523d8f59a23edd49fd8efbdcbf1e78051ba2f36df0920f6f5e6bbc8f81ea4639f73e05bb1cb7f97a8e500bde667782 + REF 3e376be2e9b4d32c946bd83c22601e4b7a1ce421 + SHA512 9dad181f8544bfcff8c42200552b6673e537c53b34fbad11663d6435d4e5fd5a3ac6cabbb76312481c9784b237151d9ccd161bb1b8c54c563fa75073896f3cff HEAD_REF master - PATCHES "${CMAKE_CURRENT_LIST_DIR}/0001-fix-uwp.patch" + PATCHES + "${CMAKE_CURRENT_LIST_DIR}/0001-fix-uwp.patch" + "${CMAKE_CURRENT_LIST_DIR}/0002-fix-cmake-3.14.patch" ) set(DATE_USE_SYSTEM_TZ_DB 1) @@ -25,8 +27,8 @@ vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS + -DBUILD_TZ_LIB=ON -DUSE_SYSTEM_TZ_DB=${DATE_USE_SYSTEM_TZ_DB} - -DENABLE_DATE_TESTING=OFF ) vcpkg_install_cmake() @@ -43,6 +45,6 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/date RENAME copyright) file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/date) -# Remove the wrapper when backwards compatibility with the unofficial::date::date and unofficial::date::tz -# targets is no longer required. +# Remove the wrapper when backwards compatibility when the unofficial::date::date and unofficial::date::tz +# targets are no longer required. file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/date) diff --git a/ports/dbow3/fix_cmake.patch b/ports/dbow3/fix_cmake.patch new file mode 100644 index 000000000..0b802425e --- /dev/null +++ b/ports/dbow3/fix_cmake.patch @@ -0,0 +1,2496 @@ +From d72cb42f5147f7648c462ee1b211070c1691a887 Mon Sep 17 00:00:00 2001 +From: Ramadan <ramadan.ahmedr93@gmail.com> +Date: Thu, 15 Aug 2019 12:27:19 +0200 +Subject: [PATCH 1/2] Fix CMakeLists.txt and installation + +--- + .gitignore | 249 ++++++++++ + CMakeLists.txt | 275 +---------- + Lib/CMakeLists.txt | 99 ++++ + Lib/DBow3Config.cmake | 4 + + {src => Lib/include/DBow3}/BowVector.h | 1 + + {src => Lib/include/DBow3}/DBoW3.h | 0 + {src => Lib/include/DBow3}/Database.h | 0 + {src => Lib/include/DBow3}/DescManip.h | 0 + {src => Lib/include/DBow3}/FeatureVector.h | 0 + {src => Lib/include/DBow3}/QueryResults.h | 0 + {src => Lib/include/DBow3}/ScoringObject.h | 0 + {src => Lib/include/DBow3}/Vocabulary.h | 0 + {src => Lib/include/DBow3}/exports.h | 16 +- + {src => Lib/include/DBow3}/quicklz.h | 0 + {src => Lib/include/DBow3}/timers.h | 0 + {src => Lib/src}/BowVector.cpp | 2 +- + {src => Lib/src}/Database.cpp | 2 +- + {src => Lib/src}/DescManip.cpp | 546 ++++++++++----------- + {src => Lib/src}/FeatureVector.cpp | 2 +- + {src => Lib/src}/QueryResults.cpp | 2 +- + {src => Lib/src}/ScoringObject.cpp | 4 +- + {src => Lib/src}/Vocabulary.cpp | 8 +- + {src => Lib/src}/quicklz.c | 2 +- + cmake/instructionSet.cmake | 13 + + cmake_uninstall.cmake.in | 28 -- + config.cmake.in | 36 -- + {utils => examples}/CMakeLists.txt | 0 + {utils => examples}/create_voc_step0.cpp | 252 +++++----- + {utils => examples}/create_voc_step1.cpp | 142 +++--- + {utils => examples}/demo_general.cpp | 404 +++++++-------- + {utils => examples}/images/image0.png | Bin + {utils => examples}/images/image1.png | Bin + {utils => examples}/images/image2.png | Bin + {utils => examples}/images/image3.png | Bin + src/CMakeLists.txt | 35 -- + orbvoc.dbow3 => voc/orbvoc.dbow3 | Bin + 36 files changed, 1072 insertions(+), 1050 deletions(-) + create mode 100644 .gitignore + create mode 100644 Lib/CMakeLists.txt + create mode 100644 Lib/DBow3Config.cmake + rename {src => Lib/include/DBow3}/BowVector.h (99%) + rename {src => Lib/include/DBow3}/DBoW3.h (100%) + rename {src => Lib/include/DBow3}/Database.h (100%) + rename {src => Lib/include/DBow3}/DescManip.h (100%) + rename {src => Lib/include/DBow3}/FeatureVector.h (100%) + rename {src => Lib/include/DBow3}/QueryResults.h (100%) + rename {src => Lib/include/DBow3}/ScoringObject.h (100%) + rename {src => Lib/include/DBow3}/Vocabulary.h (100%) + rename {src => Lib/include/DBow3}/exports.h (78%) + rename {src => Lib/include/DBow3}/quicklz.h (100%) + rename {src => Lib/include/DBow3}/timers.h (100%) + rename {src => Lib/src}/BowVector.cpp (99%) + rename {src => Lib/src}/Database.cpp (99%) + rename {src => Lib/src}/DescManip.cpp (96%) + rename {src => Lib/src}/FeatureVector.cpp (98%) + rename {src => Lib/src}/QueryResults.cpp (97%) + rename {src => Lib/src}/ScoringObject.cpp (99%) + rename {src => Lib/src}/Vocabulary.cpp (99%) + rename {src => Lib/src}/quicklz.c (99%) + create mode 100644 cmake/instructionSet.cmake + delete mode 100644 cmake_uninstall.cmake.in + delete mode 100644 config.cmake.in + rename {utils => examples}/CMakeLists.txt (100%) + rename {utils => examples}/create_voc_step0.cpp (97%) + rename {utils => examples}/create_voc_step1.cpp (97%) + rename {utils => examples}/demo_general.cpp (96%) + rename {utils => examples}/images/image0.png (100%) + rename {utils => examples}/images/image1.png (100%) + rename {utils => examples}/images/image2.png (100%) + rename {utils => examples}/images/image3.png (100%) + delete mode 100644 src/CMakeLists.txt + rename orbvoc.dbow3 => voc/orbvoc.dbow3 (100%) + +diff --git a/.gitignore b/.gitignore +new file mode 100644 +index 0000000..8c4285e +--- /dev/null ++++ b/.gitignore +@@ -0,0 +1,249 @@ ++## Ignore Visual Studio temporary files, build results, and ++## files generated by popular Visual Studio add-ons. ++ ++# User-specific files ++*.suo ++*.user ++*.userosscache ++*.sln.docstates ++ ++# User-specific files (MonoDevelop/Xamarin Studio) ++*.userprefs ++ ++# Build results ++[Dd]ebug/ ++[Dd]ebugPublic/ ++[Rr]elease/ ++[Rr]eleases/ ++[Xx]64/ ++[Xx]86/ ++[Bb]uild/ ++bld/ ++[Bb]in/ ++[Oo]bj/ ++ ++# Visual Studio 2015 cache/options directory ++.vs/ ++out/ ++# Uncomment if you have tasks that create the project's static files in wwwroot ++#wwwroot/ ++ ++# MSTest test Results ++[Tt]est[Rr]esult*/ ++[Bb]uild[Ll]og.* ++ ++# NUNIT ++*.VisualState.xml ++TestResult.xml ++ ++# Build Results of an ATL Project ++[Dd]ebugPS/ ++[Rr]eleasePS/ ++dlldata.c ++ ++# DNX ++project.lock.json ++artifacts/ ++ ++*_i.c ++*_p.c ++*_i.h ++*.ilk ++*.meta ++*.obj ++*.pch ++*.pdb ++*.pgc ++*.pgd ++*.rsp ++*.sbr ++*.tlb ++*.tli ++*.tlh ++*.tmp ++*.tmp_proj ++*.log ++*.vspscc ++*.vssscc ++.builds ++*.pidb ++*.svclog ++*.scc ++*.tlog ++*.idb ++# Chutzpah Test files ++_Chutzpah* ++ ++# Visual C++ cache files ++ipch/ ++*.aps ++*.ncb ++*.opendb ++*.opensdf ++*.sdf ++*.cachefile ++*.VC.db ++ ++# Visual Studio profiler ++*.psess ++*.vsp ++*.vspx ++*.sap ++ ++# TFS 2012 Local Workspace ++$tf/ ++ ++# Guidance Automation Toolkit ++*.gpState ++ ++# ReSharper is a .NET coding add-in ++_ReSharper*/ ++*.[Rr]e[Ss]harper ++*.DotSettings.user ++ ++# JustCode is a .NET coding add-in ++.JustCode ++ ++# TeamCity is a build add-in ++_TeamCity* ++ ++# DotCover is a Code Coverage Tool ++*.dotCover ++ ++# NCrunch ++_NCrunch_* ++.*crunch*.local.xml ++nCrunchTemp_* ++ ++# MightyMoose ++*.mm.* ++AutoTest.Net/ ++ ++# Web workbench (sass) ++.sass-cache/ ++ ++# Installshield output folder ++[Ee]xpress/ ++ ++# DocProject is a documentation generator add-in ++DocProject/buildhelp/ ++DocProject/Help/*.HxT ++DocProject/Help/*.HxC ++DocProject/Help/*.hhc ++DocProject/Help/*.hhk ++DocProject/Help/*.hhp ++DocProject/Help/Html2 ++DocProject/Help/html ++ ++# Click-Once directory ++publish/ ++ ++# Publish Web Output ++*.[Pp]ublish.xml ++*.azurePubxml ++ ++# TODO: Un-comment the next line if you do not want to checkin ++# your web deploy settings because they may include unencrypted ++# passwords ++#*.pubxml ++*.publishproj ++ ++# NuGet Packages ++*.nupkg ++# The packages folder can be ignored because of Package Restore ++**/packages/* ++# except build/, which is used as an MSBuild target. ++!**/packages/build/ ++# Uncomment if necessary however generally it will be regenerated when needed ++#!**/packages/repositories.config ++# NuGet v3's project.json files produces more ignoreable files ++*.nuget.props ++*.nuget.targets ++ ++# Microsoft Azure Build Output ++csx/ ++*.build.csdef ++ ++# Microsoft Azure Emulator ++ecf/ ++rcf/ ++ ++# Microsoft Azure ApplicationInsights config file ++ApplicationInsights.config ++ ++# Windows Store app package directory ++AppPackages/ ++BundleArtifacts/ ++ ++# Visual Studio cache files ++# files ending in .cache can be ignored ++*.[Cc]ache ++# but keep track of directories ending in .cache ++!*.[Cc]ache/ ++ ++# Others ++ClientBin/ ++[Ss]tyle[Cc]op.* ++~$* ++*~ ++*.dbmdl ++*.dbproj.schemaview ++*.pfx ++*.publishsettings ++node_modules/ ++orleans.codegen.cs ++ ++# RIA/Silverlight projects ++Generated_Code/ ++ ++# Backup & report files from converting an old project file ++# to a newer Visual Studio version. Backup files are not needed, ++# because we have git ;-) ++_UpgradeReport_Files/ ++Backup*/ ++UpgradeLog*.XML ++UpgradeLog*.htm ++ ++# SQL Server files ++*.mdf ++*.ldf ++ ++# Business Intelligence projects ++*.rdl.data ++*.bim.layout ++*.bim_*.settings ++ ++# Microsoft Fakes ++FakesAssemblies/ ++ ++# GhostDoc plugin setting file ++*.GhostDoc.xml ++ ++# Node.js Tools for Visual Studio ++.ntvs_analysis.dat ++ ++# Visual Studio 6 build log ++*.plg ++ ++# Visual Studio 6 workspace options file ++*.opt ++ ++# Visual Studio LightSwitch build output ++**/*.HTMLClient/GeneratedArtifacts ++**/*.DesktopClient/GeneratedArtifacts ++**/*.DesktopClient/ModelManifest.xml ++**/*.Server/GeneratedArtifacts ++**/*.Server/ModelManifest.xml ++_Pvt_Extensions ++ ++# LightSwitch generated files ++GeneratedArtifacts/ ++ModelManifest.xml ++ ++# Paket dependency manager ++.paket/paket.exe ++ ++# FAKE - F# Make ++.fake/ ++html ++xml +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 9541cd7..a2a563a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,268 +1,25 @@ +-# ----------------------------------------------------------------------------
+-# Basic Configuration
+-# ----------------------------------------------------------------------------
+-CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
++cmake_minimum_required(VERSION 3.10)
+
+-set(CMAKE_CXX_STANDARD 11)
++project(DBow3 VERSION 1.0.0)
+
+-PROJECT(DBoW3)
+-set(PROJECT_VERSION "0.0.1")
+-string(REGEX MATCHALL "[0-9]" PROJECT_VERSION_PARTS "${PROJECT_VERSION}")
+-list(GET PROJECT_VERSION_PARTS 0 PROJECT_VERSION_MAJOR)
+-list(GET PROJECT_VERSION_PARTS 1 PROJECT_VERSION_MINOR)
+-list(GET PROJECT_VERSION_PARTS 2 PROJECT_VERSION_PATCH)
+-set(PROJECT_SOVERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}")
++option(BUILD_EXAMPLES "Set to ON to build examples" OFF)
++option(BUILD_TESTS "Set to ON to build tests" OFF)
++option(BUILD_SHARED_LIBS "Set to OFF to build static libraries" ON)
+
+-message("LIB_INSTALL_DIR: ${LIB_INSTALL_DIR}")
++# OpenCV
++option(USE_OPENCV_CONTRIB "Set on to use opencv-contrib" ON)
+
+-#------------------------------------------------------
+-# Build type
+-#------------------------------------------------------
++# Optimization
++option(USE_SIMD "Set on to enabel avx optimization" ON)
+
+-IF(NOT CMAKE_BUILD_TYPE )
+- SET( CMAKE_BUILD_TYPE "Release" )
+-ENDIF()
+
+-#------------------------------------------------------
+-# Lib Names and Dirs
+-#------------------------------------------------------
++add_subdirectory(Lib)
+
+-if(WIN32)
+- # Postfix of DLLs:
+- SET(PROJECT_DLLVERSION "${PROJECT_VERSION_MAJOR}${PROJECT_VERSION_MINOR}${PROJECT_VERSION_PATCH}")
+- SET(RUNTIME_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin CACHE PATH "Directory for dlls and binaries")
+- SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin CACHE PATH "Directory for binaries")
+- SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin CACHE PATH "Directory for dlls")
+-else()
+- # Postfix of so's:
+- set(PROJECT_DLLVERSION)
+- set(LIB_INSTALL_DIR lib CACHE STRING "Install location of libraries (e.g. lib32 or lib64 for multilib installations)")
+- SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_INSTALL_PREFIX}/${LIB_INSTALL_DIR}/cmake/ /usr/${LIB_INSTALL_DIR}/cmake )
+-endif()
++if(BUILD_EXAMPLES)
++ add_subdirectory(examples)
++endif(BUILD_EXAMPLES)
+
++if(BUILD_TESTS)
++ add_subdirectory(tests)
++endif(BUILD_TESTS)
+
+-
+-#
+-OPTION(BUILD_UTILS "Set to OFF to not build utils" ON)
+-OPTION(USE_CONTRIB "Set to ON if contrib are installed" OFF)
+-OPTION(BUILD_SHARED_LIBS "Set to OFF to build static libraries" ON)
+-
+-# ----------------------------------------------------------------------------
+-# Find Dependencies
+-# ----------------------------------------------------------------------------
+-find_package(OpenCV REQUIRED)
+-IF(USE_CONTRIB)
+-add_definitions(-DUSE_CONTRIB)
+-ENDIF()
+-if(NOT OpenCV_VERSION VERSION_LESS "3.0")
+- ADD_DEFINITIONS(-DOPENCV_VERSION_3)
+- SET(OPENCV_VERSION_3 ON)
+-ELSE()
+- SET(OPENCV_VERSION_3 OFF)
+-ENDIF()
+-
+-include_directories(${OpenCV_INCLUDE_DIRS})
+-
+-SET(REQUIRED_LIBRARIES ${REQUIRED_LIBRARIES} ${OpenCV_LIBS})
+-
+-# ----------------------------------------------------------------------------
+-# PROJECT CONFIGURATION
+-# force some variables that could be defined in the command line to be written to cache
+-# ----------------------------------------------------------------------------
+-OPTION(INSTALL_DOC "Set to ON to build/install Documentation" OFF)
+-IF (INSTALL_DOC)
+- FIND_PACKAGE(Doxygen REQUIRED)
+- MESSAGE( STATUS "INSTALL_DOC: ${INSTALL_DOC} ")
+- INCLUDE("${PROJECT_SOURCE_DIR}/generateDoc.cmake")
+- GENERATE_DOCUMENTATION(${PROJECT_SOURCE_DIR}/dox.in)
+-ENDIF()
+-
+-# ----------------------------------------------------------------------------
+-# Uninstall target, for "make uninstall"
+-# ----------------------------------------------------------------------------
+-CONFIGURE_FILE( "${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake" IMMEDIATE @ONLY)
+-ADD_CUSTOM_TARGET(uninstall "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
+-
+-# ----------------------------------------------------------------------------
+-# create configuration file from .in file (If you use windows take care with paths)
+-# ----------------------------------------------------------------------------
+-
+-CONFIGURE_FILE("${PROJECT_SOURCE_DIR}/config.cmake.in" "${PROJECT_BINARY_DIR}/Find${PROJECT_NAME}.cmake")
+-CONFIGURE_FILE("${PROJECT_SOURCE_DIR}/config.cmake.in" "${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.cmake")
+-INSTALL(FILES "${PROJECT_BINARY_DIR}/Find${PROJECT_NAME}.cmake" DESTINATION ${LIB_INSTALL_DIR}/cmake/ )
+-INSTALL(FILES "${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.cmake" DESTINATION ${LIB_INSTALL_DIR}/cmake/${PROJECT_NAME} )
+-
+-
+-
+-
+-# ----------------------------------------------------------------------------
+-# Program Optimization and debug (Extracted from OpenCV)
+-# ----------------------------------------------------------------------------
+-set(WARNINGS_ARE_ERRORS OFF CACHE BOOL "Treat warnings as errors")
+-set(WHOLE_PROGRAM_OPTIMIZATION OFF CACHE BOOL "Flags for whole program optimization.")
+-
+-set(EXTRA_C_FLAGS "")
+-set(EXTRA_C_FLAGS_RELEASE "")
+-set(EXTRA_C_FLAGS_DEBUG "")
+-set(EXTRA_EXE_LINKER_FLAGS "")
+-set(EXTRA_EXE_LINKER_FLAGS_RELEASE "")
+-set(EXTRA_EXE_LINKER_FLAGS_DEBUG "")
+-
+-IF(CMAKE_COMPILER_IS_GNUCXX OR MINGW)
+- set(ENABLE_PROFILING OFF CACHE BOOL "Enable profiling in the GCC compiler (Add flags: -g -pg)")
+- set(USE_OMIT_FRAME_POINTER ON CACHE BOOL "Enable -fomit-frame-pointer for GCC")
+- if(${CMAKE_SYSTEM_PROCESSOR} MATCHES arm*) # We can use only -O2 because the -O3 causes gcc crash
+- set(USE_O2 ON CACHE BOOL "Enable -O2 for GCC")
+- set(USE_FAST_MATH OFF CACHE BOOL "Enable -ffast-math for GCC")
+- endif()
+- if(${CMAKE_SYSTEM_PROCESSOR} MATCHES powerpc*)
+- set(USE_O3 ON CACHE BOOL "Enable -O3 for GCC")
+- set(USE_POWERPC ON CACHE BOOL "Enable PowerPC for GCC")
+- endif ()
+- if(${CMAKE_SYSTEM_PROCESSOR} MATCHES amd64* OR ${CMAKE_SYSTEM_PROCESSOR} MATCHES x86_64*)
+- set(USE_O3 ON CACHE BOOL "Enable -O3 for GCC")
+- set(USE_FAST_MATH OFF CACHE BOOL "Enable -ffast-math for GCC")
+- set(USE_MMX ON CACHE BOOL "Enable MMX for GCC")
+- set(USE_SSE ON CACHE BOOL "Enable SSE for GCC")
+- set(USE_SSE2 ON CACHE BOOL "Enable SSE2 for GCC")
+- set(USE_SSE3 ON CACHE BOOL "Enable SSE3 for GCC")
+- endif()
+- if(${CMAKE_SYSTEM_PROCESSOR} MATCHES i686* OR ${CMAKE_SYSTEM_PROCESSOR} MATCHES x86)
+- set(USE_O3 ON CACHE BOOL "Enable -O3 for GCC")
+- set(USE_FAST_MATH OFF CACHE BOOL "Enable -ffast-math for GCC")
+- set(USE_MMX ON CACHE BOOL "Enable MMX for GCC")
+- set(USE_SSE OFF CACHE BOOL "Enable SSE for GCC")
+- set(USE_SSE2 OFF CACHE BOOL "Enable SSE2 for GCC")
+- set(USE_SSE3 OFF CACHE BOOL "Enable SSE3 for GCC")
+- endif ()
+-
+- set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} -Wall")
+-
+- if(WARNINGS_ARE_ERRORS)
+- set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} -Werror")
+- endif()
+-
+- # The -Wno-long-long is required in 64bit systems when including sytem headers.
+- if(${CMAKE_SYSTEM_PROCESSOR} MATCHES x86_64* OR ${CMAKE_SYSTEM_PROCESSOR} MATCHES amd64*)
+- set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} -Wno-long-long")
+- endif()
+-
+- # Whole program optimization
+- if(WHOLE_PROGRAM_OPTIMIZATION)
+- set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -fwhole-program --combine")
+- endif()
+-
+- # Other optimizations
+- if(USE_OMIT_FRAME_POINTER)
+- set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -fomit-frame-pointer")
+- endif()
+- if(USE_O2)
+- set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -O2")
+- endif()
+- if(USE_O3)
+- set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -O3")
+- endif()
+- if(USE_FAST_MATH)
+- set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -ffast-math")
+- endif()
+- if(USE_POWERPC)
+- set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -mcpu=G3 -mtune=G5")
+- endif()
+- if(USE_MMX)
+- set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -mmmx")
+- endif()
+- if(USE_SSE)
+- set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -msse")
+- endif()
+- if(USE_SSE2)
+- set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -msse2")
+- endif()
+- if(USE_SSE3 AND NOT MINGW) # SSE3 should be disabled under MingW because it generates compiler errors
+- set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -msse3")
+- endif()
+-
+- if(ENABLE_PROFILING)
+- set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -pg -g")
+- else()
+- if(NOT APPLE)
+- set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} -ffunction-sections")
+- endif()
+- endif()
+-
+-
+- set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -DNDEBUG ")
+- set(EXTRA_C_FLAGS_DEBUG "-g3 -O0 -DDEBUG -D_DEBUG -W -Wextra -Wno-return-type ")
+-
+- MESSAGE( STATUS "-------------------------------------------------------------------------------" )
+- message( STATUS "GNU COMPILER")
+- MESSAGE( STATUS "-------------------------------------------------------------------------------" )
+-
+-
+-
+-
+-ELSE() # MSVC
+-
+-
+-ENDIF()#END OF COMPILER SPECIFIC OPTIONS
+-SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS} ${EXTRA_C_FLAGS_RELEASE}")
+-SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS} ${EXTRA_C_FLAGS_DEBUG}")
+-SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -std=c++11")
+-SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -std=c++11")
+-set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELEASE} ${CMAKE_C_FLAGS_DEBUG}")
+-set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELEASE} ${CMAKE_CXX_FLAGS_DEBUG}")
+-SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${EXTRA_EXE_LINKER_FLAGS}")
+-SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} ${EXTRA_EXE_LINKER_FLAGS_RELEASE}")
+-SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} ${EXTRA_EXE_LINKER_FLAGS_DEBUG}")
+-
+-
+-
+-#------------------------------------------------
+-# DIRS
+-#------------------------------------------------
+-ADD_SUBDIRECTORY(src)
+-IF (BUILD_UTILS)
+-ADD_SUBDIRECTORY(utils)
+-ENDIF()
+-
+-IF (BUILD_TESTS)
+-ADD_SUBDIRECTORY(tests)
+-ENDIF()
+-
+-
+-# ----------------------------------------------------------------------------
+-# display status message for important variables
+-# ----------------------------------------------------------------------------
+-message( STATUS )
+-MESSAGE( STATUS "-------------------------------------------------------------------------------" )
+-message( STATUS "General configuration for ${PROJECT_NAME} ${PROJECT_VERSION}")
+-MESSAGE( STATUS "-------------------------------------------------------------------------------" )
+-message(" Built as dynamic libs?:" ${BUILD_SHARED_LIBS})
+-message(" Compiler:" "${CMAKE_COMPILER}" "${CMAKE_CXX_COMPILER}")
+-
+-message( STATUS "Build Type: ${CMAKE_BUILD_TYPE}")
+-message( STATUS "C++ flags (Release): ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_RELEASE}")
+-message( STATUS "C++ flags (Debug): ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_DEBUG}")
+-message( STATUS "C++ flags (Relase+Debug): ${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
+-
+-message( STATUS "CMAKE_CXX_FLAGS: ${CMAKE_CXX_FLAGS}")
+-message( STATUS "CMAKE_BINARY_DIR: ${CMAKE_BINARY_DIR}")
+-
+-MESSAGE( STATUS )
+-MESSAGE( STATUS "CMAKE_SYSTEM_PROCESSOR = ${CMAKE_SYSTEM_PROCESSOR}" )
+-MESSAGE( STATUS "CMAKE_INSTALL_PREFIX = ${CMAKE_INSTALL_PREFIX}" )
+-MESSAGE( STATUS "CMAKE_BUILD_TYPE = ${CMAKE_BUILD_TYPE}" )
+-MESSAGE( STATUS "CMAKE_MODULE_PATH = ${CMAKE_MODULE_PATH}" )
+-MESSAGE( STATUS "BUILD_UTILS= ${BUILD_UTILS}" )
+-MESSAGE( STATUS "BUILD_TESTS= ${BUILD_TESTS}" )
+-MESSAGE( STATUS "OPENCV_DIR= ${OpenCV_DIR} VERSION=${OpenCV_VERSION}" )
+-
+-MESSAGE( STATUS "USE_CONTRIB= ${USE_CONTRIB}" )
+-
+-MESSAGE( STATUS )
+-MESSAGE( STATUS "OpenCV_LIB_DIR=${OpenCV_LIB_DIR}")
+-MESSAGE( STATUS "CMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}")
+-
+-MESSAGE( STATUS )
+-MESSAGE( STATUS )
+-MESSAGE( STATUS "Change a value with: cmake -D<Variable>=<Value>" )
+-MESSAGE( STATUS )
+diff --git a/Lib/CMakeLists.txt b/Lib/CMakeLists.txt +new file mode 100644 +index 0000000..e56077b +--- /dev/null ++++ b/Lib/CMakeLists.txt +@@ -0,0 +1,99 @@ ++cmake_minimum_required(VERSION 3.10) ++ ++find_package(OpenCV REQUIRED) ++ ++find_package(OpenMP REQUIRED) ++ ++include(${CMAKE_SOURCE_DIR}/cmake/instructionSet.cmake) ++ ++if(BUILD_SHARED_LIBS) ++ add_library(DBow3 SHARED) ++ ++ target_compile_definitions(DBow3 ++ PUBLIC ++ DBOW_API ++ ) ++ ++else() ++ add_library(DBow3 STATIC) ++endif() ++ ++add_library(DBow3::DBow3 ALIAS DBow3) ++ ++target_sources(DBow3 ++ PRIVATE ++ src/BowVector.cpp ++ src/Database.cpp ++ src/DescManip.cpp ++ src/FeatureVector.cpp ++ src/QueryResults.cpp ++ src/ScoringObject.cpp ++ src/Vocabulary.cpp ++ src/quicklz.c ++) ++ ++target_include_directories(DBow3 ++ PUBLIC ++ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> ++ $<INSTALL_INTERFACE:include> ++) ++ ++target_link_libraries(DBow3 ++ PUBLIC ++ OpenMP::OpenMP_CXX ++) ++ ++if(USE_OPENCV_CONTRIB) ++target_link_libraries(DBow3 ++ PUBLIC ++ ${OpenCV_LIBS} ++) ++ ++target_include_directories(DBow3 ++ PUBLIC ++ ${OpenCV_INCLUDE_DIR} ++) ++endif() ++ ++if(USE_SIMD) ++ target_link_libraries(DBow3 ++ PRIVATE ++ SIMD::SSE4.1 ++ ) ++endif() ++ ++target_compile_definitions(DBow3 ++ PUBLIC ++ NOMINMAX ++ _USE_MATH_DEFINES ++) ++ ++target_compile_features(DBow3 ++ PRIVATE ++ cxx_std_14 ++) ++ ++ ++install(TARGETS DBow3 EXPORT DBow3Targets ++ LIBRARY DESTINATION lib ++ ARCHIVE DESTINATION lib ++ RUNTIME DESTINATION bin ++ INCLUDES DESTINATION include ++) ++ ++install (DIRECTORY include/ DESTINATION include) ++ ++install(EXPORT DBow3Targets ++ FILE DBow3Targets.cmake ++ NAMESPACE DBow3:: ++ DESTINATION cmake/DBow3 ++) ++ ++include(CMakePackageConfigHelpers) ++ ++write_basic_package_version_file(DBow3ConfigVersion.cmake ++ COMPATIBILITY SameMajorVersion ++) ++ ++install(FILES DBow3Config.cmake ${CMAKE_CURRENT_BINARY_DIR}/DBow3ConfigVersion.cmake ++ DESTINATION cmake/DBow3) +\ No newline at end of file +diff --git a/Lib/DBow3Config.cmake b/Lib/DBow3Config.cmake +new file mode 100644 +index 0000000..9720a14 +--- /dev/null ++++ b/Lib/DBow3Config.cmake +@@ -0,0 +1,4 @@ ++include(CMakeFindDependencyMacro) ++find_dependency(OpenCV) ++find_dependency(OpenMP) ++include("${CMAKE_CURRENT_LIST_DIR}/FbowTargets.cmake") +\ No newline at end of file +diff --git a/src/BowVector.h b/Lib/include/DBow3/BowVector.h +similarity index 99% +rename from src/BowVector.h +rename to Lib/include/DBow3/BowVector.h +index d8c17e0..cdbf517 100644 +--- a/src/BowVector.h ++++ b/Lib/include/DBow3/BowVector.h +@@ -12,6 +12,7 @@ + + #include <map> + #include <vector> ++#include <ostream> + #include "exports.h" + #if _WIN32 + #include <cstdint> +diff --git a/src/DBoW3.h b/Lib/include/DBow3/DBoW3.h +similarity index 100% +rename from src/DBoW3.h +rename to Lib/include/DBow3/DBoW3.h +diff --git a/src/Database.h b/Lib/include/DBow3/Database.h +similarity index 100% +rename from src/Database.h +rename to Lib/include/DBow3/Database.h +diff --git a/src/DescManip.h b/Lib/include/DBow3/DescManip.h +similarity index 100% +rename from src/DescManip.h +rename to Lib/include/DBow3/DescManip.h +diff --git a/src/FeatureVector.h b/Lib/include/DBow3/FeatureVector.h +similarity index 100% +rename from src/FeatureVector.h +rename to Lib/include/DBow3/FeatureVector.h +diff --git a/src/QueryResults.h b/Lib/include/DBow3/QueryResults.h +similarity index 100% +rename from src/QueryResults.h +rename to Lib/include/DBow3/QueryResults.h +diff --git a/src/ScoringObject.h b/Lib/include/DBow3/ScoringObject.h +similarity index 100% +rename from src/ScoringObject.h +rename to Lib/include/DBow3/ScoringObject.h +diff --git a/src/Vocabulary.h b/Lib/include/DBow3/Vocabulary.h +similarity index 100% +rename from src/Vocabulary.h +rename to Lib/include/DBow3/Vocabulary.h +diff --git a/src/exports.h b/Lib/include/DBow3/exports.h +similarity index 78% +rename from src/exports.h +rename to Lib/include/DBow3/exports.h +index c324953..a31b317 100644 +--- a/src/exports.h ++++ b/Lib/include/DBow3/exports.h +@@ -35,17 +35,15 @@ or implied, of Rafael Muñoz Salinas. + #define _CRT_SECURE_NO_DEPRECATE /* to avoid multiple Visual Studio 2005 warnings */ + #endif + +-#if (defined WIN32 || defined _WIN32 || defined WINCE) && defined DBOW_DSO_EXPORTS +- #define DBOW_API __declspec(dllexport) +- #pragma warning ( disable : 4251 ) //disable warning to templates with dll linkage. +- #pragma warning ( disable : 4290 ) //disable warning due to exception specifications. +- #pragma warning ( disable : 4996 ) //disable warning regarding unsafe vsprintf. +- #pragma warning ( disable : 4244 ) //disable warning convesions with lost of data. +- ++#ifdef _WIN32 ++# ifdef DBOW_API ++# define DBOW_API __declspec(dllexport) ++# else ++# define DBOW_API __declspec(dllimport) ++# endif + #else +- #define DBOW_API ++# define DBOW_API + #endif + +- + #define DBOW_VERSION "3.0.0" + #endif +diff --git a/src/quicklz.h b/Lib/include/DBow3/quicklz.h +similarity index 100% +rename from src/quicklz.h +rename to Lib/include/DBow3/quicklz.h +diff --git a/src/timers.h b/Lib/include/DBow3/timers.h +similarity index 100% +rename from src/timers.h +rename to Lib/include/DBow3/timers.h +diff --git a/src/BowVector.cpp b/Lib/src/BowVector.cpp +similarity index 99% +rename from src/BowVector.cpp +rename to Lib/src/BowVector.cpp +index d132213..f61d421 100644 +--- a/src/BowVector.cpp ++++ b/Lib/src/BowVector.cpp +@@ -13,7 +13,7 @@ + #include <algorithm> + #include <cmath> + +-#include "BowVector.h" ++#include "DBow3/BowVector.h" + + namespace DBoW3 { + +diff --git a/src/Database.cpp b/Lib/src/Database.cpp +similarity index 99% +rename from src/Database.cpp +rename to Lib/src/Database.cpp +index d8a1b81..25610a0 100644 +--- a/src/Database.cpp ++++ b/Lib/src/Database.cpp +@@ -1,4 +1,4 @@ +-#include "Database.h" ++#include "DBow3/Database.h" + + namespace DBoW3{ + +diff --git a/src/DescManip.cpp b/Lib/src/DescManip.cpp +similarity index 96% +rename from src/DescManip.cpp +rename to Lib/src/DescManip.cpp +index d6331af..430ce2b 100644 +--- a/src/DescManip.cpp ++++ b/Lib/src/DescManip.cpp +@@ -1,273 +1,273 @@ +-/**
+- * File: DescManip.cpp
+- * Date: June 2012
+- * Author: Dorian Galvez-Lopez
+- * Description: functions for ORB descriptors
+- * License: see the LICENSE.txt file
+- *
+- */
+-
+-#include <vector>
+-#include <string>
+-#include <sstream>
+-#include <iostream>
+-#include <stdint.h>
+-#include <limits.h>
+-
+-#include "DescManip.h"
+-
+-using namespace std;
+-
+-namespace DBoW3 {
+-
+-// --------------------------------------------------------------------------
+-
+-void DescManip::meanValue(const std::vector<cv::Mat> &descriptors,
+- cv::Mat &mean)
+-{
+-
+- if(descriptors.empty()) return;
+-
+- if(descriptors.size() == 1)
+- {
+- mean = descriptors[0].clone();
+- return;
+- }
+- //binary descriptor
+- if (descriptors[0].type()==CV_8U ){
+- //determine number of bytes of the binary descriptor
+- int L= getDescSizeBytes( descriptors[0]);
+- vector<int> sum( L * 8, 0);
+-
+- for(size_t i = 0; i < descriptors.size(); ++i)
+- {
+- const cv::Mat &d = descriptors[i];
+- const unsigned char *p = d.ptr<unsigned char>();
+-
+- for(int j = 0; j < d.cols; ++j, ++p)
+- {
+- if(*p & (1 << 7)) ++sum[ j*8 ];
+- if(*p & (1 << 6)) ++sum[ j*8 + 1 ];
+- if(*p & (1 << 5)) ++sum[ j*8 + 2 ];
+- if(*p & (1 << 4)) ++sum[ j*8 + 3 ];
+- if(*p & (1 << 3)) ++sum[ j*8 + 4 ];
+- if(*p & (1 << 2)) ++sum[ j*8 + 5 ];
+- if(*p & (1 << 1)) ++sum[ j*8 + 6 ];
+- if(*p & (1)) ++sum[ j*8 + 7 ];
+- }
+- }
+-
+- mean = cv::Mat::zeros(1, L, CV_8U);
+- unsigned char *p = mean.ptr<unsigned char>();
+-
+- const int N2 = (int)descriptors.size() / 2 + descriptors.size() % 2;
+- for(size_t i = 0; i < sum.size(); ++i)
+- {
+- if(sum[i] >= N2)
+- {
+- // set bit
+- *p |= 1 << (7 - (i % 8));
+- }
+-
+- if(i % 8 == 7) ++p;
+- }
+- }
+- //non binary descriptor
+- else{
+- assert(descriptors[0].type()==CV_32F );//ensure it is float
+-
+- mean.create(1, descriptors[0].cols,descriptors[0].type());
+- mean.setTo(cv::Scalar::all(0));
+- float inv_s =1./double( descriptors.size());
+- for(size_t i=0;i<descriptors.size();i++)
+- mean += descriptors[i] * inv_s;
+-
+- }
+-
+-}
+-
+-// --------------------------------------------------------------------------
+-static inline uint32_t distance_8uc1(const cv::Mat &a, const cv::Mat &b);
+-
+-double DescManip::distance(const cv::Mat &a, const cv::Mat &b)
+-{
+-
+- //binary descriptor
+- if (a.type()==CV_8U){
+-
+- // Bit count function got from:
+- // http://graphics.stanford.edu/~seander/bithacks.html#CountBitsSetKernighan
+- // This implementation assumes that a.cols (CV_8U) % sizeof(uint64_t) == 0
+-
+- const uint64_t *pa, *pb;
+- pa = a.ptr<uint64_t>(); // a & b are actually CV_8U
+- pb = b.ptr<uint64_t>();
+-
+- uint64_t v, ret = 0;
+- for(size_t i = 0; i < a.cols / sizeof(uint64_t); ++i, ++pa, ++pb)
+- {
+- v = *pa ^ *pb;
+- v = v - ((v >> 1) & (uint64_t)~(uint64_t)0/3);
+- v = (v & (uint64_t)~(uint64_t)0/15*3) + ((v >> 2) &
+- (uint64_t)~(uint64_t)0/15*3);
+- v = (v + (v >> 4)) & (uint64_t)~(uint64_t)0/255*15;
+- ret += (uint64_t)(v * ((uint64_t)~(uint64_t)0/255)) >>
+- (sizeof(uint64_t) - 1) * CHAR_BIT;
+- }
+-
+- return ret;
+- }
+- else{
+- double sqd = 0.;
+- assert(a.type()==CV_32F);
+- assert(a.rows==1);
+- const float *a_ptr=a.ptr<float>(0);
+- const float *b_ptr=b.ptr<float>(0);
+- for(int i = 0; i < a.cols; i ++)
+- sqd += (a_ptr[i ] - b_ptr[i ])*(a_ptr[i ] - b_ptr[i ]);
+- return sqd;
+- }
+-}
+-
+-
+-
+-
+-// --------------------------------------------------------------------------
+-
+-std::string DescManip::toString(const cv::Mat &a)
+-{
+- stringstream ss;
+- //introduce a magic value to distinguish from DBOw2
+- ss<<"dbw3 ";
+- //save size and type
+-
+-
+- ss <<a.type()<<" "<<a.cols<<" ";
+-
+- if (a.type()==CV_8U){
+- const unsigned char *p = a.ptr<unsigned char>();
+- for(int i = 0; i < a.cols; ++i, ++p)
+- ss << (int)*p << " ";
+- }else{
+-
+- const float *p = a.ptr<float>();
+- for(int i = 0; i < a.cols; ++i, ++p)
+- ss << *p << " ";
+-
+- }
+-
+- return ss.str();
+-}
+-
+-// --------------------------------------------------------------------------
+-
+-void DescManip::fromString(cv::Mat &a, const std::string &s)
+-{
+-
+- //check if the dbow3 is present
+- string ss_aux;ss_aux.reserve(10);
+- for(size_t i=0;i<10 && i<s.size();i++)
+- ss_aux.push_back(s[i]);
+- if(ss_aux.find("dbw3")==std::string::npos){//is dbow2
+- //READ UNTIL END
+- stringstream ss(s);
+- int val;
+- vector<uchar> data;data.reserve(100);
+- while( ss>>val) data.push_back(val);
+- //copy to a
+- a.create(1,data.size(),CV_8UC1);
+- memcpy(a.ptr<char>(0),&data[0],data.size());
+- }
+- else {
+- char szSign[10];
+- int type,cols;
+- stringstream ss(s);
+- ss >> szSign >> type >> cols;
+- a.create(1, cols, type);
+- if(type==CV_8UC1){
+- unsigned char *p = a.ptr<unsigned char>();
+- int n;
+- for(int i = 0; i < a.cols; ++i, ++p)
+- if ( ss >> n) *p = (unsigned char)n;
+- }
+- else{
+- float *p = a.ptr<float>();
+- for(int i = 0; i < a.cols; ++i, ++p)
+- if ( !(ss >> *p))cerr<<"Error reading. Unexpected EOF. DescManip::fromString"<<endl;
+- }
+-
+- }
+-
+-}
+-
+-// --------------------------------------------------------------------------
+-
+-void DescManip::toMat32F(const std::vector<cv::Mat> &descriptors,
+- cv::Mat &mat)
+-{
+- if(descriptors.empty())
+- {
+- mat.release();
+- return;
+- }
+-
+- if(descriptors[0].type()==CV_8UC1){
+-
+- const size_t N = descriptors.size();
+- int L=getDescSizeBytes(descriptors[0]);
+- mat.create(N, L*8, CV_32F);
+- float *p = mat.ptr<float>();
+-
+- for(size_t i = 0; i < N; ++i)
+- {
+- const int C = descriptors[i].cols;
+- const unsigned char *desc = descriptors[i].ptr<unsigned char>();
+-
+- for(int j = 0; j < C; ++j, p += 8)
+- {
+- p[0] = (desc[j] & (1 << 7) ? 1 : 0);
+- p[1] = (desc[j] & (1 << 6) ? 1 : 0);
+- p[2] = (desc[j] & (1 << 5) ? 1 : 0);
+- p[3] = (desc[j] & (1 << 4) ? 1 : 0);
+- p[4] = (desc[j] & (1 << 3) ? 1 : 0);
+- p[5] = (desc[j] & (1 << 2) ? 1 : 0);
+- p[6] = (desc[j] & (1 << 1) ? 1 : 0);
+- p[7] = desc[j] & (1);
+- }
+- }
+- }
+- else{
+- assert(descriptors[0].type()==CV_32F);
+- const int N = descriptors.size();
+- int L=descriptors[0].cols;
+- mat.create(N, L, CV_32F);
+- for(int i = 0; i < N; ++i)
+- memcpy(mat.ptr<float>(i),descriptors[i].ptr<float>(0),sizeof(float)*L);
+- }
+-}
+-
+-void DescManip::toStream(const cv::Mat &m,std::ostream &str){
+- assert(m.rows==1 || m.isContinuous());
+- int type=m.type();
+- int cols=m.cols;
+- int rows=m.rows;
+- str.write((char*)&cols,sizeof(cols));
+- str.write((char*)&rows,sizeof(rows));
+- str.write((char*)&type,sizeof(type));
+- str.write((char*)m.ptr<char>(0),m.elemSize()*m.cols);
+-}
+-
+-void DescManip::fromStream(cv::Mat &m,std::istream &str){
+- int type,cols,rows;
+- str.read((char*)&cols,sizeof(cols));
+- str.read((char*)&rows,sizeof(rows));
+- str.read((char*)&type,sizeof(type));
+- m.create(rows,cols,type);
+- str.read((char*)m.ptr<char>(0),m.elemSize()*m.cols);
+-}
+-
+-
+-// --------------------------------------------------------------------------
+-
+-} // namespace DBoW3
+-
++/** ++ * File: DescManip.cpp ++ * Date: June 2012 ++ * Author: Dorian Galvez-Lopez ++ * Description: functions for ORB descriptors ++ * License: see the LICENSE.txt file ++ * ++ */ ++ ++#include <vector> ++#include <string> ++#include <sstream> ++#include <iostream> ++#include <stdint.h> ++#include <limits.h> ++ ++#include "DBow3/DescManip.h" ++ ++using namespace std; ++ ++namespace DBoW3 { ++ ++// -------------------------------------------------------------------------- ++ ++void DescManip::meanValue(const std::vector<cv::Mat> &descriptors, ++ cv::Mat &mean) ++{ ++ ++ if(descriptors.empty()) return; ++ ++ if(descriptors.size() == 1) ++ { ++ mean = descriptors[0].clone(); ++ return; ++ } ++ //binary descriptor ++ if (descriptors[0].type()==CV_8U ){ ++ //determine number of bytes of the binary descriptor ++ int L= getDescSizeBytes( descriptors[0]); ++ vector<int> sum( L * 8, 0); ++ ++ for(size_t i = 0; i < descriptors.size(); ++i) ++ { ++ const cv::Mat &d = descriptors[i]; ++ const unsigned char *p = d.ptr<unsigned char>(); ++ ++ for(int j = 0; j < d.cols; ++j, ++p) ++ { ++ if(*p & (1 << 7)) ++sum[ j*8 ]; ++ if(*p & (1 << 6)) ++sum[ j*8 + 1 ]; ++ if(*p & (1 << 5)) ++sum[ j*8 + 2 ]; ++ if(*p & (1 << 4)) ++sum[ j*8 + 3 ]; ++ if(*p & (1 << 3)) ++sum[ j*8 + 4 ]; ++ if(*p & (1 << 2)) ++sum[ j*8 + 5 ]; ++ if(*p & (1 << 1)) ++sum[ j*8 + 6 ]; ++ if(*p & (1)) ++sum[ j*8 + 7 ]; ++ } ++ } ++ ++ mean = cv::Mat::zeros(1, L, CV_8U); ++ unsigned char *p = mean.ptr<unsigned char>(); ++ ++ const int N2 = (int)descriptors.size() / 2 + descriptors.size() % 2; ++ for(size_t i = 0; i < sum.size(); ++i) ++ { ++ if(sum[i] >= N2) ++ { ++ // set bit ++ *p |= 1 << (7 - (i % 8)); ++ } ++ ++ if(i % 8 == 7) ++p; ++ } ++ } ++ //non binary descriptor ++ else{ ++ assert(descriptors[0].type()==CV_32F );//ensure it is float ++ ++ mean.create(1, descriptors[0].cols,descriptors[0].type()); ++ mean.setTo(cv::Scalar::all(0)); ++ float inv_s =1./double( descriptors.size()); ++ for(size_t i=0;i<descriptors.size();i++) ++ mean += descriptors[i] * inv_s; ++ ++ } ++ ++} ++ ++// -------------------------------------------------------------------------- ++static inline uint32_t distance_8uc1(const cv::Mat &a, const cv::Mat &b); ++ ++double DescManip::distance(const cv::Mat &a, const cv::Mat &b) ++{ ++ ++ //binary descriptor ++ if (a.type()==CV_8U){ ++ ++ // Bit count function got from: ++ // http://graphics.stanford.edu/~seander/bithacks.html#CountBitsSetKernighan ++ // This implementation assumes that a.cols (CV_8U) % sizeof(uint64_t) == 0 ++ ++ const uint64_t *pa, *pb; ++ pa = a.ptr<uint64_t>(); // a & b are actually CV_8U ++ pb = b.ptr<uint64_t>(); ++ ++ uint64_t v, ret = 0; ++ for(size_t i = 0; i < a.cols / sizeof(uint64_t); ++i, ++pa, ++pb) ++ { ++ v = *pa ^ *pb; ++ v = v - ((v >> 1) & (uint64_t)~(uint64_t)0/3); ++ v = (v & (uint64_t)~(uint64_t)0/15*3) + ((v >> 2) & ++ (uint64_t)~(uint64_t)0/15*3); ++ v = (v + (v >> 4)) & (uint64_t)~(uint64_t)0/255*15; ++ ret += (uint64_t)(v * ((uint64_t)~(uint64_t)0/255)) >> ++ (sizeof(uint64_t) - 1) * CHAR_BIT; ++ } ++ ++ return ret; ++ } ++ else{ ++ double sqd = 0.; ++ assert(a.type()==CV_32F); ++ assert(a.rows==1); ++ const float *a_ptr=a.ptr<float>(0); ++ const float *b_ptr=b.ptr<float>(0); ++ for(int i = 0; i < a.cols; i ++) ++ sqd += (a_ptr[i ] - b_ptr[i ])*(a_ptr[i ] - b_ptr[i ]); ++ return sqd; ++ } ++} ++ ++ ++ ++ ++// -------------------------------------------------------------------------- ++ ++std::string DescManip::toString(const cv::Mat &a) ++{ ++ stringstream ss; ++ //introduce a magic value to distinguish from DBOw2 ++ ss<<"dbw3 "; ++ //save size and type ++ ++ ++ ss <<a.type()<<" "<<a.cols<<" "; ++ ++ if (a.type()==CV_8U){ ++ const unsigned char *p = a.ptr<unsigned char>(); ++ for(int i = 0; i < a.cols; ++i, ++p) ++ ss << (int)*p << " "; ++ }else{ ++ ++ const float *p = a.ptr<float>(); ++ for(int i = 0; i < a.cols; ++i, ++p) ++ ss << *p << " "; ++ ++ } ++ ++ return ss.str(); ++} ++ ++// -------------------------------------------------------------------------- ++ ++void DescManip::fromString(cv::Mat &a, const std::string &s) ++{ ++ ++ //check if the dbow3 is present ++ string ss_aux;ss_aux.reserve(10); ++ for(size_t i=0;i<10 && i<s.size();i++) ++ ss_aux.push_back(s[i]); ++ if(ss_aux.find("dbw3")==std::string::npos){//is dbow2 ++ //READ UNTIL END ++ stringstream ss(s); ++ int val; ++ vector<uchar> data;data.reserve(100); ++ while( ss>>val) data.push_back(val); ++ //copy to a ++ a.create(1,data.size(),CV_8UC1); ++ memcpy(a.ptr<char>(0),&data[0],data.size()); ++ } ++ else { ++ char szSign[10]; ++ int type,cols; ++ stringstream ss(s); ++ ss >> szSign >> type >> cols; ++ a.create(1, cols, type); ++ if(type==CV_8UC1){ ++ unsigned char *p = a.ptr<unsigned char>(); ++ int n; ++ for(int i = 0; i < a.cols; ++i, ++p) ++ if ( ss >> n) *p = (unsigned char)n; ++ } ++ else{ ++ float *p = a.ptr<float>(); ++ for(int i = 0; i < a.cols; ++i, ++p) ++ if ( !(ss >> *p))cerr<<"Error reading. Unexpected EOF. DescManip::fromString"<<endl; ++ } ++ ++ } ++ ++} ++ ++// -------------------------------------------------------------------------- ++ ++void DescManip::toMat32F(const std::vector<cv::Mat> &descriptors, ++ cv::Mat &mat) ++{ ++ if(descriptors.empty()) ++ { ++ mat.release(); ++ return; ++ } ++ ++ if(descriptors[0].type()==CV_8UC1){ ++ ++ const size_t N = descriptors.size(); ++ int L=getDescSizeBytes(descriptors[0]); ++ mat.create(N, L*8, CV_32F); ++ float *p = mat.ptr<float>(); ++ ++ for(size_t i = 0; i < N; ++i) ++ { ++ const int C = descriptors[i].cols; ++ const unsigned char *desc = descriptors[i].ptr<unsigned char>(); ++ ++ for(int j = 0; j < C; ++j, p += 8) ++ { ++ p[0] = (desc[j] & (1 << 7) ? 1 : 0); ++ p[1] = (desc[j] & (1 << 6) ? 1 : 0); ++ p[2] = (desc[j] & (1 << 5) ? 1 : 0); ++ p[3] = (desc[j] & (1 << 4) ? 1 : 0); ++ p[4] = (desc[j] & (1 << 3) ? 1 : 0); ++ p[5] = (desc[j] & (1 << 2) ? 1 : 0); ++ p[6] = (desc[j] & (1 << 1) ? 1 : 0); ++ p[7] = desc[j] & (1); ++ } ++ } ++ } ++ else{ ++ assert(descriptors[0].type()==CV_32F); ++ const int N = descriptors.size(); ++ int L=descriptors[0].cols; ++ mat.create(N, L, CV_32F); ++ for(int i = 0; i < N; ++i) ++ memcpy(mat.ptr<float>(i),descriptors[i].ptr<float>(0),sizeof(float)*L); ++ } ++} ++ ++void DescManip::toStream(const cv::Mat &m,std::ostream &str){ ++ assert(m.rows==1 || m.isContinuous()); ++ int type=m.type(); ++ int cols=m.cols; ++ int rows=m.rows; ++ str.write((char*)&cols,sizeof(cols)); ++ str.write((char*)&rows,sizeof(rows)); ++ str.write((char*)&type,sizeof(type)); ++ str.write((char*)m.ptr<char>(0),m.elemSize()*m.cols); ++} ++ ++void DescManip::fromStream(cv::Mat &m,std::istream &str){ ++ int type,cols,rows; ++ str.read((char*)&cols,sizeof(cols)); ++ str.read((char*)&rows,sizeof(rows)); ++ str.read((char*)&type,sizeof(type)); ++ m.create(rows,cols,type); ++ str.read((char*)m.ptr<char>(0),m.elemSize()*m.cols); ++} ++ ++ ++// -------------------------------------------------------------------------- ++ ++} // namespace DBoW3 ++ +diff --git a/src/FeatureVector.cpp b/Lib/src/FeatureVector.cpp +similarity index 98% +rename from src/FeatureVector.cpp +rename to Lib/src/FeatureVector.cpp +index 880eab1..a9cd792 100644 +--- a/src/FeatureVector.cpp ++++ b/Lib/src/FeatureVector.cpp +@@ -7,7 +7,7 @@ + * + */ + +-#include "FeatureVector.h" ++#include "DBow3/FeatureVector.h" + #include <map> + #include <vector> + #include <iostream> +diff --git a/src/QueryResults.cpp b/Lib/src/QueryResults.cpp +similarity index 97% +rename from src/QueryResults.cpp +rename to Lib/src/QueryResults.cpp +index 7062400..b852979 100644 +--- a/src/QueryResults.cpp ++++ b/Lib/src/QueryResults.cpp +@@ -9,7 +9,7 @@ + + #include <iostream> + #include <fstream> +-#include "QueryResults.h" ++#include "DBow3/QueryResults.h" + + using namespace std; + +diff --git a/src/ScoringObject.cpp b/Lib/src/ScoringObject.cpp +similarity index 99% +rename from src/ScoringObject.cpp +rename to Lib/src/ScoringObject.cpp +index 7cf0812..adde8e9 100644 +--- a/src/ScoringObject.cpp ++++ b/Lib/src/ScoringObject.cpp +@@ -8,8 +8,8 @@ + */ + + #include <cfloat> +-#include "Vocabulary.h" +-#include "BowVector.h" ++#include "DBow3/Vocabulary.h" ++#include "DBow3/BowVector.h" + + using namespace DBoW3; + +diff --git a/src/Vocabulary.cpp b/Lib/src/Vocabulary.cpp +similarity index 99% +rename from src/Vocabulary.cpp +rename to Lib/src/Vocabulary.cpp +index 9f0eff3..6ccbbea 100644 +--- a/src/Vocabulary.cpp ++++ b/Lib/src/Vocabulary.cpp +@@ -1,8 +1,8 @@ +-#include "Vocabulary.h" +-#include "DescManip.h" +-#include "quicklz.h" ++#include "DBow3/Vocabulary.h" ++#include "DBow3/DescManip.h" ++#include "DBow3/quicklz.h" + #include <sstream> +-#include "timers.h" ++#include "DBow3/timers.h" + namespace DBoW3{ + // -------------------------------------------------------------------------- + +diff --git a/src/quicklz.c b/Lib/src/quicklz.c +similarity index 99% +rename from src/quicklz.c +rename to Lib/src/quicklz.c +index 3742129..bd3cb11 100644 +--- a/src/quicklz.c ++++ b/Lib/src/quicklz.c +@@ -9,7 +9,7 @@ + + // 1.5.0 final + +-#include "quicklz.h" ++#include "DBow3/quicklz.h" + + #if QLZ_VERSION_MAJOR != 1 || QLZ_VERSION_MINOR != 5 || QLZ_VERSION_REVISION != 0 + #error quicklz.c and quicklz.h have different versions +diff --git a/cmake/instructionSet.cmake b/cmake/instructionSet.cmake +new file mode 100644 +index 0000000..d0febeb +--- /dev/null ++++ b/cmake/instructionSet.cmake +@@ -0,0 +1,13 @@ ++add_library( ++ SSE4.1 ++ INTERFACE ++) ++ ++add_library(SIMD::SSE4.1 ALIAS SSE4.1) ++ ++target_compile_options( ++ SSE4.1 ++ INTERFACE ++ $<$<PLATFORM_ID:Linux>:-msse4.1;-march=native> ++ $<$<PLATFORM_ID:Windows>:/arch:AVX2> ++) +diff --git a/cmake_uninstall.cmake.in b/cmake_uninstall.cmake.in +deleted file mode 100644 +index 81482da..0000000 +--- a/cmake_uninstall.cmake.in ++++ /dev/null +@@ -1,28 +0,0 @@ +-# ----------------------------------------------- +-# File that provides "make uninstall" target +-# We use the file 'install_manifest.txt' +-# ----------------------------------------------- +-IF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt") +- MESSAGE(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\"") +-ENDIF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt") +- +-FILE(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files) +-STRING(REGEX REPLACE "\n" ";" files "${files}") +-FOREACH(file ${files}) +- MESSAGE(STATUS "Uninstalling \"$ENV{DESTDIR}${file}\"") +-# IF(EXISTS "$ENV{DESTDIR}${file}") +-# EXEC_PROGRAM( +-# "@CMAKE_COMMAND@" ARGS "-E remove \"$ENV{DESTDIR}${file}\"" +-# OUTPUT_VARIABLE rm_out +-# RETURN_VALUE rm_retval +-# ) +- EXECUTE_PROCESS(COMMAND rm $ENV{DESTDIR}${file}) +-# IF(NOT "${rm_retval}" STREQUAL 0) +-# MESSAGE(FATAL_ERROR "Problem when removing \"$ENV{DESTDIR}${file}\"") +-# ENDIF(NOT "${rm_retval}" STREQUAL 0) +-# ELSE(EXISTS "$ENV{DESTDIR}${file}") +-# MESSAGE(STATUS "File \"$ENV{DESTDIR}${file}\" does not exist.") +-# ENDIF(EXISTS "$ENV{DESTDIR}${file}") +-ENDFOREACH(file) +- +- +diff --git a/config.cmake.in b/config.cmake.in +deleted file mode 100644 +index 9d15feb..0000000 +--- a/config.cmake.in ++++ /dev/null +@@ -1,36 +0,0 @@ +-# ===================================================================================
+-# @PROJECT_NAME@ CMake configuration file
+-#
+-# ** File generated automatically, do not modify **
+-#
+-# Usage from an external project:
+-# In your CMakeLists.txt, add these lines:
+-#
+-# FIND_PACKAGE(@PROJECT_NAME@ REQUIRED )
+-# TARGET_LINK_LIBRARIES(MY_TARGET_NAME ${@PROJECT_NAME@_LIBS})
+-#
+-# This file will define the following variables:
+-# - @PROJECT_NAME@_LIBS : The list of libraries to links against.
+-# - @PROJECT_NAME@_LIB_DIR : The directory where lib files are. Calling LINK_DIRECTORIES
+-# with this path is NOT needed.
+-# - @PROJECT_NAME@_VERSION : The version of this PROJECT_NAME build. Example: "1.2.0"
+-# - @PROJECT_NAME@_VERSION_MAJOR : Major version part of VERSION. Example: "1"
+-# - @PROJECT_NAME@_VERSION_MINOR : Minor version part of VERSION. Example: "2"
+-# - @PROJECT_NAME@_VERSION_PATCH : Patch version part of VERSION. Example: "0"
+-#
+-# ===================================================================================
+-INCLUDE_DIRECTORIES("@CMAKE_INSTALL_PREFIX@/include")
+-SET(@PROJECT_NAME@_INCLUDE_DIRS "@CMAKE_INSTALL_PREFIX@/include")
+-
+-LINK_DIRECTORIES("@CMAKE_INSTALL_PREFIX@/@LIB_INSTALL_DIR@")
+-SET(@PROJECT_NAME@_LIB_DIR "@CMAKE_INSTALL_PREFIX@/@LIB_INSTALL_DIR@")
+-
+-SET(@PROJECT_NAME@_LIBS @REQUIRED_LIBRARIES@ @PROJECT_NAME@@PROJECT_DLLVERSION@)
+-SET(@PROJECT_NAME@_LIBRARIES @REQUIRED_LIBRARIES@ @PROJECT_NAME@@PROJECT_DLLVERSION@)
+-
+-SET(@PROJECT_NAME@_FOUND YES)
+-SET(@PROJECT_NAME@_FOUND "YES")
+-SET(@PROJECT_NAME@_VERSION @PROJECT_VERSION@)
+-SET(@PROJECT_NAME@_VERSION_MAJOR @PROJECT_VERSION_MAJOR@)
+-SET(@PROJECT_NAME@_VERSION_MINOR @PROJECT_VERSION_MINOR@)
+-SET(@PROJECT_NAME@_VERSION_PATCH @PROJECT_VERSION_PATCH@)
+diff --git a/utils/CMakeLists.txt b/examples/CMakeLists.txt +similarity index 100% +rename from utils/CMakeLists.txt +rename to examples/CMakeLists.txt +diff --git a/utils/create_voc_step0.cpp b/examples/create_voc_step0.cpp +similarity index 97% +rename from utils/create_voc_step0.cpp +rename to examples/create_voc_step0.cpp +index 4fd78f6..c48a3c4 100644 +--- a/utils/create_voc_step0.cpp ++++ b/examples/create_voc_step0.cpp +@@ -1,126 +1,126 @@ +-
+-//First step of creating a vocabulary is extracting features from a set of images. We save them to a file for next step
+-#include <iostream>
+-#include <vector>
+-
+-// DBoW3
+-#include "DBoW3.h"
+-
+-// OpenCV
+-#include <opencv2/core/core.hpp>
+-#include <opencv2/highgui/highgui.hpp>
+-#include <opencv2/features2d/features2d.hpp>
+-#ifdef USE_CONTRIB
+-#include <opencv2/xfeatures2d/nonfree.hpp>
+-#include <opencv2/xfeatures2d.hpp>
+-#endif
+-#include "DescManip.h"
+-
+-using namespace DBoW3;
+-using namespace std;
+-
+-
+-//command line parser
+-class CmdLineParser{int argc; char **argv; public: CmdLineParser(int _argc,char **_argv):argc(_argc),argv(_argv){} bool operator[] ( string param ) {int idx=-1; for ( int i=0; i<argc && idx==-1; i++ ) if ( string ( argv[i] ) ==param ) idx=i; return ( idx!=-1 ) ; } string operator()(string param,string defvalue="-1"){int idx=-1; for ( int i=0; i<argc && idx==-1; i++ ) if ( string ( argv[i] ) ==param ) idx=i; if ( idx==-1 ) return defvalue; else return ( argv[ idx+1] ); }};
+-
+-
+-// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+-
+-// extended surf gives 128-dimensional vectors
+-const bool EXTENDED_SURF = false;
+-// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+-
+-void wait()
+-{
+- cout << endl << "Press enter to continue" << endl;
+- getchar();
+-}
+-
+-
+-vector<string> readImagePaths(int argc,char **argv,int start){
+- vector<string> paths;
+- for(int i=start;i<argc;i++) paths.push_back(argv[i]);
+- return paths;
+-}
+-
+-vector< cv::Mat > loadFeatures( std::vector<string> path_to_images,string descriptor="") throw (std::exception){
+- //select detector
+- cv::Ptr<cv::Feature2D> fdetector;
+- if (descriptor=="orb") fdetector=cv::ORB::create();
+- else if (descriptor=="brisk") fdetector=cv::BRISK::create();
+-#ifdef OPENCV_VERSION_3
+- else if (descriptor=="akaze") fdetector=cv::AKAZE::create();
+-#endif
+-#ifdef USE_CONTRIB
+- else if(descriptor=="surf" ) fdetector=cv::xfeatures2d::SURF::create(400, 4, 2, EXTENDED_SURF);
+-#endif
+-
+- else throw std::runtime_error("Invalid descriptor");
+- assert(!descriptor.empty());
+- vector<cv::Mat> features;
+-
+-
+- cout << "Extracting features..." << endl;
+- for(size_t i = 0; i < path_to_images.size(); ++i)
+- {
+- vector<cv::KeyPoint> keypoints;
+- cv::Mat descriptors;
+- cout<<"reading image: "<<path_to_images[i]<<endl;
+- cv::Mat image = cv::imread(path_to_images[i], 0);
+- if(image.empty())throw std::runtime_error("Could not open image"+path_to_images[i]);
+- cout<<"extracting features"<<endl;
+- fdetector->detectAndCompute(image, cv::Mat(), keypoints, descriptors);
+- features.push_back(descriptors);
+- cout<<"done detecting features"<<endl;
+- }
+- return features;
+-}
+-
+-// ----------------------------------------------------------------------------
+-void saveToFile(string filename,const vector<cv::Mat> &features){
+-
+- //test it is not created
+- std::ifstream ifile(filename);
+- if (ifile.is_open()){cerr<<"ERROR::: Output File "<<filename<<" already exists!!!!!"<<endl;exit(0);}
+- std::ofstream ofile(filename);
+- if (!ofile.is_open()){cerr<<"could not open output file"<<endl;exit(0);}
+- uint32_t size=features.size();
+- ofile.write((char*)&size,sizeof(size));
+- for(auto &f:features){
+- if( !f.isContinuous()){
+- cerr<<"Matrices should be continuous"<<endl;exit(0);
+- }
+- uint32_t aux=f.cols; ofile.write( (char*)&aux,sizeof(aux));
+- aux=f.rows; ofile.write( (char*)&aux,sizeof(aux));
+- aux=f.type(); ofile.write( (char*)&aux,sizeof(aux));
+- ofile.write( (char*)f.ptr<uchar>(0),f.total()*f.elemSize());
+- }
+-}
+-
+-// ----------------------------------------------------------------------------
+-
+-int main(int argc,char **argv)
+-{
+-
+- try{
+- CmdLineParser cml(argc,argv);
+- if (cml["-h"] || argc==1){
+- cerr<<"Usage: descriptor_name output image0 image1 ... \n\t descriptors:brisk,surf,orb(default),akaze(only if using opencv 3)"<<endl;
+- return -1;
+- }
+-
+- string descriptor=argv[1];
+- string output=argv[2];
+-
+- auto images=readImagePaths(argc,argv,3);
+- vector< cv::Mat > features= loadFeatures(images,descriptor);
+-
+- //save features to file
+- saveToFile(argv[2],features);
+-
+- }catch(std::exception &ex){
+- cerr<<ex.what()<<endl;
+- }
+-
+- return 0;
+-}
++ ++//First step of creating a vocabulary is extracting features from a set of images. We save them to a file for next step ++#include <iostream> ++#include <vector> ++ ++// DBoW3 ++#include "DBoW3.h" ++ ++// OpenCV ++#include <opencv2/core/core.hpp> ++#include <opencv2/highgui/highgui.hpp> ++#include <opencv2/features2d/features2d.hpp> ++#ifdef USE_CONTRIB ++#include <opencv2/xfeatures2d/nonfree.hpp> ++#include <opencv2/xfeatures2d.hpp> ++#endif ++#include "DescManip.h" ++ ++using namespace DBoW3; ++using namespace std; ++ ++ ++//command line parser ++class CmdLineParser{int argc; char **argv; public: CmdLineParser(int _argc,char **_argv):argc(_argc),argv(_argv){} bool operator[] ( string param ) {int idx=-1; for ( int i=0; i<argc && idx==-1; i++ ) if ( string ( argv[i] ) ==param ) idx=i; return ( idx!=-1 ) ; } string operator()(string param,string defvalue="-1"){int idx=-1; for ( int i=0; i<argc && idx==-1; i++ ) if ( string ( argv[i] ) ==param ) idx=i; if ( idx==-1 ) return defvalue; else return ( argv[ idx+1] ); }}; ++ ++ ++// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ++ ++// extended surf gives 128-dimensional vectors ++const bool EXTENDED_SURF = false; ++// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ++ ++void wait() ++{ ++ cout << endl << "Press enter to continue" << endl; ++ getchar(); ++} ++ ++ ++vector<string> readImagePaths(int argc,char **argv,int start){ ++ vector<string> paths; ++ for(int i=start;i<argc;i++) paths.push_back(argv[i]); ++ return paths; ++} ++ ++vector< cv::Mat > loadFeatures( std::vector<string> path_to_images,string descriptor="") throw (std::exception){ ++ //select detector ++ cv::Ptr<cv::Feature2D> fdetector; ++ if (descriptor=="orb") fdetector=cv::ORB::create(); ++ else if (descriptor=="brisk") fdetector=cv::BRISK::create(); ++#ifdef OPENCV_VERSION_3 ++ else if (descriptor=="akaze") fdetector=cv::AKAZE::create(); ++#endif ++#ifdef USE_CONTRIB ++ else if(descriptor=="surf" ) fdetector=cv::xfeatures2d::SURF::create(400, 4, 2, EXTENDED_SURF); ++#endif ++ ++ else throw std::runtime_error("Invalid descriptor"); ++ assert(!descriptor.empty()); ++ vector<cv::Mat> features; ++ ++ ++ cout << "Extracting features..." << endl; ++ for(size_t i = 0; i < path_to_images.size(); ++i) ++ { ++ vector<cv::KeyPoint> keypoints; ++ cv::Mat descriptors; ++ cout<<"reading image: "<<path_to_images[i]<<endl; ++ cv::Mat image = cv::imread(path_to_images[i], 0); ++ if(image.empty())throw std::runtime_error("Could not open image"+path_to_images[i]); ++ cout<<"extracting features"<<endl; ++ fdetector->detectAndCompute(image, cv::Mat(), keypoints, descriptors); ++ features.push_back(descriptors); ++ cout<<"done detecting features"<<endl; ++ } ++ return features; ++} ++ ++// ---------------------------------------------------------------------------- ++void saveToFile(string filename,const vector<cv::Mat> &features){ ++ ++ //test it is not created ++ std::ifstream ifile(filename); ++ if (ifile.is_open()){cerr<<"ERROR::: Output File "<<filename<<" already exists!!!!!"<<endl;exit(0);} ++ std::ofstream ofile(filename); ++ if (!ofile.is_open()){cerr<<"could not open output file"<<endl;exit(0);} ++ uint32_t size=features.size(); ++ ofile.write((char*)&size,sizeof(size)); ++ for(auto &f:features){ ++ if( !f.isContinuous()){ ++ cerr<<"Matrices should be continuous"<<endl;exit(0); ++ } ++ uint32_t aux=f.cols; ofile.write( (char*)&aux,sizeof(aux)); ++ aux=f.rows; ofile.write( (char*)&aux,sizeof(aux)); ++ aux=f.type(); ofile.write( (char*)&aux,sizeof(aux)); ++ ofile.write( (char*)f.ptr<uchar>(0),f.total()*f.elemSize()); ++ } ++} ++ ++// ---------------------------------------------------------------------------- ++ ++int main(int argc,char **argv) ++{ ++ ++ try{ ++ CmdLineParser cml(argc,argv); ++ if (cml["-h"] || argc==1){ ++ cerr<<"Usage: descriptor_name output image0 image1 ... \n\t descriptors:brisk,surf,orb(default),akaze(only if using opencv 3)"<<endl; ++ return -1; ++ } ++ ++ string descriptor=argv[1]; ++ string output=argv[2]; ++ ++ auto images=readImagePaths(argc,argv,3); ++ vector< cv::Mat > features= loadFeatures(images,descriptor); ++ ++ //save features to file ++ saveToFile(argv[2],features); ++ ++ }catch(std::exception &ex){ ++ cerr<<ex.what()<<endl; ++ } ++ ++ return 0; ++} +diff --git a/utils/create_voc_step1.cpp b/examples/create_voc_step1.cpp +similarity index 97% +rename from utils/create_voc_step1.cpp +rename to examples/create_voc_step1.cpp +index 8d9de7d..1f82c66 100644 +--- a/utils/create_voc_step1.cpp ++++ b/examples/create_voc_step1.cpp +@@ -1,71 +1,71 @@ +-//Second step,creates the vocabulary from the set of features. It can be slow
+-#include <iostream>
+-#include <vector>
+-
+-// DBoW3
+-#include "DBoW3.h"
+-
+-// OpenCV
+-#include <opencv2/core/core.hpp>
+-using namespace DBoW3;
+-using namespace std;
+-
+-//command line parser
+-class CmdLineParser{int argc; char **argv; public: CmdLineParser(int _argc,char **_argv):argc(_argc),argv(_argv){} bool operator[] ( string param ) {int idx=-1; for ( int i=0; i<argc && idx==-1; i++ ) if ( string ( argv[i] ) ==param ) idx=i; return ( idx!=-1 ) ; } string operator()(string param,string defvalue="-1"){int idx=-1; for ( int i=0; i<argc && idx==-1; i++ ) if ( string ( argv[i] ) ==param ) idx=i; if ( idx==-1 ) return defvalue; else return ( argv[ idx+1] ); }};
+-
+-// ----------------------------------------------------------------------------
+-
+-// ----------------------------------------------------------------------------
+-vector<cv::Mat> readFeaturesFromFile(string filename){
+-vector<cv::Mat> features;
+- //test it is not created
+- std::ifstream ifile(filename);
+- if (!ifile.is_open()){cerr<<"could not open input file"<<endl;exit(0);}
+- uint32_t size;
+- ifile.read((char*)&size,sizeof(size));
+- features.resize(size);
+- for(size_t i=0;i<size;i++){
+-
+- uint32_t cols,rows,type;
+- ifile.read( (char*)&cols,sizeof(cols));
+- ifile.read( (char*)&rows,sizeof(rows));
+- ifile.read( (char*)&type,sizeof(type));
+- features[i].create(rows,cols,type);
+- ifile.read( (char*)features[i].ptr<uchar>(0),features[i].total()*features[i].elemSize());
+- }
+- return features;
+-}
+-
+-// ----------------------------------------------------------------------------
+-
+-int main(int argc,char **argv)
+-{
+-
+- try{
+- CmdLineParser cml(argc,argv);
+- if (cml["-h"] || argc!=3){
+- cerr<<"Usage: features output_voc.yml[.gz]"<<endl;
+- return -1;
+- }
+-
+-
+- auto features=readFeaturesFromFile(argv[1]);
+-
+- const int k = 9;
+- const int L = 3;
+- const WeightingType weight = TF_IDF;
+- const ScoringType score = L1_NORM;
+- DBoW3::Vocabulary voc (k, L, weight, score);
+-
+- cout << "Creating a small " << k << "^" << L << " vocabulary..." << endl;
+- voc.create(features);
+- cerr<<"Saving "<<argv[2]<<endl;
+- voc.save(argv[2]);
+-
+-
+- }catch(std::exception &ex){
+- cerr<<ex.what()<<endl;
+- }
+-
+- return 0;
+-}
++//Second step,creates the vocabulary from the set of features. It can be slow ++#include <iostream> ++#include <vector> ++ ++// DBoW3 ++#include "DBoW3.h" ++ ++// OpenCV ++#include <opencv2/core/core.hpp> ++using namespace DBoW3; ++using namespace std; ++ ++//command line parser ++class CmdLineParser{int argc; char **argv; public: CmdLineParser(int _argc,char **_argv):argc(_argc),argv(_argv){} bool operator[] ( string param ) {int idx=-1; for ( int i=0; i<argc && idx==-1; i++ ) if ( string ( argv[i] ) ==param ) idx=i; return ( idx!=-1 ) ; } string operator()(string param,string defvalue="-1"){int idx=-1; for ( int i=0; i<argc && idx==-1; i++ ) if ( string ( argv[i] ) ==param ) idx=i; if ( idx==-1 ) return defvalue; else return ( argv[ idx+1] ); }}; ++ ++// ---------------------------------------------------------------------------- ++ ++// ---------------------------------------------------------------------------- ++vector<cv::Mat> readFeaturesFromFile(string filename){ ++vector<cv::Mat> features; ++ //test it is not created ++ std::ifstream ifile(filename); ++ if (!ifile.is_open()){cerr<<"could not open input file"<<endl;exit(0);} ++ uint32_t size; ++ ifile.read((char*)&size,sizeof(size)); ++ features.resize(size); ++ for(size_t i=0;i<size;i++){ ++ ++ uint32_t cols,rows,type; ++ ifile.read( (char*)&cols,sizeof(cols)); ++ ifile.read( (char*)&rows,sizeof(rows)); ++ ifile.read( (char*)&type,sizeof(type)); ++ features[i].create(rows,cols,type); ++ ifile.read( (char*)features[i].ptr<uchar>(0),features[i].total()*features[i].elemSize()); ++ } ++ return features; ++} ++ ++// ---------------------------------------------------------------------------- ++ ++int main(int argc,char **argv) ++{ ++ ++ try{ ++ CmdLineParser cml(argc,argv); ++ if (cml["-h"] || argc!=3){ ++ cerr<<"Usage: features output_voc.yml[.gz]"<<endl; ++ return -1; ++ } ++ ++ ++ auto features=readFeaturesFromFile(argv[1]); ++ ++ const int k = 9; ++ const int L = 3; ++ const WeightingType weight = TF_IDF; ++ const ScoringType score = L1_NORM; ++ DBoW3::Vocabulary voc (k, L, weight, score); ++ ++ cout << "Creating a small " << k << "^" << L << " vocabulary..." << endl; ++ voc.create(features); ++ cerr<<"Saving "<<argv[2]<<endl; ++ voc.save(argv[2]); ++ ++ ++ }catch(std::exception &ex){ ++ cerr<<ex.what()<<endl; ++ } ++ ++ return 0; ++} +diff --git a/utils/demo_general.cpp b/examples/demo_general.cpp +similarity index 96% +rename from utils/demo_general.cpp +rename to examples/demo_general.cpp +index 63db40b..b4bc391 100644 +--- a/utils/demo_general.cpp ++++ b/examples/demo_general.cpp +@@ -1,202 +1,202 @@ +-/**
+- * Date: 2016
+- * Author: Rafael Muñoz Salinas
+- * Description: demo application of DBoW3
+- * License: see the LICENSE.txt file
+- */
+-
+-#include <iostream>
+-#include <vector>
+-
+-// DBoW3
+-#include "DBoW3.h"
+-
+-// OpenCV
+-#include <opencv2/core/core.hpp>
+-#include <opencv2/highgui/highgui.hpp>
+-#include <opencv2/features2d/features2d.hpp>
+-#ifdef USE_CONTRIB
+-#include <opencv2/xfeatures2d/nonfree.hpp>
+-#include <opencv2/xfeatures2d.hpp>
+-#endif
+-#include "DescManip.h"
+-
+-using namespace DBoW3;
+-using namespace std;
+-
+-
+-//command line parser
+-class CmdLineParser{int argc; char **argv; public: CmdLineParser(int _argc,char **_argv):argc(_argc),argv(_argv){} bool operator[] ( string param ) {int idx=-1; for ( int i=0; i<argc && idx==-1; i++ ) if ( string ( argv[i] ) ==param ) idx=i; return ( idx!=-1 ) ; } string operator()(string param,string defvalue="-1"){int idx=-1; for ( int i=0; i<argc && idx==-1; i++ ) if ( string ( argv[i] ) ==param ) idx=i; if ( idx==-1 ) return defvalue; else return ( argv[ idx+1] ); }};
+-
+-
+-// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+-
+-// extended surf gives 128-dimensional vectors
+-const bool EXTENDED_SURF = false;
+-// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+-
+-void wait()
+-{
+- cout << endl << "Press enter to continue" << endl;
+- getchar();
+-}
+-
+-
+-vector<string> readImagePaths(int argc,char **argv,int start){
+- vector<string> paths;
+- for(int i=start;i<argc;i++) paths.push_back(argv[i]);
+- return paths;
+-}
+-
+-vector< cv::Mat > loadFeatures( std::vector<string> path_to_images,string descriptor="") throw (std::exception){
+- //select detector
+- cv::Ptr<cv::Feature2D> fdetector;
+- if (descriptor=="orb") fdetector=cv::ORB::create();
+- else if (descriptor=="brisk") fdetector=cv::BRISK::create();
+-#ifdef OPENCV_VERSION_3
+- else if (descriptor=="akaze") fdetector=cv::AKAZE::create();
+-#endif
+-#ifdef USE_CONTRIB
+- else if(descriptor=="surf" ) fdetector=cv::xfeatures2d::SURF::create(400, 4, 2, EXTENDED_SURF);
+-#endif
+-
+- else throw std::runtime_error("Invalid descriptor");
+- assert(!descriptor.empty());
+- vector<cv::Mat> features;
+-
+-
+- cout << "Extracting features..." << endl;
+- for(size_t i = 0; i < path_to_images.size(); ++i)
+- {
+- vector<cv::KeyPoint> keypoints;
+- cv::Mat descriptors;
+- cout<<"reading image: "<<path_to_images[i]<<endl;
+- cv::Mat image = cv::imread(path_to_images[i], 0);
+- if(image.empty())throw std::runtime_error("Could not open image"+path_to_images[i]);
+- cout<<"extracting features"<<endl;
+- fdetector->detectAndCompute(image, cv::Mat(), keypoints, descriptors);
+- features.push_back(descriptors);
+- cout<<"done detecting features"<<endl;
+- }
+- return features;
+-}
+-
+-// ----------------------------------------------------------------------------
+-
+-void testVocCreation(const vector<cv::Mat> &features)
+-{
+- // branching factor and depth levels
+- const int k = 9;
+- const int L = 3;
+- const WeightingType weight = TF_IDF;
+- const ScoringType score = L1_NORM;
+-
+- DBoW3::Vocabulary voc(k, L, weight, score);
+-
+- cout << "Creating a small " << k << "^" << L << " vocabulary..." << endl;
+- voc.create(features);
+- cout << "... done!" << endl;
+-
+- cout << "Vocabulary information: " << endl
+- << voc << endl << endl;
+-
+- // lets do something with this vocabulary
+- cout << "Matching images against themselves (0 low, 1 high): " << endl;
+- BowVector v1, v2;
+- for(size_t i = 0; i < features.size(); i++)
+- {
+- voc.transform(features[i], v1);
+- for(size_t j = 0; j < features.size(); j++)
+- {
+- voc.transform(features[j], v2);
+-
+- double score = voc.score(v1, v2);
+- cout << "Image " << i << " vs Image " << j << ": " << score << endl;
+- }
+- }
+-
+- // save the vocabulary to disk
+- cout << endl << "Saving vocabulary..." << endl;
+- voc.save("small_voc.yml.gz");
+- cout << "Done" << endl;
+-}
+-
+-////// ----------------------------------------------------------------------------
+-
+-void testDatabase(const vector<cv::Mat > &features)
+-{
+- cout << "Creating a small database..." << endl;
+-
+- // load the vocabulary from disk
+- Vocabulary voc("small_voc.yml.gz");
+-
+- Database db(voc, false, 0); // false = do not use direct index
+- // (so ignore the last param)
+- // The direct index is useful if we want to retrieve the features that
+- // belong to some vocabulary node.
+- // db creates a copy of the vocabulary, we may get rid of "voc" now
+-
+- // add images to the database
+- for(size_t i = 0; i < features.size(); i++)
+- db.add(features[i]);
+-
+- cout << "... done!" << endl;
+-
+- cout << "Database information: " << endl << db << endl;
+-
+- // and query the database
+- cout << "Querying the database: " << endl;
+-
+- QueryResults ret;
+- for(size_t i = 0; i < features.size(); i++)
+- {
+- db.query(features[i], ret, 4);
+-
+- // ret[0] is always the same image in this case, because we added it to the
+- // database. ret[1] is the second best match.
+-
+- cout << "Searching for Image " << i << ". " << ret << endl;
+- }
+-
+- cout << endl;
+-
+- // we can save the database. The created file includes the vocabulary
+- // and the entries added
+- cout << "Saving database..." << endl;
+- db.save("small_db.yml.gz");
+- cout << "... done!" << endl;
+-
+- // once saved, we can load it again
+- cout << "Retrieving database once again..." << endl;
+- Database db2("small_db.yml.gz");
+- cout << "... done! This is: " << endl << db2 << endl;
+-}
+-
+-
+-// ----------------------------------------------------------------------------
+-
+-int main(int argc,char **argv)
+-{
+-
+- try{
+- CmdLineParser cml(argc,argv);
+- if (cml["-h"] || argc<=2){
+- cerr<<"Usage: descriptor_name image0 image1 ... \n\t descriptors:brisk,surf,orb ,akaze(only if using opencv 3)"<<endl;
+- return -1;
+- }
+-
+- string descriptor=argv[1];
+-
+- auto images=readImagePaths(argc,argv,2);
+- vector< cv::Mat > features= loadFeatures(images,descriptor);
+- testVocCreation(features);
+-
+-
+- testDatabase(features);
+-
+- }catch(std::exception &ex){
+- cerr<<ex.what()<<endl;
+- }
+-
+- return 0;
+-}
++/** ++ * Date: 2016 ++ * Author: Rafael Muñoz Salinas ++ * Description: demo application of DBoW3 ++ * License: see the LICENSE.txt file ++ */ ++ ++#include <iostream> ++#include <vector> ++ ++// DBoW3 ++#include "DBoW3.h" ++ ++// OpenCV ++#include <opencv2/core/core.hpp> ++#include <opencv2/highgui/highgui.hpp> ++#include <opencv2/features2d/features2d.hpp> ++#ifdef USE_CONTRIB ++#include <opencv2/xfeatures2d/nonfree.hpp> ++#include <opencv2/xfeatures2d.hpp> ++#endif ++#include "DescManip.h" ++ ++using namespace DBoW3; ++using namespace std; ++ ++ ++//command line parser ++class CmdLineParser{int argc; char **argv; public: CmdLineParser(int _argc,char **_argv):argc(_argc),argv(_argv){} bool operator[] ( string param ) {int idx=-1; for ( int i=0; i<argc && idx==-1; i++ ) if ( string ( argv[i] ) ==param ) idx=i; return ( idx!=-1 ) ; } string operator()(string param,string defvalue="-1"){int idx=-1; for ( int i=0; i<argc && idx==-1; i++ ) if ( string ( argv[i] ) ==param ) idx=i; if ( idx==-1 ) return defvalue; else return ( argv[ idx+1] ); }}; ++ ++ ++// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ++ ++// extended surf gives 128-dimensional vectors ++const bool EXTENDED_SURF = false; ++// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ++ ++void wait() ++{ ++ cout << endl << "Press enter to continue" << endl; ++ getchar(); ++} ++ ++ ++vector<string> readImagePaths(int argc,char **argv,int start){ ++ vector<string> paths; ++ for(int i=start;i<argc;i++) paths.push_back(argv[i]); ++ return paths; ++} ++ ++vector< cv::Mat > loadFeatures( std::vector<string> path_to_images,string descriptor="") throw (std::exception){ ++ //select detector ++ cv::Ptr<cv::Feature2D> fdetector; ++ if (descriptor=="orb") fdetector=cv::ORB::create(); ++ else if (descriptor=="brisk") fdetector=cv::BRISK::create(); ++#ifdef OPENCV_VERSION_3 ++ else if (descriptor=="akaze") fdetector=cv::AKAZE::create(); ++#endif ++#ifdef USE_CONTRIB ++ else if(descriptor=="surf" ) fdetector=cv::xfeatures2d::SURF::create(400, 4, 2, EXTENDED_SURF); ++#endif ++ ++ else throw std::runtime_error("Invalid descriptor"); ++ assert(!descriptor.empty()); ++ vector<cv::Mat> features; ++ ++ ++ cout << "Extracting features..." << endl; ++ for(size_t i = 0; i < path_to_images.size(); ++i) ++ { ++ vector<cv::KeyPoint> keypoints; ++ cv::Mat descriptors; ++ cout<<"reading image: "<<path_to_images[i]<<endl; ++ cv::Mat image = cv::imread(path_to_images[i], 0); ++ if(image.empty())throw std::runtime_error("Could not open image"+path_to_images[i]); ++ cout<<"extracting features"<<endl; ++ fdetector->detectAndCompute(image, cv::Mat(), keypoints, descriptors); ++ features.push_back(descriptors); ++ cout<<"done detecting features"<<endl; ++ } ++ return features; ++} ++ ++// ---------------------------------------------------------------------------- ++ ++void testVocCreation(const vector<cv::Mat> &features) ++{ ++ // branching factor and depth levels ++ const int k = 9; ++ const int L = 3; ++ const WeightingType weight = TF_IDF; ++ const ScoringType score = L1_NORM; ++ ++ DBoW3::Vocabulary voc(k, L, weight, score); ++ ++ cout << "Creating a small " << k << "^" << L << " vocabulary..." << endl; ++ voc.create(features); ++ cout << "... done!" << endl; ++ ++ cout << "Vocabulary information: " << endl ++ << voc << endl << endl; ++ ++ // lets do something with this vocabulary ++ cout << "Matching images against themselves (0 low, 1 high): " << endl; ++ BowVector v1, v2; ++ for(size_t i = 0; i < features.size(); i++) ++ { ++ voc.transform(features[i], v1); ++ for(size_t j = 0; j < features.size(); j++) ++ { ++ voc.transform(features[j], v2); ++ ++ double score = voc.score(v1, v2); ++ cout << "Image " << i << " vs Image " << j << ": " << score << endl; ++ } ++ } ++ ++ // save the vocabulary to disk ++ cout << endl << "Saving vocabulary..." << endl; ++ voc.save("small_voc.yml.gz"); ++ cout << "Done" << endl; ++} ++ ++////// ---------------------------------------------------------------------------- ++ ++void testDatabase(const vector<cv::Mat > &features) ++{ ++ cout << "Creating a small database..." << endl; ++ ++ // load the vocabulary from disk ++ Vocabulary voc("small_voc.yml.gz"); ++ ++ Database db(voc, false, 0); // false = do not use direct index ++ // (so ignore the last param) ++ // The direct index is useful if we want to retrieve the features that ++ // belong to some vocabulary node. ++ // db creates a copy of the vocabulary, we may get rid of "voc" now ++ ++ // add images to the database ++ for(size_t i = 0; i < features.size(); i++) ++ db.add(features[i]); ++ ++ cout << "... done!" << endl; ++ ++ cout << "Database information: " << endl << db << endl; ++ ++ // and query the database ++ cout << "Querying the database: " << endl; ++ ++ QueryResults ret; ++ for(size_t i = 0; i < features.size(); i++) ++ { ++ db.query(features[i], ret, 4); ++ ++ // ret[0] is always the same image in this case, because we added it to the ++ // database. ret[1] is the second best match. ++ ++ cout << "Searching for Image " << i << ". " << ret << endl; ++ } ++ ++ cout << endl; ++ ++ // we can save the database. The created file includes the vocabulary ++ // and the entries added ++ cout << "Saving database..." << endl; ++ db.save("small_db.yml.gz"); ++ cout << "... done!" << endl; ++ ++ // once saved, we can load it again ++ cout << "Retrieving database once again..." << endl; ++ Database db2("small_db.yml.gz"); ++ cout << "... done! This is: " << endl << db2 << endl; ++} ++ ++ ++// ---------------------------------------------------------------------------- ++ ++int main(int argc,char **argv) ++{ ++ ++ try{ ++ CmdLineParser cml(argc,argv); ++ if (cml["-h"] || argc<=2){ ++ cerr<<"Usage: descriptor_name image0 image1 ... \n\t descriptors:brisk,surf,orb ,akaze(only if using opencv 3)"<<endl; ++ return -1; ++ } ++ ++ string descriptor=argv[1]; ++ ++ auto images=readImagePaths(argc,argv,2); ++ vector< cv::Mat > features= loadFeatures(images,descriptor); ++ testVocCreation(features); ++ ++ ++ testDatabase(features); ++ ++ }catch(std::exception &ex){ ++ cerr<<ex.what()<<endl; ++ } ++ ++ return 0; ++} +diff --git a/utils/images/image0.png b/examples/images/image0.png +similarity index 100% +rename from utils/images/image0.png +rename to examples/images/image0.png +diff --git a/utils/images/image1.png b/examples/images/image1.png +similarity index 100% +rename from utils/images/image1.png +rename to examples/images/image1.png +diff --git a/utils/images/image2.png b/examples/images/image2.png +similarity index 100% +rename from utils/images/image2.png +rename to examples/images/image2.png +diff --git a/utils/images/image3.png b/examples/images/image3.png +similarity index 100% +rename from utils/images/image3.png +rename to examples/images/image3.png +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +deleted file mode 100644 +index a9c52b4..0000000 +--- a/src/CMakeLists.txt ++++ /dev/null +@@ -1,35 +0,0 @@ +-INCLUDE_DIRECTORIES(. ./utils/)
+-
+-FILE(GLOB hdrs_base "*.h" )
+-FILE(GLOB srcs_base "*.c*")
+-
+-FILE(GLOB hdrs ${hdrs_base} )
+-FILE(GLOB srcs ${srcs_base} )
+-
+-
+-ADD_LIBRARY(${PROJECT_NAME} ${srcs} ${hdrs})
+-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR} )
+-
+-SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES # create *nix style library versions + symbolic links
+- DEFINE_SYMBOL DBOW_DSO_EXPORTS
+- VERSION ${PROJECT_VERSION}
+- SOVERSION ${PROJECT_SOVERSION}
+- CLEAN_DIRECT_OUTPUT 1 # allow creating static and shared libs without conflicts
+- OUTPUT_NAME "${PROJECT_NAME}${PROJECT_DLLVERSION}" # avoid conflicts between library and binary target names
+-)
+-
+-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${REQUIRED_LIBRARIES} )
+-
+-INSTALL(TARGETS ${PROJECT_NAME}
+- RUNTIME DESTINATION bin COMPONENT main # Install the dll file in bin directory
+- LIBRARY DESTINATION ${LIB_INSTALL_DIR} PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE COMPONENT main
+- ARCHIVE DESTINATION ${LIB_INSTALL_DIR} COMPONENT main) # Install the dll.a file in lib directory
+-
+-
+-
+-INSTALL(FILES ${hdrs_base}
+- DESTINATION include/${PROJECT_NAME}
+- COMPONENT main)
+-
+-
+-
+diff --git a/orbvoc.dbow3 b/voc/orbvoc.dbow3 +similarity index 100% +rename from orbvoc.dbow3 +rename to voc/orbvoc.dbow3 + +From 9f9a9125423edd0b2cc7c84897d4387c5dcea44b Mon Sep 17 00:00:00 2001 +From: Ramadan <ramadan.ahmedr93@gmail.com> +Date: Thu, 15 Aug 2019 14:00:28 +0200 +Subject: [PATCH 2/2] Fix DBow3Config.cmake + +--- + Lib/DBow3Config.cmake | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Lib/DBow3Config.cmake b/Lib/DBow3Config.cmake +index 9720a14..da63d5e 100644 +--- a/Lib/DBow3Config.cmake ++++ b/Lib/DBow3Config.cmake +@@ -1,4 +1,4 @@ + include(CMakeFindDependencyMacro) + find_dependency(OpenCV) + find_dependency(OpenMP) +-include("${CMAKE_CURRENT_LIST_DIR}/FbowTargets.cmake") +\ No newline at end of file ++include("${CMAKE_CURRENT_LIST_DIR}/DBow3Targets.cmake") +\ No newline at end of file diff --git a/ports/dbow3/portfile.cmake b/ports/dbow3/portfile.cmake index a68373223..d867dd5cb 100644 --- a/ports/dbow3/portfile.cmake +++ b/ports/dbow3/portfile.cmake @@ -3,11 +3,15 @@ include(vcpkg_common_functions) #the port produces some empty dlls when building shared libraries, since some components do not export anything, breaking the internal build itself vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO RamadanAhmed/DBow3 + REPO rmsalinas/DBow3 REF master - SHA512 280c76c7c547908fd133f118e1d17fe0faed87b70f61df3cd01964bd7ef33bef10dfc79d6cab8aaaf2edbfc063de0b5ad3fd80e116eab0300f1cbab86d0e38b2 + SHA512 16e6789b77e8b42428d156ae5efa667861fa8ef2e85b54e3dd1d28e6f8dc7d119e973234c77cac82e775080fb9c859640d04159659a7d63941325e13e40b2814 + PATCHES + fix_cmake.patch ) + + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA diff --git a/ports/detours/CONTROL b/ports/detours/CONTROL index 4998741bd..fdf9fa6a4 100644 --- a/ports/detours/CONTROL +++ b/ports/detours/CONTROL @@ -1,3 +1,3 @@ Source: detours
-Version: 4.0.1
+Version: 4.0.1-1
Description: Detours is a software package for monitoring and instrumenting API calls on Windows.
\ No newline at end of file diff --git a/ports/detours/portfile.cmake b/ports/detours/portfile.cmake index fbb8136da..5e685a4c3 100644 --- a/ports/detours/portfile.cmake +++ b/ports/detours/portfile.cmake @@ -1,5 +1,4 @@ include(vcpkg_common_functions)
-find_program(NMAKE nmake)
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
@@ -13,16 +12,16 @@ vcpkg_from_github( find-jmp-bounds-arm64.patch
)
-set(ENV{DETOURS_TARGET_PROCESSOR} "${VCPKG_TARGET_ARCHITECTURE}")
-
-vcpkg_execute_required_process(
- COMMAND ${NMAKE}
- WORKING_DIRECTORY ${SOURCE_PATH}/src
- LOGNAME build-${TARGET_TRIPLET}
+vcpkg_build_nmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PROJECT_SUBPATH "src"
+ PROJECT_NAME "Makefile"
+ OPTIONS "PROCESSOR_ARCHITECTURE=${VCPKG_TARGET_ARCHITECTURE}"
+ NO_DEBUG
)
-# Detours does not differentiate between Release and Debug builds, use the same binaries for both.
-file(INSTALL ${SOURCE_PATH}/lib.${VCPKG_TARGET_ARCHITECTURE}/ DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
-file(INSTALL ${SOURCE_PATH}/lib.${VCPKG_TARGET_ARCHITECTURE}/ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
-file(INSTALL ${SOURCE_PATH}/include DESTINATION ${CURRENT_PACKAGES_DIR})
+file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/lib.${VCPKG_TARGET_ARCHITECTURE}/ DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
+file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/lib.${VCPKG_TARGET_ARCHITECTURE}/ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
+file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/include DESTINATION ${CURRENT_PACKAGES_DIR}/include RENAME detours)
+
file(INSTALL ${SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/devil/0003_fix-openexr.patch b/ports/devil/0003_fix-openexr.patch index d8038e4cf..2465bb905 100644 --- a/ports/devil/0003_fix-openexr.patch +++ b/ports/devil/0003_fix-openexr.patch @@ -1,91 +1,35 @@ ---- a/DevIL/src-IL/cmake/FindOpenEXR.cmake -+++ b/DevIL/src-IL/cmake/FindOpenEXR.cmake -@@ -1,64 +1,13 @@ --# Locate OpenEXR --# This module defines --# OPENEXR_LIBRARIES --# OPENEXR_FOUND, if false, do not try to link to OpenEXR --# OPENEXR_INCLUDE_DIR, where to find the headers --# --# $OPENEXR_DIR is an environment variable that would --# correspond to the ./configure --prefix=$OPENEXR_DIR --# --# Created by Robert Osfield. -+include(FindPackageHandleStandardArgs) - -+find_path(OPENEXR_INCLUDE_PATHS NAMES ImfRgbaFile.h PATH_SUFFIXES OpenEXR) - --FIND_PATH(OPENEXR_INCLUDE_DIR ImfIO.h -- $ENV{OPENEXR_DIR}/include -- $ENV{OPENEXR_DIR} -- ~/Library/Frameworks -- /Library/Frameworks -- /usr/local/include -- /usr/include -- /sw/include # Fink -- /opt/local/include # DarwinPorts -- /opt/csw/include # Blastwave -- /opt/include -- /usr/freeware/include --) -+find_library(OPENEXR_HALF_LIBRARY NAMES Half) -+find_library(OPENEXR_IEX_LIBRARY NAMES Iex-2_2) -+find_library(OPENEXR_IMATH_LIBRARY NAMES Imath-2_2) -+find_library(OPENEXR_ILMIMF_LIBRARY NAMES IlmImf-2_2) -+find_library(OPENEXR_ILMTHREAD_LIBRARY NAMES IlmThread-2_2) - --# Macro to find exr libraries (deduplicating search paths) --# example: OPENEXR_FIND_VAR(OPENEXR_IlmImf_LIBRARY IlmImf) --MACRO(OPENEXR_FIND_VAR varname libname) -- FIND_LIBRARY( ${varname} -- NAMES ${libname} -- PATHS -- $ENV{OPENEXR_DIR}/lib -- $ENV{OPENEXR_DIR} -- ~/Library/Frameworks -- /Library/Frameworks -- /usr/local/lib -- /usr/lib -- /sw/lib -- /opt/local/lib -- /opt/csw/lib -- /opt/lib -- /usr/freeware/lib64 -- ) --ENDMACRO(OPENEXR_FIND_VAR) -+set(OPENEXR_LIBRARIES ${OPENEXR_HALF_LIBRARY} ${OPENEXR_IEX_LIBRARY} ${OPENEXR_IMATH_LIBRARY} ${OPENEXR_ILMIMF_LIBRARY} ${OPENEXR_ILMTHREAD_LIBRARY}) - --# Macro to find exr libraries (and debug versions) --# example: OPENEXR_FIND(IlmImf) --MACRO(OPENEXR_FIND libname) -- OPENEXR_FIND_VAR(OPENEXR_${libname}_LIBRARY ${libname}) -- OPENEXR_FIND_VAR(OPENEXR_${libname}_LIBRARY_DEBUG ${libname}d) --ENDMACRO(OPENEXR_FIND) +diff --git a/DevIL/src-IL/CMakeLists.txt b/DevIL/src-IL/CMakeLists.txt +index 02e4f03..4accaa1 100644 +--- a/DevIL/src-IL/CMakeLists.txt ++++ b/DevIL/src-IL/CMakeLists.txt +@@ -235,8 +235,12 @@ target_link_libraries(IL ${libs}) + + # generate config.h + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/include/config.h.cmake.in ${CMAKE_CURRENT_SOURCE_DIR}/include/config.h) - --OPENEXR_FIND(IlmImf) --OPENEXR_FIND(IlmThread) --OPENEXR_FIND(Iex) --OPENEXR_FIND(Half) - --SET(OPENEXR_FOUND "NO") --IF(OPENEXR_INCLUDE_DIR AND OPENEXR_IlmImf_LIBRARY AND OPENEXR_IlmThread_LIBRARY AND OPENEXR_Iex_LIBRARY AND OPENEXR_Half_LIBRARY) -- SET(OPENEXR_LIBRARIES ${OPENEXR_IlmImf_LIBRARY} ${OPENEXR_IlmThread_LIBRARY} ${OPENEXR_Half_LIBRARY} ${OPENEXR_Iex_LIBRARY} ) -- SET(OPENEXR_LIBRARIES_VARS OPENEXR_IlmImf_LIBRARY OPENEXR_IlmThread_LIBRARY OPENEXR_Half_LIBRARY OPENEXR_Iex_LIBRARY ) -- SET(OPENEXR_FOUND "YES") --ENDIF(OPENEXR_INCLUDE_DIR AND OPENEXR_IlmImf_LIBRARY AND OPENEXR_IlmThread_LIBRARY AND OPENEXR_Iex_LIBRARY AND OPENEXR_Half_LIBRARY) -+find_package_handle_standard_args(OPENEXR REQUIRED_VARS OPENEXR_LIBRARIES OPENEXR_INCLUDE_PATHS) ++add_definitions(-DHAVE_CONFIG_H) ++if(WIN32) ++ if(BUILD_SHARED_LIBS) ++ add_definitions(-DOPENEXR_DLL) ++ endif() ++endif() + + # generate pkg-config file + # TODO: add Requires.private or Libs.private +diff --git a/DevIL/src-IL/src/il_exr.cpp b/DevIL/src-IL/src/il_exr.cpp +index bbb3978..3916c6f 100644 --- a/DevIL/src-IL/src/il_exr.cpp +++ b/DevIL/src-IL/src/il_exr.cpp -@@ -15,14 +15,14 @@ +@@ -14,15 +14,10 @@ + #include "il_internal.h" #ifndef IL_NO_EXR - #ifndef HAVE_CONFIG_H // We are probably on a Windows box . +-#ifndef HAVE_CONFIG_H // We are probably on a Windows box . -//#define OPENEXR_DLL -#define HALF_EXPORTS -+#define OPENEXR_DLL -+//#define HALF_EXPORTS - #endif //HAVE_CONFIG_H - +-#endif //HAVE_CONFIG_H +- #include "il_exr.h" -#include <ImfRgba.h> -#include <ImfArray.h> @@ -96,6 +40,8 @@ //#include <ImfTiledRgbaFile.h> //#include <ImfInputFile.h> //#include <ImfTiledInputFile.h> +diff --git a/DevIL/src-IL/include/il_exr.h b/DevIL/src-IL/include/il_exr.h +index 3d880c4..04d721a 100644 --- a/DevIL/src-IL/include/il_exr.h +++ b/DevIL/src-IL/include/il_exr.h @@ -15,7 +15,7 @@ diff --git a/ports/devil/CONTROL b/ports/devil/CONTROL index 8c65b2ddf..460f7b43c 100644 --- a/ports/devil/CONTROL +++ b/ports/devil/CONTROL @@ -1,5 +1,5 @@ Source: devil -Version: 1.8.0-4 +Version: 1.8.0-5 Build-Depends: Homepage: https://github.com/DentonW/DevIL Description: A full featured cross-platform image library diff --git a/ports/devil/portfile.cmake b/ports/devil/portfile.cmake index db9944895..eeeaffdd3 100644 --- a/ports/devil/portfile.cmake +++ b/ports/devil/portfile.cmake @@ -12,7 +12,7 @@ vcpkg_from_github( 0003_fix-openexr.patch enable-static.patch ) - +file(REMOVE ${SOURCE_PATH}/DevIL/src-IL/cmake/FindOpenEXR.cmake) set(IL_NO_PNG 1) if("libpng" IN_LIST FEATURES) set(IL_NO_PNG 0) diff --git a/ports/directxmesh/CONTROL b/ports/directxmesh/CONTROL index 63b94376d..696022ea3 100644 --- a/ports/directxmesh/CONTROL +++ b/ports/directxmesh/CONTROL @@ -1,4 +1,4 @@ Source: directxmesh -Version: aug2019 +Version: dec2019 Homepage: https://walbourn.github.io/directxmesh Description: DirectXMesh geometry processing library
\ No newline at end of file diff --git a/ports/directxmesh/portfile.cmake b/ports/directxmesh/portfile.cmake index 9e95f3291..7e43ad07f 100644 --- a/ports/directxmesh/portfile.cmake +++ b/ports/directxmesh/portfile.cmake @@ -9,8 +9,8 @@ endif() vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Microsoft/DirectXMesh
- REF aug2019
- SHA512 7b5a02783444a89813c6736e3d6eadf66515bdd10055b9b6b1bc25b30ee0ec315ec9936d3a9bd52b2b8df78b3b5072465963c8123c04f77a1838d5cddc4eeb21
+ REF dec2019
+ SHA512 b48b144172574d56775f7607d7ee7370b427fd95ab4e3089cdaf79b6cbd7fc4bbc15264d9a6703840b763bc2f4a5974594afa39f113960df34e07adfd74561d6
HEAD_REF master
)
@@ -30,10 +30,14 @@ else() message(FATAL_ERROR "Unsupported platform toolset.")
endif()
-if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+if(VCPKG_TARGET_IS_UWP)
set(SLN_NAME "Windows10_${VS_VERSION}")
else()
- set(SLN_NAME "Desktop_${VS_VERSION}")
+ if(TRIPLET_SYSTEM_ARCH STREQUAL "arm64")
+ set(SLN_NAME "Desktop_${VS_VERSION}_Win10")
+ else()
+ set(SLN_NAME "Desktop_${VS_VERSION}")
+ endif()
endif()
vcpkg_build_msbuild(
@@ -56,7 +60,7 @@ file(INSTALL ${SOURCE_PATH}/DirectXMesh/Bin/${SLN_NAME}/${BUILD_ARCH}/Release/DirectXMesh.pdb
DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
-if(NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+if(NOT VCPKG_TARGET_IS_UWP AND NOT TRIPLET_SYSTEM_ARCH STREQUAL "arm64")
set(TOOL_PATH ${CURRENT_PACKAGES_DIR}/tools/directxmesh)
file(MAKE_DIRECTORY ${TOOL_PATH})
file(INSTALL
diff --git a/ports/directxtex/CONTROL b/ports/directxtex/CONTROL index 949dca929..63459b38e 100644 --- a/ports/directxtex/CONTROL +++ b/ports/directxtex/CONTROL @@ -1,4 +1,4 @@ Source: directxtex
-Version: oct2019
+Version: dec2019
Homepage: https://walbourn.github.io/directxtex
Description: DirectXTex texture processing library
\ No newline at end of file diff --git a/ports/directxtex/portfile.cmake b/ports/directxtex/portfile.cmake index d1267b420..0b19ded36 100644 --- a/ports/directxtex/portfile.cmake +++ b/ports/directxtex/portfile.cmake @@ -9,8 +9,8 @@ endif() vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Microsoft/DirectXTex
- REF oct2019
- SHA512 e9768d029033a049552a19b9f047a9dbae48982d10bc8fe0427ed7e72c89340a3b04d7ae321fe87475f209536ce37b5aa7d8150a376093787f43fe85a0955edf
+ REF dec2019
+ SHA512 b0c7fdeb2f035186eddeb543cd16813c6807b9646367cd309082bd164ab484001dee912249d5570e3ddf5abb90cb3e7c0355a3c18c2e2bd2a051292b65a293f6
HEAD_REF master
)
@@ -30,10 +30,14 @@ else() message(FATAL_ERROR "Unsupported platform toolset.")
endif()
-if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+if(VCPKG_TARGET_IS_UWP)
set(SLN_NAME "Windows10_${VS_VERSION}")
else()
- set(SLN_NAME "Desktop_${VS_VERSION}")
+ if(TRIPLET_SYSTEM_ARCH STREQUAL "arm64")
+ set(SLN_NAME "Desktop_${VS_VERSION}_Win10")
+ else()
+ set(SLN_NAME "Desktop_${VS_VERSION}")
+ endif()
endif()
vcpkg_build_msbuild(
@@ -55,7 +59,7 @@ file(INSTALL ${SOURCE_PATH}/DirectXTex/Bin/${SLN_NAME}/${BUILD_ARCH}/Release/DirectXTex.pdb
DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
-if(NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+if(NOT VCPKG_TARGET_IS_UWP AND NOT TRIPLET_SYSTEM_ARCH STREQUAL "arm64")
set(TOOL_PATH ${CURRENT_PACKAGES_DIR}/tools/directxtex)
file(MAKE_DIRECTORY ${TOOL_PATH})
file(INSTALL
diff --git a/ports/directxtk/CONTROL b/ports/directxtk/CONTROL index 3ce4f1670..6508ceaf7 100644 --- a/ports/directxtk/CONTROL +++ b/ports/directxtk/CONTROL @@ -1,4 +1,4 @@ Source: directxtk -Version: oct2019 +Version: 2019-12-31 Homepage: https://walbourn.github.io/directxtk Description: A collection of helper classes for writing DirectX 11.x code in C++. diff --git a/ports/directxtk/portfile.cmake b/ports/directxtk/portfile.cmake index 1e489ed81..5c7fa3788 100644 --- a/ports/directxtk/portfile.cmake +++ b/ports/directxtk/portfile.cmake @@ -1,5 +1,3 @@ -include(vcpkg_common_functions) - vcpkg_check_linkage(ONLY_STATIC_LIBRARY) if(NOT VCPKG_CRT_LINKAGE STREQUAL "dynamic") @@ -9,8 +7,8 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Microsoft/DirectXTK - REF oct2019 - SHA512 d14cc3836986d4082edd34c39fda1d8c5ba4c8bfdc8640e61a3eac61e19c1eae6c7bc9ab57a353b7dc5cc04e084b71df43174aecfbd41975ebe97f0f8e7f4a86 + REF 9cac24555395925e3c1039bcbbae306da09742ed + SHA512 0cea14919cce3c31ec94826fbf65069fcd1a4654cbbf50caa9e44bad6087437e6bec4538627db18b1c5704ea27b056899040da4a7355abfbf35219b4552c07f2 HEAD_REF master ) @@ -30,20 +28,23 @@ else() message(FATAL_ERROR "Unsupported platform toolset.") endif() -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") +if(VCPKG_TARGET_IS_UWP) set(SLN_NAME "Windows10_${VS_VERSION}") else() - set(SLN_NAME "Desktop_${VS_VERSION}") + if(TRIPLET_SYSTEM_ARCH STREQUAL "arm64") + set(SLN_NAME "Desktop_${VS_VERSION}_Win10") + else() + set(SLN_NAME "Desktop_${VS_VERSION}") + endif() endif() vcpkg_build_msbuild( PROJECT_PATH ${SOURCE_PATH}/DirectXTK_${SLN_NAME}.sln - PLATFORM ${BUILD_ARCH} ) file(INSTALL - ${SOURCE_PATH}/Inc/ - DESTINATION ${CURRENT_PACKAGES_DIR}/include/DirectXTK + ${SOURCE_PATH}/Inc/ + DESTINATION ${CURRENT_PACKAGES_DIR}/include/DirectXTK ) file(INSTALL @@ -56,14 +57,14 @@ file(INSTALL ${SOURCE_PATH}/Bin/${SLN_NAME}/${BUILD_ARCH}/Debug/DirectXTK.pdb DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) -if(NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") +if(NOT VCPKG_TARGET_IS_UWP) set(DXTK_TOOL_PATH ${CURRENT_PACKAGES_DIR}/tools/directxtk) file(MAKE_DIRECTORY ${DXTK_TOOL_PATH}) file(INSTALL ${SOURCE_PATH}/MakeSpriteFont/bin/Release/MakeSpriteFont.exe DESTINATION ${DXTK_TOOL_PATH}) file(INSTALL - ${SOURCE_PATH}/XWBTool/Bin/${SLN_NAME}/${BUILD_ARCH}/Release/XWBTool.exe + ${SOURCE_PATH}/XWBTool/Bin/Desktop_${VS_VERSION}/${BUILD_ARCH}/Release/XWBTool.exe DESTINATION ${DXTK_TOOL_PATH}) endif() diff --git a/ports/directxtk12/CONTROL b/ports/directxtk12/CONTROL index 10075c2be..cd3f00b7b 100644 --- a/ports/directxtk12/CONTROL +++ b/ports/directxtk12/CONTROL @@ -1,4 +1,4 @@ Source: directxtk12
-Version: oct2019
+Version: dec2019
Homepage: https://walbourn.github.io/directx-tool-kit-for-directx-12
Description: A collection of helper classes for writing DirectX 12 code in C++.
diff --git a/ports/directxtk12/portfile.cmake b/ports/directxtk12/portfile.cmake index 7ce28b84f..52f8897a6 100644 --- a/ports/directxtk12/portfile.cmake +++ b/ports/directxtk12/portfile.cmake @@ -9,8 +9,8 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Microsoft/DirectXTK12 - REF oct2019 - SHA512 10ad63b35574900b8f68f7f836b1d3056d3e862ce2ff0707809fafd97c64bc9fd1ff402a2c4c237d7aee75a876762425c9d13bc2bd242ed4eb9c4d76ba3fc685 + REF dec2019 + SHA512 2144c7a51ea73efea5ad4db3b0b92bfc5a2ca57c38e7f6702ce82a09049266a3aaad4500856a964c4069aa711973d3a10cb3b133397ec93bda3a4a0328b9d81c HEAD_REF master ) @@ -30,7 +30,7 @@ else() message(FATAL_ERROR "Unsupported platform toolset.") endif() -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") +if(VCPKG_TARGET_IS_UWP) set(SLN_NAME "Windows10_${VS_VERSION}") else() set(SLN_NAME "Desktop_${VS_VERSION}_Win10") diff --git a/ports/doctest/CONTROL b/ports/doctest/CONTROL index 4b7f0cc1b..37d61b70c 100644 --- a/ports/doctest/CONTROL +++ b/ports/doctest/CONTROL @@ -1,4 +1,4 @@ Source: doctest -Version: 2.3.5 +Version: 2.3.6 Homepage: https://github.com/onqtam/doctest Description: The fastest feature-rich C++ single-header testing framework for unit tests and TDD diff --git a/ports/doctest/portfile.cmake b/ports/doctest/portfile.cmake index 427c771e9..4f840343b 100644 --- a/ports/doctest/portfile.cmake +++ b/ports/doctest/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO onqtam/doctest - REF 2.3.5 - SHA512 bf94d6533bf9e91e7d37289263261a9d0a6ee129d41fe4070914c14357095f537868b01b557b8c40c655d1db78cfe6040ecb4a86dc9effe5fbc71f2cfd87146c + REF 2.3.6 + SHA512 e09d61331e9d7dc11e0c93f377c26f9fcac66c8bb5f02731028d396fb595770580c66b5e20b2dba4a203d9956637a0a8a1e43c63cc90452b103c3144e83dbc1e HEAD_REF master ) diff --git a/ports/ecm/CONTROL b/ports/ecm/CONTROL index 4f98c2290..058c8815d 100644 --- a/ports/ecm/CONTROL +++ b/ports/ecm/CONTROL @@ -1,4 +1,4 @@ Source: ecm -Version: 5.60.0-1 +Version: 5.60.0-2 Homepage: https://github.com/KDE/extra-cmake-modules Description: Extra CMake Modules (ECM), extra modules and scripts for CMake diff --git a/ports/ecm/portfile.cmake b/ports/ecm/portfile.cmake index ab92b3086..26dbd2b22 100644 --- a/ports/ecm/portfile.cmake +++ b/ports/ecm/portfile.cmake @@ -1,6 +1,3 @@ -#cmake-only scripts -include(vcpkg_common_functions) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KDE/extra-cmake-modules @@ -12,10 +9,11 @@ vcpkg_from_github( vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA - OPTIONS -DBUILD_HTML_DOCS=OFF - -DBUILD_MAN_DOCS=OFF - -DBUILD_QTHELP_DOCS=OFF - -DBUILD_TESTING=OFF + OPTIONS + -DBUILD_HTML_DOCS=OFF + -DBUILD_MAN_DOCS=OFF + -DBUILD_QTHELP_DOCS=OFF + -DBUILD_TESTING=OFF ) vcpkg_install_cmake() @@ -23,9 +21,9 @@ vcpkg_install_cmake() # Remove debug files file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) +file(COPY ${CURRENT_PORT_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/ecm) # Handle copyright -file(COPY ${SOURCE_PATH}/COPYING-CMAKE-SCRIPTS DESTINATION ${CURRENT_PACKAGES_DIR}/share/ecm) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/ecm/COPYING-CMAKE-SCRIPTS ${CURRENT_PACKAGES_DIR}/share/ecm/copyright) +file(INSTALL ${SOURCE_PATH}/COPYING-CMAKE-SCRIPTS DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) # Allow empty include directory set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) diff --git a/ports/ecm/usage b/ports/ecm/usage new file mode 100644 index 000000000..b0c8e7b71 --- /dev/null +++ b/ports/ecm/usage @@ -0,0 +1,9 @@ +The package ecm provides CMake targets:
+
+ find_package(ECM CONFIG REQUIRED NO_MODULE)
+ set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH})
+ include(KDEInstallDirs)
+ include(KDECompilerSettings)
+ include(KDECMakeSettings)
+
+For more infomation, see https://api.kde.org/ecm/
diff --git a/ports/ecos/CMakeLists.txt b/ports/ecos/CMakeLists.txt new file mode 100644 index 000000000..231b31f2e --- /dev/null +++ b/ports/ecos/CMakeLists.txt @@ -0,0 +1,49 @@ +cmake_minimum_required(VERSION 3.14)
+project(ecos C)
+
+#include(GNUInstallDirs)
+
+set(EXTERNAL_SRC ${CMAKE_CURRENT_SOURCE_DIR}/external)
+
+set(SUITESPARSE ${EXTERNAL_SRC}/SuiteSparse_config)
+add_library(ecos-suitesparse INTERFACE)
+target_sources(ecos-suitesparse INTERFACE $<BUILD_INTERFACE:${SUITESPARSE}/SuiteSparse_config.h> $<INSTALL_INTERFACE:include/ecos>)
+target_include_directories(ecos-suitesparse INTERFACE $<BUILD_INTERFACE:${SUITESPARSE}> $<INSTALL_INTERFACE:include/ecos>)
+target_compile_definitions(ecos-suitesparse INTERFACE DLONG LDL_LONG)
+
+set(AMD_SRC ${EXTERNAL_SRC}/amd/src)
+set(AMD_INCLUDE ${EXTERNAL_SRC}/amd/include)
+add_library(ecos-amd STATIC
+ ${AMD_SRC}/amd_1.c ${AMD_SRC}/amd_2.c ${AMD_SRC}/amd_aat.c ${AMD_SRC}/amd_control.c ${AMD_SRC}/amd_defaults.c ${AMD_SRC}/amd_dump.c ${AMD_SRC}/amd_global.c ${AMD_SRC}/amd_info.c ${AMD_SRC}/amd_order.c ${AMD_SRC}/amd_post_tree.c ${AMD_SRC}/amd_postorder.c ${AMD_SRC}/amd_preprocess.c ${AMD_SRC}/amd_valid.c
+)
+file(GLOB AMD_HEADERS ${EXTERNAL_SRC}/amd/include/*.h)
+target_include_directories(ecos-amd PUBLIC $<BUILD_INTERFACE:${AMD_INCLUDE}> $<INSTALL_INTERFACE:include/ecos>)
+target_link_libraries(ecos-amd ecos-suitesparse)
+
+
+add_library(ecos-ldl STATIC
+ ${EXTERNAL_SRC}/ldl/src/ldl.c
+)
+file(GLOB LDL_HEADERS ${EXTERNAL_SRC}/ldl/include/*.h)
+target_include_directories(ecos-ldl PUBLIC $<BUILD_INTERFACE:${EXTERNAL_SRC}/ldl/include/> $<INSTALL_INTERFACE:include/ecos>)
+target_link_libraries(ecos-ldl ecos-suitesparse)
+
+
+add_library(ecos STATIC
+ src/cone.c src/ecos.c src/expcone.c src/preproc.c src/splamm.c src/wright_omega.c src/ctrlc.c src/equil.c src/kkt.c src/spla.c src/timer.c
+)
+file(GLOB ECOS_HEADERS include/*.h)
+target_include_directories(ecos PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> $<INSTALL_INTERFACE:include/ecos>)
+target_link_libraries(ecos ecos-amd ecos-ldl)
+
+install(FILES ${SUITESPARSE}/SuiteSparse_config.h DESTINATION "include/ecos/")
+install(FILES ${ECOS_HEADERS} DESTINATION "include/ecos/")
+install(FILES ${LDL_HEADERS} DESTINATION "include/ecos/")
+install(FILES ${AMD_HEADERS} DESTINATION "include/ecos/")
+
+install(TARGETS ecos ecos-amd ecos-ldl ecos-suitesparse EXPORT ecos-targets)
+install(
+ EXPORT ecos-targets
+ FILE ecos-config.cmake
+ DESTINATION share/ecos/
+)
\ No newline at end of file diff --git a/ports/ecos/CONTROL b/ports/ecos/CONTROL new file mode 100644 index 000000000..fb89b4ed0 --- /dev/null +++ b/ports/ecos/CONTROL @@ -0,0 +1,3 @@ +Source: ecos
+Version: 2.0.7
+Description: A lightweight conic solver for second-order cone programming.
\ No newline at end of file diff --git a/ports/ecos/portfile.cmake b/ports/ecos/portfile.cmake new file mode 100644 index 000000000..8c633db6f --- /dev/null +++ b/ports/ecos/portfile.cmake @@ -0,0 +1,23 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO embotech/ecos
+ REF 2.0.7
+ SHA512 2781435164b68e5b113a12547cd3a5a787b806009d07d45209117758178cb6e85e26dfb5689172d60b5e40671eb6d303ece131eb5f1b8bab4cbb250af74597b2
+ HEAD_REF develop
+)
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+)
+
+vcpkg_install_cmake()
+
+file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/ecos RENAME copyright)
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+vcpkg_fixup_cmake_targets(CONFIG_PATH "share/ecos")
\ No newline at end of file diff --git a/ports/ecsutil/CONTROL b/ports/ecsutil/CONTROL index e272e2634..9a45be797 100644 --- a/ports/ecsutil/CONTROL +++ b/ports/ecsutil/CONTROL @@ -1,4 +1,5 @@ Source: ecsutil
-Version: 1.0.7.3
+Version: 1.0.7.8
+Homepage: https://github.com/EMCECS/ecs-object-client-windows-cpp
Description: Native Windows SDK for accessing ECS via the S3 HTTP protocol.
Build-Depends: atlmfc (windows)
diff --git a/ports/ecsutil/portfile.cmake b/ports/ecsutil/portfile.cmake index d59805f23..366ebf027 100644 --- a/ports/ecsutil/portfile.cmake +++ b/ports/ecsutil/portfile.cmake @@ -28,8 +28,8 @@ endif() vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO EMCECS/ecs-object-client-windows-cpp
- REF v1.0.7.3
- SHA512 b678a784f26c8ac5fdac6f2be2c7fe2a2e1b0152d5cc21e629a077fce8dd9a72db46a348e4024a31273d45833f002a7823957295ec74392500ba069e8da8555d
+ REF v1.0.7.8
+ SHA512 33b15e16e8568db57a670c91e77b7624e3b70e02e18a8b337f4967b3aca4a36d3f6d87ddab60720a93fb5a4798948ec264eb273d8f31fb7e4bf4a86c1e89579a
HEAD_REF master
)
diff --git a/ports/embree3/CONTROL b/ports/embree3/CONTROL index d27eefbcc..c3c0c0bd6 100644 --- a/ports/embree3/CONTROL +++ b/ports/embree3/CONTROL @@ -1,5 +1,5 @@ Source: embree3 -Version: 3.5.2-3 +Version: 3.6.1 Homepage: https://github.com/embree/embree Description: High Performance Ray Tracing Kernels. Build-Depends: tbb diff --git a/ports/embree3/portfile.cmake b/ports/embree3/portfile.cmake index 32deef693..56ed32f0c 100644 --- a/ports/embree3/portfile.cmake +++ b/ports/embree3/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO embree/embree - REF v3.5.2 - SHA512 f00403c8bc76428088a38990117245b5b11ac90a2df21fa12c2d5c2e8af45fb3708abb705c612e0d9d7b0cfe4edb51c8b9630b60081b39fcb4370f31ee37acc7 + REF v3.6.1 + SHA512 9da44dc658cb96cfbcd9b77417a2f30249aa089dd31efd52e8b2763aa25b3f1c04924ad2b7b43097e2bae9905f73b1412e7e95c029a7385991ccc6b41871f976 HEAD_REF master PATCHES fix-InstallPath.patch diff --git a/ports/entt/CONTROL b/ports/entt/CONTROL index dcc2a92d0..057c9da16 100644 --- a/ports/entt/CONTROL +++ b/ports/entt/CONTROL @@ -1,4 +1,4 @@ Source: entt -Version: 3.1.1 +Version: 3.2.2 Description: Gaming meets modern C++ - a fast and reliable entity-component system and much more. Homepage: https://github.com/skypjack/entt diff --git a/ports/entt/portfile.cmake b/ports/entt/portfile.cmake index 4642d8f7b..20c84d41c 100644 --- a/ports/entt/portfile.cmake +++ b/ports/entt/portfile.cmake @@ -4,8 +4,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO skypjack/entt - REF v3.1.1 - SHA512 eec6dfa82c0290d4c9da2dda5eb31b8fca9de7378aa1560bea78512fa358da34b64efa7cb6c70b7d6fed0ea8dd041d44c6348d847f14b071a61f3258a4f720c1 + REF v3.2.2 + SHA512 231bd3c4300dbc6aaee31364e5e8a769f2c3ccd70bfbcc1315d782c21332e1d1f12367b14833cdfe4d90fc8e4ecd2424136ee29f4db36ebcebf1d41bb07bb250 HEAD_REF master ) diff --git a/ports/evpp/CONTROL b/ports/evpp/CONTROL index b9ec8d278..5f367929a 100644 --- a/ports/evpp/CONTROL +++ b/ports/evpp/CONTROL @@ -1,5 +1,5 @@ Source: evpp -Version: 0.7.0-1 +Version: 0.7.0-2 Homepage: https://github.com/Qihoo360/evpp Description: A modern C++ network library based on libevent for developing high performance network services in TCP/UDP/HTTP protocols. -Build-Depends: glog, libevent, rapidjson, concurrentqueue (!windows), boost-lockfree (!windows) +Build-Depends: glog, libevent (windows), libevent[openssl] (!windows), rapidjson, concurrentqueue (!windows), boost-lockfree (!windows)
\ No newline at end of file diff --git a/ports/exiv2/1059-Add-missing-library-link-on-Windows.patch b/ports/exiv2/1059-Add-missing-library-link-on-Windows.patch new file mode 100644 index 000000000..2a61c10f1 --- /dev/null +++ b/ports/exiv2/1059-Add-missing-library-link-on-Windows.patch @@ -0,0 +1,19 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index dcb98ca23..3cbd68e7e 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -182,12 +182,12 @@ if (NOT MSVC) + endif() + + if (CYGWIN OR MINGW OR MSYS) +- target_link_libraries( exiv2lib PRIVATE psapi ws2_32 ) ++ target_link_libraries( exiv2lib PRIVATE psapi ws2_32 shell32 ) + endif() + + target_link_libraries( exiv2lib PRIVATE Threads::Threads) + else() +- target_link_libraries( exiv2lib PRIVATE psapi ws2_32 ) ++ target_link_libraries( exiv2lib PRIVATE psapi ws2_32 shell32 ) + endif() + + if( EXIV2_ENABLE_PNG ) diff --git a/ports/exiv2/portfile.cmake b/ports/exiv2/portfile.cmake index 94cf5a1ed..86c495f4f 100644 --- a/ports/exiv2/portfile.cmake +++ b/ports/exiv2/portfile.cmake @@ -8,6 +8,7 @@ vcpkg_from_github( HEAD_REF master PATCHES iconv.patch + 1059-Add-missing-library-link-on-Windows.patch # https://github.com/Exiv2/exiv2/pull/1059 ) if((NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") AND ("unicode" IN_LIST FEATURES)) diff --git a/ports/faad2/0001-Fix-non-x86-msvc.patch b/ports/faad2/0001-Fix-non-x86-msvc.patch new file mode 100644 index 000000000..821dfb09b --- /dev/null +++ b/ports/faad2/0001-Fix-non-x86-msvc.patch @@ -0,0 +1,13 @@ +diff --git a/libfaad/common.h b/libfaad/common.h +index 897a0f0..8b78807 100644 +--- a/libfaad/common.h ++++ b/libfaad/common.h +@@ -313,7 +313,7 @@ char *strchr(), *strrchr(); + } + + +- #if defined(_WIN32) && !defined(_WIN64) && !defined(__MINGW32__) ++ #if defined(_WIN32) && defined(_M_IX86) && !defined(__MINGW32__) + #ifndef HAVE_LRINTF + #define HAS_LRINTF + static INLINE int lrintf(float f) diff --git a/ports/faad2/0002-Fix-unary-minus.patch b/ports/faad2/0002-Fix-unary-minus.patch new file mode 100644 index 000000000..28e11603f --- /dev/null +++ b/ports/faad2/0002-Fix-unary-minus.patch @@ -0,0 +1,24 @@ +diff --git a/libfaad/decoder.c b/libfaad/decoder.c +index 4f4b011..9bed248 100644 +--- a/libfaad/decoder.c ++++ b/libfaad/decoder.c +@@ -239,7 +239,7 @@ static int latmCheck(latm_header *latm, bitfile *ld) + while (ld->bytes_left) + { + bits = faad_latm_frame(latm, ld); +- if(bits==-1U) ++ if(bits==0xFFFFFFFF) + bad++; + else + { +diff --git a/libfaad/syntax.c b/libfaad/syntax.c +index c992543..be8c541 100644 +--- a/libfaad/syntax.c ++++ b/libfaad/syntax.c +@@ -2644,5 +2644,5 @@ uint32_t faad_latm_frame(latm_header *latm, bitfile *ld) + return (len*8)-(endpos-initpos); + //faad_getbits(ld, initpos-endpos); //go back to initpos, but is valid a getbits(-N) ? + } +- return -1U; ++ return 0xFFFFFFFF; + } diff --git a/ports/faad2/0003-Initialize-pointers.patch b/ports/faad2/0003-Initialize-pointers.patch new file mode 100644 index 000000000..29c572597 --- /dev/null +++ b/ports/faad2/0003-Initialize-pointers.patch @@ -0,0 +1,28 @@ +diff --git a/frontend/main.c b/frontend/main.c +index e1d3c7d..25881c7 100644 +--- a/frontend/main.c ++++ b/frontend/main.c +@@ -462,9 +462,9 @@ static int decodeAACfile(char *aacfile, char *sndfile, char *adts_fn, int to_std + unsigned char channels; + void *sample_buffer; + +- audio_file *aufile; ++ audio_file *aufile = NULL; + +- FILE *adtsFile; ++ FILE *adtsFile = NULL; + unsigned char *adtsData; + int adtsDataSize; + +@@ -796,9 +796,9 @@ static int decodeMP4file(char *mp4file, char *sndfile, char *adts_fn, int to_std + + long sampleId, startSampleId; + +- audio_file *aufile; ++ audio_file *aufile = NULL; + +- FILE *adtsFile; ++ FILE *adtsFile = NULL; + unsigned char *adtsData; + int adtsDataSize; + diff --git a/ports/faad2/CMakeLists.txt b/ports/faad2/CMakeLists.txt new file mode 100644 index 000000000..70f9c5879 --- /dev/null +++ b/ports/faad2/CMakeLists.txt @@ -0,0 +1,38 @@ +cmake_minimum_required(VERSION 3.1) +project (faad VERSION 2.9.1) + +option(FAAD_BUILD_BINARIES "Build faad2 binaries" OFF) + +file(GLOB_RECURSE FAAD_SOURCES "${CMAKE_CURRENT_LIST_DIR}/libfaad/*.c") +file(GLOB_RECURSE FAAD_HEADERS "${CMAKE_CURRENT_LIST_DIR}/libfaad/*.h") + +if (BUILD_SHARED_LIBS) + list(APPEND FAAD_SOURCES "${CMAKE_CURRENT_LIST_DIR}/project/msvc/libfaad2.def") +endif () + +add_definitions(-DSTDC_HEADERS -DPACKAGE_VERSION=\"${PROJECT_VERSION}\" -D_CRT_SECURE_NO_WARNINGS -DHAVE_LRINTF) +include_directories( + "${CMAKE_CURRENT_LIST_DIR}/include" + "${CMAKE_CURRENT_LIST_DIR}/libfaad" +) +add_library(faad ${FAAD_SOURCES} ${FAAD_HEADERS}) + +if (FAAD_BUILD_BINARIES) + include_directories( + "${CMAKE_CURRENT_LIST_DIR}/frontend" + ) + add_executable(faad_decoder + "${CMAKE_SOURCE_DIR}/frontend/audio.c" + "${CMAKE_SOURCE_DIR}/frontend/main.c" + "${CMAKE_SOURCE_DIR}/frontend/mp4read.c" + "${CMAKE_SOURCE_DIR}/frontend/unicode_support.c" + ) + target_link_libraries(faad_decoder PRIVATE faad shell32) +endif () + +install( + TARGETS faad + ARCHIVE DESTINATION "lib" + LIBRARY DESTINATION "lib" + RUNTIME DESTINATION "bin" + ) diff --git a/ports/faad2/CONTROL b/ports/faad2/CONTROL new file mode 100644 index 000000000..3b258ef1b --- /dev/null +++ b/ports/faad2/CONTROL @@ -0,0 +1,7 @@ +Source: faad2 +Version: 2.9.1-1 +Homepage: https://sourceforge.net/projects/faac/ +Description: Freeware Advanced Audio (AAC) Decoder + +Feature: build_decoder +Description: Build the embedded decoder executable diff --git a/ports/faad2/portfile.cmake b/ports/faad2/portfile.cmake new file mode 100644 index 000000000..2cbec1ba7 --- /dev/null +++ b/ports/faad2/portfile.cmake @@ -0,0 +1,32 @@ +vcpkg_fail_port_install(MESSAGE "${PORT} currently only supports Windows platform." ON_TARGET "Linux" "OSX") +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO knik0/faad2 + REF 043d37b60cdded2abed7c4054f954e # 2_9_1 + SHA512 8658256bbcb3ce641eef67c4f5d22d54b348805a06b2954718a44910861a9882371c887feb085060c524f955993ae26c211c6bb4fb8d95f9e9d1d0b5dca0ebe4 + HEAD_REF master + PATCHES + 0001-Fix-non-x86-msvc.patch # https://github.com/knik0/faad2/pull/42 + 0002-Fix-unary-minus.patch # https://github.com/knik0/faad2/pull/43 + 0003-Initialize-pointers.patch # https://github.com/knik0/faad2/pull/44 +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + build_decoder FAAD_BUILD_BINARIES +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS ${FEATURE_OPTIONS} +) + +vcpkg_install_cmake() + +file(INSTALL ${SOURCE_PATH}/include DESTINATION ${CURRENT_PACKAGES_DIR}) +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/faad2 RENAME copyright) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +vcpkg_copy_pdbs() diff --git a/ports/ffmpeg/CONTROL b/ports/ffmpeg/CONTROL index e8f12f97e..faebf0d86 100644 --- a/ports/ffmpeg/CONTROL +++ b/ports/ffmpeg/CONTROL @@ -1,5 +1,5 @@ Source: ffmpeg -Version: 4.2-1 +Version: 4.2-2 Build-Depends: zlib Homepage: https://ffmpeg.org Description: a library to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created. @@ -48,5 +48,8 @@ Description: allow nonfree and unredistributable libraries Feature: gpl Description: allow GPL licensed libraries +Feature: version3 +Description: upgrade (L)GPL to version 3 + Feature: avresample Description: Libav audio resampling library support in ffmpeg diff --git a/ports/ffmpeg/portfile.cmake b/ports/ffmpeg/portfile.cmake index 71bea6e95..7adee3a8b 100644 --- a/ports/ffmpeg/portfile.cmake +++ b/ports/ffmpeg/portfile.cmake @@ -67,6 +67,10 @@ if("gpl" IN_LIST FEATURES) set(OPTIONS "${OPTIONS} --enable-gpl") endif() +if("version3" IN_LIST FEATURES) + set(OPTIONS "${OPTIONS} --enable-version3") +endif() + if("openssl" IN_LIST FEATURES) set(OPTIONS "${OPTIONS} --enable-openssl") else() @@ -178,9 +182,9 @@ set(ENV_LIB_PATH "$ENV{${LIB_PATH_VAR}}") message(STATUS "Building Options: ${OPTIONS}") -# Relase build +# Release build if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL release) - message(STATUS "Building Relase Options: ${OPTIONS_RELEASE}") + message(STATUS "Building Release Options: ${OPTIONS_RELEASE}") set(ENV{${LIB_PATH_VAR}} "${CURRENT_INSTALLED_DIR}/lib${SEP}${ENV_LIB_PATH}") set(ENV{CFLAGS} "${VCPKG_C_FLAGS} ${VCPKG_C_FLAGS_RELEASE}") set(ENV{LDFLAGS} "${VCPKG_LINKER_FLAGS}") @@ -257,8 +261,22 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR vcpkg_copy_pdbs() # Handle copyright -# TODO: Examine build log and confirm that this license matches the build output -file(INSTALL ${SOURCE_PATH}/COPYING.LGPLv2.1 DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(STRINGS ${CURRENT_BUILDTREES_DIR}/build-${TARGET_TRIPLET}-rel-out.log LICENSE_STRING REGEX "License: .*" LIMIT_COUNT 1) +if(${LICENSE_STRING} STREQUAL "License: LGPL version 2.1 or later") + set(LICENSE_FILE "COPYING.LGPLv2.1") +elseif(${LICENSE_STRING} STREQUAL "License: LGPL version 3 or later") + set(LICENSE_FILE "COPYING.LGPLv3") +elseif(${LICENSE_STRING} STREQUAL "License: GPL version 2 or later") + set(LICENSE_FILE "COPYING.GPLv2") +elseif(${LICENSE_STRING} STREQUAL "License: GPL version 3 or later") + set(LICENSE_FILE "COPYING.GPLv3") +elseif(${LICENSE_STRING} STREQUAL "License: nonfree and unredistributable") + set(LICENSE_FILE "COPYING.NONFREE") + file(WRITE ${SOURCE_PATH}/${LICENSE_FILE} ${LICENSE_STRING}) +else() + message(FATAL_ERROR "Failed to identify license (${LICENSE_STRING})") +endif() +file(INSTALL ${SOURCE_PATH}/${LICENSE_FILE} DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) configure_file(${CMAKE_CURRENT_LIST_DIR}/FindFFMPEG.cmake.in ${CURRENT_PACKAGES_DIR}/share/${PORT}/FindFFMPEG.cmake @ONLY) file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) diff --git a/ports/fftwpp/CONTROL b/ports/fftwpp/CONTROL index 9c701d5ef..ba65d7185 100644 --- a/ports/fftwpp/CONTROL +++ b/ports/fftwpp/CONTROL @@ -1,5 +1,5 @@ Source: fftwpp
-Version: 2.05
+Version: 2019-12-19
Homepage: https://www.fftw.org/
Description: FFTW++ is a C++ header/MPI transpose for Version 3 of the highly optimized FFTW (http://www.fftw.org) Fourier Transform library.
Build-Depends: fftw3
diff --git a/ports/fftwpp/portfile.cmake b/ports/fftwpp/portfile.cmake index f178d5f12..b24c5652d 100644 --- a/ports/fftwpp/portfile.cmake +++ b/ports/fftwpp/portfile.cmake @@ -1,9 +1,9 @@ vcpkg_from_github(
- OUT_SOURCE_PATH SOURCE_PATH
- REPO dealias/fftwpp
- REF f31cf133f9f4ddf23878cb0a83e848b1f76df1a7 #2.05
- SHA512 c929fb76aba8aa5f60615bdb9d3226118a8c6686adae39fc35c75dcebbc8c199a6ef20078aa82b0b0fd3a8db494c969fc7ba749659666eceb483afed9db5b5f6
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO dealias/fftwpp
+ REF d05a2812995a52a3834140fd3ddd2e80bf8fcd42
+ SHA512 851c79245eb61ebebfde97e7a8f3b9c061e84c9df571b5a7cafc3e959941e7b0792923e0ddefde4739582932d135c578c703195017da4bd34872adce7ab8c5ee
HEAD_REF master
)
diff --git a/ports/fizz/CONTROL b/ports/fizz/CONTROL index fcc118553..86dbc6da6 100644 --- a/ports/fizz/CONTROL +++ b/ports/fizz/CONTROL @@ -1,4 +1,4 @@ Source: fizz
-Version: 2019.07.08.00 +Version: 2019.10.28.00 Build-Depends: folly, openssl, libsodium, zlib
Description: a TLS 1.3 implementation by Facebook
diff --git a/ports/fizz/portfile.cmake b/ports/fizz/portfile.cmake index c18c52690..1647eb1ef 100644 --- a/ports/fizz/portfile.cmake +++ b/ports/fizz/portfile.cmake @@ -1,12 +1,10 @@ -include(vcpkg_common_functions)
-
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO facebookincubator/fizz
- REF 5a2cbf77381b2489ff636b836c26fde26a66cd7d - SHA512 6f6583dae05c95feb521396d932a263984f3b56c4ce18a672214ce5ece960cfb82203f7f6d23fa7b00dca62da640e4294f5f1cd6a6b0459d950c8997b71f3ce1
+ REF 3e933cff04c27c97d0fb0b899ed0c883b4e02e3b # v2019.10.28.00 + SHA512 522b677f9e6cb0dd7ce2dad226efd831877ce12352efa6a34e743d1ec7a02ba65e7425472a57e88832f68fa4503206d9846580e305da6a0843034455e510b68d
HEAD_REF master
PATCHES
find-zlib.patch
diff --git a/ports/fmt/CONTROL b/ports/fmt/CONTROL index bc6de38f8..cdbb9362d 100644 --- a/ports/fmt/CONTROL +++ b/ports/fmt/CONTROL @@ -1,4 +1,4 @@ Source: fmt -Version: 6.0.0 +Version: 6.0.0-1 Homepage: https://github.com/fmtlib/fmt Description: Formatting library for C++. It can be used as a safe alternative to printf or as a fast alternative to IOStreams. diff --git a/ports/fmt/fix-warning4189.patch b/ports/fmt/fix-warning4189.patch new file mode 100644 index 000000000..9b52d4926 --- /dev/null +++ b/ports/fmt/fix-warning4189.patch @@ -0,0 +1,12 @@ +diff --git a/include/fmt/format.h b/include/fmt/format.h +index efec5d6..9b15b48 100644 +--- a/include/fmt/format.h ++++ b/include/fmt/format.h +@@ -33,6 +33,7 @@ + #ifndef FMT_FORMAT_H_ + #define FMT_FORMAT_H_ + ++#pragma warning(disable:4189) + #include <algorithm> + #include <cassert> + #include <cmath> diff --git a/ports/fmt/portfile.cmake b/ports/fmt/portfile.cmake index 0809aaeb9..238272b86 100644 --- a/ports/fmt/portfile.cmake +++ b/ports/fmt/portfile.cmake @@ -1,10 +1,10 @@ -include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO fmtlib/fmt REF 6.0.0 SHA512 7deb5bd843ae6b9d4b58dca9c68c1cfe7b55a41040f358247f5309655188d1ae194ff414437c068f74367f078faa214b5883e8c9e634c7623dcda50850e24766 HEAD_REF master + PATCHES fix-warning4189.patch ) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} diff --git a/ports/folly/CONTROL b/ports/folly/CONTROL index 7b567665a..1ec16d009 100644 --- a/ports/folly/CONTROL +++ b/ports/folly/CONTROL @@ -1,5 +1,5 @@ Source: folly -Version: 2019.06.17.00 +Version: 2019.10.21.00 Homepage: https://github.com/facebook/folly Description: An open-source C++ library developed and used at Facebook. The library is UNSTABLE on Windows Build-Depends: openssl, libevent, double-conversion, glog, gflags, boost-chrono, boost-context, boost-conversion, boost-crc, boost-date-time, boost-filesystem, boost-multi-index, boost-program-options, boost-regex, boost-system, boost-thread, boost-smart-ptr diff --git a/ports/folly/boost-1.70.patch b/ports/folly/boost-1.70.patch index 97c01116d..98986b96c 100644 --- a/ports/folly/boost-1.70.patch +++ b/ports/folly/boost-1.70.patch @@ -1,23 +1,23 @@ -diff --git a/folly/portability/PThread.cpp b/folly/portability/PThread.cpp
-index d75e012..03019f3 100644
---- a/folly/portability/PThread.cpp
-+++ b/folly/portability/PThread.cpp
-@@ -18,6 +18,9 @@
-
- #if !FOLLY_HAVE_PTHREAD && _WIN32
- #include <boost/thread/tss.hpp> // @manual
-+#include <boost/thread/exceptions.hpp>
-+#include <boost/shared_ptr.hpp>
-+#include <boost/thread/thread_only.hpp>
-
- #include <errno.h>
-
-@@ -684,7 +687,7 @@ int pthread_setspecific(pthread_key_t key, const void* value) {
- // function, which we don't want to do.
- boost::detail::set_tss_data(
- realKey,
-- boost::shared_ptr<boost::detail::tss_cleanup_function>(),
-+ 0,0,
- const_cast<void*>(value),
- false);
- return 0;
+diff --git a/folly/portability/PThread.cpp b/folly/portability/PThread.cpp +index 5cc3731..86a4a0b 100644 +--- a/folly/portability/PThread.cpp ++++ b/folly/portability/PThread.cpp +@@ -18,6 +18,9 @@ + + #if !FOLLY_HAVE_PTHREAD && defined(_WIN32) + #include <boost/thread/tss.hpp> // @manual ++#include <boost/thread/exceptions.hpp> ++#include <boost/shared_ptr.hpp> ++#include <boost/thread/thread_only.hpp> + + #include <errno.h> + +@@ -684,7 +687,7 @@ int pthread_setspecific(pthread_key_t key, const void* value) { + // function, which we don't want to do. + boost::detail::set_tss_data( + realKey, +- boost::shared_ptr<boost::detail::tss_cleanup_function>(), ++ 0,0, + const_cast<void*>(value), + false); + return 0; diff --git a/ports/folly/portfile.cmake b/ports/folly/portfile.cmake index 31f1c0331..bfe4aa7e6 100644 --- a/ports/folly/portfile.cmake +++ b/ports/folly/portfile.cmake @@ -1,5 +1,3 @@ -include(vcpkg_common_functions) - if(NOT VCPKG_TARGET_ARCHITECTURE STREQUAL x64) message(FATAL_ERROR "Folly only supports the x64 architecture.") endif() @@ -14,14 +12,14 @@ vcpkg_add_to_path("${PYTHON3_DIR}") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO facebook/folly - REF d12df6e924adc3889cd2fbeaca078355c5da170f - SHA512 ecb55cda91ab6db1519b612b676b5166454132960edce0a36f1b4e42f5e1a5f753d8bbb2ed93e34faed1025a54840eb4dc876a49c88b8dd9c90c8070dafc43b8 + REF 8874256376d2f8a32867f17c9472a446d6707604 #2019.10.21.00 + SHA512 96dfdde34697b72e8eb88431d742fffa337fc9146677d63cf0331dc5e4cd341fb00b88edf3781488e3194fa41525e70a6729e1bb6657f224cd1969deea9b468c HEAD_REF master PATCHES missing-include-atomic.patch - boost-1.70.patch reorder-glog-gflags.patch disable-non-underscore-posix-names.patch + boost-1.70.patch ) file(COPY @@ -94,5 +92,4 @@ ${_contents}") file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) # Handle copyright -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/folly) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/folly/LICENSE ${CURRENT_PACKAGES_DIR}/share/folly/copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/forge/CONTROL b/ports/forge/CONTROL index 595f6d2a2..d791f8ad6 100644 --- a/ports/forge/CONTROL +++ b/ports/forge/CONTROL @@ -1,4 +1,4 @@ Source: forge
-Version: 1.0.4-1 +Version: 1.0.4-2 Description: Helps with high performance visualizations involving OpenGL-CUDA/OpenCL interop.
Build-Depends: glfw3, glm, glbinding, freetype, boost-functional, freeimage, fontconfig (!windows)
diff --git a/ports/forge/portfile.cmake b/ports/forge/portfile.cmake index 24df90dce..05c099c5a 100644 --- a/ports/forge/portfile.cmake +++ b/ports/forge/portfile.cmake @@ -1,5 +1,3 @@ -include(vcpkg_common_functions)
-
if(NOT VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
message(FATAL_ERROR "This port currently only supports x64 architecture")
endif()
@@ -25,15 +23,20 @@ vcpkg_configure_cmake( vcpkg_install_cmake()
-vcpkg_fixup_cmake_targets(CONFIG_PATH cmake)
+if (VCPKG_TARGET_IS_WINDOWS)
+ vcpkg_fixup_cmake_targets(CONFIG_PATH cmake)
+else()
+ vcpkg_fixup_cmake_targets(CONFIG_PATH share/Forge/cmake)
+endif()
file(GLOB DLLS ${CURRENT_PACKAGES_DIR}/bin/* ${CURRENT_PACKAGES_DIR}/debug/bin/*)
list(FILTER DLLS EXCLUDE REGEX "forge\\.dll\$")
file(REMOVE_RECURSE
${CURRENT_PACKAGES_DIR}/debug/include
+ ${CURRENT_PACKAGES_DIR}/debug/share
${CURRENT_PACKAGES_DIR}/debug/examples
${CURRENT_PACKAGES_DIR}/examples
${DLLS}
)
-file(INSTALL ${SOURCE_PATH}/.github/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/forge RENAME copyright)
+file(INSTALL ${SOURCE_PATH}/.github/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/freeimage/CMakeLists.txt b/ports/freeimage/CMakeLists.txt index af3d1c37f..f8fd96929 100644 --- a/ports/freeimage/CMakeLists.txt +++ b/ports/freeimage/CMakeLists.txt @@ -13,7 +13,7 @@ if(BUILD_SHARED_LIBS) add_definitions("-DOPENEXR_DLL") endif() -find_package(zlib REQUIRED) +find_package(ZLIB REQUIRED) find_package(PNG REQUIRED) find_package(JPEG REQUIRED) find_package(TIFF REQUIRED) diff --git a/ports/freeimage/CONTROL b/ports/freeimage/CONTROL index c911df6c7..53e641a78 100644 --- a/ports/freeimage/CONTROL +++ b/ports/freeimage/CONTROL @@ -1,5 +1,5 @@ Source: freeimage -Version: 3.18.0-7 +Version: 3.18.0-8 Build-Depends: zlib, libpng, libjpeg-turbo, tiff, openjpeg, libwebp[all] (!uwp), libraw, jxrlib, openexr Homepage: https://sourceforge.net/projects/freeimage/ Description: Support library for graphics image formats diff --git a/ports/freeimage/portfile.cmake b/ports/freeimage/portfile.cmake index 237ed2466..1fcbbb110 100644 --- a/ports/freeimage/portfile.cmake +++ b/ports/freeimage/portfile.cmake @@ -52,8 +52,6 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -# Handle copyright -file(COPY ${SOURCE_PATH}/license-fi.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/freeimage) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/freeimage/license-fi.txt ${CURRENT_PACKAGES_DIR}/share/freeimage/copyright) - vcpkg_copy_pdbs() +file(INSTALL ${SOURCE_PATH}/license-fi.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) + diff --git a/ports/freerdp/CONTROL b/ports/freerdp/CONTROL index c5c3d657e..3a24bd998 100644 --- a/ports/freerdp/CONTROL +++ b/ports/freerdp/CONTROL @@ -1,5 +1,5 @@ Source: freerdp -Version: 2.0.0-rc4-2 +Version: 2.0.0-rc4-4 Homepage: https://github.com/FreeRDP/FreeRDP Description: A free implementation of the Remote Desktop Protocol (RDP) -Build-Depends: openssl +Build-Depends: openssl, glib (!windows) diff --git a/ports/freerdp/fix-linux-build.patch b/ports/freerdp/fix-linux-build.patch new file mode 100644 index 000000000..92f2cd4c1 --- /dev/null +++ b/ports/freerdp/fix-linux-build.patch @@ -0,0 +1,13 @@ +diff --git a/winpr/tools/makecert-cli/CMakeLists.txt b/winpr/tools/makecert-cli/CMakeLists.txt +index 48fda5b..4e15a22 100644 +--- a/winpr/tools/makecert-cli/CMakeLists.txt ++++ b/winpr/tools/makecert-cli/CMakeLists.txt +@@ -42,7 +42,7 @@ add_executable(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS}) + + set(${MODULE_PREFIX}_LIBS winpr-tools) + +-target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS} winpr) ++target_link_libraries(${MODULE_NAME} ${OPENSSL_LIBRARIES} ${${MODULE_PREFIX}_LIBS} winpr) + + set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "WinPR/Tools") + diff --git a/ports/freerdp/openssl_threads.patch b/ports/freerdp/openssl_threads.patch new file mode 100644 index 000000000..a506b580b --- /dev/null +++ b/ports/freerdp/openssl_threads.patch @@ -0,0 +1,12 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 019926901..9db9ed29b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -945,6 +945,7 @@ endif() + if(OPENSSL_FOUND) + add_definitions("-DWITH_OPENSSL") + message(STATUS "Using OpenSSL Version: ${OPENSSL_VERSION}") ++ list(APPEND OPENSSL_LIBRARIES Threads::Threads) + endif() + + if(MBEDTLS_FOUND) diff --git a/ports/freerdp/portfile.cmake b/ports/freerdp/portfile.cmake index ca42af8a0..2164a0669 100644 --- a/ports/freerdp/portfile.cmake +++ b/ports/freerdp/portfile.cmake @@ -1,5 +1,3 @@ -include(vcpkg_common_functions) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO FreeRDP/FreeRDP @@ -8,6 +6,8 @@ vcpkg_from_github( HEAD_REF master PATCHES DontInstallSystemRuntimeLibs.patch + fix-linux-build.patch + openssl_threads.patch ) if(VCPKG_CRT_LINKAGE STREQUAL "static") @@ -41,16 +41,23 @@ endif() vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}) if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - file(RENAME "${CURRENT_PACKAGES_DIR}/lib/freerdp-client2.dll" "${CURRENT_PACKAGES_DIR}/bin/freerdp-client2.dll") - file(RENAME "${CURRENT_PACKAGES_DIR}/lib/freerdp2.dll" "${CURRENT_PACKAGES_DIR}/bin/freerdp2.dll") - file(RENAME "${CURRENT_PACKAGES_DIR}/lib/winpr-tools2.dll" "${CURRENT_PACKAGES_DIR}/bin/winpr-tools2.dll") - file(RENAME "${CURRENT_PACKAGES_DIR}/lib/winpr2.dll" "${CURRENT_PACKAGES_DIR}/bin/winpr2.dll") - - file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/freerdp-client2.dll" "${CURRENT_PACKAGES_DIR}/debug/bin/freerdp-client2.dll") - file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/freerdp2.dll" "${CURRENT_PACKAGES_DIR}/debug/bin/freerdp2.dll") - file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/winpr-tools2.dll" "${CURRENT_PACKAGES_DIR}/debug/bin/winpr-tools2.dll") - file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/winpr2.dll" "${CURRENT_PACKAGES_DIR}/debug/bin/winpr2.dll") -else() + file(GLOB_RECURSE FREERDP_DLLS "${CURRENT_PACKAGES_DIR}/lib/*.dll") + foreach(FREERDP_DLL ${FREERDP_DLLS}) + file(COPY ${FREERDP_DLL} DESTINATION ${CURRENT_PACKAGES_DIR}/bin) + file(REMOVE ${FREERDP_DLL}) + endforeach() + + file(GLOB_RECURSE FREERDP_DLLS "${CURRENT_PACKAGES_DIR}/debug/lib/*.dll") + foreach(FREERDP_DLL ${FREERDP_DLLS}) + file(COPY ${FREERDP_DLL} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) + file(REMOVE ${FREERDP_DLL}) + endforeach() +else() + file(GLOB_RECURSE FREERDP_TOOLS "${CURRENT_PACKAGES_DIR}/bin/*") + foreach(FREERDP_TOOL ${FREERDP_TOOLS}) + file(COPY ${FREERDP_TOOL} DESTINATION ${CURRENT_PACKAGES_DIR}/tools) + file(REMOVE ${FREERDP_TOOL}) + endforeach() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) endif() @@ -65,10 +72,9 @@ vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/FreeRDP-Client2_temp/FreeRDP-Cli vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/FreeRDP2_temp/FreeRDP2) vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/WinPR2_temp/WinPR2 TARGET_PATH share/winpr) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/cmake) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include + ${CURRENT_PACKAGES_DIR}/debug/share + ${CURRENT_PACKAGES_DIR}/debug/lib/cmake + ${CURRENT_PACKAGES_DIR}/lib/cmake) -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/freerdp) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/freerdp/LICENSE ${CURRENT_PACKAGES_DIR}/share/freerdp/copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/freetds/CONTROL b/ports/freetds/CONTROL index 77be05f40..bfd1e44d4 100644 --- a/ports/freetds/CONTROL +++ b/ports/freetds/CONTROL @@ -1,5 +1,5 @@ Source: freetds -Version: 1.1.6-1 +Version: 1.1.17 Homepage: https://www.freetds.org Description: Implementation of the Tabular Data Stream protocol Default-Features: openssl diff --git a/ports/freetds/crypt32.patch b/ports/freetds/crypt32.patch new file mode 100644 index 000000000..a3af75693 --- /dev/null +++ b/ports/freetds/crypt32.patch @@ -0,0 +1,25 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 796625e17..fc9076f54 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -149,6 +149,9 @@ if(OPENSSL_FOUND) + config_write("#define HAVE_OPENSSL 1\n\n") + include_directories(${OPENSSL_INCLUDE_DIR}) + set(CMAKE_REQUIRED_LIBRARIES ${OPENSSL_LIBRARIES}) ++ if(WIN32) ++ list(APPEND CMAKE_REQUIRED_LIBRARIES crypt32 ws2_32) ++ endif() + check_function_exists_define(BIO_get_data) + check_function_exists_define(RSA_get0_key) + check_function_exists_define(ASN1_STRING_get0_data) +@@ -441,7 +444,10 @@ else(WIN32) + endif(WIN32) + + if(OPENSSL_FOUND) + set(lib_NETWORK ${lib_NETWORK} ${OPENSSL_LIBRARIES}) ++ if(WIN32) ++ list(APPEND lib_NETWORK crypt32) ++ endif() + elseif(GNUTLS_FOUND) + set(lib_NETWORK ${lib_NETWORK} ${lib_GNUTLS}) + endif(OPENSSL_FOUND) diff --git a/ports/freetds/portfile.cmake b/ports/freetds/portfile.cmake index a03fd0c9c..eb833b30a 100644 --- a/ports/freetds/portfile.cmake +++ b/ports/freetds/portfile.cmake @@ -1,14 +1,16 @@ include(vcpkg_common_functions)
vcpkg_download_distfile(ARCHIVE
- URLS "https://www.freetds.org/files/stable/freetds-1.1.6.tar.bz2"
- FILENAME "freetds-1.1.6.tar.bz2"
- SHA512 160c8638302fd36a3f42d031dbd58525cde899b64d320f6187ce5865ea2c049a1af63be419623e4cd18ccf229dd2ee7ec509bc5721c3371de0f31710dad7470d
+ URLS "https://www.freetds.org/files/stable/freetds-1.1.17.tar.bz2"
+ FILENAME "freetds-1.1.17.tar.bz2"
+ SHA512 3746ea009403960950fd619ffaf6433cfc92c34a8261b15e61009f01a1446e5a5a59413cd48e5511bbf3a0224f54b40daa713187bd20ca43105c5f8c68f4b88e
)
vcpkg_extract_source_archive_ex(
OUT_SOURCE_PATH SOURCE_PATH
ARCHIVE ${ARCHIVE}
+ PATCHES
+ crypt32.patch
)
set(BUILD_freetds_openssl OFF)
diff --git a/ports/freetype-gl/CONTROL b/ports/freetype-gl/CONTROL index fd8d7c7ee..5419d6596 100644 --- a/ports/freetype-gl/CONTROL +++ b/ports/freetype-gl/CONTROL @@ -1,5 +1,5 @@ Source: freetype-gl -Version: 2019-03-29-2 +Version: 2019-03-29-3 Homepage: https://github.com/rougier/freetype-gl Description: OpenGL text using one vertex buffer, one texture and FreeType Build-Depends: glew, freetype diff --git a/ports/freetype-gl/portfile.cmake b/ports/freetype-gl/portfile.cmake index 86d7f678a..5d931ced5 100644 --- a/ports/freetype-gl/portfile.cmake +++ b/ports/freetype-gl/portfile.cmake @@ -1,5 +1,3 @@ -include(vcpkg_common_functions) - vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( @@ -39,15 +37,16 @@ file(INSTALL ${HEADER_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include/freetyp # LIB file(GLOB LIBS - "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/*.lib" - "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/Release/*.lib" - "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/*/Release/*.lib" + "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/*${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}" + "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/Release/*${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}" + "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/*/Release/*${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}" ) file(GLOB DEBUG_LIBS - "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/*.lib" - "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/Debug/*.lib" - "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/*/Debug/*.lib" + "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/*${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}" + "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/Debug/*${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}" + "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/*/Debug/*${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}" ) + file(INSTALL ${LIBS} DESTINATION ${CURRENT_PACKAGES_DIR}/lib) file(INSTALL ${DEBUG_LIBS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) diff --git a/ports/freetype/CONTROL b/ports/freetype/CONTROL index 20d4bb93c..05dbe5060 100644 --- a/ports/freetype/CONTROL +++ b/ports/freetype/CONTROL @@ -1,5 +1,5 @@ Source: freetype -Version: 2.10.1-1 +Version: 2.10.1-2 Build-Depends: zlib, bzip2, libpng Homepage: https://www.freetype.org/ Description: A library to render fonts. diff --git a/ports/freetype/portfile.cmake b/ports/freetype/portfile.cmake index d1822481f..f8f740eab 100644 --- a/ports/freetype/portfile.cmake +++ b/ports/freetype/portfile.cmake @@ -72,7 +72,6 @@ file(COPY ${SOURCE_PATH}/docs/LICENSE.TXT ${SOURCE_PATH}/docs/FTL.TXT ${SOURCE_PATH}/docs/GPLv2.TXT - ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/freetype ) file(RENAME ${CURRENT_PACKAGES_DIR}/share/freetype/LICENSE.TXT ${CURRENT_PACKAGES_DIR}/share/freetype/copyright) diff --git a/ports/freetype/usage b/ports/freetype/usage deleted file mode 100644 index 458a9dd88..000000000 --- a/ports/freetype/usage +++ /dev/null @@ -1,4 +0,0 @@ -The package freetype is compatible with built-in CMake targets:
-
- find_package(Freetype REQUIRED)
- target_link_libraries(main PRIVATE Freetype::Freetype)
diff --git a/ports/fruit/CONTROL b/ports/fruit/CONTROL index 4e7bd9f8d..8d3e9dce4 100644 --- a/ports/fruit/CONTROL +++ b/ports/fruit/CONTROL @@ -1,4 +1,4 @@ Source: fruit
-Version: 3.4.0-1
+Version: 3.4.0-2
+Homepage: https://github.com/google/fruit
Description: Fruit, a dependency injection framework for C++ by Google
-
diff --git a/ports/fruit/portfile.cmake b/ports/fruit/portfile.cmake index a945e63bd..f47d22802 100644 --- a/ports/fruit/portfile.cmake +++ b/ports/fruit/portfile.cmake @@ -1,4 +1,4 @@ -include(vcpkg_common_functions)
+
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO google/fruit
@@ -13,10 +13,11 @@ vcpkg_configure_cmake( PREFER_NINJA
OPTIONS
-DFRUIT_USES_BOOST=False
+ -DFRUIT_TESTS_USE_PRECOMPILED_HEADERS=OFF
)
vcpkg_install_cmake()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
# Handle copyright
-configure_file(${SOURCE_PATH}/COPYING ${CURRENT_PACKAGES_DIR}/share/fruit/copyright COPYONLY)
+file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/function2/CONTROL b/ports/function2/CONTROL new file mode 100644 index 000000000..9604e8084 --- /dev/null +++ b/ports/function2/CONTROL @@ -0,0 +1,4 @@ +Source: function2 +Version: 4.0.0 +Homepage: https://github.com/Naios/function2 +Description: Improved drop-in replacement to std::function diff --git a/ports/function2/disable-testing.patch b/ports/function2/disable-testing.patch new file mode 100644 index 000000000..c17403c33 --- /dev/null +++ b/ports/function2/disable-testing.patch @@ -0,0 +1,14 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 684abe0..32a5cf6 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -75,7 +75,9 @@ if (FU2_IS_TOP_LEVEL_PROJECT) + install(EXPORT "${PROJECT_NAME}Targets" + NAMESPACE ${PROJECT_NAME}:: + DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}") ++endif() + ++if(0) + # Setup CPack for bundling + set(CPACK_GENERATOR "ZIP") + set(CPACK_PACKAGE_VERSION_MAJOR ${PROJECT_VERSION_MAJOR}) diff --git a/ports/function2/portfile.cmake b/ports/function2/portfile.cmake new file mode 100644 index 000000000..b57c722f8 --- /dev/null +++ b/ports/function2/portfile.cmake @@ -0,0 +1,27 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Naios/function2 + REF d2acdb6c3c7612a6133cd03464ef941161258f4e + SHA512 298f39db3c4e7a599e41fef71d1f953f3c5e20bc9f4af378c67bd47c10b126efd7be80be4ad919370a1151c8c5bc111ccd9054757a1aaf1ccf3f87ca958a7e3a + HEAD_REF master + PATCHES + disable-testing.patch +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) + +file(REMOVE ${CURRENT_PACKAGES_DIR}/Readme.md) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib) + +# Put the installed licence file where vcpkg expects it +file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/${PORT}) +file(RENAME ${CURRENT_PACKAGES_DIR}/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) + +vcpkg_copy_pdbs() diff --git a/ports/gdal/portfile.cmake b/ports/gdal/portfile.cmake index 843459d8a..73840e164 100644 --- a/ports/gdal/portfile.cmake +++ b/ports/gdal/portfile.cmake @@ -113,7 +113,17 @@ if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStor # Setup PostgreSQL libraries + include path file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" PGSQL_INCLUDE_DIR) file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/libpq.lib" PGSQL_LIBRARY_REL) - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/libpqd.lib" PGSQL_LIBRARY_DBG) + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/libpq.lib" PGSQL_LIBRARY_DBG) + + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/libpgcommon.lib" TMP_REL) + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/libpgcommon.lib" TMP_DBG) + set(PGSQL_LIBRARY_REL "${PGSQL_LIBRARY_REL} ${TMP_REL}") + set(PGSQL_LIBRARY_DBG "${PGSQL_LIBRARY_DBG} ${TMP_DBG}") + + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/libpgport.lib" TMP_REL) + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/libpgport.lib" TMP_DBG) + set(PGSQL_LIBRARY_REL "${PGSQL_LIBRARY_REL} ${TMP_REL}") + set(PGSQL_LIBRARY_DBG "${PGSQL_LIBRARY_DBG} ${TMP_DBG}") # Setup OpenJPEG libraries + include path file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" OPENJPEG_INCLUDE_DIR) @@ -136,8 +146,8 @@ if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStor file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/lzmad.lib" LZMA_LIBRARY_DBG) # Setup openssl libraries path - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/libeay32.lib ${CURRENT_INSTALLED_DIR}/lib/ssleay32.lib" OPENSSL_LIBRARY_REL) - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/libeay32.lib ${CURRENT_INSTALLED_DIR}/debug/lib/ssleay32.lib" OPENSSL_LIBRARY_DBG) + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/libcrypto.lib ${CURRENT_INSTALLED_DIR}/lib/libssl.lib" OPENSSL_LIBRARY_REL) + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/libcrypto.lib ${CURRENT_INSTALLED_DIR}/debug/lib/libssl.lib" OPENSSL_LIBRARY_DBG) # Setup libiconv libraries path file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/libiconv.lib ${CURRENT_INSTALLED_DIR}/lib/libcharset.lib" ICONV_LIBRARY_REL) diff --git a/ports/geotrans/CMakeLists.txt b/ports/geotrans/CMakeLists.txt index ba2af5868..f733f8c8a 100644 --- a/ports/geotrans/CMakeLists.txt +++ b/ports/geotrans/CMakeLists.txt @@ -95,6 +95,9 @@ include/dtcc/CoordinateSystems/usng include/dtcc/CoordinateTuples ) +if(WIN32) + add_definitions(-DLITTLE_ENDIAN) +endif() add_library(MSPdtcc ${DTCC_CPP}) add_library(MSPCoordinateConversionService CCS/src/CoordinateConversion/CoordinateConversionService.cpp ${DTCC_CPP}) diff --git a/ports/geotrans/CONTROL b/ports/geotrans/CONTROL index 1d3373aae..4d04091f5 100644 --- a/ports/geotrans/CONTROL +++ b/ports/geotrans/CONTROL @@ -1,3 +1,3 @@ Source: geotrans -Version: 3.7 +Version: 3.7-1 Description: Geotrans is a library that allows you convert geographic coordinates among a wide variety of coordinate systems, map projections, and datums. diff --git a/ports/geotrans/portfile.cmake b/ports/geotrans/portfile.cmake index 4b63ba58a..d2b4104bd 100644 --- a/ports/geotrans/portfile.cmake +++ b/ports/geotrans/portfile.cmake @@ -1,5 +1,3 @@ -include(vcpkg_common_functions) - set(VCPKG_LIBRARY_LINKAGE "dynamic") # We specify the Linux URL, but the only difference between the Windows/Linux packages are the included libraries @@ -27,7 +25,7 @@ vcpkg_install_cmake() configure_file( ${CMAKE_CURRENT_LIST_DIR}/geotrans-config.in.cmake - ${CURRENT_PACKAGES_DIR}/share/geotrans/geotrans-config.cmake + ${CURRENT_PACKAGES_DIR}/share/${PORT}/geotrans-config.cmake @ONLY ) @@ -35,7 +33,7 @@ configure_file(${CMAKE_CURRENT_LIST_DIR}/usage ${CURRENT_PACKAGES_DIR}/share/${P # Handle copyright -file(INSTALL ${SOURCE_PATH}/GEOTRANS3/docs/MSP_Geotrans_Terms_Of_Use.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/geotrans RENAME copyright) +file(INSTALL ${SOURCE_PATH}/GEOTRANS3/docs/MSP_Geotrans_Terms_Of_Use.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) # Install the geo model data -file(COPY ${SOURCE_PATH}/data DESTINATION ${CURRENT_PACKAGES_DIR}/share/geotrans) +file(COPY ${SOURCE_PATH}/data DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) diff --git a/ports/gettimeofday/CMakeLists.txt b/ports/gettimeofday/CMakeLists.txt index 4ec5b43a0..1f8d891ae 100644 --- a/ports/gettimeofday/CMakeLists.txt +++ b/ports/gettimeofday/CMakeLists.txt @@ -5,8 +5,8 @@ add_library(gettimeofday gettimeofday.c gettimeofday.def) install(TARGETS gettimeofday RUNTIME DESTINATION bin - ARCHIVE DESTINATION lib - LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib/manual-link + LIBRARY DESTINATION lib/manual-link ) if(CMAKE_BUILD_TYPE STREQUAL "Release") diff --git a/ports/gettimeofday/CONTROL b/ports/gettimeofday/CONTROL index 3ae7e0682..d1b85e05f 100644 --- a/ports/gettimeofday/CONTROL +++ b/ports/gettimeofday/CONTROL @@ -1,3 +1,3 @@ Source: gettimeofday -Version: 2017-10-14-2 +Version: 2017-10-14-3 Description: An implementation of gettimeofday for WIN32 diff --git a/ports/gettimeofday/portfile.cmake b/ports/gettimeofday/portfile.cmake index 51c88c989..0d08bacc8 100644 --- a/ports/gettimeofday/portfile.cmake +++ b/ports/gettimeofday/portfile.cmake @@ -1,5 +1,3 @@ -include(vcpkg_common_functions) - vcpkg_configure_cmake( SOURCE_PATH ${CMAKE_CURRENT_LIST_DIR} PREFER_NINJA @@ -8,4 +6,4 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_copy_pdbs() -file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/gettimeofday RENAME copyright) +file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/glib/CMakeLists.txt b/ports/glib/CMakeLists.txt index 341b163c8..4da1a80a1 100644 --- a/ports/glib/CMakeLists.txt +++ b/ports/glib/CMakeLists.txt @@ -109,6 +109,7 @@ else() add_definitions("-DGIO_MODULE_DIR=\"gio/modules\"") endif() install(FILES ${CMAKE_BINARY_DIR}/config/config.h DESTINATION include/glib) +install(FILES ${CMAKE_SOURCE_DIR}/msvc_recommended_pragmas.h DESTINATION include) include_directories(${CMAKE_BINARY_DIR}/config ${CMAKE_BINARY_DIR}/config/glib ${CMAKE_BINARY_DIR}/config/gio ${CMAKE_BINARY_DIR}/config/gmodule) include_directories(. glib) diff --git a/ports/glib/CONTROL b/ports/glib/CONTROL index c754e0785..cdf5441fe 100644 --- a/ports/glib/CONTROL +++ b/ports/glib/CONTROL @@ -1,5 +1,5 @@ Source: glib -Version: 2.52.3-14-4 +Version: 2.52.3-14-5 Homepage: https://developer.gnome.org/glib/ Description: Portable, general-purpose utility library. Build-Depends: zlib, pcre, libffi, gettext, libiconv diff --git a/ports/glib/portfile.cmake b/ports/glib/portfile.cmake index 41c3c5017..7823debc9 100644 --- a/ports/glib/portfile.cmake +++ b/ports/glib/portfile.cmake @@ -1,13 +1,9 @@ -include(vcpkg_common_functions) - # Glib uses winapi functions not available in WindowsStore -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore) - message(FATAL_ERROR "Error: UWP builds are currently not supported.") -endif() +vcpkg_fail_port_install(ON_TARGET "UWP") # Glib relies on DllMain on Windows -if (NOT VCPKG_CMAKE_SYSTEM_NAME) - vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY ONLY_DYNAMIC_CRT) +if (VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) endif() set(GLIB_VERSION 2.52.3) diff --git a/ports/glibmm/CONTROL b/ports/glibmm/CONTROL index 4baf236e8..941735feb 100644 --- a/ports/glibmm/CONTROL +++ b/ports/glibmm/CONTROL @@ -1,5 +1,5 @@ Source: glibmm -Version: 2.52.1-10 +Version: 2.52.1-11 Description: This is glibmm, a C++ API for parts of glib that are useful for C++. Homepage: https://www.gtkmm.org. -Build-Depends: zlib, pcre, libffi, gettext, libiconv, glib, libsigcpp +Build-Depends: zlib, pcre, libffi, gettext, libiconv, glib, libsigcpp
\ No newline at end of file diff --git a/ports/glibmm/fix-thread.h.patch b/ports/glibmm/fix-thread.h.patch new file mode 100644 index 000000000..8e7c01b6b --- /dev/null +++ b/ports/glibmm/fix-thread.h.patch @@ -0,0 +1,13 @@ +diff --git a/glib/glibmm/threads.h b/glib/glibmm/threads.h
+index 5350a99..cc48c01 100644
+--- a/glib/glibmm/threads.h
++++ b/glib/glibmm/threads.h
+@@ -657,7 +657,7 @@ public:
+ */
+ inline void replace(T* data);
+
+- GPrivate* gobj() { return gobject_; }
++ GPrivate* gobj() { return &gobject_; }
+
+ private:
+ GPrivate gobject_;
diff --git a/ports/glibmm/portfile.cmake b/ports/glibmm/portfile.cmake index 61e71a399..87551d23a 100644 --- a/ports/glibmm/portfile.cmake +++ b/ports/glibmm/portfile.cmake @@ -1,9 +1,5 @@ -include(vcpkg_common_functions) - # Glib uses winapi functions not available in WindowsStore -if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore) - message(FATAL_ERROR "Error: UWP builds are currently not supported.") -endif() +vcpkg_fail_port_install(ON_TARGET "UWP") vcpkg_download_distfile(ARCHIVE URLS "http://ftp.gnome.org/pub/GNOME/sources/glibmm/2.52/glibmm-2.52.1.tar.xz" @@ -17,6 +13,7 @@ vcpkg_extract_source_archive_ex( PATCHES glibmm-api-variant.patch fix-define-glibmmconfig.patch + fix-thread.h.patch ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) @@ -35,5 +32,5 @@ vcpkg_install_cmake() vcpkg_copy_pdbs() # Handle copyright and readme -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/glibmm RENAME copyright) -file(INSTALL ${SOURCE_PATH}/README DESTINATION ${CURRENT_PACKAGES_DIR}/share/glibmm RENAME readme.txt) +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL ${SOURCE_PATH}/README DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME readme.txt)
\ No newline at end of file diff --git a/ports/google-cloud-cpp-common/CONTROL b/ports/google-cloud-cpp-common/CONTROL index 945493770..99c7d288f 100644 --- a/ports/google-cloud-cpp-common/CONTROL +++ b/ports/google-cloud-cpp-common/CONTROL @@ -1,5 +1,9 @@ Source: google-cloud-cpp-common -Version: 0.15.0 +Version: 0.16.0-1 Build-Depends: grpc, googleapis Description: Base C++ Libraries for Google Cloud Platform APIs Homepage: https://github.com/googleapis/google-cloud-cpp-common + +Feature: test +Description: Build test +Build-Depends: gtest diff --git a/ports/google-cloud-cpp-common/portfile.cmake b/ports/google-cloud-cpp-common/portfile.cmake index c48f74b80..4da995958 100644 --- a/ports/google-cloud-cpp-common/portfile.cmake +++ b/ports/google-cloud-cpp-common/portfile.cmake @@ -5,15 +5,21 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO googleapis/google-cloud-cpp-common - REF v0.15.0 - SHA512 0a723f714f63fbaa1900e4725b051445de614ed8a4700a6ad27037f9b63e56a7e9c5b4490e42044f077496074a8e0c3e7971bbcd601527c9f9fa20f088a19fa3 + REF v0.16.0 + SHA512 2325e4aa28cd883091a562f3de0390bb0139446920183487ed2fbc1e404c90ec6f5e42d5b6f59e1de65be66b61954bc4f66b3f441ad6ec89cd4591ce8ea3321d HEAD_REF master) +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + test BUILD_TESTING +) + vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA DISABLE_PARALLEL_CONFIGURE OPTIONS - -DGOOGLE_CLOUD_CPP_ENABLE_MACOS_OPENSSL_CHECK=OFF - -DBUILD_TESTING=OFF - -DGOOGLE_CLOUD_CPP_TESTING_UTIL_ENABLE_INSTALL=OFF) + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + DISABLE_PARALLEL_CONFIGURE + OPTIONS + ${FEATURE_OPTIONS} + -DGOOGLE_CLOUD_CPP_ENABLE_MACOS_OPENSSL_CHECK=OFF) vcpkg_install_cmake(ADD_BIN_TO_PATH) diff --git a/ports/google-cloud-cpp-spanner/CONTROL b/ports/google-cloud-cpp-spanner/CONTROL new file mode 100644 index 000000000..40f35fbb8 --- /dev/null +++ b/ports/google-cloud-cpp-spanner/CONTROL @@ -0,0 +1,5 @@ +Source: google-cloud-cpp-spanner
+Version: 0.3.0
+Build-Depends: grpc, curl[ssl], crc32c, googleapis, google-cloud-cpp-common
+Description: C++ Client Library for Google Cloud Spanner.
+Homepage: https://github.com/googleapis/google-cloud-cpp-spanner
diff --git a/ports/google-cloud-cpp-spanner/portfile.cmake b/ports/google-cloud-cpp-spanner/portfile.cmake new file mode 100644 index 000000000..12f4e3ce8 --- /dev/null +++ b/ports/google-cloud-cpp-spanner/portfile.cmake @@ -0,0 +1,31 @@ +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO googleapis/google-cloud-cpp-spanner + REF v0.3.0 + SHA512 8148a78b83770d38d4ad9ce3c4e7229920b731c2150214bdd0e89a94d1d0d618322f36cb7e8cd0cb0281ee3dae328b87cac5ccd25cb36bef5762cc5c93921616 + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + DISABLE_PARALLEL_CONFIGURE + OPTIONS + -DGOOGLE_CLOUD_CPP_ENABLE_MACOS_OPENSSL_CHECK=OFF + -DBUILD_TESTING=OFF +) + +vcpkg_install_cmake(ADD_BIN_TO_PATH) + +file(REMOVE_RECURSE + ${CURRENT_PACKAGES_DIR}/debug/include + ${CURRENT_PACKAGES_DIR}/debug/share) +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake TARGET_PATH share) + +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/google-cloud-cpp-spanner RENAME copyright) + +vcpkg_copy_pdbs() diff --git a/ports/google-cloud-cpp/0001-fix-x86-build.patch b/ports/google-cloud-cpp/0001-fix-x86-build.patch new file mode 100644 index 000000000..ec3674cb7 --- /dev/null +++ b/ports/google-cloud-cpp/0001-fix-x86-build.patch @@ -0,0 +1,13 @@ +diff --git a/google/cloud/storage/parallel_upload.h b/google/cloud/storage/parallel_upload.h +index 44f542d..4fd97bd 100644 +--- a/google/cloud/storage/parallel_upload.h ++++ b/google/cloud/storage/parallel_upload.h +@@ -515,7 +515,7 @@ StatusOr<std::vector<ParallelUploadFileShard>> CreateUploadShards( + + std::size_t const wanted_num_streams = + (std::max<std::size_t>)(1, +- (std::min)(max_streams, ++ (std::min<std::size_t>)(max_streams, + div_ceil(file_size, min_stream_size))); + + std::uintmax_t const stream_size = diff --git a/ports/google-cloud-cpp/CONTROL b/ports/google-cloud-cpp/CONTROL index 2d17390ee..d34d68968 100644 --- a/ports/google-cloud-cpp/CONTROL +++ b/ports/google-cloud-cpp/CONTROL @@ -1,5 +1,5 @@ Source: google-cloud-cpp -Version: 0.14.0-1 -Build-Depends: grpc, curl[ssl], crc32c, googleapis +Version: 0.17.0 +Build-Depends: grpc, curl[ssl], crc32c, googleapis, google-cloud-cpp-common Description: C++ Client Libraries for Google Cloud Platform APIs. Homepage: https://github.com/googleapis/google-cloud-cpp diff --git a/ports/google-cloud-cpp/portfile.cmake b/ports/google-cloud-cpp/portfile.cmake index 9ff87e810..ff177b31c 100644 --- a/ports/google-cloud-cpp/portfile.cmake +++ b/ports/google-cloud-cpp/portfile.cmake @@ -5,9 +5,11 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO googleapis/google-cloud-cpp - REF v0.14.0 - SHA512 f858a448dba27d8f12604a0b1a48c91a660b00a0fb22a7a0f737d3d4a9aac42210dc5221b24d729d577fe4e7da43fd392f1c6fab3923ffe1aae7dca7fd8d6f0e + REF v0.17.0 + SHA512 7bfa73db04fe8ff9344201eca8f56107fd895f18b3be44fca45a9f2d64224338980d04841de4418c5c1b7a8ac0768a60e93e5abbed9256567ca7b8bc2bf73cd9 HEAD_REF master + PATCHES + 0001-fix-x86-build.patch ) vcpkg_configure_cmake( @@ -17,7 +19,7 @@ vcpkg_configure_cmake( OPTIONS -DGOOGLE_CLOUD_CPP_DEPENDENCY_PROVIDER=package -DGOOGLE_CLOUD_CPP_ENABLE_MACOS_OPENSSL_CHECK=OFF - -DBUILD_TESTING=OFF + -DBUILD_TESTING=OFF ) vcpkg_install_cmake(ADD_BIN_TO_PATH) diff --git a/ports/graphicsmagick/CMakeLists.txt b/ports/graphicsmagick/CMakeLists.txt index cf375e96d..15bc3cddc 100644 --- a/ports/graphicsmagick/CMakeLists.txt +++ b/ports/graphicsmagick/CMakeLists.txt @@ -111,7 +111,7 @@ add_library(graphicsmagick coders/art.c coders/avs.c Magick++/lib/Pixels.cpp Magick++/lib/STL.cpp Magick++/lib/Thread.cpp Magick++/lib/TypeMetric.cpp wand/drawing_wand.c wand/magick_compat.c wand/magick_wand.c wand/pixel_wand.c - jbig/libjbig/jbig.c jbig/libjbig/jbig_tab.c) + jbig/libjbig/jbig.c jbig/libjbig/jbig_ar.c jbig/libjbig/jbig85.c) TARGET_LINK_LIBRARIES(graphicsmagick PRIVATE ZLIB::ZLIB diff --git a/ports/graphicsmagick/CONTROL b/ports/graphicsmagick/CONTROL index 9f3d5b145..cd7d3b850 100644 --- a/ports/graphicsmagick/CONTROL +++ b/ports/graphicsmagick/CONTROL @@ -1,5 +1,5 @@ Source: graphicsmagick -Version: 1.3.33-1 +Version: 1.3.34 Build-Depends: zlib, bzip2, freetype, libjpeg-turbo, libpng, tiff Homepage: https://sourceforge.net/projects/graphicsmagick/ Description: Image processing library diff --git a/ports/graphicsmagick/disable_graphicsmagick_modules.patch b/ports/graphicsmagick/disable_graphicsmagick_modules.patch index bfb91d0fd..3ef174106 100644 --- a/ports/graphicsmagick/disable_graphicsmagick_modules.patch +++ b/ports/graphicsmagick/disable_graphicsmagick_modules.patch @@ -1,11 +1,16 @@ ---- a/magick/studio.h 2018-06-23 14:13:49.191541000 -0400 -+++ b/magick/studio.h 2018-09-02 11:50:41.856753700 -0400 -@@ -414,7 +414,7 @@ - #endif +--- a/magick/studio.h 2019-12-24 13:18:50.000000000 -0200 ++++ b/magick/studio.h 2020-01-08 20:43:08.325889700 -0200 +@@ -470,10 +470,10 @@ + */ - #if defined(HasLTDL) || ( defined(MSWINDOWS) && defined(_DLL) ) + #if defined(HasLTDL) -# define SupportMagickModules +//# define SupportMagickModules + #elif !defined(__MINGW32__) && !defined(__MINGW64__) + # if defined(MSWINDOWS) && defined(_DLL) +-# define SupportMagickModules ++//# define SupportMagickModules + # endif #endif - #if defined(_MAGICKMOD_) +
\ No newline at end of file diff --git a/ports/graphicsmagick/portfile.cmake b/ports/graphicsmagick/portfile.cmake index 5fc72b6ec..22b148827 100644 --- a/ports/graphicsmagick/portfile.cmake +++ b/ports/graphicsmagick/portfile.cmake @@ -1,11 +1,9 @@ -include(vcpkg_common_functions) - -set(GM_VERSION 1.3.33) +set(GM_VERSION 1.3.34) vcpkg_download_distfile(ARCHIVE URLS "https://sourceforge.net/projects/graphicsmagick/files/graphicsmagick/${GM_VERSION}/GraphicsMagick-${GM_VERSION}-windows-source.7z" FILENAME "GraphicsMagick-${GM_VERSION}-windows-source.7z" - SHA512 856fafe36693a7963f5944f489f4b7a0d15d9dcc575f96d31486e3abd886f681854cbb2271feb4b4cb19668480904d473138a2d9c2ec95539de705d75e2f49c9 + SHA512 bc770070d3e6b58ded1932050c1aa9f31edd89ac68e12055d7bb481ba9aa8e7509e69ad676a1624c262f9b55c0ceeea738b807005946ddd97b88d49b39b8a073 ) vcpkg_extract_source_archive_ex( @@ -38,18 +36,15 @@ vcpkg_install_cmake() vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-graphicsmagick TARGET_PATH share/unofficial-graphicsmagick) # copy license -file(COPY ${SOURCE_PATH}/Copyright.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/graphicsmagick) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/graphicsmagick/Copyright.txt ${CURRENT_PACKAGES_DIR}/share/graphicsmagick/copyright) +file(INSTALL ${SOURCE_PATH}/Copyright.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) # copy config -file(COPY ${SOURCE_PATH}/config/colors.mgk DESTINATION ${CURRENT_PACKAGES_DIR}/share/graphicsmagick/config) -file(COPY ${SOURCE_PATH}/config/log.mgk DESTINATION ${CURRENT_PACKAGES_DIR}/share/graphicsmagick/config) -file(COPY ${SOURCE_PATH}/config/modules.mgk DESTINATION ${CURRENT_PACKAGES_DIR}/share/graphicsmagick/config) +file(COPY ${SOURCE_PATH}/config/colors.mgk DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}/config) +file(COPY ${SOURCE_PATH}/config/log.mgk DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}/config) +file(COPY ${SOURCE_PATH}/config/modules.mgk DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}/config) file(READ ${SOURCE_PATH}/config/type-windows.mgk.in TYPE_MGK) string(REPLACE "@windows_font_dir@" "$ENV{SYSTEMROOT}/Fonts/" TYPE_MGK "${TYPE_MGK}") file(WRITE ${CURRENT_PACKAGES_DIR}/share/graphicsmagick/config/type.mgk "${TYPE_MGK}") vcpkg_copy_pdbs() - -vcpkg_test_cmake(PACKAGE_NAME unofficial-graphicsmagick) diff --git a/ports/grpc/00001-fix-uwp.patch b/ports/grpc/00001-fix-uwp.patch index 6b5d15490..08308f4ac 100644 --- a/ports/grpc/00001-fix-uwp.patch +++ b/ports/grpc/00001-fix-uwp.patch @@ -1,8 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 48a0261825..2ba7077c4b 100644 +index 3d4418a..a2f23d5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -92,6 +92,9 @@ if(UNIX) +@@ -104,6 +104,9 @@ if(UNIX) endif() if(WIN32) set(_gRPC_PLATFORM_WINDOWS ON) @@ -12,17 +12,17 @@ index 48a0261825..2ba7077c4b 100644 endif() set(CMAKE_POSITION_INDEPENDENT_CODE TRUE) -@@ -109,6 +112,9 @@ if (MSVC) - add_definitions(/wd4267) +@@ -119,6 +122,9 @@ if(MSVC) + set(_gRPC_C_CXX_FLAGS "${_gRPC_C_CXX_FLAGS} /wd4267") # TODO(jtattermusch): needed to build boringssl with VS2017, revisit later - add_definitions(/wd4987 /wd4774 /wd4819 /wd4996 /wd4619) + set(_gRPC_C_CXX_FLAGS "${_gRPC_C_CXX_FLAGS} /wd4987 /wd4774 /wd4819 /wd4996 /wd4619") + if(_gRPC_PLATFORM_UWP) + add_definitions(-DGRPC_ARES=0) + endif() endif() - - if (gRPC_USE_PROTO_LITE) -@@ -179,6 +185,10 @@ file(MAKE_DIRECTORY ${_gRPC_PROTO_GENS_DIR}) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${_gRPC_C_CXX_FLAGS}") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${_gRPC_C_CXX_FLAGS}") +@@ -186,6 +192,10 @@ file(MAKE_DIRECTORY ${_gRPC_PROTO_GENS_DIR}) # ``.proto`` files # function(protobuf_generate_grpc_cpp) @@ -33,77 +33,27 @@ index 48a0261825..2ba7077c4b 100644 if(NOT ARGN) message(SEND_ERROR "Error: PROTOBUF_GENERATE_GRPC_CPP() called without any proto files") return() -@@ -220,6 +230,7 @@ function(protobuf_generate_grpc_cpp) - endforeach() - endfunction() +@@ -258,6 +268,7 @@ if (gRPC_BUILD_GRPC_RUBY_PLUGIN) + list(APPEND _gRPC_PLUGIN_LIST grpc_ruby_plugin) + endif () +if(NOT _gRPC_PLATFORM_UWP) add_custom_target(plugins - DEPENDS - grpc_cpp_plugin -@@ -249,6 +260,8 @@ add_custom_target(tools_cxx + DEPENDS ${_gRPC_PLUGIN_LIST} + ) +@@ -279,6 +290,7 @@ add_custom_target(tools_cxx + add_custom_target(tools DEPENDS tools_c tools_cxx) - +endif() -+ - if (gRPC_BUILD_TESTS) - add_custom_target(buildtests_c) - add_dependencies(buildtests_c algorithm_test) -@@ -3532,7 +3545,6 @@ foreach(_hdr - DESTINATION "${gRPC_INSTALL_INCLUDEDIR}/${_path}" - ) - endforeach() --endif (gRPC_BUILD_CODEGEN) - - if (gRPC_BUILD_CODEGEN) - -@@ -3543,6 +3555,7 @@ if (gRPC_INSTALL) - ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR} - ) - endif() -+endif (gRPC_BUILD_CODEGEN) - - endif (gRPC_BUILD_CODEGEN) - if (gRPC_BUILD_TESTS) -@@ -3666,7 +3679,6 @@ foreach(_hdr - DESTINATION "${gRPC_INSTALL_INCLUDEDIR}/${_path}" - ) - endforeach() --endif (gRPC_BUILD_CODEGEN) - - if (gRPC_BUILD_CODEGEN) - -@@ -3677,6 +3689,7 @@ if (gRPC_INSTALL) - ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR} - ) - endif() -+endif (gRPC_BUILD_CODEGEN) - - endif (gRPC_BUILD_CODEGEN) - if (gRPC_BUILD_TESTS) -@@ -4729,7 +4742,7 @@ foreach(_hdr - DESTINATION "${gRPC_INSTALL_INCLUDEDIR}/${_path}" - ) - endforeach() --endif (gRPC_BUILD_CODEGEN) -+ - - if (gRPC_BUILD_CODEGEN) - -@@ -4740,6 +4753,7 @@ if (gRPC_INSTALL) - ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR} - ) - endif() -+endif (gRPC_BUILD_CODEGEN) - endif (gRPC_BUILD_CODEGEN) - if (gRPC_BUILD_TESTS) + protobuf_generate_grpc_cpp( + src/proto/grpc/channelz/channelz.proto diff --git a/src/core/lib/iomgr/resource_quota.cc b/src/core/lib/iomgr/resource_quota.cc -index dffac348c5..a59becb046 100644 +index 0fc0279..aaf2b09 100644 --- a/src/core/lib/iomgr/resource_quota.cc +++ b/src/core/lib/iomgr/resource_quota.cc -@@ -940,7 +940,7 @@ void grpc_resource_user_alloc(grpc_resource_user* resource_user, size_t size, +@@ -945,7 +945,7 @@ bool grpc_resource_user_alloc(grpc_resource_user* resource_user, size_t size, void grpc_resource_user_free(grpc_resource_user* resource_user, size_t size) { gpr_mu_lock(&resource_user->mu); grpc_resource_quota* resource_quota = resource_user->resource_quota; @@ -113,36 +63,24 @@ index dffac348c5..a59becb046 100644 bool was_zero_or_negative = resource_user->free_pool <= 0; resource_user->free_pool += static_cast<int64_t>(size); 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 55efe0e9dd..f538f26edf 100644 +index 59432cf..fed574d 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) { - - static void init_mu(void) { gpr_mu_init(&g_mu); } - +@@ -39,6 +39,7 @@ bool check_bios_data(const char*) { return false; } + bool check_windows_registry_product_name(HKEY root_key, + const char* reg_key_path, + const char* reg_key_name) { +#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 + const size_t kProductNameBufferSize = 256; + char const expected_substr[] = "Google"; - 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; +@@ -71,6 +72,9 @@ bool check_windows_registry_product_name(HKEY root_key, } - gpr_mu_unlock(&g_mu); + + return strstr(buffer, expected_substr) != nullptr; ++#else ++ return false; +#endif - return g_is_on_compute_engine; } + } // namespace internal diff --git a/ports/grpc/00002-static-linking-in-linux.patch b/ports/grpc/00002-static-linking-in-linux.patch index e8005edaa..7946f21a3 100644 --- a/ports/grpc/00002-static-linking-in-linux.patch +++ b/ports/grpc/00002-static-linking-in-linux.patch @@ -1,16 +1,16 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 3839e22..91720a9 100644
+index a2f23d5..e433e8d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -99,6 +99,11 @@ set(CMAKE_POSITION_INDEPENDENT_CODE TRUE)
+@@ -111,6 +111,11 @@ endif()
- add_definitions(-DPB_FIELD_32BIT)
+ set(CMAKE_POSITION_INDEPENDENT_CODE TRUE)
+if (gRPC_STATIC_LINKING AND NOT _gRPC_PLATFORM_WINDOWS)
+ # Force to static link
+ set(CMAKE_EXE_LINKER_FLAGS "-Bstatic")
+endif()
+
- if (MSVC)
+ if(MSVC)
include(cmake/msvc_static_runtime.cmake)
add_definitions(-D_WIN32_WINNT=0x600 -D_SCL_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_WARNINGS -D_WINSOCK_DEPRECATED_NO_WARNINGS)
diff --git a/ports/grpc/00003-undef-base64-macro.patch b/ports/grpc/00003-undef-base64-macro.patch index 193b1fd38..b7e74014b 100644 --- a/ports/grpc/00003-undef-base64-macro.patch +++ b/ports/grpc/00003-undef-base64-macro.patch @@ -1,8 +1,8 @@ diff --git a/src/core/lib/transport/transport.cc b/src/core/lib/transport/transport.cc
-index 29c1e56..29de9d8 100644
+index 6adcd8d..20745df 100644
--- a/src/core/lib/transport/transport.cc
+++ b/src/core/lib/transport/transport.cc
-@@ -96,6 +96,8 @@ void grpc_stream_ref_init(grpc_stream_refcount* refcount, int initial_refs,
+@@ -97,6 +97,8 @@ void grpc_stream_ref_init(grpc_stream_refcount* refcount, int /*initial_refs*/,
refcount, &refcount->slice_refcount);
}
diff --git a/ports/grpc/00004-link-gdi32-on-windows.patch b/ports/grpc/00004-link-gdi32-on-windows.patch index 8aede4656..c644e9b6d 100644 --- a/ports/grpc/00004-link-gdi32-on-windows.patch +++ b/ports/grpc/00004-link-gdi32-on-windows.patch @@ -1,8 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index e820737201..3eb4795660 100644 +index f6c4a340fc..22054eedd0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -158,7 +158,7 @@ elseif(UNIX) +@@ -164,7 +164,7 @@ elseif(UNIX) endif() if(WIN32 AND MSVC) diff --git a/ports/grpc/00005-fix-uwp-error.patch b/ports/grpc/00005-fix-uwp-error.patch index d23036367..8fe3e3d9b 100644 --- a/ports/grpc/00005-fix-uwp-error.patch +++ b/ports/grpc/00005-fix-uwp-error.patch @@ -1,8 +1,8 @@ diff --git a/src/core/lib/slice/slice.cc b/src/core/lib/slice/slice.cc
-index eebf66b..6c6ee50 100644
+index c0e2164..331e54c 100644
--- a/src/core/lib/slice/slice.cc
+++ b/src/core/lib/slice/slice.cc
-@@ -220,6 +220,7 @@ grpc_slice grpc_slice_from_moved_buffer(grpc_core::UniquePtr<char> p,
+@@ -214,6 +214,7 @@ grpc_slice grpc_slice_from_moved_buffer(grpc_core::UniquePtr<char> p,
size_t len) {
uint8_t* ptr = reinterpret_cast<uint8_t*>(p.get());
grpc_slice slice;
diff --git a/ports/grpc/00006-crypt32.patch b/ports/grpc/00006-crypt32.patch index 312e70ef3..44bcaaf99 100644 --- a/ports/grpc/00006-crypt32.patch +++ b/ports/grpc/00006-crypt32.patch @@ -1,8 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt
-index b3ca615..21b5aaf 100644
+index 22054eedd0..a7fdb1fcd5 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -171,7 +171,7 @@ elseif(UNIX)
+@@ -164,7 +164,7 @@ elseif(UNIX)
endif()
if(WIN32 AND MSVC)
diff --git a/ports/grpc/00007-disable_grpcpp_channelz.patch b/ports/grpc/00007-disable_grpcpp_channelz.patch deleted file mode 100644 index 336077290..000000000 --- a/ports/grpc/00007-disable_grpcpp_channelz.patch +++ /dev/null @@ -1,34 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 1961995..d721654 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -4692,7 +4692,7 @@ if (gRPC_INSTALL)
- endif()
-
-
--if (gRPC_BUILD_CODEGEN)
-+if (gRPC_BUILD_CODEGEN AND NOT gRPC_USE_PROTO_LITE)
- add_library(grpcpp_channelz
- src/cpp/server/channelz/channelz_service.cc
- src/cpp/server/channelz/channelz_service_plugin.cc
-@@ -4749,7 +4749,7 @@ foreach(_hdr
- endforeach()
-
-
--if (gRPC_BUILD_CODEGEN)
-+if (gRPC_BUILD_CODEGEN AND NOT gRPC_USE_PROTO_LITE)
-
- if (gRPC_INSTALL)
- install(TARGETS grpcpp_channelz EXPORT gRPCTargets
-@@ -4758,9 +4758,9 @@ if (gRPC_INSTALL)
- ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR}
- )
- endif()
--endif (gRPC_BUILD_CODEGEN)
-+endif (gRPC_BUILD_CODEGEN AND NOT gRPC_USE_PROTO_LITE)
-
--endif (gRPC_BUILD_CODEGEN)
-+endif (gRPC_BUILD_CODEGEN AND NOT gRPC_USE_PROTO_LITE)
- if (gRPC_BUILD_TESTS)
-
- if (gRPC_BUILD_CODEGEN)
diff --git a/ports/grpc/00008-fix-duplicate-gettid.patch b/ports/grpc/00008-fix-duplicate-gettid.patch deleted file mode 100644 index f093eb432..000000000 --- a/ports/grpc/00008-fix-duplicate-gettid.patch +++ /dev/null @@ -1,66 +0,0 @@ -diff --git a/src/core/lib/gpr/log_linux.cc b/src/core/lib/gpr/log_linux.cc -index 561276f..1fef59b 100644 ---- a/src/core/lib/gpr/log_linux.cc -+++ b/src/core/lib/gpr/log_linux.cc -@@ -40,7 +40,7 @@ - #include <time.h> - #include <unistd.h> - --static long gettid(void) { return syscall(__NR_gettid); } -+static long _intl_gettid(void) { return syscall(__NR_gettid); } - - void gpr_log(const char* file, int line, gpr_log_severity severity, - const char* format, ...) { -@@ -70,7 +70,7 @@ void gpr_default_log(gpr_log_func_args* args) { - gpr_timespec now = gpr_now(GPR_CLOCK_REALTIME); - struct tm tm; - static __thread long tid = 0; -- if (tid == 0) tid = gettid(); -+ if (tid == 0) tid = _intl_gettid(); - - timer = static_cast<time_t>(now.tv_sec); - final_slash = strrchr(args->file, '/'); -diff --git a/src/core/lib/gpr/log_posix.cc b/src/core/lib/gpr/log_posix.cc -index b6edc14..4bd42fd 100644 ---- a/src/core/lib/gpr/log_posix.cc -+++ b/src/core/lib/gpr/log_posix.cc -@@ -31,7 +31,7 @@ - #include <string.h> - #include <time.h> - --static intptr_t gettid(void) { return (intptr_t)pthread_self(); } -+static intptr_t _intl_gettid(void) { return (intptr_t)pthread_self(); } - - void gpr_log(const char* file, int line, gpr_log_severity severity, - const char* format, ...) { -@@ -86,7 +86,7 @@ void gpr_default_log(gpr_log_func_args* args) { - char* prefix; - gpr_asprintf(&prefix, "%s%s.%09d %7" PRIdPTR " %s:%d]", - gpr_log_severity_string(args->severity), time_buffer, -- (int)(now.tv_nsec), gettid(), display_file, args->line); -+ (int)(now.tv_nsec), _intl_gettid(), display_file, args->line); - - fprintf(stderr, "%-70s %s\n", prefix, args->message); - gpr_free(prefix); -diff --git a/src/core/lib/iomgr/ev_epollex_linux.cc b/src/core/lib/iomgr/ev_epollex_linux.cc -index 08116b3..d48fd8d 100644 ---- a/src/core/lib/iomgr/ev_epollex_linux.cc -+++ b/src/core/lib/iomgr/ev_epollex_linux.cc -@@ -1102,7 +1102,7 @@ static void end_worker(grpc_pollset* pollset, grpc_pollset_worker* worker, - } - - #ifndef NDEBUG --static long gettid(void) { return syscall(__NR_gettid); } -+static long _intl_gettid(void) { return syscall(__NR_gettid); } - #endif - - /* pollset->mu lock must be held by the caller before calling this. -@@ -1122,7 +1122,7 @@ static grpc_error* pollset_work(grpc_pollset* pollset, - #define WORKER_PTR (&worker) - #endif - #ifndef NDEBUG -- WORKER_PTR->originator = gettid(); -+ WORKER_PTR->originator = _intl_gettid(); - #endif - if (GRPC_TRACE_FLAG_ENABLED(grpc_polling_trace)) { - gpr_log(GPR_INFO, diff --git a/ports/grpc/00008-uwp_upb_disable_C4146_error.patch b/ports/grpc/00008-uwp_upb_disable_C4146_error.patch new file mode 100644 index 000000000..e2259e294 --- /dev/null +++ b/ports/grpc/00008-uwp_upb_disable_C4146_error.patch @@ -0,0 +1,31 @@ +diff --git a/third_party/upb/upb/msg.c b/third_party/upb/upb/msg.c +index a77da5665c..399e8753ba 100644 +--- a/third_party/upb/upb/msg.c ++++ b/third_party/upb/upb/msg.c +@@ -33,17 +33,26 @@ static size_t upb_msg_sizeof(const upb_msglayout *l) { + } + + static upb_msg_internal *upb_msg_getinternal(upb_msg *msg) { ++#pragma warning(push) ++#pragma warning(disable : 4146) + return VOIDPTR_AT(msg, -sizeof(upb_msg_internal)); ++#pragma warning(pop) + } + + static const upb_msg_internal *upb_msg_getinternal_const(const upb_msg *msg) { ++#pragma warning(push) ++#pragma warning(disable : 4146) + return VOIDPTR_AT(msg, -sizeof(upb_msg_internal)); ++#pragma warning(pop) + } + + static upb_msg_internal_withext *upb_msg_getinternalwithext( + upb_msg *msg, const upb_msglayout *l) { + UPB_ASSERT(l->extendable); ++#pragma warning(push) ++#pragma warning(disable : 4146) + return VOIDPTR_AT(msg, -sizeof(upb_msg_internal_withext)); ++#pragma warning(pop) + } + + upb_msg *upb_msg_new(const upb_msglayout *l, upb_arena *a) { diff --git a/ports/grpc/CONTROL b/ports/grpc/CONTROL index 09177e35d..4f5652a8b 100644 --- a/ports/grpc/CONTROL +++ b/ports/grpc/CONTROL @@ -1,5 +1,5 @@ Source: grpc -Version: 1.23.1-1 +Version: 1.26.0 Build-Depends: zlib, openssl, protobuf, c-ares (!uwp) Homepage: https://github.com/grpc/grpc Description: An RPC library and framework diff --git a/ports/grpc/portfile.cmake b/ports/grpc/portfile.cmake index c7a5fbe7d..9e925898c 100644 --- a/ports/grpc/portfile.cmake +++ b/ports/grpc/portfile.cmake @@ -13,8 +13,8 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO grpc/grpc - REF v1.23.1 - SHA512 c39a07554645402c36cb79eddfda7165dc26ce5f7f09cae7ee6f7bedcc2aca8873117ea401d40ce2e3246e3e5888bcce12d4746cba7ed75068ff145046754981 + REF v1.26.0 + SHA512 4f7d067c582d0a9be7b7d4dd1e08acdbe6ff0686dfe92b5db5b7927f779410a4237acfd1c61d9f79eb2d00f86cf93cc7492fa372c1877e57c1aa23e9bb2648bb HEAD_REF master PATCHES 00001-fix-uwp.patch @@ -23,8 +23,7 @@ vcpkg_from_github( 00004-link-gdi32-on-windows.patch 00005-fix-uwp-error.patch 00006-crypt32.patch - 00007-disable_grpcpp_channelz.patch - 00008-fix-duplicate-gettid.patch + 00008-uwp_upb_disable_C4146_error.patch ) if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") diff --git a/ports/gsl/CONTROL b/ports/gsl/CONTROL index 12b96a5a2..0ec3fc2e9 100644 --- a/ports/gsl/CONTROL +++ b/ports/gsl/CONTROL @@ -1,4 +1,4 @@ Source: gsl -Version: 2.4-4 +Version: 2.4-5 Homepage: https://www.gnu.org/software/gsl/ Description: The GNU Scientific Library is a numerical library for C and C++ programmers diff --git a/ports/gsl/portfile.cmake b/ports/gsl/portfile.cmake index 161b2defa..8e692e70f 100644 --- a/ports/gsl/portfile.cmake +++ b/ports/gsl/portfile.cmake @@ -1,8 +1,7 @@ -include(vcpkg_common_functions) set(GSL_VERSION 2.4) vcpkg_download_distfile(ARCHIVE - URLS "ftp://ftp.gnu.org/gnu/gsl/gsl-${GSL_VERSION}.tar.gz" + URLS "https://ftp.gnu.org/gnu/gsl/gsl-${GSL_VERSION}.tar.gz" "https://www.mirrorservice.org/sites/ftp.gnu.org/gnu/gsl/gsl-${GSL_VERSION}.tar.gz" FILENAME "gsl-${GSL_VERSION}.tar.gz" SHA512 12442b023dd959e8b22a9c486646b5cedec7fdba0daf2604cda365cf96d10d99aefdec2b42e59c536cc071da1525373454e5ed6f4b15293b305ca9b1dc6db130 ) diff --git a/ports/hdf5/CONTROL b/ports/hdf5/CONTROL index 542062c50..a8d27e029 100644 --- a/ports/hdf5/CONTROL +++ b/ports/hdf5/CONTROL @@ -1,8 +1,8 @@ Source: hdf5 -Version: 1.10.5-8 +Version: 1.10.5-9 Homepage: https://www.hdfgroup.org/downloads/hdf5/ Description: HDF5 is a data model, library, and file format for storing and managing data -Build-Depends: zlib, szip +Default-Features: szip, zlib Feature: parallel Description: parallel support for HDF5 @@ -10,3 +10,11 @@ Build-Depends: mpi Feature: cpp Description: Builds cpp lib + +Feature: szip +Description: Build with szip +Build-Depends: szip + +Feature: zlib +Description: Build with zlib +Build-Depends: zlib diff --git a/ports/hdf5/fix-generate.patch b/ports/hdf5/fix-generate.patch new file mode 100644 index 000000000..9696f6a0d --- /dev/null +++ b/ports/hdf5/fix-generate.patch @@ -0,0 +1,1749 @@ +diff --git a/hdf5-1.10.5/CMakeFilters.cmake b/hdf5-1.10.5/CMakeFilters.cmake
+index 5a89564..3b636b9 100644
+--- a/hdf5-1.10.5/CMakeFilters.cmake
++++ b/hdf5-1.10.5/CMakeFilters.cmake
+@@ -51,8 +51,9 @@ if (HDF5_ENABLE_Z_LIB_SUPPORT)
+ if (NOT ZLIB_USE_EXTERNAL)
+ find_package (ZLIB NAMES ${ZLIB_PACKAGE_NAME}${HDF_PACKAGE_EXT} COMPONENTS static shared)
+ if (NOT ZLIB_FOUND)
+- find_package (ZLIB) # Legacy find
++ find_package (ZLIB REQUIRED) # Legacy find
+ if (ZLIB_FOUND)
++ set (ZLIB_LIBRARIES ZLIB::ZLIB)
+ set (LINK_COMP_LIBS ${LINK_COMP_LIBS} ${ZLIB_LIBRARIES})
+ set (LINK_COMP_SHARED_LIBS ${LINK_COMP_SHARED_LIBS} ${ZLIB_LIBRARIES})
+ endif ()
+@@ -86,9 +87,10 @@ if (HDF5_ENABLE_Z_LIB_SUPPORT)
+ set (EXTERNAL_FILTERS "${EXTERNAL_FILTERS} DEFLATE")
+ endif ()
+ if (BUILD_SHARED_LIBS)
+- set (LINK_COMP_SHARED_LIBS ${LINK_COMP_SHARED_LIBS} ${ZLIB_SHARED_LIBRARY})
+- endif ()
+- set (LINK_COMP_LIBS ${LINK_COMP_LIBS} ${ZLIB_STATIC_LIBRARY})
++ set (LINK_COMP_SHARED_LIBS ${LINK_COMP_SHARED_LIBS} ${ZLIB_LIBRARIES})
++ else ()
++ set (LINK_COMP_LIBS ${LINK_COMP_LIBS} ${ZLIB_LIBRARIES})
++ endif()
+ INCLUDE_DIRECTORIES (${ZLIB_INCLUDE_DIRS})
+ message (STATUS "Filter ZLIB is ON")
+ endif ()
+@@ -100,7 +102,17 @@ option (HDF5_ENABLE_SZIP_SUPPORT "Use SZip Filter" OFF)
+ if (HDF5_ENABLE_SZIP_SUPPORT)
+ option (HDF5_ENABLE_SZIP_ENCODING "Use SZip Encoding" OFF)
+ if (NOT SZIP_USE_EXTERNAL)
+- find_package (SZIP NAMES ${SZIP_PACKAGE_NAME}${HDF_PACKAGE_EXT} COMPONENTS static shared)
++ find_package (szip CONFIG REQUIRED)
++ set(SZIP_FOUND ${szip_FOUND})
++ if (TARGET szip-shared)
++ set(SZIP_LIBRARIES szip-shared)
++ set (LINK_COMP_LIBS ${LINK_COMP_LIBS} ${SZIP_LIBRARIES})
++ elseif (TARGET szip-static)
++ set(SZIP_LIBRARIES szip-static)
++ set (LINK_COMP_SHARED_LIBS ${LINK_COMP_SHARED_LIBS} ${SZIP_LIBRARIES})
++ else()
++ message(FATAL_ERROR "Could not found szip target!")
++ endif()
+ if (NOT SZIP_FOUND)
+ find_package (SZIP) # Legacy find
+ if (SZIP_FOUND)
+@@ -128,8 +140,9 @@ if (HDF5_ENABLE_SZIP_SUPPORT)
+ endif ()
+ if (BUILD_SHARED_LIBS)
+ set (LINK_COMP_SHARED_LIBS ${LINK_COMP_SHARED_LIBS} ${SZIP_SHARED_LIBRARY})
+- endif ()
++ else ()
+ set (LINK_COMP_LIBS ${LINK_COMP_LIBS} ${SZIP_STATIC_LIBRARY})
++ endif()
+ INCLUDE_DIRECTORIES (${SZIP_INCLUDE_DIRS})
+ message (STATUS "Filter SZIP is ON")
+ if (H5_HAVE_FILTER_SZIP)
+diff --git a/hdf5-1.10.5/CMakeLists.txt b/hdf5-1.10.5/CMakeLists.txt
+index 8e93231..a1fed03 100644
+--- a/hdf5-1.10.5/CMakeLists.txt
++++ b/hdf5-1.10.5/CMakeLists.txt
+@@ -424,10 +424,12 @@ endif ()
+ #-----------------------------------------------------------------------------
+ option (BUILD_SHARED_LIBS "Build Shared Libraries" ON)
+ set (H5_ENABLE_SHARED_LIB NO)
++set (H5_ENABLE_STATIC_LIB NO)
+ if (BUILD_SHARED_LIBS)
+ set (H5_ENABLE_SHARED_LIB YES)
+-endif ()
++else()
+ set (H5_ENABLE_STATIC_LIB YES)
++endif()
+ set (CMAKE_POSITION_INDEPENDENT_CODE ON)
+
+ #-----------------------------------------------------------------------------
+@@ -725,14 +727,16 @@ add_subdirectory (src)
+
+ if (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "GIT" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
+ if (ZLIB_FOUND AND ZLIB_USE_EXTERNAL)
++ if (NOT BUILD_SHARED_LIBS)
+ add_dependencies (${HDF5_LIB_TARGET} ZLIB)
+- if (BUILD_SHARED_LIBS)
++ else()
+ add_dependencies (${HDF5_LIBSH_TARGET} ZLIB)
+ endif ()
+ endif ()
+ if (SZIP_FOUND AND SZIP_USE_EXTERNAL)
++ if (NOT BUILD_SHARED_LIBS)
+ add_dependencies (${HDF5_LIB_TARGET} SZIP)
+- if (BUILD_SHARED_LIBS)
++ else()
+ add_dependencies (${HDF5_LIBSH_TARGET} SZIP)
+ endif ()
+ endif ()
+diff --git a/hdf5-1.10.5/c++/src/CMakeLists.txt b/hdf5-1.10.5/c++/src/CMakeLists.txt
+index 945b352..8741e61 100644
+--- a/hdf5-1.10.5/c++/src/CMakeLists.txt
++++ b/hdf5-1.10.5/c++/src/CMakeLists.txt
+@@ -84,6 +84,7 @@ set (CPP_HDRS
+ ${HDF5_CPP_SRC_SOURCE_DIR}/H5VarLenType.h
+ )
+
++if (NOT BUILD_SHARED_LIBS)
+ add_library (${HDF5_CPP_LIB_TARGET} STATIC ${CPP_SOURCES} ${CPP_HDRS})
+ target_include_directories(${HDF5_CPP_LIB_TARGET}
+ PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>"
+@@ -99,7 +100,7 @@ H5_SET_LIB_OPTIONS (${HDF5_CPP_LIB_TARGET} ${HDF5_CPP_LIB_NAME} STATIC 0)
+ set_target_properties (${HDF5_CPP_LIB_TARGET} PROPERTIES FOLDER libraries/cpp)
+ set (install_targets ${HDF5_CPP_LIB_TARGET})
+
+-if (BUILD_SHARED_LIBS)
++else()
+ add_library (${HDF5_CPP_LIBSH_TARGET} SHARED ${CPP_SOURCES} ${CPP_HDRS})
+ target_include_directories(${HDF5_CPP_LIBSH_TARGET}
+ PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>"
+@@ -135,9 +136,10 @@ install (
+ if (HDF5_EXPORTED_TARGETS)
+ if (BUILD_SHARED_LIBS)
+ INSTALL_TARGET_PDB (${HDF5_CPP_LIBSH_TARGET} ${HDF5_INSTALL_BIN_DIR} cpplibraries)
+- endif ()
++ else ()
+ INSTALL_TARGET_PDB (${HDF5_CPP_LIB_TARGET} ${HDF5_INSTALL_BIN_DIR} cpplibraries)
+-
++ endif()
++
+ install (
+ TARGETS
+ ${install_targets}
+@@ -163,8 +165,9 @@ set (_PKG_CONFIG_VERSION "${HDF5_PACKAGE_VERSION}")
+
+ set (_PKG_CONFIG_LIBS_PRIVATE)
+
++if (NOT BUILD_SHARED_LIBS)
+ set (_PKG_CONFIG_LIBS "${_PKG_CONFIG_LIBS} -l${HDF5_CPP_LIB_CORENAME}")
+-if (BUILD_SHARED_LIBS)
++else()
+ set (_PKG_CONFIG_SH_LIBS "${_PKG_CONFIG_SH_LIBS} -l${HDF5_CPP_LIB_CORENAME}")
+ endif ()
+
+diff --git a/hdf5-1.10.5/config/cmake_ext_mod/HDFLibMacros.cmake b/hdf5-1.10.5/config/cmake_ext_mod/HDFLibMacros.cmake
+index 2eda66c..e143672 100644
+--- a/hdf5-1.10.5/config/cmake_ext_mod/HDFLibMacros.cmake
++++ b/hdf5-1.10.5/config/cmake_ext_mod/HDFLibMacros.cmake
+@@ -73,12 +73,13 @@ macro (EXTERNAL_JPEG_LIBRARY compress_type jpeg_pic)
+
+ ##include (${BINARY_DIR}/${JPEG_PACKAGE_NAME}${HDF_PACKAGE_EXT}-targets.cmake)
+ # Create imported target jpeg-static
++ if (NOT BUILD_SHARED_LIBS)
+ add_library(jpeg-static STATIC IMPORTED)
+ HDF_IMPORT_SET_LIB_OPTIONS (jpeg-static "jpeg" STATIC "")
+ add_dependencies (jpeg-static JPEG)
+ set (JPEG_STATIC_LIBRARY "jpeg-static")
+ set (JPEG_LIBRARIES ${JPEG_STATIC_LIBRARY})
+- if (BUILD_SHARED_LIBS)
++ else()
+ # Create imported target jpeg-shared
+ add_library(jpeg-shared SHARED IMPORTED)
+ HDF_IMPORT_SET_LIB_OPTIONS (jpeg-shared "jpeg" SHARED "")
+@@ -169,12 +170,13 @@ macro (EXTERNAL_SZIP_LIBRARY compress_type encoding)
+
+ ##include (${BINARY_DIR}/${SZIP_PACKAGE_NAME}${HDF_PACKAGE_EXT}-targets.cmake)
+ # Create imported target szip-static
++ if (NOT BUILD_SHARED_LIBS)
+ add_library(szip-static STATIC IMPORTED)
+ HDF_IMPORT_SET_LIB_OPTIONS (szip-static "szip" STATIC "")
+ add_dependencies (szip-static SZIP)
+ set (SZIP_STATIC_LIBRARY "szip-static")
+ set (SZIP_LIBRARIES ${SZIP_STATIC_LIBRARY})
+- if (BUILD_SHARED_LIBS)
++ else()
+ # Create imported target szip-shared
+ add_library(szip-shared SHARED IMPORTED)
+ HDF_IMPORT_SET_LIB_OPTIONS (szip-shared "szip" SHARED "")
+@@ -267,12 +269,13 @@ macro (EXTERNAL_ZLIB_LIBRARY compress_type)
+ endif ()
+ ##include (${BINARY_DIR}/${ZLIB_PACKAGE_NAME}${HDF_PACKAGE_EXT}-targets.cmake)
+ # Create imported target zlib-static
++ if (NOT BUILD_SHARED_LIBS)
+ add_library(zlib-static STATIC IMPORTED)
+ HDF_IMPORT_SET_LIB_OPTIONS (zlib-static ${ZLIB_LIB_NAME} STATIC "")
+ add_dependencies (zlib-static ZLIB)
+ set (ZLIB_STATIC_LIBRARY "zlib-static")
+ set (ZLIB_LIBRARIES ${ZLIB_STATIC_LIBRARY})
+- if (BUILD_SHARED_LIBS)
++ else()
+ # Create imported target zlib-shared
+ add_library(zlib-shared SHARED IMPORTED)
+ HDF_IMPORT_SET_LIB_OPTIONS (zlib-shared ${ZLIB_LIB_NAME} SHARED "")
+diff --git a/hdf5-1.10.5/config/cmake_ext_mod/HDFMacros.cmake b/hdf5-1.10.5/config/cmake_ext_mod/HDFMacros.cmake
+index 2f4ce52..277a373 100644
+--- a/hdf5-1.10.5/config/cmake_ext_mod/HDFMacros.cmake
++++ b/hdf5-1.10.5/config/cmake_ext_mod/HDFMacros.cmake
+@@ -295,7 +295,7 @@ macro (HDF_README_PROPERTIES target_fortran)
+ endif ()
+
+ if (BUILD_SHARED_LIBS)
+- set (LIB_TYPE "Static and Shared")
++ set (LIB_TYPE "Shared")
+ else ()
+ set (LIB_TYPE "Static")
+ endif ()
+diff --git a/hdf5-1.10.5/examples/CMakeLists.txt b/hdf5-1.10.5/examples/CMakeLists.txt
+index 2239d64..d853cdb 100644
+--- a/hdf5-1.10.5/examples/CMakeLists.txt
++++ b/hdf5-1.10.5/examples/CMakeLists.txt
+@@ -40,12 +40,13 @@ set (examples
+ )
+
+ foreach (example ${examples})
++ if (NOT BUILD_SHARED_LIBS)
+ add_executable (${example} ${HDF5_EXAMPLES_SOURCE_DIR}/${example}.c)
+ target_include_directories(${example} PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
+ TARGET_C_PROPERTIES (${example} STATIC)
+ target_link_libraries (${example} PRIVATE ${HDF5_LIB_TARGET})
+ set_target_properties (${example} PROPERTIES FOLDER examples)
+- if (BUILD_SHARED_LIBS)
++ else()
+ add_executable (${example}-shared ${HDF5_EXAMPLES_SOURCE_DIR}/${example}.c)
+ target_include_directories(${example}-shared PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
+ TARGET_C_PROPERTIES (${example}-shared SHARED)
+@@ -55,12 +56,13 @@ foreach (example ${examples})
+ endforeach ()
+
+ if (H5_HAVE_PARALLEL)
++ if (NOT BUILD_SHARED_LIBS)
+ add_executable (ph5example ${HDF5_EXAMPLES_SOURCE_DIR}/ph5example.c)
+ target_include_directories(ph5example PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
+ TARGET_C_PROPERTIES (ph5example STATIC)
+ target_link_libraries (ph5example PRIVATE ${HDF5_LIB_TARGET} ${MPI_C_LIBRARIES})
+ set_target_properties (ph5example PROPERTIES FOLDER examples)
+- if (BUILD_SHARED_LIBS)
++ else()
+ add_executable (ph5example-shared ${HDF5_EXAMPLES_SOURCE_DIR}/ph5example.c)
+ target_include_directories(ph5example-shared PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
+ TARGET_C_PROPERTIES (ph5example-shared SHARED)
+diff --git a/hdf5-1.10.5/examples/CMakeTests.cmake b/hdf5-1.10.5/examples/CMakeTests.cmake
+index cb47c78..dc635cd 100644
+--- a/hdf5-1.10.5/examples/CMakeTests.cmake
++++ b/hdf5-1.10.5/examples/CMakeTests.cmake
+@@ -15,13 +15,15 @@
+ ### T E S T I N G ###
+ ##############################################################################
+ ##############################################################################
++ if (NOT BUILD_SHARED_LIBS)
+ file (MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/red ${PROJECT_BINARY_DIR}/blue ${PROJECT_BINARY_DIR}/u2w)
+- if (BUILD_SHARED_LIBS)
++ else()
+ file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/H5EX-shared")
+ file (MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/H5EX-shared/red ${PROJECT_BINARY_DIR}/H5EX-shared/blue ${PROJECT_BINARY_DIR}/H5EX-shared/u2w)
+ endif ()
+
+ # Remove any output file left over from previous test run
++ if (NOT BUILD_SHARED_LIBS)
+ add_test (
+ NAME EXAMPLES-clear-objects
+ COMMAND ${CMAKE_COMMAND}
+@@ -97,7 +99,7 @@
+ set (last_test "EXAMPLES-${example}")
+ endforeach ()
+
+- if (BUILD_SHARED_LIBS)
++ else()
+ # Remove any output file left over from previous test run
+ add_test (
+ NAME EXAMPLES-shared-clear-objects
+@@ -180,6 +182,7 @@
+
+ ### Windows pops up a modal permission dialog on this test
+ if (H5_HAVE_PARALLEL AND NOT WIN32)
++ if (NOT BUILD_SHARED_LIBS)
+ if (HDF5_ENABLE_USING_MEMCHECKER)
+ add_test (NAME MPI_TEST_EXAMPLES-ph5example COMMAND ${MPIEXEC_EXECUTABLE} ${MPIEXEC_NUMPROC_FLAG} ${MPIEXEC_MAX_NUMPROCS} ${MPIEXEC_PREFLAGS} $<TARGET_FILE:ph5example> ${MPIEXEC_POSTFLAGS})
+ else ()
+@@ -198,7 +201,7 @@
+ set_tests_properties (MPI_TEST_EXAMPLES-ph5example PROPERTIES DEPENDS ${last_test})
+ endif ()
+ set (last_test "MPI_TEST_EXAMPLES-ph5example")
+- if (BUILD_SHARED_LIBS)
++ else()
+ if (HDF5_ENABLE_USING_MEMCHECKER)
+ add_test (NAME MPI_TEST_EXAMPLES-shared-ph5example COMMAND ${MPIEXEC_EXECUTABLE} ${MPIEXEC_NUMPROC_FLAG} ${MPIEXEC_MAX_NUMPROCS} ${MPIEXEC_PREFLAGS} $<TARGET_FILE:ph5example-shared> ${MPIEXEC_POSTFLAGS})
+ else ()
+diff --git a/hdf5-1.10.5/fortran/examples/CMakeLists.txt b/hdf5-1.10.5/fortran/examples/CMakeLists.txt
+index 0c570c6..4941021 100644
+--- a/hdf5-1.10.5/fortran/examples/CMakeLists.txt
++++ b/hdf5-1.10.5/fortran/examples/CMakeLists.txt
+@@ -34,6 +34,7 @@ set (F2003_examples
+ )
+
+ foreach (example ${examples})
++ if (NOT BUILD_SHARED_LIBS)
+ add_executable (f90_ex_${example} ${HDF5_F90_EXAMPLES_SOURCE_DIR}/${example}.f90)
+ target_include_directories (f90_ex_${example}
+ PRIVATE
+@@ -61,7 +62,7 @@ foreach (example ${examples})
+ FOLDER examples/fortran
+ Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/static
+ )
+- if (BUILD_SHARED_LIBS)
++ else()
+ add_executable (f90_ex_${example}-shared ${HDF5_F90_EXAMPLES_SOURCE_DIR}/${example}.f90)
+ target_include_directories (f90_ex_${example}-shared
+ PRIVATE
+@@ -93,6 +94,7 @@ foreach (example ${examples})
+ endforeach ()
+
+ foreach (example ${F2003_examples})
++ if (NOT BUILD_SHARED_LIBS)
+ add_executable (f03_ex_${example} ${HDF5_F90_EXAMPLES_SOURCE_DIR}/${example}.f90)
+ target_include_directories (f03_ex_${example}
+ PRIVATE
+@@ -120,7 +122,7 @@ foreach (example ${F2003_examples})
+ FOLDER examples/fortran03
+ Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/static
+ )
+- if (BUILD_SHARED_LIBS)
++ else()
+ add_executable (f03_ex_${example}-shared ${HDF5_F90_EXAMPLES_SOURCE_DIR}/${example}.f90)
+ target_include_directories (f03_ex_${example}-shared
+ PRIVATE
+@@ -152,6 +154,7 @@ foreach (example ${F2003_examples})
+ endforeach ()
+
+ if (H5_HAVE_PARALLEL AND MPI_Fortran_FOUND)
++ if (NOT BUILD_SHARED_LIBS)
+ add_executable (f90_ex_ph5example ${HDF5_F90_EXAMPLES_SOURCE_DIR}/ph5example.f90)
+ target_include_directories (f90_ex_ph5example
+ PRIVATE
+@@ -180,7 +183,7 @@ if (H5_HAVE_PARALLEL AND MPI_Fortran_FOUND)
+ FOLDER examples/fortran
+ Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/static
+ )
+- if (BUILD_SHARED_LIBS)
++ else()
+ add_executable (f90_ex_ph5example-shared ${HDF5_F90_EXAMPLES_SOURCE_DIR}/ph5example.f90)
+ target_include_directories (f90_ex_ph5example-shared
+ PRIVATE
+diff --git a/hdf5-1.10.5/fortran/examples/CMakeTests.cmake b/hdf5-1.10.5/fortran/examples/CMakeTests.cmake
+index face086..53ee619 100644
+--- a/hdf5-1.10.5/fortran/examples/CMakeTests.cmake
++++ b/hdf5-1.10.5/fortran/examples/CMakeTests.cmake
+@@ -17,6 +17,7 @@
+ ##############################################################################
+
+ # Remove any output file left over from previous test run
++ if (NOT BUILD_SHARED_LIBS)
+ add_test (
+ NAME f90_ex-clear-objects
+ COMMAND ${CMAKE_COMMAND}
+@@ -41,7 +42,7 @@
+ set_tests_properties (f90_ex-clear-objects PROPERTIES DEPENDS ${last_test})
+ endif ()
+ set (last_test "f90_ex-clear-objects")
+- if (BUILD_SHARED_LIBS)
++ else()
+ add_test (
+ NAME f90_ex-shared-clear-objects
+ COMMAND ${CMAKE_COMMAND}
+@@ -69,6 +70,7 @@
+ endif ()
+
+ foreach (example ${examples})
++ if (NOT BUILD_SHARED_LIBS)
+ if (HDF5_ENABLE_USING_MEMCHECKER)
+ add_test (NAME f90_ex_${example} COMMAND $<TARGET_FILE:f90_ex_${example}>)
+ else ()
+@@ -87,7 +89,7 @@ foreach (example ${examples})
+ set_tests_properties (f90_ex_${example} PROPERTIES DEPENDS ${last_test})
+ endif ()
+ set (last_test "f90_ex_${example}")
+- if (BUILD_SHARED_LIBS)
++ else()
+ if (HDF5_ENABLE_USING_MEMCHECKER)
+ add_test (NAME f90_ex-shared_${example} COMMAND $<TARGET_FILE:f90_ex_${example}-shared>)
+ else ()
+@@ -110,6 +112,7 @@ foreach (example ${examples})
+ endforeach ()
+
+ foreach (example ${F2003_examples})
++ if (NOT BUILD_SHARED_LIBS)
+ if (HDF5_ENABLE_USING_MEMCHECKER)
+ add_test (NAME f03_ex_${example} COMMAND $<TARGET_FILE:f03_ex_${example}>)
+ else ()
+@@ -128,7 +131,7 @@ foreach (example ${F2003_examples})
+ set_tests_properties (f03_ex_${example} PROPERTIES DEPENDS ${last_test})
+ endif ()
+ set (last_test "f03_ex_${example}")
+- if (BUILD_SHARED_LIBS)
++ else()
+ if (HDF5_ENABLE_USING_MEMCHECKER)
+ add_test (NAME f03_ex-shared_${example} COMMAND $<TARGET_FILE:f03_ex_${example}-shared>)
+ else ()
+@@ -151,8 +154,9 @@ foreach (example ${F2003_examples})
+ endforeach ()
+
+ if (H5_HAVE_PARALLEL AND MPI_Fortran_FOUND)
++ if (NOT BUILD_SHARED_LIBS)
+ add_test (NAME MPI_TEST_f90_ex_ph5example COMMAND ${MPIEXEC_EXECUTABLE} ${MPIEXEC_NUMPROC_FLAG} ${MPIEXEC_MAX_NUMPROCS} ${MPIEXEC_PREFLAGS} $<TARGET_FILE:f90_ex_ph5example> ${MPIEXEC_POSTFLAGS})
+- if (BUILD_SHARED_LIBS)
++ else()
+ add_test (NAME MPI_TEST_f90_ex-shared_ph5example COMMAND ${MPIEXEC_EXECUTABLE} ${MPIEXEC_NUMPROC_FLAG} ${MPIEXEC_MAX_NUMPROCS} ${MPIEXEC_PREFLAGS} $<TARGET_FILE:f90_ex_ph5example> ${MPIEXEC_POSTFLAGS})
+ endif ()
+ endif ()
+diff --git a/hdf5-1.10.5/fortran/src/CMakeLists.txt b/hdf5-1.10.5/fortran/src/CMakeLists.txt
+index f71e820..873f36d 100644
+--- a/hdf5-1.10.5/fortran/src/CMakeLists.txt
++++ b/hdf5-1.10.5/fortran/src/CMakeLists.txt
+@@ -68,16 +68,17 @@ set_target_properties (H5_buildiface PROPERTIES
+ if (BUILD_SHARED_LIBS)
+ file (MAKE_DIRECTORY "${HDF5_F90_BINARY_DIR}/shared")
+ set (MODSH_BUILD_DIR ${CMAKE_Fortran_MODULE_DIRECTORY}/shared/${HDF_CFG_BUILD_TYPE})
+-endif ()
++else ()
+ file (MAKE_DIRECTORY "${HDF5_F90_BINARY_DIR}/static")
+ set (MOD_BUILD_DIR ${CMAKE_Fortran_MODULE_DIRECTORY}/static/${HDF_CFG_BUILD_TYPE})
+-
++endif()
+ #-----------------------------------------------------------------------------
+ add_executable (H5match_types
+ ${HDF5_F90_BINARY_DIR}/H5fort_type_defines.h
+ ${HDF5_F90_SRC_SOURCE_DIR}/H5match_types.c
+ )
+ target_include_directories(H5match_types PRIVATE "${HDF5_BINARY_DIR};${HDF5_SRC_DIR};${HDF5_F90_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
++if (NOT BUILD_SHARED_LIBS)
+ add_custom_command (
+ OUTPUT ${HDF5_F90_BINARY_DIR}/static/H5f90i_gen.h
+ ${HDF5_F90_BINARY_DIR}/static/H5fortran_types.F90
+@@ -87,7 +88,7 @@ add_custom_command (
+ )
+ set_source_files_properties (${HDF5_F90_BINARY_DIR}/static/H5f90i_gen.h PROPERTIES GENERATED TRUE)
+ set_source_files_properties (${HDF5_F90_BINARY_DIR}/static/H5fortran_types.F90 PROPERTIES GENERATED TRUE)
+-if (BUILD_SHARED_LIBS)
++else()
+ add_custom_command (
+ OUTPUT ${HDF5_F90_BINARY_DIR}/shared/H5f90i_gen.h
+ ${HDF5_F90_BINARY_DIR}/shared/H5fortran_types.F90
+@@ -130,7 +131,7 @@ set (f90CStub_C_SHHDRS
+ # generated files
+ ${HDF5_F90_BINARY_DIR}/shared/H5f90i_gen.h
+ )
+-
++if (NOT BUILD_SHARED_LIBS)
+ add_library (${HDF5_F90_C_LIB_TARGET} STATIC ${f90CStub_C_SOURCES} ${f90CStub_C_HDRS})
+ target_include_directories(${HDF5_F90_C_LIB_TARGET}
+ PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};${HDF5_F90_BINARY_DIR};${HDF5_F90_BINARY_DIR}/static;$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>"
+@@ -146,7 +147,7 @@ set_target_properties (${HDF5_F90_C_LIB_TARGET} PROPERTIES
+ )
+ set (install_targets ${HDF5_F90_C_LIB_TARGET})
+
+-if (BUILD_SHARED_LIBS)
++else()
+ add_library (${HDF5_F90_C_LIBSH_TARGET} SHARED ${f90CStub_C_SOURCES} ${f90CStub_C_SHHDRS})
+ target_include_directories(${HDF5_F90_C_LIBSH_TARGET}
+ PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};${HDF5_F90_BINARY_DIR};${HDF5_F90_BINARY_DIR}/shared;$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>"
+@@ -174,6 +175,7 @@ set (f90_F_GEN_SOURCES
+ ${HDF5_F90_SRC_SOURCE_DIR}/H5Dff.F90
+ ${HDF5_F90_SRC_SOURCE_DIR}/H5Pff.F90
+ )
++if (NOT BUILD_SHARED_LIBS)
+ add_custom_command (
+ OUTPUT ${HDF5_F90_BINARY_DIR}/static/H5_gen.F90
+ COMMAND $<TARGET_FILE:H5_buildiface>
+@@ -186,7 +188,7 @@ add_custom_target (H5gen ALL
+ )
+ set_source_files_properties (${HDF5_F90_BINARY_DIR}/static/H5_gen.F90 PROPERTIES GENERATED TRUE)
+
+-if (BUILD_SHARED_LIBS)
++else()
+ add_custom_command (
+ OUTPUT ${HDF5_F90_BINARY_DIR}/shared/H5_gen.F90
+ COMMAND $<TARGET_FILE:H5_buildiface>
+@@ -219,7 +221,7 @@ set (f90_F_BASE_SOURCES
+ ${HDF5_F90_SRC_SOURCE_DIR}/H5Tff.F90
+ ${HDF5_F90_SRC_SOURCE_DIR}/H5Zff.F90
+ )
+-
++if (NOT BUILD_SHARED_LIBS)
+ set (f90_F_SOURCES
+ # generated file
+ ${HDF5_F90_BINARY_DIR}/static/H5fortran_types.F90
+@@ -232,7 +234,7 @@ set (f90_F_SOURCES
+ # normal distribution
+ ${HDF5_F90_SRC_SOURCE_DIR}/HDF5.F90
+ )
+-if (BUILD_SHARED_LIBS)
++else()
+ set (f90_F_SOURCES_SHARED
+ # generated file
+ ${HDF5_F90_BINARY_DIR}/shared/H5fortran_types.F90
+@@ -250,6 +252,7 @@ endif ()
+ #-----------------------------------------------------------------------------
+ # Add Main fortran library
+ #-----------------------------------------------------------------------------
++if (NOT BUILD_SHARED_LIBS)
+ add_library (${HDF5_F90_LIB_TARGET} STATIC ${f90_F_SOURCES})
+ target_include_directories (${HDF5_F90_LIB_TARGET}
+ PRIVATE
+@@ -288,7 +291,7 @@ set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF
+ set (install_targets ${install_targets} ${HDF5_F90_LIB_TARGET})
+ add_dependencies(${HDF5_F90_LIB_TARGET} H5gen)
+
+-if (BUILD_SHARED_LIBS)
++else()
+ add_library (${HDF5_F90_LIBSH_TARGET} SHARED ${f90_F_SOURCES_SHARED})
+ target_include_directories (${HDF5_F90_LIBSH_TARGET}
+ PRIVATE
+@@ -350,7 +353,7 @@ install (
+ COMPONENT
+ fortheaders
+ )
+-
++if (NOT BUILD_SHARED_LIBS)
+ set (mod_files
+ ${MOD_BUILD_DIR}/h5fortran_types.mod
+ ${MOD_BUILD_DIR}/hdf5.mod
+@@ -381,7 +384,7 @@ install (
+ fortheaders
+ )
+
+-if (BUILD_SHARED_LIBS)
++else()
+ set (modsh_files
+ ${MODSH_BUILD_DIR}/h5fortran_types.mod
+ ${MODSH_BUILD_DIR}/hdf5.mod
+@@ -420,10 +423,11 @@ if (HDF5_EXPORTED_TARGETS)
+ if (BUILD_SHARED_LIBS)
+ INSTALL_TARGET_PDB (${HDF5_F90_C_LIBSH_TARGET} ${HDF5_INSTALL_BIN_DIR} fortlibraries)
+ #INSTALL_TARGET_PDB (${HDF5_F90_LIBSH_TARGET} ${HDF5_INSTALL_BIN_DIR} fortlibraries)
+- endif ()
++ else ()
+ INSTALL_TARGET_PDB (${HDF5_F90_C_LIB_TARGET} ${HDF5_INSTALL_BIN_DIR} fortlibraries)
+ #INSTALL_TARGET_PDB (${HDF5_F90_LIB_TARGET} ${HDF5_INSTALL_BIN_DIR} fortlibraries)
+-
++ endif()
++
+ install (
+ TARGETS
+ ${install_targets}
+diff --git a/hdf5-1.10.5/fortran/test/CMakeLists.txt b/hdf5-1.10.5/fortran/test/CMakeLists.txt
+index b862fcd..6f557b7 100644
+--- a/hdf5-1.10.5/fortran/test/CMakeLists.txt
++++ b/hdf5-1.10.5/fortran/test/CMakeLists.txt
+@@ -34,13 +34,14 @@ set_target_properties (H5_test_buildiface PROPERTIES
+ if (BUILD_SHARED_LIBS)
+ file (MAKE_DIRECTORY "${HDF5_FORTRAN_TESTS_BINARY_DIR}/shared")
+ set (MODSH_BUILD_DIR ${CMAKE_Fortran_MODULE_DIRECTORY}/shared/${HDF_CFG_BUILD_TYPE})
+-endif ()
++else ()
+ file (MAKE_DIRECTORY "${HDF5_FORTRAN_TESTS_BINARY_DIR}/static")
+ set (MOD_BUILD_DIR ${CMAKE_Fortran_MODULE_DIRECTORY}/static/${HDF_CFG_BUILD_TYPE})
+-
++endif()
+ #-----------------------------------------------------------------------------
+ # Add Test Lib
+ #-----------------------------------------------------------------------------
++if (NOT BUILD_SHARED_LIBS)
+ add_library (${HDF5_F90_C_TEST_LIB_TARGET} STATIC t.c)
+ set_source_files_properties (t.c PROPERTIES LANGUAGE C)
+ target_include_directories(${HDF5_F90_C_TEST_LIB_TARGET}
+@@ -57,7 +58,7 @@ set_target_properties (${HDF5_F90_C_TEST_LIB_TARGET} PROPERTIES
+ FOLDER libraries/test/fortran
+ LINKER_LANGUAGE C
+ )
+-if (BUILD_SHARED_LIBS)
++else()
+ add_library (${HDF5_F90_C_TEST_LIBSH_TARGET} SHARED t.c)
+ target_include_directories(${HDF5_F90_C_TEST_LIBSH_TARGET}
+ PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};${HDF5_F90_BINARY_DIR};${HDF5_F90_BINARY_DIR}/shared;$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>"
+@@ -77,7 +78,7 @@ if (BUILD_SHARED_LIBS)
+ LINKER_LANGUAGE C
+ )
+ endif ()
+-
++if (NOT BUILD_SHARED_LIBS)
+ add_custom_command (
+ OUTPUT ${HDF5_FORTRAN_TESTS_BINARY_DIR}/static/tf_gen.F90
+ COMMAND $<TARGET_FILE:H5_test_buildiface>
+@@ -90,7 +91,7 @@ add_custom_target (H5testgen ALL
+ )
+ set_source_files_properties (${HDF5_FORTRAN_TESTS_BINARY_DIR}/static/tf_gen.F90 PROPERTIES GENERATED TRUE)
+
+-if (BUILD_SHARED_LIBS)
++else()
+ add_custom_command (
+ OUTPUT ${HDF5_FORTRAN_TESTS_BINARY_DIR}/shared/tf_gen.F90
+ COMMAND $<TARGET_FILE:H5_test_buildiface>
+@@ -103,7 +104,7 @@ if (BUILD_SHARED_LIBS)
+ )
+ set_source_files_properties (${HDF5_FORTRAN_TESTS_BINARY_DIR}/shared/tf_gen.F90 PROPERTIES GENERATED TRUE)
+ endif ()
+-
++if (NOT BUILD_SHARED_LIBS)
+ set (HDF5_F90_TF_SOURCES
+ # generated files
+ ${HDF5_FORTRAN_TESTS_BINARY_DIR}/static/tf_gen.F90
+@@ -112,7 +113,7 @@ set (HDF5_F90_TF_SOURCES
+ tf.F90
+ )
+ set_source_files_properties (${HDF5_F90_TF_SOURCES} PROPERTIES LANGUAGE Fortran)
+-if (BUILD_SHARED_LIBS)
++else()
+ set (HDF5_F90_TF_SOURCES_SHARED
+ # generated file
+ ${HDF5_FORTRAN_TESTS_BINARY_DIR}/shared/tf_gen.F90
+@@ -122,7 +123,7 @@ if (BUILD_SHARED_LIBS)
+ )
+ set_source_files_properties (${HDF5_F90_TF_SOURCES_SHARED} PROPERTIES LANGUAGE Fortran)
+ endif ()
+-
++if (NOT BUILD_SHARED_LIBS)
+ add_library (${HDF5_F90_TEST_LIB_TARGET} STATIC ${HDF5_F90_TF_SOURCES})
+ target_include_directories (${HDF5_F90_TEST_LIB_TARGET}
+ PRIVATE
+@@ -156,7 +157,7 @@ set_target_properties (${HDF5_F90_TEST_LIB_TARGET} PROPERTIES
+ H5_SET_LIB_OPTIONS (${HDF5_F90_TEST_LIB_TARGET} ${HDF5_F90_TEST_LIB_NAME} STATIC 0)
+ add_dependencies(${HDF5_F90_TEST_LIB_TARGET} H5testgen)
+
+-if (BUILD_SHARED_LIBS)
++else()
+ add_library (${HDF5_F90_TEST_LIBSH_TARGET} SHARED ${HDF5_F90_TF_SOURCES_SHARED})
+ target_include_directories (${HDF5_F90_TEST_LIBSH_TARGET}
+ PRIVATE
+@@ -201,6 +202,7 @@ endif ()
+ #-----------------------------------------------------------------------------
+
+ #-- Adding test for testhdf5_fortran
++if (NOT BUILD_SHARED_LIBS)
+ add_executable (testhdf5_fortran
+ fortranlib_test.F90
+ tH5A.F90
+@@ -246,7 +248,7 @@ set_target_properties (testhdf5_fortran PROPERTIES
+ )
+ add_dependencies (testhdf5_fortran ${HDF5_F90_TEST_LIB_TARGET})
+
+-if (BUILD_SHARED_LIBS)
++else()
+ add_executable (testhdf5_fortran-shared
+ fortranlib_test.F90
+ tH5A.F90
+@@ -294,6 +296,7 @@ if (BUILD_SHARED_LIBS)
+ endif ()
+
+ #-- Adding test for testhdf5_fortran_1_8
++if (NOT BUILD_SHARED_LIBS)
+ add_executable (testhdf5_fortran_1_8
+ fortranlib_test_1_8.F90
+ tH5O.F90
+@@ -330,7 +333,7 @@ set_target_properties (testhdf5_fortran_1_8 PROPERTIES
+ )
+ add_dependencies (testhdf5_fortran_1_8 ${HDF5_F90_TEST_LIB_TARGET})
+
+-if (BUILD_SHARED_LIBS)
++else()
+ add_executable (testhdf5_fortran_1_8-shared
+ fortranlib_test_1_8.F90
+ tH5O.F90
+@@ -369,6 +372,7 @@ if (BUILD_SHARED_LIBS)
+ endif ()
+
+ #-- Adding test for fortranlib_test_F03
++if (NOT BUILD_SHARED_LIBS)
+ add_executable (fortranlib_test_F03
+ fortranlib_test_F03.F90
+ tH5E_F03.F90
+@@ -407,7 +411,7 @@ set_target_properties (fortranlib_test_F03 PROPERTIES
+ )
+ add_dependencies (fortranlib_test_F03 ${HDF5_F90_TEST_LIB_TARGET})
+
+-if (BUILD_SHARED_LIBS)
++else()
+ add_executable (fortranlib_test_F03-shared
+ fortranlib_test_F03.F90
+ tH5E_F03.F90
+@@ -448,6 +452,7 @@ if (BUILD_SHARED_LIBS)
+ endif ()
+
+ #-- Adding test for fflush1
++if (NOT BUILD_SHARED_LIBS)
+ add_executable (fflush1 fflush1.F90)
+ target_include_directories (fflush1
+ PRIVATE
+@@ -477,7 +482,7 @@ set_target_properties (fflush1 PROPERTIES
+ )
+ add_dependencies (fflush1 ${HDF5_F90_TEST_LIB_TARGET})
+
+-if (BUILD_SHARED_LIBS)
++else()
+ add_executable (fflush1-shared fflush1.F90)
+ target_include_directories (fflush1-shared
+ PRIVATE
+@@ -509,6 +514,7 @@ if (BUILD_SHARED_LIBS)
+ endif ()
+
+ #-- Adding test for fflush2
++if (NOT BUILD_SHARED_LIBS)
+ add_executable (fflush2 fflush2.F90)
+ target_include_directories (fflush2
+ PRIVATE
+@@ -538,7 +544,7 @@ set_target_properties (fflush2 PROPERTIES
+ )
+ add_dependencies (fflush2 ${HDF5_F90_TEST_LIB_TARGET})
+
+-if (BUILD_SHARED_LIBS)
++else()
+ add_executable (fflush2-shared fflush2.F90)
+ target_include_directories (fflush2-shared
+ PRIVATE
+diff --git a/hdf5-1.10.5/fortran/test/CMakeTests.cmake b/hdf5-1.10.5/fortran/test/CMakeTests.cmake
+index 2824ef7..482345a 100644
+--- a/hdf5-1.10.5/fortran/test/CMakeTests.cmake
++++ b/hdf5-1.10.5/fortran/test/CMakeTests.cmake
+@@ -20,6 +20,7 @@ if (BUILD_SHARED_LIBS)
+ endif ()
+
+ # Remove any output file left over from previous test run
++if (NOT BUILD_SHARED_LIBS)
+ add_test (
+ NAME FORTRAN_testhdf5-clear-objects
+ COMMAND ${CMAKE_COMMAND}
+@@ -130,7 +131,7 @@ set_tests_properties (FORTRAN_fflush1 PROPERTIES DEPENDS FORTRAN_testhdf5-clear-
+ add_test (NAME FORTRAN_fflush2 COMMAND $<TARGET_FILE:fflush2>)
+ set_tests_properties (FORTRAN_fflush2 PROPERTIES DEPENDS FORTRAN_fflush1)
+
+-if (BUILD_SHARED_LIBS)
++else()
+ add_test (
+ NAME FORTRAN_testhdf5-shared-clear-objects
+ COMMAND ${CMAKE_COMMAND}
+diff --git a/hdf5-1.10.5/hl/c++/src/CMakeLists.txt b/hdf5-1.10.5/hl/c++/src/CMakeLists.txt
+index 77419c6..1556374 100644
+--- a/hdf5-1.10.5/hl/c++/src/CMakeLists.txt
++++ b/hdf5-1.10.5/hl/c++/src/CMakeLists.txt
+@@ -7,7 +7,7 @@ project (HDF5_HL_CPP_SRC CXX)
+
+ set (HDF5_HL_CPP_SOURCES ${HDF5_HL_CPP_SRC_SOURCE_DIR}/H5PacketTable.cpp)
+ set (HDF5_HL_CPP_HDRS ${HDF5_HL_CPP_SRC_SOURCE_DIR}/H5PacketTable.h)
+-
++if (NOT BUILD_SHARED_LIBS)
+ add_library (${HDF5_HL_CPP_LIB_TARGET} STATIC ${HDF5_HL_CPP_SOURCES})
+ target_include_directories(${HDF5_HL_CPP_LIB_TARGET}
+ PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>"
+@@ -20,7 +20,7 @@ H5_SET_LIB_OPTIONS (${HDF5_HL_CPP_LIB_TARGET} ${HDF5_HL_CPP_LIB_NAME} STATIC 0)
+ set_target_properties (${HDF5_HL_CPP_LIB_TARGET} PROPERTIES FOLDER libraries/hl)
+ set (install_targets ${HDF5_HL_CPP_LIB_TARGET})
+
+-if (BUILD_SHARED_LIBS)
++else()
+ add_library (${HDF5_HL_CPP_LIBSH_TARGET} SHARED ${HDF5_HL_CPP_SOURCES})
+ target_include_directories(${HDF5_HL_CPP_LIBSH_TARGET}
+ PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>"
+@@ -55,9 +55,10 @@ install (
+ if (HDF5_EXPORTED_TARGETS)
+ if (BUILD_SHARED_LIBS)
+ INSTALL_TARGET_PDB (${HDF5_HL_CPP_LIBSH_TARGET} ${HDF5_INSTALL_BIN_DIR} hlcpplibraries)
+- endif ()
++ else ()
+ INSTALL_TARGET_PDB (${HDF5_HL_CPP_LIB_TARGET} ${HDF5_INSTALL_BIN_DIR} hlcpplibraries)
+-
++ endif()
++
+ install (
+ TARGETS
+ ${install_targets}
+@@ -83,8 +84,9 @@ set (_PKG_CONFIG_VERSION "${HDF5_PACKAGE_VERSION}")
+
+ set (_PKG_CONFIG_LIBS_PRIVATE)
+
++if (NOT BUILD_SHARED_LIBS)
+ set (_PKG_CONFIG_LIBS "${_PKG_CONFIG_LIBS} -l${HDF5_HL_CPP_LIB_CORENAME}")
+-if (BUILD_SHARED_LIBS)
++else()
+ set (_PKG_CONFIG_SH_LIBS "${_PKG_CONFIG_SH_LIBS} -l${HDF5_HL_CPP_LIB_CORENAME}")
+ endif ()
+
+diff --git a/hdf5-1.10.5/hl/fortran/src/CMakeLists.txt b/hdf5-1.10.5/hl/fortran/src/CMakeLists.txt
+index 7ec3b63..9f9693f 100644
+--- a/hdf5-1.10.5/hl/fortran/src/CMakeLists.txt
++++ b/hdf5-1.10.5/hl/fortran/src/CMakeLists.txt
+@@ -36,10 +36,10 @@ set_target_properties (H5HL_buildiface PROPERTIES
+ if (BUILD_SHARED_LIBS)
+ file (MAKE_DIRECTORY "${HDF5_HL_F90_BINARY_DIR}/shared")
+ set (MODSH_BUILD_DIR ${CMAKE_Fortran_MODULE_DIRECTORY}/shared/${HDF_CFG_BUILD_TYPE})
+-endif ()
++else ()
+ file (MAKE_DIRECTORY "${HDF5_HL_F90_BINARY_DIR}/static")
+ set (MOD_BUILD_DIR ${CMAKE_Fortran_MODULE_DIRECTORY}/static/${HDF_CFG_BUILD_TYPE})
+-
++endif()
+ #-----------------------------------------------------------------------------
+ # hl_f90CStub lib
+ #-----------------------------------------------------------------------------
+@@ -53,7 +53,7 @@ set (HDF5_HL_F90_C_SOURCES
+ set_source_files_properties (${HDF5_HL_F90_C_SOURCES} PROPERTIES LANGUAGE C)
+
+ set (HDF5_HL_F90_HEADERS ${HDF5_HL_F90_SRC_SOURCE_DIR}/H5LTf90proto.h)
+-
++if (NOT BUILD_SHARED_LIBS)
+ add_library (${HDF5_HL_F90_C_LIB_TARGET} STATIC ${HDF5_HL_F90_C_SOURCES} ${HDF5_HL_F90_HEADERS})
+ target_include_directories(${HDF5_HL_F90_C_LIB_TARGET}
+ PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};${HDF5_F90_BINARY_DIR}/static;$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>"
+@@ -69,7 +69,7 @@ set_target_properties (${HDF5_HL_F90_C_LIB_TARGET} PROPERTIES
+ )
+ set (install_targets ${HDF5_HL_F90_C_LIB_TARGET})
+
+-if (BUILD_SHARED_LIBS)
++else()
+ add_library (${HDF5_HL_F90_C_LIBSH_TARGET} SHARED ${HDF5_HL_F90_C_SOURCES} ${HDF5_HL_F90_HEADERS})
+ target_include_directories(${HDF5_HL_F90_C_LIBSH_TARGET}
+ PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};${HDF5_F90_BINARY_DIR}/shared;$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>"
+@@ -98,7 +98,7 @@ set (HDF5_HL_F90_F_BASE_SOURCES
+ ${HDF5_HL_F90_SRC_SOURCE_DIR}/H5LTff.F90
+ ${HDF5_HL_F90_SRC_SOURCE_DIR}/H5IMff.F90
+ )
+-
++if (NOT BUILD_SHARED_LIBS)
+ add_custom_command (
+ OUTPUT ${HDF5_HL_F90_BINARY_DIR}/static/H5LTff_gen.F90 ${HDF5_HL_F90_BINARY_DIR}/static/H5TBff_gen.F90
+ COMMAND $<TARGET_FILE:H5HL_buildiface>
+@@ -114,7 +114,7 @@ set_source_files_properties (
+ ${HDF5_HL_F90_BINARY_DIR}/static/H5TBff_gen.F90
+ PROPERTIES GENERATED TRUE
+ )
+-if (BUILD_SHARED_LIBS)
++else()
+ add_custom_command (
+ OUTPUT ${HDF5_HL_F90_BINARY_DIR}/shared/H5LTff_gen.F90 ${HDF5_HL_F90_BINARY_DIR}/shared/H5TBff_gen.F90
+ COMMAND $<TARGET_FILE:H5HL_buildiface>
+@@ -131,7 +131,7 @@ if (BUILD_SHARED_LIBS)
+ PROPERTIES GENERATED TRUE
+ )
+ endif ()
+-
++if (NOT BUILD_SHARED_LIBS)
+ set (HDF5_HL_F90_F_SOURCES
+ ${HDF5_HL_F90_F_BASE_SOURCES}
+
+@@ -141,7 +141,7 @@ set (HDF5_HL_F90_F_SOURCES
+ )
+ set_source_files_properties (${HDF5_HL_F90_F_SOURCES} PROPERTIES LANGUAGE Fortran)
+
+-if (BUILD_SHARED_LIBS)
++else()
+ set (HDF5_HL_F90_F_SOURCES_SHARED
+ ${HDF5_HL_F90_F_BASE_SOURCES}
+
+@@ -152,6 +152,7 @@ if (BUILD_SHARED_LIBS)
+ set_source_files_properties (${HDF5_HL_F90_F_SOURCES_SHARED} PROPERTIES LANGUAGE Fortran)
+ endif ()
+
++if (NOT BUILD_SHARED_LIBS)
+ add_library (${HDF5_HL_F90_LIB_TARGET} STATIC ${HDF5_HL_F90_F_SOURCES})
+ target_include_directories (${HDF5_HL_F90_LIB_TARGET}
+ PRIVATE
+@@ -188,7 +189,7 @@ set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF
+ set (install_targets ${install_targets} ${HDF5_HL_F90_LIB_TARGET})
+ add_dependencies(${HDF5_HL_F90_LIB_TARGET} H5HLgen)
+
+-if (BUILD_SHARED_LIBS)
++else()
+ add_library (${HDF5_HL_F90_LIBSH_TARGET} SHARED ${HDF5_HL_F90_F_SOURCES_SHARED})
+ target_include_directories (${HDF5_HL_F90_LIBSH_TARGET}
+ PRIVATE
+@@ -239,7 +240,7 @@ endif ()
+ # Add file(s) to CMake Install
+ #-----------------------------------------------------------------------------
+
+-
++if (NOT BUILD_SHARED_LIBS)
+ set (mod_files
+ ${MOD_BUILD_DIR}/h5ds.mod
+ ${MOD_BUILD_DIR}/h5tb.mod
+@@ -258,7 +259,7 @@ install (
+ fortheaders
+ )
+
+-if (BUILD_SHARED_LIBS)
++else()
+ set (modsh_files
+ ${MODSH_BUILD_DIR}/h5ds.mod
+ ${MODSH_BUILD_DIR}/h5tb.mod
+@@ -284,10 +285,11 @@ if (HDF5_EXPORTED_TARGETS)
+ if (BUILD_SHARED_LIBS)
+ INSTALL_TARGET_PDB (${HDF5_HL_F90_C_LIBSH_TARGET} ${HDF5_INSTALL_BIN_DIR} hlfortlibraries)
+ #INSTALL_TARGET_PDB (${HDF5_HL_F90_LIBSH_TARGET} ${HDF5_INSTALL_BIN_DIR} hlfortlibraries)
+- endif ()
++ else ()
+ INSTALL_TARGET_PDB (${HDF5_HL_F90_C_LIB_TARGET} ${HDF5_INSTALL_BIN_DIR} hlfortlibraries)
+ #INSTALL_TARGET_PDB (${HDF5_HL_F90_LIB_TARGET} ${HDF5_INSTALL_BIN_DIR} hlfortlibraries)
+-
++ endif()
++
+ install (
+ TARGETS
+ ${install_targets}
+diff --git a/hdf5-1.10.5/hl/fortran/test/CMakeLists.txt b/hdf5-1.10.5/hl/fortran/test/CMakeLists.txt
+index 923989d..74e7ae2 100644
+--- a/hdf5-1.10.5/hl/fortran/test/CMakeLists.txt
++++ b/hdf5-1.10.5/hl/fortran/test/CMakeLists.txt
+@@ -12,6 +12,7 @@ set (H5_TESTS
+ )
+
+ macro (ADD_H5_FORTRAN_EXE file)
++ if (NOT BUILD_SHARED_LIBS)
+ add_executable (hl_f90_${file} ${file}.F90)
+ target_include_directories (hl_f90_${file}
+ PRIVATE
+@@ -39,7 +40,7 @@ macro (ADD_H5_FORTRAN_EXE file)
+ FOLDER test/hl/fortran
+ Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/static
+ )
+- if (BUILD_SHARED_LIBS)
++ else()
+ add_executable (hl_f90_${file}-shared ${file}.F90)
+ target_include_directories (hl_f90_${file}-shared
+ PRIVATE
+diff --git a/hdf5-1.10.5/hl/fortran/test/CMakeTests.cmake b/hdf5-1.10.5/hl/fortran/test/CMakeTests.cmake
+index 04a49dc..9b4436c 100644
+--- a/hdf5-1.10.5/hl/fortran/test/CMakeTests.cmake
++++ b/hdf5-1.10.5/hl/fortran/test/CMakeTests.cmake
+@@ -17,6 +17,7 @@
+ ##############################################################################
+
+ macro (ADD_H5_FORTRAN_TEST file)
++ if (NOT BUILD_SHARED_LIBS)
+ if (HDF5_ENABLE_USING_MEMCHECKER)
+ add_test (NAME HL_FORTRAN_f90_${file} COMMAND $<TARGET_FILE:hl_f90_${file}>)
+ else ()
+@@ -32,7 +33,7 @@ macro (ADD_H5_FORTRAN_TEST file)
+ )
+ endif ()
+ set_tests_properties (HL_FORTRAN_f90_${file} PROPERTIES DEPENDS HL_FORTRAN_test-clear-objects)
+- if (BUILD_SHARED_LIBS)
++ else()
+ if (HDF5_ENABLE_USING_MEMCHECKER)
+ add_test (NAME HL_FORTRAN_f90_${file}-shared COMMAND $<TARGET_FILE:hl_f90_${file}-shared>)
+ else ()
+@@ -52,6 +53,7 @@ macro (ADD_H5_FORTRAN_TEST file)
+ endmacro ()
+
+ # Remove any output file left over from previous test run
++if (NOT BUILD_SHARED_LIBS)
+ add_test (
+ NAME HL_FORTRAN_test-clear-objects
+ COMMAND ${CMAKE_COMMAND}
+@@ -67,7 +69,7 @@ add_test (
+ tstds.h5
+ )
+
+-if (BUILD_SHARED_LIBS)
++else()
+ add_test (
+ NAME HL_FORTRAN_test-shared-clear-objects
+ COMMAND ${CMAKE_COMMAND}
+diff --git a/hdf5-1.10.5/hl/src/CMakeLists.txt b/hdf5-1.10.5/hl/src/CMakeLists.txt
+index bf0f6ff..d4ad35e 100644
+--- a/hdf5-1.10.5/hl/src/CMakeLists.txt
++++ b/hdf5-1.10.5/hl/src/CMakeLists.txt
+@@ -31,7 +31,7 @@ set (HL_HEADERS
+ set (HL_PRIVATE_HEADERS
+ ${HDF5_HL_SRC_SOURCE_DIR}/H5LTparse.h
+ )
+-
++if (NOT BUILD_SHARED_LIBS)
+ add_library (${HDF5_HL_LIB_TARGET} STATIC ${HL_SOURCES} ${HL_HEADERS} ${HL_PRIVATE_HEADERS})
+ target_include_directories(${HDF5_HL_LIB_TARGET}
+ PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>"
+@@ -44,7 +44,7 @@ set_target_properties (${HDF5_HL_LIB_TARGET} PROPERTIES FOLDER libraries/hl)
+ set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_HL_LIB_TARGET}")
+ set (install_targets ${HDF5_HL_LIB_TARGET})
+
+-if (BUILD_SHARED_LIBS)
++else()
+ add_library (${HDF5_HL_LIBSH_TARGET} SHARED ${HL_SOURCES} ${HL_HEADERS} ${HL_PRIVATE_HEADERS})
+ target_include_directories(${HDF5_HL_LIBSH_TARGET}
+ PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>"
+@@ -79,9 +79,10 @@ install (
+ if (HDF5_EXPORTED_TARGETS)
+ if (BUILD_SHARED_LIBS)
+ INSTALL_TARGET_PDB (${HDF5_HL_LIBSH_TARGET} ${HDF5_INSTALL_BIN_DIR} hllibraries)
+- endif ()
++ else ()
+ INSTALL_TARGET_PDB (${HDF5_HL_LIB_TARGET} ${HDF5_INSTALL_BIN_DIR} hllibraries)
+-
++ endif()
++
+ install (
+ TARGETS
+ ${install_targets}
+@@ -107,8 +108,9 @@ set (_PKG_CONFIG_VERSION "${HDF5_PACKAGE_VERSION}")
+
+ set (_PKG_CONFIG_LIBS_PRIVATE)
+
++if (NOT BUILD_SHARED_LIBS)
+ set (_PKG_CONFIG_LIBS "${_PKG_CONFIG_LIBS} -l${HDF5_HL_LIB_CORENAME}")
+-if (BUILD_SHARED_LIBS)
++else()
+ set (_PKG_CONFIG_SH_LIBS "${_PKG_CONFIG_SH_LIBS} -l${HDF5_HL_LIB_CORENAME}")
+ endif ()
+
+diff --git a/hdf5-1.10.5/src/CMakeLists.txt b/hdf5-1.10.5/src/CMakeLists.txt
+index 01434ba..6445c22 100644
+--- a/hdf5-1.10.5/src/CMakeLists.txt
++++ b/hdf5-1.10.5/src/CMakeLists.txt
+@@ -1060,6 +1060,7 @@ option (HDF5_ENABLE_DEBUG_APIS "Turn on extra debug output in all packages" OFF)
+ #-----------------------------------------------------------------------------
+ # Add H5Tinit source to build - generated by H5detect/CMake at configure time
+ #-----------------------------------------------------------------------------
++if (NOT BUILD_SHARED_LIBS)
+ set (gen_SRCS ${HDF5_GENERATED_SOURCE_DIR}/H5Tinit.c ${HDF5_BINARY_DIR}/H5lib_settings.c)
+ add_custom_target (gen_${HDF5_LIB_TARGET} ALL DEPENDS ${HDF5_GENERATED_SOURCE_DIR}/gen_SRCS.stamp1 ${HDF5_GENERATED_SOURCE_DIR}/gen_SRCS.stamp2)
+
+@@ -1088,8 +1089,7 @@ set_target_properties (${HDF5_LIB_TARGET} PROPERTIES FOLDER libraries)
+ add_dependencies (${HDF5_LIB_TARGET} gen_${HDF5_LIB_TARGET})
+
+ set (install_targets ${HDF5_LIB_TARGET})
+-
+-if (BUILD_SHARED_LIBS)
++else()
+ set (shared_gen_SRCS ${HDF5_GENERATED_SOURCE_DIR}/shared/H5Tinit.c ${HDF5_BINARY_DIR}/shared/H5lib_settings.c)
+ add_custom_target (gen_${HDF5_LIBSH_TARGET} ALL DEPENDS ${HDF5_GENERATED_SOURCE_DIR}/shared/shared_gen_SRCS.stamp1 ${HDF5_GENERATED_SOURCE_DIR}/shared/shared_gen_SRCS.stamp2)
+
+@@ -1144,9 +1144,10 @@ endif ()
+ if (HDF5_EXPORTED_TARGETS)
+ if (BUILD_SHARED_LIBS)
+ INSTALL_TARGET_PDB (${HDF5_LIBSH_TARGET} ${HDF5_INSTALL_BIN_DIR} libraries)
+- endif ()
++ else ()
+ INSTALL_TARGET_PDB (${HDF5_LIB_TARGET} ${HDF5_INSTALL_BIN_DIR} libraries)
+-
++ endif()
++
+ install (
+ TARGETS
+ ${install_targets}
+@@ -1174,8 +1175,9 @@ foreach (libs ${LINK_LIBS} ${LINK_COMP_LIBS})
+ set (_PKG_CONFIG_LIBS_PRIVATE "${_PKG_CONFIG_LIBS_PRIVATE} -l${libs}")
+ endforeach ()
+
++if (NOT BUILD_SHARED_LIBS)
+ set (_PKG_CONFIG_LIBS "${_PKG_CONFIG_LIBS} -l${HDF5_LIB_CORENAME}")
+-if (BUILD_SHARED_LIBS)
++else()
+ set (_PKG_CONFIG_SH_LIBS "${_PKG_CONFIG_SH_LIBS} -l${HDF5_LIB_CORENAME}")
+ endif ()
+
+diff --git a/hdf5-1.10.5/test/CMakeLists.txt b/hdf5-1.10.5/test/CMakeLists.txt
+index fa303ed..784a86e 100644
+--- a/hdf5-1.10.5/test/CMakeLists.txt
++++ b/hdf5-1.10.5/test/CMakeLists.txt
+@@ -23,6 +23,7 @@ set (TEST_LIB_HEADERS
+ ${HDF5_TEST_SOURCE_DIR}/swmr_common.h
+ )
+
++if (NOT BUILD_SHARED_LIBS)
+ add_library (${HDF5_TEST_LIB_TARGET} STATIC ${TEST_LIB_SOURCES} ${TEST_LIB_HEADERS})
+ target_include_directories(${HDF5_TEST_LIB_TARGET}
+ PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};${HDF5_TEST_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>"
+@@ -38,7 +39,7 @@ if (MINGW)
+ endif ()
+ H5_SET_LIB_OPTIONS (${HDF5_TEST_LIB_TARGET} ${HDF5_TEST_LIB_NAME} STATIC 0)
+
+-if (BUILD_SHARED_LIBS)
++else()
+ add_library (${HDF5_TEST_LIBSH_TARGET} SHARED ${TEST_LIB_SOURCES} ${TEST_LIB_HEADERS})
+ target_include_directories(${HDF5_TEST_LIBSH_TARGET}
+ PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};${HDF5_TEST_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>"
+@@ -240,12 +241,13 @@ set (H5_TESTS
+ )
+
+ macro (ADD_H5_EXE file)
++ if (NOT BUILD_SHARED_LIBS)
+ add_executable (${file} ${HDF5_TEST_SOURCE_DIR}/${file}.c)
+ target_include_directories(${file} PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};${HDF5_TEST_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
+ TARGET_C_PROPERTIES (${file} STATIC)
+ target_link_libraries (${file} PRIVATE ${HDF5_TEST_LIB_TARGET})
+ set_target_properties (${file} PROPERTIES FOLDER test)
+- if (BUILD_SHARED_LIBS)
++ else()
+ add_executable (${file}-shared ${HDF5_TEST_SOURCE_DIR}/${file}.c)
+ target_include_directories(${file}-shared PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};${HDF5_TEST_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
+ TARGET_C_PROPERTIES (${file}-shared SHARED)
+@@ -272,12 +274,13 @@ endforeach ()
+ ##############################################################################
+ ######### Also special handling of link libs #############
+ #-- Adding test for direct_chunk
++if (NOT BUILD_SHARED_LIBS)
+ add_executable (direct_chunk ${HDF5_TEST_SOURCE_DIR}/direct_chunk.c)
+ target_include_directories(direct_chunk PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};${HDF5_TEST_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
+ TARGET_C_PROPERTIES (direct_chunk STATIC)
+ target_link_libraries (direct_chunk PRIVATE ${HDF5_TEST_LIB_TARGET} ${LINK_COMP_LIBS})
+ set_target_properties (direct_chunk PROPERTIES FOLDER test)
+-if (BUILD_SHARED_LIBS)
++else()
+ add_executable (direct_chunk-shared ${HDF5_TEST_SOURCE_DIR}/direct_chunk.c)
+ target_include_directories(direct_chunk-shared PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};${HDF5_TEST_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
+ TARGET_C_PROPERTIES (direct_chunk-shared SHARED)
+@@ -288,12 +291,13 @@ endif ()
+
+ ######### Special handling for multiple sources #############
+ #-- Adding test for testhdf5
++if (NOT BUILD_SHARED_LIBS)
+ add_executable (testhdf5 ${testhdf5_SOURCES})
+ target_include_directories(testhdf5 PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
+ TARGET_C_PROPERTIES (testhdf5 STATIC)
+ target_link_libraries (testhdf5 PRIVATE ${HDF5_TEST_LIB_TARGET})
+ set_target_properties (testhdf5 PROPERTIES FOLDER test)
+-if (BUILD_SHARED_LIBS)
++else()
+ add_executable (testhdf5-shared ${testhdf5_SOURCES})
+ target_include_directories(testhdf5-shared PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
+ TARGET_C_PROPERTIES (testhdf5-shared SHARED)
+@@ -302,12 +306,13 @@ if (BUILD_SHARED_LIBS)
+ endif ()
+
+ #-- Adding test for cache_image
++if (NOT BUILD_SHARED_LIBS)
+ add_executable (cache_image ${cache_image_SOURCES})
+ target_include_directories(cache_image PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
+ TARGET_C_PROPERTIES (cache_image STATIC)
+ target_link_libraries (cache_image PRIVATE ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
+ set_target_properties (cache_image PROPERTIES FOLDER test)
+-if (BUILD_SHARED_LIBS)
++else()
+ add_executable (cache_image-shared ${cache_image_SOURCES})
+ target_include_directories(cache_image-shared PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
+ TARGET_C_PROPERTIES (cache_image-shared SHARED)
+@@ -316,12 +321,13 @@ if (BUILD_SHARED_LIBS)
+ endif ()
+
+ #-- Adding test for ttsafe
++if (NOT BUILD_SHARED_LIBS)
+ add_executable (ttsafe ${ttsafe_SOURCES})
+ target_include_directories(ttsafe PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
+ TARGET_C_PROPERTIES (ttsafe STATIC)
+ target_link_libraries (ttsafe PRIVATE ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
+ set_target_properties (ttsafe PROPERTIES FOLDER test)
+-if (BUILD_SHARED_LIBS)
++else()
+ add_executable (ttsafe-shared ${ttsafe_SOURCES})
+ target_include_directories(ttsafe-shared PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
+ TARGET_C_PROPERTIES (ttsafe-shared SHARED)
+@@ -403,8 +409,9 @@ target_link_libraries (accum_swmr_reader PRIVATE ${HDF5_LIB_TARGET} ${HDF5_TEST_
+ set_target_properties (accum_swmr_reader PROPERTIES FOLDER test)
+
+ #-- Set accum dependencies
++if (NOT BUILD_SHARED_LIBS)
+ set_target_properties (accum PROPERTIES DEPENDS accum_swmr_reader)
+-if (BUILD_SHARED_LIBS)
++else()
+ set_target_properties (accum-shared PROPERTIES DEPENDS accum_swmr_reader)
+ endif ()
+
+@@ -429,12 +436,13 @@ endif ()
+ ### U S E C A S E S T E S T S
+ ##############################################################################
+ set (use_append_chunk_SOURCES ${HDF5_TEST_SOURCE_DIR}/use_append_chunk.c ${HDF5_TEST_SOURCE_DIR}/use_common.c)
++if (NOT BUILD_SHARED_LIBS)
+ add_executable (use_append_chunk ${use_append_chunk_SOURCES})
+ target_include_directories(use_append_chunk PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
+ TARGET_C_PROPERTIES (use_append_chunk STATIC)
+ target_link_libraries (use_append_chunk PRIVATE ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
+ set_target_properties (use_append_chunk PROPERTIES FOLDER test)
+-if (BUILD_SHARED_LIBS)
++else()
+ add_executable (use_append_chunk-shared ${use_append_chunk_SOURCES})
+ target_include_directories(use_append_chunk-shared PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
+ TARGET_C_PROPERTIES (use_append_chunk-shared SHARED)
+@@ -443,12 +451,13 @@ if (BUILD_SHARED_LIBS)
+ endif ()
+
+ set (use_append_mchunks_SOURCES ${HDF5_TEST_SOURCE_DIR}/use_append_mchunks.c ${HDF5_TEST_SOURCE_DIR}/use_common.c)
++if (NOT BUILD_SHARED_LIBS)
+ add_executable (use_append_mchunks ${use_append_mchunks_SOURCES})
+ target_include_directories(use_append_mchunks PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
+ TARGET_C_PROPERTIES (use_append_mchunks STATIC)
+ target_link_libraries (use_append_mchunks PRIVATE ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
+ set_target_properties (use_append_mchunks PROPERTIES FOLDER test)
+-if (BUILD_SHARED_LIBS)
++else()
+ add_executable (use_append_mchunks-shared ${use_append_mchunks_SOURCES})
+ target_include_directories(use_append_mchunks-shared PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
+ TARGET_C_PROPERTIES (use_append_mchunks-shared SHARED)
+@@ -457,12 +466,13 @@ if (BUILD_SHARED_LIBS)
+ endif ()
+
+ set (use_disable_mdc_flushes_SOURCES ${HDF5_TEST_SOURCE_DIR}/use_disable_mdc_flushes.c)
++if (NOT BUILD_SHARED_LIBS)
+ add_executable (use_disable_mdc_flushes ${use_disable_mdc_flushes_SOURCES})
+ target_include_directories(use_disable_mdc_flushes PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
+ TARGET_C_PROPERTIES (use_disable_mdc_flushes STATIC)
+ target_link_libraries (use_disable_mdc_flushes PRIVATE ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
+ set_target_properties (use_disable_mdc_flushes PROPERTIES FOLDER test)
+-if (BUILD_SHARED_LIBS)
++else()
+ add_executable (use_disable_mdc_flushes-shared ${use_disable_mdc_flushes_SOURCES})
+ target_include_directories(use_disable_mdc_flushes-shared PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
+ TARGET_C_PROPERTIES (use_disable_mdc_flushes-shared SHARED)
+diff --git a/hdf5-1.10.5/test/CMakeTests.cmake b/hdf5-1.10.5/test/CMakeTests.cmake
+index a8dd647..2501ff4 100644
+--- a/hdf5-1.10.5/test/CMakeTests.cmake
++++ b/hdf5-1.10.5/test/CMakeTests.cmake
+@@ -17,10 +17,11 @@
+ ##############################################################################
+
+ # make test dir
++if (NOT BUILD_SHARED_LIBS)
+ file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/H5TEST")
+ file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/H5TEST/testfiles")
+ file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/H5TEST/testfiles/plist_files")
+-if (BUILD_SHARED_LIBS)
++else()
+ file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/H5TEST-shared")
+ file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/H5TEST-shared/testfiles")
+ file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/H5TEST-shared/testfiles/plist_files")
+@@ -33,13 +34,14 @@ set (HDF5_TEST_FILES
+ tnullspace.h5
+ )
+
++if (NOT BUILD_SHARED_LIBS)
+ add_custom_command (
+ TARGET accum_swmr_reader
+ POST_BUILD
+ COMMAND ${CMAKE_COMMAND}
+ ARGS -E copy_if_different "$<TARGET_FILE:accum_swmr_reader>" "${PROJECT_BINARY_DIR}/H5TEST/accum_swmr_reader"
+ )
+-if (BUILD_SHARED_LIBS)
++else()
+ add_custom_command (
+ TARGET accum_swmr_reader
+ POST_BUILD
+@@ -49,8 +51,9 @@ if (BUILD_SHARED_LIBS)
+ endif ()
+
+ foreach (h5_tfile ${HDF5_TEST_FILES})
++ if (NOT BUILD_SHARED_LIBS)
+ HDFTEST_COPY_FILE("${HDF5_TOOLS_DIR}/testfiles/${h5_tfile}" "${PROJECT_BINARY_DIR}/H5TEST/${h5_tfile}" "HDF5_TEST_LIB_files")
+- if (BUILD_SHARED_LIBS)
++ else()
+ HDFTEST_COPY_FILE("${HDF5_TOOLS_DIR}/testfiles/${h5_tfile}" "${PROJECT_BINARY_DIR}/H5TEST-shared/${h5_tfile}" "HDF5_TEST_LIBSH_files")
+ endif ()
+ endforeach ()
+@@ -67,8 +70,9 @@ set (HDF5_REFERENCE_FILES
+ )
+
+ foreach (ref_file ${HDF5_REFERENCE_FILES})
++ if (NOT BUILD_SHARED_LIBS)
+ HDFTEST_COPY_FILE("${HDF5_TEST_SOURCE_DIR}/testfiles/${ref_file}" "${PROJECT_BINARY_DIR}/H5TEST/${ref_file}" "HDF5_TEST_LIB_files")
+- if (BUILD_SHARED_LIBS)
++ else()
+ HDFTEST_COPY_FILE("${HDF5_TEST_SOURCE_DIR}/testfiles/${ref_file}" "${PROJECT_BINARY_DIR}/H5TEST-shared/${ref_file}" "HDF5_TEST_LIBSH_files")
+ endif ()
+ endforeach ()
+@@ -128,9 +132,10 @@ set (HDF5_REFERENCE_PLIST_FILES
+ )
+
+ foreach (plistfile ${HDF5_REFERENCE_PLIST_FILES})
++ if (NOT BUILD_SHARED_LIBS)
+ HDFTEST_COPY_FILE("${HDF5_TEST_SOURCE_DIR}/testfiles/plist_files/${plistfile}" "${PROJECT_BINARY_DIR}/H5TEST/testfiles/plist_files/${plistfile}" "HDF5_TEST_LIB_files")
+ HDFTEST_COPY_FILE("${HDF5_TEST_SOURCE_DIR}/testfiles/plist_files/def_${plistfile}" "${PROJECT_BINARY_DIR}/H5TEST/testfiles/plist_files/def_${plistfile}" "HDF5_TEST_LIB_files")
+- if (BUILD_SHARED_LIBS)
++ else()
+ HDFTEST_COPY_FILE("${HDF5_TEST_SOURCE_DIR}/testfiles/plist_files/${plistfile}" "${PROJECT_BINARY_DIR}/H5TEST-shared/testfiles/plist_files/${plistfile}" "HDF5_TEST_LIBSH_files")
+ HDFTEST_COPY_FILE("${HDF5_TEST_SOURCE_DIR}/testfiles/plist_files/def_${plistfile}" "${PROJECT_BINARY_DIR}/H5TEST-shared/testfiles/plist_files/def_${plistfile}" "HDF5_TEST_LIBSH_files")
+ endif ()
+@@ -193,18 +198,21 @@ set (HDF5_REFERENCE_TEST_FILES
+ )
+
+ foreach (h5_file ${HDF5_REFERENCE_TEST_FILES})
++ if (NOT BUILD_SHARED_LIBS)
+ HDFTEST_COPY_FILE("${HDF5_TEST_SOURCE_DIR}/${h5_file}" "${HDF5_TEST_BINARY_DIR}/H5TEST/${h5_file}" "HDF5_TEST_LIB_files")
+- if (BUILD_SHARED_LIBS)
++ else()
+ HDFTEST_COPY_FILE("${HDF5_TEST_SOURCE_DIR}/${h5_file}" "${HDF5_TEST_BINARY_DIR}/H5TEST-shared/${h5_file}" "HDF5_TEST_LIBSH_files")
+ endif ()
+ endforeach ()
+
++if (NOT BUILD_SHARED_LIBS)
+ add_custom_target(HDF5_TEST_LIB_files ALL COMMENT "Copying files needed by HDF5_TEST_LIB tests" DEPENDS ${HDF5_TEST_LIB_files_list})
+-if (BUILD_SHARED_LIBS)
++else()
+ add_custom_target(HDF5_TEST_LIBSH_files ALL COMMENT "Copying files needed by HDF5_TEST_LIBSH tests" DEPENDS ${HDF5_TEST_LIBSH_files_list})
+ endif ()
+
+ # Remove any output file left over from previous test run
++if (NOT BUILD_SHARED_LIBS)
+ add_test (NAME H5TEST-clear-testhdf5-objects
+ COMMAND ${CMAKE_COMMAND}
+ -E remove
+@@ -255,6 +263,7 @@ set_tests_properties (H5TEST-testhdf5-select PROPERTIES
+ ENVIRONMENT "HDF5_ALARM_SECONDS=3600;srcdir=${HDF5_TEST_BINARY_DIR}/H5TEST"
+ WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST
+ )
++else()
+ if (NOT HDF5_ENABLE_USING_MEMCHECKER)
+ if (BUILD_SHARED_LIBS)
+ add_test (NAME H5TEST-shared-clear-testhdf5-objects
+@@ -528,6 +537,7 @@ set (test_CLEANFILES
+ )
+
+ # Remove any output file left over from previous test run
++if (NOT BUILD_SHARED_LIBS)
+ add_test (NAME H5TEST-clear-objects
+ COMMAND ${CMAKE_COMMAND}
+ -E remove
+@@ -584,7 +594,7 @@ set_tests_properties (H5TEST-big PROPERTIES TIMEOUT ${CTEST_VERY_LONG_TIMEOUT})
+ set_tests_properties (H5TEST-btree2 PROPERTIES TIMEOUT ${CTEST_VERY_LONG_TIMEOUT})
+ set_tests_properties (H5TEST-objcopy PROPERTIES TIMEOUT ${CTEST_VERY_LONG_TIMEOUT})
+
+-if (BUILD_SHARED_LIBS)
++else()
+ # Remove any output file left over from previous test run
+ add_test (NAME H5TEST-shared-clear-objects
+ COMMAND ${CMAKE_COMMAND}
+@@ -661,6 +671,7 @@ endif ()
+
+ if (TEST_CACHE_IMAGE)
+ #-- Adding test for cache_image
++if (NOT BUILD_SHARED_LIBS)
+ add_test (
+ NAME H5TEST-clear-cache_image-objects
+ COMMAND ${CMAKE_COMMAND}
+@@ -678,7 +689,7 @@ set_tests_properties (H5TEST-cache_image PROPERTIES
+ )
+ endif ()
+
+-if (BUILD_SHARED_LIBS)
++else()
+ #-- Adding test for cache
+ if (NOT CYGWIN AND NOT WIN32)
+ add_test (NAME H5TEST-shared-clear-cache-objects
+@@ -845,6 +856,7 @@ set_tests_properties (H5TEST-del_many_dense_attrs PROPERTIES
+ )
+
+ #-- Adding test for err_compat
++if (NOT BUILD_SHARED_LIBS)
+ if (HDF5_ENABLE_DEPRECATED_SYMBOLS)
+ add_test (NAME H5TEST-clear-err_compat-objects
+ COMMAND ${CMAKE_COMMAND}
+@@ -945,7 +957,7 @@ add_test (NAME H5TEST-testlibinfo
+ ${HDF5_TEST_BINARY_DIR}/H5TEST
+ )
+
+-if (BUILD_SHARED_LIBS)
++else()
+ #-- Adding test for err_compat
+ if (HDF5_ENABLE_DEPRECATED_SYMBOLS)
+ add_test (NAME H5TEST-shared-clear-err_compat-objects
+@@ -1093,8 +1105,9 @@ if (ENABLE_EXTENDED_TESTS)
+ # add_test (NAME H5Test-swmr_check_compat_vfd COMMAND $<TARGET_FILE:swmr_check_compat_vfd>)
+
+ #-- Adding test for flushrefresh
++ if (NOT BUILD_SHARED_LIBS)
+ file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/H5TEST/flushrefresh_test")
+- if (BUILD_SHARED_LIBS)
++ else()
+ file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/H5TEST-shared/flushrefresh_test")
+ endif ()
+ find_package (Perl)
+diff --git a/hdf5-1.10.5/test/CMakeVFDTests.cmake b/hdf5-1.10.5/test/CMakeVFDTests.cmake
+index 569f215..a445c1d 100644
+--- a/hdf5-1.10.5/test/CMakeVFDTests.cmake
++++ b/hdf5-1.10.5/test/CMakeVFDTests.cmake
+@@ -31,10 +31,11 @@ if (DIRECT_VFD)
+ endif ()
+
+ foreach (vfdtest ${VFD_LIST})
++ if (NOT BUILD_SHARED_LIBS)
+ file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/${vfdtest}")
+ file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/${vfdtest}/testfiles")
+ file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/${vfdtest}/testfiles/plist_files")
+- if (BUILD_SHARED_LIBS)
++ else()
+ file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/${vfdtest}-shared")
+ file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/${vfdtest}-shared/testfiles")
+ file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/${vfdtest}-shared/testfiles/plist_files")
+@@ -43,8 +44,9 @@ endforeach ()
+
+ foreach (vfdtest ${VFD_LIST})
+ foreach (h5_tfile ${HDF5_TEST_FILES})
++ if (NOT BUILD_SHARED_LIBS)
+ HDFTEST_COPY_FILE("${HDF5_TOOLS_DIR}/testfiles/${h5_tfile}" "${PROJECT_BINARY_DIR}/${vfdtest}/${h5_tfile}" "HDF5_VFDTEST_LIB_files")
+- if (BUILD_SHARED_LIBS)
++ else()
+ HDFTEST_COPY_FILE("${HDF5_TOOLS_DIR}/testfiles/${h5_tfile}" "${PROJECT_BINARY_DIR}/${vfdtest}-shared/${h5_tfile}" "HDF5_VFDTEST_LIBSH_files")
+ endif ()
+ endforeach ()
+@@ -52,8 +54,9 @@ endforeach ()
+
+ foreach (vfdtest ${VFD_LIST})
+ foreach (ref_file ${HDF5_REFERENCE_FILES})
++ if (NOT BUILD_SHARED_LIBS)
+ HDFTEST_COPY_FILE("${HDF5_TEST_SOURCE_DIR}/testfiles/${ref_file}" "${PROJECT_BINARY_DIR}/${vfdtest}/${ref_file}" "HDF5_VFDTEST_LIB_files")
+- if (BUILD_SHARED_LIBS)
++ else()
+ HDFTEST_COPY_FILE("${HDF5_TEST_SOURCE_DIR}/testfiles/${ref_file}" "${PROJECT_BINARY_DIR}/${vfdtest}-shared/${ref_file}" "HDF5_VFDTEST_LIBSH_files")
+ endif ()
+ endforeach ()
+@@ -61,8 +64,9 @@ endforeach ()
+
+ foreach (vfdtest ${VFD_LIST})
+ foreach (h5_file ${HDF5_REFERENCE_TEST_FILES})
++ if (NOT BUILD_SHARED_LIBS)
+ HDFTEST_COPY_FILE("${HDF5_TEST_SOURCE_DIR}/${h5_file}" "${HDF5_TEST_BINARY_DIR}/${vfdtest}/${h5_file}" "HDF5_VFDTEST_LIB_files")
+- if (BUILD_SHARED_LIBS)
++ else()
+ HDFTEST_COPY_FILE("${HDF5_TEST_SOURCE_DIR}/${h5_file}" "${HDF5_TEST_BINARY_DIR}/${vfdtest}-shared/${h5_file}" "HDF5_VFDTEST_LIBSH_files")
+ endif ()
+ endforeach ()
+@@ -70,17 +74,19 @@ endforeach ()
+
+ foreach (vfdtest ${VFD_LIST})
+ foreach (plistfile ${HDF5_REFERENCE_PLIST_FILES})
++ if (NOT BUILD_SHARED_LIBS)
+ HDFTEST_COPY_FILE("${HDF5_TEST_SOURCE_DIR}/testfiles/plist_files/${plistfile}" "${PROJECT_BINARY_DIR}/${vfdtest}/testfiles/plist_files/${plistfile}" "HDF5_VFDTEST_LIB_files")
+ HDFTEST_COPY_FILE("${HDF5_TEST_SOURCE_DIR}/testfiles/plist_files/def_${plistfile}" "${PROJECT_BINARY_DIR}/${vfdtest}/testfiles/plist_files/def_${plistfile}" "HDF5_VFDTEST_LIB_files")
+- if (BUILD_SHARED_LIBS)
++ else()
+ HDFTEST_COPY_FILE("${HDF5_TEST_SOURCE_DIR}/testfiles/plist_files/${plistfile}" "${PROJECT_BINARY_DIR}/${vfdtest}-shared/testfiles/plist_files/${plistfile}" "HDF5_VFDTEST_LIBSH_files")
+ HDFTEST_COPY_FILE("${HDF5_TEST_SOURCE_DIR}/testfiles/plist_files/def_${plistfile}" "${PROJECT_BINARY_DIR}/${vfdtest}-shared/testfiles/plist_files/def_${plistfile}" "HDF5_VFDTEST_LIBSH_files")
+ endif ()
+ endforeach ()
+ endforeach ()
+
++if (NOT BUILD_SHARED_LIBS)
+ add_custom_target(HDF5_VFDTEST_LIB_files ALL COMMENT "Copying files needed by HDF5_VFDTEST_LIB tests" DEPENDS ${HDF5_VFDTEST_LIB_files_list})
+-if (BUILD_SHARED_LIBS)
++else()
+ add_custom_target(HDF5_VFDTEST_LIBSH_files ALL COMMENT "Copying files needed by HDF5_VFDTEST_LIBSH tests" DEPENDS ${HDF5_VFDTEST_LIBSH_files_list})
+ endif ()
+
+@@ -159,16 +165,18 @@ endif ()
+ )
+ endif ()
+ else ()
++ if (NOT BUILD_SHARED_LIBS)
+ add_test (NAME VFD-${vfdname}-${vfdtest}
+ COMMAND ${CMAKE_COMMAND} -E echo "SKIP VFD-${vfdname}-${vfdtest}"
+ )
+- if (BUILD_SHARED_LIBS)
++ else()
+ add_test (NAME VFD-${vfdname}-${test}-shared
+ COMMAND ${CMAKE_COMMAND} -E echo "SKIP VFD-${vfdname}-${vfdtest}-shared"
+ )
+ endif ()
+ endif ()
+ else ()
++ if (NOT BUILD_SHARED_LIBS)
+ add_test (
+ NAME VFD-${vfdname}-${vfdtest}-clear-objects
+ COMMAND ${CMAKE_COMMAND}
+@@ -191,7 +199,7 @@ endif ()
+ ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/${vfdname}"
+ WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/${vfdname}
+ )
+- if (BUILD_SHARED_LIBS)
++ else()
+ add_test (
+ NAME VFD-${vfdname}-${vfdtest}-shared-clear-objects
+ COMMAND ${CMAKE_COMMAND}
+@@ -217,6 +225,7 @@ endif ()
+ endif ()
+ endif ()
+ else ()
++ if (NOT BUILD_SHARED_LIBS)
+ add_test (
+ NAME VFD-${vfdname}-${vfdtest}-clear-objects
+ COMMAND ${CMAKE_COMMAND}
+@@ -239,7 +248,7 @@ endif ()
+ ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/${vfdname};HDF5TestExpress=${HDF_TEST_EXPRESS}"
+ WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/${vfdname}
+ )
+- if (BUILD_SHARED_LIBS AND NOT "${vfdtest}" STREQUAL "cache")
++ elseif (BUILD_SHARED_LIBS AND NOT "${vfdtest}" STREQUAL "cache")
+ add_test (
+ NAME VFD-${vfdname}-${vfdtest}-shared-clear-objects
+ COMMAND ${CMAKE_COMMAND}
+@@ -267,6 +276,7 @@ endif ()
+ endmacro ()
+
+ macro (DO_VFD_TEST vfdtest vfdname resultcode)
++ if (NOT BUILD_SHARED_LIBS)
+ add_test (
+ NAME VFD-${vfdname}-${vfdtest}-clear-objects
+ COMMAND ${CMAKE_COMMAND}
+@@ -289,7 +299,7 @@ endif ()
+ ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/${vfdname}"
+ WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/${vfdname}
+ )
+- if (BUILD_SHARED_LIBS)
++ else()
+ add_test (
+ NAME VFD-${vfdname}-${vfdtest}-shared-clear-objects
+ COMMAND ${CMAKE_COMMAND}
+@@ -325,6 +335,7 @@ endif ()
+ endif ()
+ endif ()
+ endforeach ()
++ if (NOT BUILD_SHARED_LIBS)
+ set_tests_properties (VFD-${vfdname}-flush2 PROPERTIES DEPENDS VFD-${vfdname}-flush1)
+ set_tests_properties (VFD-${vfdname}-flush1 PROPERTIES TIMEOUT 10)
+ set_tests_properties (VFD-${vfdname}-flush2 PROPERTIES TIMEOUT 10)
+@@ -332,7 +343,7 @@ endif ()
+ if (NOT CYGWIN)
+ set_tests_properties (VFD-${vfdname}-cache PROPERTIES TIMEOUT ${CTEST_VERY_LONG_TIMEOUT})
+ endif ()
+- if (BUILD_SHARED_LIBS)
++ else()
+ set_tests_properties (VFD-${vfdname}-flush2-shared PROPERTIES DEPENDS VFD-${vfdname}-flush1-shared)
+ set_tests_properties (VFD-${vfdname}-flush1-shared PROPERTIES TIMEOUT 10)
+ set_tests_properties (VFD-${vfdname}-flush2-shared PROPERTIES TIMEOUT 10)
+@@ -342,6 +353,7 @@ endif ()
+ endif ()
+ endif ()
+ if (HDF5_TEST_FHEAP_VFD)
++ if (NOT BUILD_SHARED_LIBS)
+ add_test (
+ NAME VFD-${vfdname}-fheap-clear-objects
+ COMMAND ${CMAKE_COMMAND}
+@@ -365,7 +377,7 @@ endif ()
+ ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/${vfdname};HDF5TestExpress=${HDF_TEST_EXPRESS}"
+ WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/${vfdname}
+ )
+- if (BUILD_SHARED_LIBS)
++ else()
+ add_test (
+ NAME VFD-${vfdname}-fheap-shared-clear-objects
+ COMMAND ${CMAKE_COMMAND}
+diff --git a/hdf5-1.10.5/tools/lib/CMakeLists.txt b/hdf5-1.10.5/tools/lib/CMakeLists.txt
+index 1596ea7..ae5c2d2 100644
+--- a/hdf5-1.10.5/tools/lib/CMakeLists.txt
++++ b/hdf5-1.10.5/tools/lib/CMakeLists.txt
+@@ -32,6 +32,7 @@ set (H5_TOOLS_LIB_HDRS
+ ${HDF5_TOOLS_LIB_SOURCE_DIR}/h5diff.h
+ )
+
++if (NOT BUILD_SHARED_LIBS)
+ add_library (${HDF5_TOOLS_LIB_TARGET} STATIC ${H5_TOOLS_LIB_SOURCES} ${H5_TOOLS_LIB_HDRS})
+ target_include_directories(${HDF5_TOOLS_LIB_TARGET}
+ PRIVATE "${HDF5_TOOLS_LIB_SOURCE_DIR};${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>"
+@@ -48,7 +49,7 @@ H5_SET_LIB_OPTIONS (${HDF5_TOOLS_LIB_TARGET} ${HDF5_TOOLS_LIB_NAME} STATIC 0)
+ set_target_properties (${HDF5_TOOLS_LIB_TARGET} PROPERTIES FOLDER libraries/tools)
+ set (install_targets ${HDF5_TOOLS_LIB_TARGET})
+
+-if (BUILD_SHARED_LIBS)
++else()
+ add_library (${HDF5_TOOLS_LIBSH_TARGET} SHARED ${H5_TOOLS_LIB_SOURCES} ${H5_TOOLS_LIB_HDRS})
+ target_include_directories(${HDF5_TOOLS_LIBSH_TARGET}
+ PRIVATE "${HDF5_TOOLS_LIB_SOURCE_DIR};${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>"
+@@ -81,9 +82,10 @@ endif ()
+ if (HDF5_EXPORTED_TARGETS)
+ if (BUILD_SHARED_LIBS)
+ INSTALL_TARGET_PDB (${HDF5_TOOLS_LIBSH_TARGET} ${HDF5_INSTALL_BIN_DIR} toolslibraries)
+- endif ()
++ else ()
+ INSTALL_TARGET_PDB (${HDF5_TOOLS_LIB_TARGET} ${HDF5_INSTALL_BIN_DIR} toolslibraries)
+-
++ endif()
++
+ install (
+ TARGETS
+ ${install_targets}
+diff --git a/hdf5-1.10.5/tools/src/h5copy/CMakeLists.txt b/hdf5-1.10.5/tools/src/h5copy/CMakeLists.txt
+index 10b3f3d..d801ffc 100644
+--- a/hdf5-1.10.5/tools/src/h5copy/CMakeLists.txt
++++ b/hdf5-1.10.5/tools/src/h5copy/CMakeLists.txt
+@@ -4,6 +4,7 @@ project (HDF5_TOOLS_SRC_H5COPY C)
+ # --------------------------------------------------------------------
+ # Add the h5copy and test executables
+ # --------------------------------------------------------------------
++if (NOT BUILD_SHARED_LIBS)
+ add_executable (h5copy ${HDF5_TOOLS_SRC_H5COPY_SOURCE_DIR}/h5copy.c)
+ target_include_directories(h5copy PRIVATE "${HDF5_TOOLS_DIR}/lib;${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
+ TARGET_C_PROPERTIES (h5copy STATIC)
+@@ -13,7 +14,7 @@ set_global_variable (HDF5_UTILS_TO_EXPORT "${HDF5_UTILS_TO_EXPORT};h5copy")
+
+ set (H5_DEP_EXECUTABLES h5copy)
+
+-if (BUILD_SHARED_LIBS)
++else()
+ add_executable (h5copy-shared ${HDF5_TOOLS_SRC_H5COPY_SOURCE_DIR}/h5copy.c)
+ target_include_directories(h5copy-shared PRIVATE "${HDF5_TOOLS_DIR}/lib;${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
+ TARGET_C_PROPERTIES (h5copy-shared SHARED)
+diff --git a/hdf5-1.10.5/tools/src/h5diff/CMakeLists.txt b/hdf5-1.10.5/tools/src/h5diff/CMakeLists.txt
+index 671e6b6..2ab5a3a 100644
+--- a/hdf5-1.10.5/tools/src/h5diff/CMakeLists.txt
++++ b/hdf5-1.10.5/tools/src/h5diff/CMakeLists.txt
+@@ -4,6 +4,7 @@ project (HDF5_TOOLS_SRC_H5DIFF C)
+ # --------------------------------------------------------------------
+ # Add the h5diff executables
+ # --------------------------------------------------------------------
++if (NOT BUILD_SHARED_LIBS)
+ add_executable (h5diff
+ ${HDF5_TOOLS_SRC_H5DIFF_SOURCE_DIR}/h5diff_common.c
+ ${HDF5_TOOLS_SRC_H5DIFF_SOURCE_DIR}/h5diff_main.c
+@@ -16,7 +17,7 @@ set_global_variable (HDF5_UTILS_TO_EXPORT "${HDF5_UTILS_TO_EXPORT};h5diff")
+
+ set (H5_DEP_EXECUTABLES h5diff)
+
+-if (BUILD_SHARED_LIBS)
++else()
+ add_executable (h5diff-shared
+ ${HDF5_TOOLS_SRC_H5DIFF_SOURCE_DIR}/h5diff_common.c
+ ${HDF5_TOOLS_SRC_H5DIFF_SOURCE_DIR}/h5diff_main.c
+diff --git a/hdf5-1.10.5/tools/src/h5dump/CMakeLists.txt b/hdf5-1.10.5/tools/src/h5dump/CMakeLists.txt
+index 25166c7..4038ecd 100644
+--- a/hdf5-1.10.5/tools/src/h5dump/CMakeLists.txt
++++ b/hdf5-1.10.5/tools/src/h5dump/CMakeLists.txt
+@@ -4,6 +4,7 @@ project (HDF5_TOOLS_SRC_H5DUMP C)
+ # --------------------------------------------------------------------
+ # Add the h5dump executables
+ # --------------------------------------------------------------------
++if (NOT BUILD_SHARED_LIBS)
+ add_executable (h5dump
+ ${HDF5_TOOLS_SRC_H5DUMP_SOURCE_DIR}/h5dump.c
+ ${HDF5_TOOLS_SRC_H5DUMP_SOURCE_DIR}/h5dump_ddl.c
+@@ -17,7 +18,7 @@ set_global_variable (HDF5_UTILS_TO_EXPORT "${HDF5_UTILS_TO_EXPORT};h5dump")
+
+ set (H5_DEP_EXECUTABLES h5dump)
+
+-if (BUILD_SHARED_LIBS)
++else()
+ add_executable (h5dump-shared
+ ${HDF5_TOOLS_SRC_H5DUMP_SOURCE_DIR}/h5dump.c
+ ${HDF5_TOOLS_SRC_H5DUMP_SOURCE_DIR}/h5dump_ddl.c
+diff --git a/hdf5-1.10.5/tools/src/h5ls/CMakeLists.txt b/hdf5-1.10.5/tools/src/h5ls/CMakeLists.txt
+index 5b31b84..b9d7fc2 100644
+--- a/hdf5-1.10.5/tools/src/h5ls/CMakeLists.txt
++++ b/hdf5-1.10.5/tools/src/h5ls/CMakeLists.txt
+@@ -4,6 +4,7 @@ project (HDF5_TOOLS_SRC_H5LS C)
+ #-----------------------------------------------------------------------------
+ # Add the h5ls executable
+ #-----------------------------------------------------------------------------
++if (NOT BUILD_SHARED_LIBS)
+ add_executable (h5ls ${HDF5_TOOLS_SRC_H5LS_SOURCE_DIR}/h5ls.c)
+ target_include_directories(h5ls PRIVATE "${HDF5_TOOLS_DIR}/lib;${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
+ TARGET_C_PROPERTIES (h5ls STATIC)
+@@ -13,7 +14,7 @@ set_global_variable (HDF5_UTILS_TO_EXPORT "${HDF5_UTILS_TO_EXPORT};h5ls")
+
+ set (H5_DEP_EXECUTABLES h5ls)
+
+-if (BUILD_SHARED_LIBS)
++else()
+ add_executable (h5ls-shared ${HDF5_TOOLS_SRC_H5LS_SOURCE_DIR}/h5ls.c)
+ target_include_directories(h5ls-shared PRIVATE "${HDF5_TOOLS_DIR}/lib;${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
+ TARGET_C_PROPERTIES (h5ls-shared SHARED)
+diff --git a/hdf5-1.10.5/tools/src/h5repack/CMakeLists.txt b/hdf5-1.10.5/tools/src/h5repack/CMakeLists.txt
+index c0cd558..8106221 100644
+--- a/hdf5-1.10.5/tools/src/h5repack/CMakeLists.txt
++++ b/hdf5-1.10.5/tools/src/h5repack/CMakeLists.txt
+@@ -14,6 +14,7 @@ set (REPACK_COMMON_SOURCES
+ ${HDF5_TOOLS_SRC_H5REPACK_SOURCE_DIR}/h5repack.c
+ )
+
++if (NOT BUILD_SHARED_LIBS)
+ add_executable (h5repack ${REPACK_COMMON_SOURCES} ${HDF5_TOOLS_SRC_H5REPACK_SOURCE_DIR}/h5repack_main.c)
+ target_include_directories(h5repack PRIVATE "${HDF5_TOOLS_DIR}/lib;${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
+ TARGET_C_PROPERTIES (h5repack STATIC)
+@@ -23,7 +24,7 @@ set_global_variable (HDF5_UTILS_TO_EXPORT "${HDF5_UTILS_TO_EXPORT};h5repack")
+
+ set (H5_DEP_EXECUTABLES h5repack)
+
+-if (BUILD_SHARED_LIBS)
++else()
+ add_executable (h5repack-shared ${REPACK_COMMON_SOURCES} ${HDF5_TOOLS_SRC_H5REPACK_SOURCE_DIR}/h5repack_main.c)
+ target_include_directories(h5repack-shared PRIVATE "${HDF5_TOOLS_DIR}/lib;${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
+ TARGET_C_PROPERTIES (h5repack-shared SHARED)
+diff --git a/hdf5-1.10.5/tools/src/h5stat/CMakeLists.txt b/hdf5-1.10.5/tools/src/h5stat/CMakeLists.txt
+index 56c172c..f38b217 100644
+--- a/hdf5-1.10.5/tools/src/h5stat/CMakeLists.txt
++++ b/hdf5-1.10.5/tools/src/h5stat/CMakeLists.txt
+@@ -4,6 +4,7 @@ project (HDF5_TOOLS_SRC_H5STAT C)
+ # --------------------------------------------------------------------
+ # Add the h5stat executables
+ # --------------------------------------------------------------------
++if (NOT BUILD_SHARED_LIBS)
+ add_executable (h5stat ${HDF5_TOOLS_SRC_H5STAT_SOURCE_DIR}/h5stat.c)
+ target_include_directories(h5stat PRIVATE "${HDF5_TOOLS_DIR}/lib;${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
+ TARGET_C_PROPERTIES (h5stat STATIC)
+@@ -13,7 +14,7 @@ set_global_variable (HDF5_UTILS_TO_EXPORT "${HDF5_UTILS_TO_EXPORT};h5stat")
+
+ set (H5_DEP_EXECUTABLES h5stat)
+
+-if (BUILD_SHARED_LIBS)
++else()
+ add_executable (h5stat-shared ${HDF5_TOOLS_SRC_H5STAT_SOURCE_DIR}/h5stat.c)
+ target_include_directories(h5stat-shared PRIVATE "${HDF5_TOOLS_DIR}/lib;${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
+ TARGET_C_PROPERTIES (h5stat-shared SHARED)
+diff --git a/hdf5-1.10.5/tools/test/h5copy/CMakeLists.txt b/hdf5-1.10.5/tools/test/h5copy/CMakeLists.txt
+index a71a12a..26dc455 100644
+--- a/hdf5-1.10.5/tools/test/h5copy/CMakeLists.txt
++++ b/hdf5-1.10.5/tools/test/h5copy/CMakeLists.txt
+@@ -4,7 +4,7 @@ project (HDF5_TOOLS_TEST_H5COPY C)
+ # --------------------------------------------------------------------
+ # Add the h5copy test executables
+ # --------------------------------------------------------------------
+-if (HDF5_BUILD_GENERATORS)
++if (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
+ add_executable (h5copygentest ${HDF5_TOOLS_TEST_H5COPY_SOURCE_DIR}/h5copygentest.c)
+ target_include_directories(h5copygentest PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
+ TARGET_C_PROPERTIES (h5copygentest STATIC)
+diff --git a/hdf5-1.10.5/tools/test/h5diff/CMakeLists.txt b/hdf5-1.10.5/tools/test/h5diff/CMakeLists.txt
+index c0aac36..e4e8c4f 100644
+--- a/hdf5-1.10.5/tools/test/h5diff/CMakeLists.txt
++++ b/hdf5-1.10.5/tools/test/h5diff/CMakeLists.txt
+@@ -4,7 +4,7 @@ project (HDF5_TOOLS_TEST_H5DIFF C)
+ # --------------------------------------------------------------------
+ # Add the h5diff and test executables
+ # --------------------------------------------------------------------
+-if (HDF5_BUILD_GENERATORS)
++if (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
+ add_executable (h5diffgentest ${HDF5_TOOLS_TEST_H5DIFF_SOURCE_DIR}/h5diffgentest.c)
+ target_include_directories(h5diffgentest PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
+ TARGET_C_PROPERTIES (h5diffgentest STATIC)
+diff --git a/hdf5-1.10.5/tools/test/h5dump/CMakeLists.txt b/hdf5-1.10.5/tools/test/h5dump/CMakeLists.txt
+index 51938ae..9ae9477 100644
+--- a/hdf5-1.10.5/tools/test/h5dump/CMakeLists.txt
++++ b/hdf5-1.10.5/tools/test/h5dump/CMakeLists.txt
+@@ -33,7 +33,7 @@ endif ()
+ # --------------------------------------------------------------------
+ # Add the h5dump test executable
+ # --------------------------------------------------------------------
+-if (HDF5_BUILD_GENERATORS)
++if (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
+ add_executable (h5dumpgentest ${HDF5_TOOLS_TEST_H5DUMP_SOURCE_DIR}/h5dumpgentest.c)
+ target_include_directories(h5dumpgentest PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
+ TARGET_C_PROPERTIES (h5dumpgentest STATIC)
+diff --git a/hdf5-1.10.5/tools/test/h5repack/CMakeLists.txt b/hdf5-1.10.5/tools/test/h5repack/CMakeLists.txt
+index 890d5d2..3c25afe 100644
+--- a/hdf5-1.10.5/tools/test/h5repack/CMakeLists.txt
++++ b/hdf5-1.10.5/tools/test/h5repack/CMakeLists.txt
+@@ -4,6 +4,7 @@ project (HDF5_TOOLS_TEST_H5REPACK C)
+ # --------------------------------------------------------------------
+ # Add h5Repack test executables
+ # --------------------------------------------------------------------
++if (NOT BUILD_SHARED_LIBS)
+ add_executable (testh5repack_detect_szip ${HDF5_TOOLS_TEST_H5REPACK_SOURCE_DIR}/testh5repack_detect_szip.c)
+ target_include_directories(testh5repack_detect_szip
+ PRIVATE "${HDF5_TOOLS_SRC_H5REPACK_SOURCE_DIR};${HDF5_TOOLS_DIR}/lib;${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>"
+@@ -32,7 +33,7 @@ set_target_properties (h5repacktest PROPERTIES FOLDER tools)
+ #-----------------------------------------------------------------------------
+ # If plugin library tests can be tested
+ #-----------------------------------------------------------------------------
+-if (BUILD_SHARED_LIBS)
++else()
+ set (HDF5_TOOL_PLUGIN_LIB_CORENAME "dynlibadd")
+ set (HDF5_TOOL_PLUGIN_LIB_NAME "${HDF5_EXTERNAL_LIB_PREFIX}${HDF5_TOOL_PLUGIN_LIB_CORENAME}")
+ set (HDF5_TOOL_PLUGIN_LIB_TARGET ${HDF5_TOOL_PLUGIN_LIB_CORENAME})
diff --git a/ports/hdf5/hdf5_config.patch b/ports/hdf5/hdf5_config.patch index 012424cf1..c9966b30f 100644 --- a/ports/hdf5/hdf5_config.patch +++ b/ports/hdf5/hdf5_config.patch @@ -1,28 +1,24 @@ -diff --git a/hdf5-config.cmake.in_old b/hdf5-config.cmake.in -index 3bd9e1dc..d95897d3 100644 ---- a/hdf5-1.10.5/config/cmake/hdf5-config.cmake.in -+++ b/hdf5-1.10.5/config/cmake/hdf5-config.cmake.in -@@ -108,11 +108,19 @@ set (HDF5_VERSION_MINOR @HDF5_VERSION_MINOR@) - # project which has already built hdf5 as a subproject - #----------------------------------------------------------------------------- - if (NOT TARGET "@HDF5_PACKAGE@") -- if (${HDF5_PACKAGE_NAME}_ENABLE_Z_LIB_SUPPORT AND ${HDF5_PACKAGE_NAME}_PACKAGE_EXTLIBS AND NOT TARGET "zlib") -- include (@PACKAGE_SHARE_INSTALL_DIR@/@ZLIB_PACKAGE_NAME@/@ZLIB_PACKAGE_NAME@@HDF_PACKAGE_EXT@-targets.cmake) -+ if (${HDF5_PACKAGE_NAME}_ENABLE_Z_LIB_SUPPORT AND NOT TARGET "zlib") -+ if(${HDF5_PACKAGE_NAME}_PACKAGE_EXTLIBS) -+ #include (@PACKAGE_SHARE_INSTALL_DIR@/@ZLIB_PACKAGE_NAME@/@ZLIB_PACKAGE_NAME@@HDF_PACKAGE_EXT@-targets.cmake) -+ else() -+ #find_package(@ZLIB_PACKAGE_NAME@ REQUIRED) -+ endif() - endif () -- if (${HDF5_PACKAGE_NAME}_ENABLE_SZIP_SUPPORT AND ${HDF5_PACKAGE_NAME}_PACKAGE_EXTLIBS AND NOT TARGET "szip") -- include (@PACKAGE_SHARE_INSTALL_DIR@/@SZIP_PACKAGE_NAME@/@SZIP_PACKAGE_NAME@@HDF_PACKAGE_EXT@-targets.cmake) -+ if (${HDF5_PACKAGE_NAME}_ENABLE_SZIP_SUPPORT AND NOT TARGET "szip") -+ if(${HDF5_PACKAGE_NAME}_PACKAGE_EXTLIBS) -+ include (@PACKAGE_SHARE_INSTALL_DIR@/@SZIP_PACKAGE_NAME@/@SZIP_PACKAGE_NAME@@HDF_PACKAGE_EXT@-targets.cmake) -+ else() -+ find_package(@SZIP_PACKAGE_NAME@ REQUIRED) -+ endif() - endif () - include (@PACKAGE_SHARE_INSTALL_DIR@/@HDF5_PACKAGE@/@HDF5_PACKAGE@@HDF_PACKAGE_EXT@-targets.cmake) - endif () +diff --git a/hdf5-1.10.5/config/cmake/hdf5-config.cmake.in b/hdf5-1.10.5/config/cmake/hdf5-config.cmake.in
+index 3bd9e1d..7f6699c 100644
+--- a/hdf5-1.10.5/config/cmake/hdf5-config.cmake.in
++++ b/hdf5-1.10.5/config/cmake/hdf5-config.cmake.in
+@@ -108,11 +108,15 @@ set (HDF5_VERSION_MINOR @HDF5_VERSION_MINOR@)
+ # project which has already built hdf5 as a subproject
+ #-----------------------------------------------------------------------------
+ if (NOT TARGET "@HDF5_PACKAGE@")
+- if (${HDF5_PACKAGE_NAME}_ENABLE_Z_LIB_SUPPORT AND ${HDF5_PACKAGE_NAME}_PACKAGE_EXTLIBS AND NOT TARGET "zlib")
+- include (@PACKAGE_SHARE_INSTALL_DIR@/@ZLIB_PACKAGE_NAME@/@ZLIB_PACKAGE_NAME@@HDF_PACKAGE_EXT@-targets.cmake)
++ if (${HDF5_PACKAGE_NAME}_ENABLE_Z_LIB_SUPPORT AND NOT TARGET "zlib")
++ find_package(ZLIB REQUIRED)
+ endif ()
+- if (${HDF5_PACKAGE_NAME}_ENABLE_SZIP_SUPPORT AND ${HDF5_PACKAGE_NAME}_PACKAGE_EXTLIBS AND NOT TARGET "szip")
+- include (@PACKAGE_SHARE_INSTALL_DIR@/@SZIP_PACKAGE_NAME@/@SZIP_PACKAGE_NAME@@HDF_PACKAGE_EXT@-targets.cmake)
++ if (${HDF5_PACKAGE_NAME}_ENABLE_SZIP_SUPPORT AND NOT TARGET "szip")
++ if(${HDF5_PACKAGE_NAME}_PACKAGE_EXTLIBS)
++ include (@PACKAGE_SHARE_INSTALL_DIR@/@SZIP_PACKAGE_NAME@/@SZIP_PACKAGE_NAME@@HDF_PACKAGE_EXT@-targets.cmake)
++ else()
++ find_package(@SZIP_PACKAGE_NAME@ REQUIRED)
++ endif()
+ endif ()
+ include (@PACKAGE_SHARE_INSTALL_DIR@/@HDF5_PACKAGE@/@HDF5_PACKAGE@@HDF_PACKAGE_EXT@-targets.cmake)
+ endif ()
diff --git a/ports/hdf5/portfile.cmake b/ports/hdf5/portfile.cmake index 2be080335..d2b3a0c15 100644 --- a/ports/hdf5/portfile.cmake +++ b/ports/hdf5/portfile.cmake @@ -1,8 +1,5 @@ -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - message(FATAL_ERROR "${PORT} does not currently support UWP") -endif() +vcpkg_fail_port_install(ON_TARGET "UWP") -include(vcpkg_common_functions) vcpkg_download_distfile(ARCHIVE URLS "https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.10/hdf5-1.10.5/src/CMake-hdf5-1.10.5.tar.gz" FILENAME "CMake-hdf5-1.10.5.tar.gz" @@ -15,40 +12,41 @@ vcpkg_extract_source_archive_ex( REF hdf5 PATCHES hdf5_config.patch + fix-generate.patch ) -if ("parallel" IN_LIST FEATURES) - set(ENABLE_PARALLEL ON) -else() - set(ENABLE_PARALLEL OFF) +if ("parallel" IN_LIST FEATURES AND "cpp" IN_LIST FEATURES) + message(FATAL_ERROR "Feature Parallel and C++ options are mutually exclusive.") endif() -if ("cpp" IN_LIST FEATURES) - set(ENABLE_CPP ON) -else() - set(ENABLE_CPP OFF) -endif() +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + parallel HDF5_ENABLE_PARALLEL + cpp HDF5_BUILD_CPP_LIB + szip HDF5_ENABLE_SZIP_SUPPORT + szip HDF5_ENABLE_SZIP_ENCODING + zlib HDF5_ENABLE_Z_LIB_SUPPORT +) file(REMOVE ${SOURCE_PATH}/config/cmake_ext_mod/FindSZIP.cmake)#Outdated; does not find debug szip +find_library(SZIP_RELEASE NAMES libsz libszip szip sz PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) +find_library(SZIP_DEBUG NAMES libsz libszip szip sz libsz_D libszip_D szip_D sz_D szip_debug PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH}/hdf5-1.10.5 DISABLE_PARALLEL_CONFIGURE PREFER_NINJA OPTIONS + ${FEATURE_OPTIONS} -DBUILD_TESTING=OFF -DHDF5_BUILD_EXAMPLES=OFF -DHDF5_BUILD_TOOLS=OFF - -DHDF5_BUILD_CPP_LIB=${ENABLE_CPP} - -DHDF5_ENABLE_PARALLEL=${ENABLE_PARALLEL} - -DHDF5_ENABLE_Z_LIB_SUPPORT=ON - -DHDF5_ENABLE_SZIP_SUPPORT=ON - -DHDF5_ENABLE_SZIP_ENCODING=ON -DHDF5_INSTALL_DATA_DIR=share/hdf5/data -DHDF5_INSTALL_CMAKE_DIR=share + "-DSZIP_LIBRARY_DEBUG:PATH=${SZIP_DEBUG}" + "-DSZIP_LIBRARY_RELEASE:PATH=${SZIP_RELEASE}" ) - vcpkg_install_cmake() vcpkg_copy_pdbs() vcpkg_fixup_cmake_targets() @@ -61,5 +59,7 @@ endif() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/hdf5/data/COPYING ${CURRENT_PACKAGES_DIR}/share/hdf5/copyright) -configure_file(${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake ${CURRENT_PACKAGES_DIR}/share/hdf5/vcpkg-cmake-wrapper.cmake @ONLY) + +file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/data/COPYING ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) + +configure_file(${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake ${CURRENT_PACKAGES_DIR}/share/${PORT}/vcpkg-cmake-wrapper.cmake @ONLY) diff --git a/ports/hiredis/CONTROL b/ports/hiredis/CONTROL new file mode 100644 index 000000000..67534fac3 --- /dev/null +++ b/ports/hiredis/CONTROL @@ -0,0 +1,12 @@ +Source: hiredis +Version: 2019-11-2 +Homepage: https://github.com/redis/hiredis +Description: Hiredis is a minimalistic C client library for the Redis database. + +Feature: ssl +Description: Build hiredis_ssl for SSL support +Build-Depends: openssl + +Feature: example +Description: Build example +Build-Depends: libevent, pthread
\ No newline at end of file diff --git a/ports/hiredis/fix-feature-example.patch b/ports/hiredis/fix-feature-example.patch new file mode 100644 index 000000000..a61900185 --- /dev/null +++ b/ports/hiredis/fix-feature-example.patch @@ -0,0 +1,76 @@ +diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt +index dd3a313..0df75d5 100644 +--- a/examples/CMakeLists.txt ++++ b/examples/CMakeLists.txt +@@ -19,10 +19,17 @@ if (LIBEV) + TARGET_LINK_LIBRARIES(example-libev hiredis ev) + ENDIF() + +-FIND_PATH(LIBEVENT event.h) +-if (LIBEVENT) ++FIND_PACKAGE(Libevent CONFIG REQUIRED) ++FIND_PATH(LIBEVENT_INCLUDES evutil.h) ++if (BUILD_SHARED_LIBS) ++ set(LIBEVENT_LIBS ${LIBEVENT_SHARED_LIBRARIES}) ++else() ++ set(LIBEVENT_LIBS ${LIBEVENT_STATIC_LIBRARIES}) ++endif() ++if (UNIX) + ADD_EXECUTABLE(example-libevent example-libevent) +- TARGET_LINK_LIBRARIES(example-libevent hiredis event) ++ TARGET_LINK_LIBRARIES(example-libevent hiredis ${LIBEVENT_LIBS}) ++ TARGET_INCLUDE_DIRECTORIES(example-libevent PRIVATE ${LIBEVENT_INCLUDES}) + ENDIF() + + FIND_PATH(LIBUV uv.h) +@@ -38,9 +45,17 @@ IF (APPLE) + ENDIF() + + IF (ENABLE_SSL) ++ FIND_PACKAGE(OpenSSL REQUIRED) ++ IF (WIN32) ++ FIND_PACKAGE(pthreads REQUIRED) ++ SET(THREADS_LIBS PThreads4W::PThreads4W) ++ ELSE() ++ FIND_PACKAGE(Threads) ++ SET(THREADS_LIBS ${CMAKE_THREAD_LIBS_INIT}) ++ ENDIF() + ADD_EXECUTABLE(example-ssl example-ssl.c) +- TARGET_LINK_LIBRARIES(example-ssl hiredis hiredis_ssl) ++ TARGET_LINK_LIBRARIES(example-ssl hiredis hiredis_ssl OpenSSL::SSL OpenSSL::Crypto ${THREADS_LIBS}) + ENDIF() + + ADD_EXECUTABLE(example example.c) +-TARGET_LINK_LIBRARIES(example hiredis) ++TARGET_LINK_LIBRARIES(example hiredis ${LIBEVENT_LIBS}) +\ No newline at end of file +diff --git a/examples/example-ssl.c b/examples/example-ssl.c +index 81f4648..9f42923 100644 +--- a/examples/example-ssl.c ++++ b/examples/example-ssl.c +@@ -1,6 +1,10 @@ + #include <stdio.h> + #include <stdlib.h> + #include <string.h> ++#ifdef _WIN32 ++#include <Winsock2.h> ++#include <Windows.h> ++#endif + + #include <hiredis.h> + #include <hiredis_ssl.h> +diff --git a/examples/example.c b/examples/example.c +index 0e93fc8..339e322 100644 +--- a/examples/example.c ++++ b/examples/example.c +@@ -1,6 +1,10 @@ + #include <stdio.h> + #include <stdlib.h> + #include <string.h> ++#ifdef _WIN32 ++#include <Winsock2.h> ++#include <Windows.h> ++#endif + + #include <hiredis.h> + diff --git a/ports/hiredis/portfile.cmake b/ports/hiredis/portfile.cmake new file mode 100644 index 000000000..bcd8ba1e6 --- /dev/null +++ b/ports/hiredis/portfile.cmake @@ -0,0 +1,34 @@ +if (VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO redis/hiredis + REF e777b0295eeeda89ee2ecef6ec5cb54889033d94 + SHA512 9486ce3e40580ca6a1da8a31c3e139eb8b5e17ac1b94bd0987f2435aeb2465ad271784d5e8e83dc6cbaf362f95c9e175efa5fbe80a63c56070ceb212d3d68470 + HEAD_REF master + PATCHES + fix-feature-example.patch + support-static-in-win.patch +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + ssl ENABLE_SSL + example ENABLE_EXAMPLES +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS ${FEATURE_OPTIONS} +) + +vcpkg_install_cmake() + +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/hiredis/support-static-in-win.patch b/ports/hiredis/support-static-in-win.patch new file mode 100644 index 000000000..94e6ebe9d --- /dev/null +++ b/ports/hiredis/support-static-in-win.patch @@ -0,0 +1,22 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 9e78894..87aba5b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -22,7 +22,7 @@ PROJECT(hiredis VERSION "${VERSION}") + + SET(ENABLE_EXAMPLES OFF CACHE BOOL "Enable building hiredis examples") + +-ADD_LIBRARY(hiredis SHARED ++ADD_LIBRARY(hiredis + async.c + dict.c + hiredis.c +@@ -60,7 +60,7 @@ IF(ENABLE_SSL) + ENDIF() + ENDIF() + FIND_PACKAGE(OpenSSL REQUIRED) +- ADD_LIBRARY(hiredis_ssl SHARED ++ ADD_LIBRARY(hiredis_ssl + ssl.c) + TARGET_INCLUDE_DIRECTORIES(hiredis_ssl PRIVATE "${OPENSSL_INCLUDE_DIR}") + TARGET_LINK_LIBRARIES(hiredis_ssl PRIVATE ${OPENSSL_LIBRARIES}) diff --git a/ports/indicators/CONTROL b/ports/indicators/CONTROL new file mode 100644 index 000000000..ceda7065c --- /dev/null +++ b/ports/indicators/CONTROL @@ -0,0 +1,4 @@ +Source: indicators
+Version: 1.5
+Description: Activity indicators for modern C++
+Homepage: https://github.com/p-ranav/indicators
diff --git a/ports/indicators/portfile.cmake b/ports/indicators/portfile.cmake new file mode 100644 index 000000000..46b5660a6 --- /dev/null +++ b/ports/indicators/portfile.cmake @@ -0,0 +1,27 @@ +# header-only library
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO p-ranav/indicators
+ REF e697a43fec7ae2198275022cea071236fcc7a52f
+ SHA512 7b06816e6e3fb78ade46906c51aec5dc8c3dae6d826871914c36373d0f55daf3839ba35630f74be11eec18766ad4084131b3c8fa411f371f253c71239e6861ea
+ HEAD_REF master
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DINDICA_BUILD_TESTS=OFF
+ -DSAMPLES=OFF
+ -DDEMO=OFF
+)
+
+vcpkg_install_cmake()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/indica TARGET_PATH share/indica)
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib)
+
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
+file(INSTALL ${SOURCE_PATH}/LICENSE.termcolor DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
diff --git a/ports/io2d/CONTROL b/ports/io2d/CONTROL index c48e73334..4e69350d4 100644 --- a/ports/io2d/CONTROL +++ b/ports/io2d/CONTROL @@ -1,4 +1,4 @@ Source: io2d -Version: 2019-07-11-1 +Version: 2019-07-11-2 Description: a lightweight, cross platform drawing library Build-Depends: cairo (!osx), cairo[x11] (linux), graphicsmagick (!osx) diff --git a/ports/io2d/Fix-FindCairo.patch b/ports/io2d/Fix-FindCairo.patch new file mode 100644 index 000000000..e3caa2f7f --- /dev/null +++ b/ports/io2d/Fix-FindCairo.patch @@ -0,0 +1,15 @@ +diff --git a/P0267_RefImpl/P0267_RefImpl/cairo/CMakeLists.txt b/P0267_RefImpl/P0267_RefImpl/cairo/CMakeLists.txt +index d0e9176..2ac638c 100644 +--- a/P0267_RefImpl/P0267_RefImpl/cairo/CMakeLists.txt ++++ b/P0267_RefImpl/P0267_RefImpl/cairo/CMakeLists.txt +@@ -24,7 +24,9 @@ target_include_directories(io2d_cairo PUBLIC + + target_compile_features(io2d_cairo PUBLIC cxx_std_17) + +-target_link_libraries(io2d_cairo PUBLIC io2d_core Cairo::Cairo unofficial::graphicsmagick::graphicsmagick) ++find_package(unofficial-cairo CONFIG REQUIRED) ++ ++target_link_libraries(io2d_cairo PUBLIC io2d_core unofficial::cairo::cairo unofficial::graphicsmagick::graphicsmagick) + + install( + TARGETS io2d_cairo EXPORT io2d_targets diff --git a/ports/io2d/portfile.cmake b/ports/io2d/portfile.cmake index da0b23c88..cb07ea3d8 100644 --- a/ports/io2d/portfile.cmake +++ b/ports/io2d/portfile.cmake @@ -1,5 +1,3 @@ -include(vcpkg_common_functions) - vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( @@ -10,6 +8,7 @@ vcpkg_from_github( HEAD_REF master PATCHES fix-linux-build.patch + Fix-FindCairo.patch ) if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL Darwin) diff --git a/ports/ismrmrd/CONTROL b/ports/ismrmrd/CONTROL index f876416d4..d35ea2dae 100644 --- a/ports/ismrmrd/CONTROL +++ b/ports/ismrmrd/CONTROL @@ -1,4 +1,4 @@ Source: ismrmrd
-Version: 1.4.0-1
+Version: 1.4.1
Description: ISMRM Raw Data Format
Build-Depends: pugixml, hdf5, boost, fftw3
diff --git a/ports/ismrmrd/fix-depends-hdf5.patch b/ports/ismrmrd/fix-depends-hdf5.patch new file mode 100644 index 000000000..26b01de48 --- /dev/null +++ b/ports/ismrmrd/fix-depends-hdf5.patch @@ -0,0 +1,17 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2144fd3..68f9ca9 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -108,7 +108,11 @@ endif() + if (USE_HDF5_DATASET_SUPPORT) + if (VCPKG_TARGET_TRIPLET) #VCPKG HDF5 is packaged differently. + find_package(HDF5 CONFIG COMPONENTS C shared REQUIRED) +- set(HDF5_C_LIBRARIES hdf5::hdf5-shared) ++ if (BUILD_SHARED_LIBS) ++ set(HDF5_C_LIBRARIES hdf5::hdf5-shared) ++ else() ++ set(HDF5_C_LIBRARIES hdf5::hdf5-static) ++ endif() + else () + find_package(HDF5 COMPONENTS C REQUIRED) + endif () diff --git a/ports/ismrmrd/portfile.cmake b/ports/ismrmrd/portfile.cmake index 4b6f7e6d6..0182718fd 100644 --- a/ports/ismrmrd/portfile.cmake +++ b/ports/ismrmrd/portfile.cmake @@ -1,5 +1,3 @@ -include(vcpkg_common_functions)
-
if (VCPKG_TARGET_ARCHITECTURE MATCHES "x86")
set(WIN32_INCLUDE_STDDEF_PATCH "x86-windows-include-stddef.patch")
endif()
@@ -11,12 +9,13 @@ endif() vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO ismrmrd/ismrmrd
- REF 4d4004d91ccadd41ddb30b019f970a69bb23a1bc
- SHA512 648901de4629c8b11574894763a5fa61a3cb0420c5aa62cdff02c4641ba702ca73efba12b403076301e44a4f0a7c915da1f2c7a34b24377d0385af92f2eda892
+ REF 1066d90e5d87302ccd71ce58ee153b5c87783064 # v1.4.1
+ SHA512 a830bd3b8a9580cf182f436066213441ee04c781e6e721b82287550f2ca552d58c5390d80b4b6a6b7bd8483fa3e45bf00858268706cedb99a4390ca047eb4d6c
HEAD_REF master
PATCHES
${STATIC_PATCH}
${WIN32_INCLUDE_STDDEF_PATCH}
+ fix-depends-hdf5.patch
)
vcpkg_configure_cmake(
@@ -25,6 +24,7 @@ vcpkg_configure_cmake( OPTIONS
-DUSE_SYSTEM_PUGIXML=ON
-DUSE_HDF5_DATASET_SUPPORT=ON
+ -DVCPKG_TARGET_TRIPLET=ON
)
vcpkg_install_cmake()
@@ -84,7 +84,6 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL static) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin/)
endif()
-file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/ismrmrd)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/ismrmrd/LICENSE ${CURRENT_PACKAGES_DIR}/share/ismrmrd/copyright)
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/ismrmrd)
diff --git a/ports/ixwebsocket/CONTROL b/ports/ixwebsocket/CONTROL index 0a28bb675..823cae7ad 100644 --- a/ports/ixwebsocket/CONTROL +++ b/ports/ixwebsocket/CONTROL @@ -1,6 +1,7 @@ Source: ixwebsocket -Version: 6.1.0 +Version: 7.9.2 Build-Depends: zlib +Homepage: https://github.com/machinezone/IXWebSocket Description: Lightweight WebSocket Client and Server + HTTP Client and Server Default-Features: ssl diff --git a/ports/ixwebsocket/portfile.cmake b/ports/ixwebsocket/portfile.cmake index 462dc3659..d1ec54ac3 100644 --- a/ports/ixwebsocket/portfile.cmake +++ b/ports/ixwebsocket/portfile.cmake @@ -1,10 +1,8 @@ -include(vcpkg_common_functions) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO machinezone/IXWebSocket - REF v6.1.0 - SHA512 5f19f2b220b87f9300a1d67e527ee2ee26d459e185357c2c121a2ce359fc8e5f04bd714c225b0f309ebcb6e416d7ca15ca93a88409fa09f88f065dec0a37bbe2 + REF v7.9.2 + SHA512 478aca334cc9e3244f403b88ec4d33fff2f6815b44ecd846d3c58cd763768e4bad50fec0c4ae570ade9aa8450315c3e70df76ed99de76bc93af705f882fefad1 ) vcpkg_configure_cmake( @@ -18,7 +16,7 @@ vcpkg_install_cmake() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) # Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/ixwebsocket RENAME copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) # Post-build test for cmake libraries # vcpkg_test_cmake(PACKAGE_NAME ixwebsocket) diff --git a/ports/json-dto/CONTROL b/ports/json-dto/CONTROL index dbd64c3c1..f42471da9 100644 --- a/ports/json-dto/CONTROL +++ b/ports/json-dto/CONTROL @@ -1,4 +1,4 @@ Source: json-dto -Version: 0.2.8-2 +Version: 0.2.9.2 Description: A small header-only library for converting data between json representation and c++ structs. Build-Depends: rapidjson diff --git a/ports/json-dto/portfile.cmake b/ports/json-dto/portfile.cmake index 7600433ea..331921b2b 100644 --- a/ports/json-dto/portfile.cmake +++ b/ports/json-dto/portfile.cmake @@ -1,10 +1,10 @@ include(vcpkg_common_functions) -vcpkg_from_bitbucket( +vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO sobjectizerteam/json_dto-0.2 - REF v.0.2.8 - SHA512 50a2d8d31f4cf67bdf84a58bae5f95642f4be571e8e052a48830be119d5e3c4ddbb19c5ac97fc0f8383c9958d64ec9be4ce23019c1da4f2cbf4b8ddbf23f5ad7 + REPO stiffstream/json_dto + REF aded62c151bdeb07e416cfb404a1edfc1324f29f # v.0.2.9.2 + SHA512 a298a4220160cb70f50e0dc96900743f12ad0290f401d5ab03fc97fa16260261af6b496b4de4b4f098394c02b4aadead442acf7f9edfee3faf91e56890688768 ) vcpkg_configure_cmake( @@ -24,5 +24,4 @@ vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/json-dto) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib ${CURRENT_PACKAGES_DIR}/debug) # Handle copyright -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/json-dto) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/json-dto/LICENSE ${CURRENT_PACKAGES_DIR}/share/json-dto/copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/jsoncons/CONTROL b/ports/jsoncons/CONTROL index 3a930c783..64ee8f445 100644 --- a/ports/jsoncons/CONTROL +++ b/ports/jsoncons/CONTROL @@ -1,4 +1,4 @@ Source: jsoncons -Version: 0.136.1 +Version: 0.143.1 Description: A C++, header-only library for constructing JSON and JSON-like text and binary data formats, with JSON Pointer, JSON Patch, JSONPath, CSV, MessagePack, CBOR, BSON, UBJSON Homepage: https://github.com/danielaparker/jsoncons diff --git a/ports/jsoncons/portfile.cmake b/ports/jsoncons/portfile.cmake index 8c37d75ef..3f656db2b 100644 --- a/ports/jsoncons/portfile.cmake +++ b/ports/jsoncons/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO danielaparker/jsoncons - REF v0.136.1 - SHA512 8f7c2ce8f2bdc08239b365625232ab2e9603d91374f83409606650661eb0b5dc9a685c210b07892dd402a08609c088de3c960f2900e418fe4c5f7ebb9735dded + REF 715ee192cb332f27ed02946a4f5c6e9af036b54e #v0.143.1 + SHA512 2e5bb5a13fa728da3c283537bc69922a5dfd36307e87221d4435d389f8a467a2046441e030442fc18204bc0fd6b77d276af950506100d97ef4dbc298b22c742d HEAD_REF master ) @@ -20,5 +20,4 @@ vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib) -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/jsoncons) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/jsoncons/LICENSE ${CURRENT_PACKAGES_DIR}/share/jsoncons/copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/jsonnet/001-enable-msvc.patch b/ports/jsonnet/001-enable-msvc.patch index 4bbcf0830..12ddbed86 100644 --- a/ports/jsonnet/001-enable-msvc.patch +++ b/ports/jsonnet/001-enable-msvc.patch @@ -1,17 +1,17 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index cdd5367..e982ee5 100644 +index 0418d4a..ac8f0f2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -13,6 +13,8 @@ set(GLOBAL_OUTPUT_PATH_SUFFIX "" CACHE STRING - +@@ -2,6 +2,8 @@ + cmake_minimum_required(VERSION 2.8.7) project(jsonnet C CXX) +add_definitions(-D_CRT_SECURE_NO_WARNINGS) + - # Discourage in-source builds because they overwrite the hand-written Makefile. - # Use `cmake . -B<dir>` or the CMake GUI to do an out-of-source build. - if (${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR} AND -@@ -76,6 +78,7 @@ elseif (BUILD_TESTS AND USE_SYSTEM_GTEST) + include(ExternalProject) + include(GNUInstallDirs) + +@@ -89,6 +91,7 @@ else() endif() # Compiler flags. @@ -19,7 +19,7 @@ index cdd5367..e982ee5 100644 if (${CMAKE_CXX_COMPILER_ID} MATCHES "Clang" OR ${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU") set(OPT "-O3") -@@ -85,6 +88,7 @@ else() +@@ -98,6 +101,7 @@ else() # TODO: Windows support. message(FATAL_ERROR "Compiler ${CMAKE_CXX_COMPILER_ID} not supported") endif() @@ -28,18 +28,18 @@ index cdd5367..e982ee5 100644 # Look for libraries in global output path. link_directories(${GLOBAL_OUTPUT_PATH}) diff --git a/cmd/CMakeLists.txt b/cmd/CMakeLists.txt -index 66e6aa0..aedc87e 100644 +index c032f02..d80d2a0 100644 --- a/cmd/CMakeLists.txt +++ b/cmd/CMakeLists.txt @@ -13,5 +13,5 @@ if (BUILD_JSONNETFMT OR BUILD_TESTS) - add_dependencies(jsonnetfmt libjsonnet_static) - target_link_libraries(jsonnetfmt libjsonnet_static) + add_dependencies(jsonnetfmt libjsonnet_for_binaries) + target_link_libraries(jsonnetfmt libjsonnet_for_binaries) - install(TARGETS jsonnetfmt DESTINATION "${CMAKE_INSTALL_BINDIR}") + install(TARGETS jsonnetfmt DESTINATION tools/jsonnet) endif() diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt -index e877015..5ec328b 100644 +index 60fdcb1..82fb7c2 100644 --- a/core/CMakeLists.txt +++ b/core/CMakeLists.txt @@ -28,7 +28,7 @@ set(LIBJSONNET_SOURCE @@ -49,25 +49,19 @@ index e877015..5ec328b 100644 -add_library(libjsonnet SHARED ${LIBJSONNET_HEADERS} ${LIBJSONNET_SOURCE}) +add_library(libjsonnet ${LIBJSONNET_HEADERS} ${LIBJSONNET_SOURCE}) add_dependencies(libjsonnet md5 stdlib) - target_link_libraries(libjsonnet md5) + target_link_libraries(libjsonnet md5 nlohmann_json::nlohmann_json) -@@ -41,13 +41,13 @@ set_target_properties(libjsonnet PROPERTIES OUTPUT_NAME jsonnet +@@ -46,7 +46,7 @@ set_target_properties(libjsonnet PROPERTIES OUTPUT_NAME jsonnet + PUBLIC_HEADER "${LIB_HEADER}") install(TARGETS libjsonnet LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" - ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" -+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" +- ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_BINDIR}" PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") - # Static library for jsonnet command-line tool. - add_library(libjsonnet_static STATIC ${LIBJSONNET_SOURCE}) - add_dependencies(libjsonnet_static md5 stdlib) - target_link_libraries(libjsonnet_static md5) --set_target_properties(libjsonnet_static PROPERTIES OUTPUT_NAME jsonnet) - install(TARGETS libjsonnet_static DESTINATION "${CMAKE_INSTALL_LIBDIR}") - - # Tests + if (BUILD_STATIC_LIBS) diff --git a/stdlib/CMakeLists.txt b/stdlib/CMakeLists.txt -index a481d9f..bb8e418 100644 +index a481d9f..0dc3ab6 100644 --- a/stdlib/CMakeLists.txt +++ b/stdlib/CMakeLists.txt @@ -2,6 +2,7 @@ @@ -78,11 +72,9 @@ index a481d9f..bb8e418 100644 # Custom command that will only build stdlib when it changes. add_custom_command( OUTPUT ${PROJECT_SOURCE_DIR}/core/std.jsonnet.h -@@ -9,6 +10,7 @@ add_custom_command( - ${PROJECT_SOURCE_DIR}/stdlib/std.jsonnet - ${PROJECT_SOURCE_DIR}/core/std.jsonnet.h - DEPENDS to_c_array std.jsonnet) -+endif() - +@@ -13,3 +14,4 @@ add_custom_command( # Standard library build target that libjsonnet can depend on. add_custom_target(stdlib ALL + DEPENDS ${PROJECT_SOURCE_DIR}/core/std.jsonnet.h) ++endif() +\ No newline at end of file diff --git a/ports/jsonnet/002-fix-dependency-and-install.patch b/ports/jsonnet/002-fix-dependency-and-install.patch new file mode 100644 index 000000000..cccdc9439 --- /dev/null +++ b/ports/jsonnet/002-fix-dependency-and-install.patch @@ -0,0 +1,61 @@ +diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt +index 82fb7c2..a94b4ff 100644 +--- a/core/CMakeLists.txt ++++ b/core/CMakeLists.txt +@@ -28,6 +28,7 @@ set(LIBJSONNET_SOURCE + string_utils.cpp + vm.cpp) + ++if (BUILD_SHARED_BINARIES) + add_library(libjsonnet ${LIBJSONNET_HEADERS} ${LIBJSONNET_SOURCE}) + add_dependencies(libjsonnet md5 stdlib) + target_link_libraries(libjsonnet md5 nlohmann_json::nlohmann_json) +@@ -48,6 +49,7 @@ install(TARGETS libjsonnet + LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" + ARCHIVE DESTINATION "${CMAKE_INSTALL_BINDIR}" + PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") ++endif() + + if (BUILD_STATIC_LIBS) + # Static library for jsonnet command-line tool. +@@ -102,3 +104,6 @@ if (BUILD_TESTS) + add_test(jsonnet_test_snippet + ${GLOBAL_OUTPUT_PATH}/jsonnet -e ${TEST_SNIPPET}) + endif() ++ ++ ++install(FILES ${LIBJSONNET_HEADERS} DESTINATION include) +\ No newline at end of file +diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt +index bf349df..6ed1442 100644 +--- a/cpp/CMakeLists.txt ++++ b/cpp/CMakeLists.txt +@@ -8,9 +8,9 @@ set(LIBJSONNETPP_SOURCE + libjsonnet++.cpp + ) + ++if (BUILD_SHARED_BINARIES) + add_library(libjsonnet++ SHARED ${LIBJSONNETPP_HEADERS} ${LIBJSONNETPP_SOURCE}) +-add_dependencies(libjsonnet++ jsonnet) +-# target_link_libraries(libjsonnet libjsonnet) ++target_link_libraries(libjsonnet++ libjsonnet) + + # CMake prepends CMAKE_SHARED_LIBRARY_PREFIX to shared libraries, so without + # this step the output would be |liblibjsonnet|. +@@ -22,6 +22,7 @@ install(TARGETS libjsonnet++ + LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" + ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" + PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") ++endif() + + if (BUILD_STATIC_LIBS) + # Static library for jsonnet command-line tool. +@@ -38,6 +39,8 @@ else() + add_library(libjsonnet++_for_binaries ALIAS libjsonnet++_static) + endif() + ++install(FILES ${LIBJSONNETPP_HEADERS} DESTINATION include) ++ + # Tests + function(add_test_executablepp test_name) + if (EXISTS ${CMAKE_CURRENT_LIST_DIR}/${test_name}.cpp) diff --git a/ports/jsonnet/CONTROL b/ports/jsonnet/CONTROL index 36c3d0c1b..2f6e669ef 100644 --- a/ports/jsonnet/CONTROL +++ b/ports/jsonnet/CONTROL @@ -1,4 +1,4 @@ Source: jsonnet -Version: 0.13.0 +Version: 0.14.0 Homepage: https://github.com/google/jsonnet Description: Jsonnet - The data templating language diff --git a/ports/jsonnet/portfile.cmake b/ports/jsonnet/portfile.cmake index b321c6a75..2840f513f 100644 --- a/ports/jsonnet/portfile.cmake +++ b/ports/jsonnet/portfile.cmake @@ -1,17 +1,16 @@ -include(vcpkg_common_functions) - -if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" OR NOT VCPKG_CMAKE_SYSTEM_NAME) +if (VCPKG_TARGET_IS_WINDOWS) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/jsonnet - REF v0.13.0 - SHA512 d19e5398763e37b79b0ef02368f6bd6215d2df234b5ff7a6d98e2306a0d47290600061c9f868c0c262570b4f0ee9eee6c309bcc93937b12f6c14f8d12339a7d5 + REF 552d8ec6f6b973a6357b83eb9bacd707366d28f0 # v0.14.0 + SHA512 a4a9c6285155addbc5b7ef1a0c02b99b4d941bfc8e6536eaf029bff77c9c303a5c36f654ca8ab6b9757d2710c100c3e4a05f310269d82b0385ae55ea6ead14ef HEAD_REF master PATCHES - 001-enable-msvc.patch + 001-enable-msvc.patch + 002-fix-dependency-and-install.patch ) if (VCPKG_TARGET_IS_WINDOWS) @@ -28,15 +27,29 @@ else() ) endif() +if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + set(BUILD_SHARED ON) + set(BUILD_STATIC OFF) +else() + set(BUILD_SHARED OFF) + set(BUILD_STATIC ON) +endif() + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA - OPTIONS -DBUILD_JSONNET=OFF -DBUILD_JSONNETFMT=OFF -DBUILD_TESTS=OFF + OPTIONS + -DBUILD_SHARED_BINARIES=${BUILD_SHARED} + -DBUILD_STATIC_LIBS=${BUILD_STATIC} + -DBUILD_JSONNET=OFF + -DBUILD_JSONNETFMT=OFF + -DBUILD_TESTS=OFF ) vcpkg_install_cmake() vcpkg_copy_pdbs() vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/jsonnet) -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/jsonnet RENAME copyright) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/libaaplus/CMakeLists.txt b/ports/libaaplus/CMakeLists.txt new file mode 100644 index 000000000..fa8f60f80 --- /dev/null +++ b/ports/libaaplus/CMakeLists.txt @@ -0,0 +1,69 @@ +PROJECT (AstronomicalAlgorithms) + +cmake_minimum_required(VERSION 3.11) +cmake_policy(VERSION 3.11) + +project(libaaplus LANGUAGES CXX) + +set(CMAKE_CXX_STANDARD 14) + +option(BUILD_TOOLS "Build libaaplus tools" OFF) + +file(GLOB LIBS_SRC RELATIVE ${CMAKE_CURRENT_LIST_DIR} ${CMAKE_CURRENT_LIST_DIR}/*.cpp) + +list(REMOVE_ITEM ${LIBS_SRC} AATest.cpp) + +file(GLOB PUBLIC_HEADERS RELATIVE ${CMAKE_CURRENT_LIST_DIR} ${CMAKE_CURRENT_LIST_DIR}/*.h) + +set(TEST_SRCS + AATest.cpp +) + +add_library(libaaplus + ${LIBS_SRC} +) + +if (MSVC AND BUILD_SHARED_LIBS) +target_compile_definitions(libaaplus + PRIVATE + -DAAPLUS_EXT_CLASS\=__declspec\(dllexport\) +) +endif (MSVC AND BUILD_SHARED_LIBS) + +install( + TARGETS libaaplus + EXPORT libaaplus + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib + RUNTIME DESTINATION bin +) + +# Headers makes relative includes so directory structure must be kept +foreach(HEADER ${PUBLIC_HEADERS}) + get_filename_component(HEADER_DIR ${HEADER} DIRECTORY) + install( + FILES ${HEADER} + DESTINATION include/aaplus/${HEADER_DIR} + ) +endforeach() + + +if (BUILD_TOOLS) + add_executable(aatest AATest.cpp) + target_link_libraries(aatest PRIVATE libaaplus) + if (BUILD_SHARED_LIBS AND MSVC) + target_compile_definitions(aatest + PUBLIC + -DAAPLUS_EXT_CLASS\=__declspec\(dllimport\) + ) + endif (BUILD_SHARED_LIBS AND MSVC) + + install(TARGETS aatest RUNTIME DESTINATION tools/aaplus) +endif() + +install( + EXPORT libaaplus + DESTINATION share/libaaplus + FILE libaaplusConfig.cmake + NAMESPACE libaaplus:: +) diff --git a/ports/libaaplus/CONTROL b/ports/libaaplus/CONTROL new file mode 100644 index 000000000..eb5df3ff0 --- /dev/null +++ b/ports/libaaplus/CONTROL @@ -0,0 +1,7 @@ +Source: libaaplus
+Version: 2.12
+Description: libaaplus is an astronomical computations library by naughter software
+Homepage: http://www.naughter.com/aa.html
+
+Feature: tools
+Description: Build libaaplus tools
\ No newline at end of file diff --git a/ports/libaaplus/portfile.cmake b/ports/libaaplus/portfile.cmake new file mode 100644 index 000000000..d0b862655 --- /dev/null +++ b/ports/libaaplus/portfile.cmake @@ -0,0 +1,36 @@ +set(VERSION 2.12)
+
+vcpkg_download_distfile(
+ ARCHIVE_FILE
+ URLS "http://www.naughter.com/download/aaplus.zip"
+ FILENAME "aaplus.zip"
+ SHA512 ec3a3d1346637fbed3ec5093ded821c6d80950a6432378d9826ed842571d8670cd5d2a1c9ff58a18f308e18669d786f72d24961e26bd8e070ee35674688a39e7
+)
+
+vcpkg_extract_source_archive_ex(
+ OUT_SOURCE_PATH SOURCE_PATH
+ ARCHIVE ${ARCHIVE_FILE}
+ REF ${VERSION}
+ NO_REMOVE_ONE_LEVEL
+)
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+
+vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+ tools BUILD_TOOLS
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS ${FEATURE_OPTIONS}
+)
+
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH share/libaaplus)
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+file(INSTALL ${SOURCE_PATH}/AA+.htm DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/libarchive/CONTROL b/ports/libarchive/CONTROL index 19bee0af1..907e50745 100644 --- a/ports/libarchive/CONTROL +++ b/ports/libarchive/CONTROL @@ -1,5 +1,5 @@ Source: libarchive
-Version: 3.4.0-1
+Version: 3.4.0-2
Homepage: https://github.com/libarchive/libarchive
Description: Library for reading and writing streaming archives
Build-Depends: zlib
diff --git a/ports/libarchive/fix-cpu-set.patch b/ports/libarchive/fix-cpu-set.patch new file mode 100644 index 000000000..8d1924dbe --- /dev/null +++ b/ports/libarchive/fix-cpu-set.patch @@ -0,0 +1,15 @@ +diff --git a/libarchive/archive_random.c b/libarchive/archive_random.c
+index 65ea691..63217ec 100644
+--- a/libarchive/archive_random.c
++++ b/libarchive/archive_random.c
+@@ -48,6 +48,10 @@ __FBSDID("$FreeBSD$");
+ #include <sys/time.h>
+ #endif
+ #ifdef HAVE_PTHREAD_H
++#ifdef __GNUC__
++#define _GNU_SOURCE
++#include <sched.h>
++#endif
+ #include <pthread.h>
+ #endif
+
diff --git a/ports/libarchive/portfile.cmake b/ports/libarchive/portfile.cmake index 3b69a69b9..61d1dfd4a 100644 --- a/ports/libarchive/portfile.cmake +++ b/ports/libarchive/portfile.cmake @@ -15,6 +15,7 @@ vcpkg_from_github( fix-dependencies.patch
fix-lz4.patch
fix-zstd.patch
+ fix-cpu-set.patch
)
set(BUILD_libarchive_bzip2 OFF)
diff --git a/ports/libb2/CONTROL b/ports/libb2/CONTROL new file mode 100644 index 000000000..0523b60d5 --- /dev/null +++ b/ports/libb2/CONTROL @@ -0,0 +1,4 @@ +Source: libb2 +Version: 0.98.1 +Homepage: https://github.com/BLAKE2/libb2 +Description: C library providing BLAKE2b, BLAKE2s, BLAKE2bp, BLAKE2sp
\ No newline at end of file diff --git a/ports/libb2/portfile.cmake b/ports/libb2/portfile.cmake new file mode 100644 index 000000000..88007bdf0 --- /dev/null +++ b/ports/libb2/portfile.cmake @@ -0,0 +1,23 @@ +vcpkg_fail_port_install(MESSAGE "${PORT} currently only supports Linux platform" ON_TARGET "Windows" "OSX") + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO BLAKE2/libb2 + REF 2c5142f12a2cd52f3ee0a43e50a3a76f75badf85 + SHA512 cf29cf9391ae37a978eb6618de6f856f3defa622b8f56c2d5a519ab34fd5e4d91f3bb868601a44e9c9164a2992e80dde188ccc4d1605dffbdf93687336226f8d + HEAD_REF master +) + +vcpkg_configure_make( + SOURCE_PATH ${SOURCE_PATH} + AUTOCONFIG +) + +vcpkg_install_make() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +vcpkg_copy_pdbs() + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
\ No newline at end of file diff --git a/ports/libbson/CONTROL b/ports/libbson/CONTROL index 42d87161b..ab99da6ba 100644 --- a/ports/libbson/CONTROL +++ b/ports/libbson/CONTROL @@ -1,4 +1,4 @@ Source: libbson -Version: 1.14.0-3 +Version: 1.15.1-1 Description: libbson is a library providing useful routines related to building, parsing, and iterating BSON documents. Homepage: https://github.com/mongodb/libbson diff --git a/ports/libbson/portfile.cmake b/ports/libbson/portfile.cmake index 09d84266c..bec809e7e 100644 --- a/ports/libbson/portfile.cmake +++ b/ports/libbson/portfile.cmake @@ -1,11 +1,8 @@ -include(vcpkg_common_functions) -set(BUILD_VERSION 1.14.0) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mongodb/mongo-c-driver - REF ${BUILD_VERSION} - SHA512 bf2bb835543dd2a445aac6cafa7bbbf90921ec41014534779924a5eb7cbd9fd532acd8146ce81dfcf1bcac33a78d8fce22b962ed7f776449e4357eccab8d6110 + REF 541086adcf1eecf88ac09fda47d9a8ec1598015d # debian/1.15.1-1 + SHA512 a57438dfae9d0993ae04b7a76677f79331699898f21e7645db5edd2c91014f33b738a0af67b58234d1ee03aab2ae3b58c183bbd043fc2bde5cc1a4e111755b70 HEAD_REF master PATCHES fix-uwp.patch ) @@ -16,6 +13,10 @@ else() set(ENABLE_STATIC OFF) endif() +file(READ ${CMAKE_CURRENT_LIST_DIR}/CONTROL _contents) +string(REGEX MATCH "\nVersion:[ ]*[^ \n]+" _contents "${_contents}") +string(REGEX REPLACE ".+Version:[ ]*([\\.0-9]+).*" "\\1" BUILD_VERSION "${_contents}") + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA diff --git a/ports/libevent/CONTROL b/ports/libevent/CONTROL index a05a77edd..64067f15c 100644 --- a/ports/libevent/CONTROL +++ b/ports/libevent/CONTROL @@ -1,5 +1,12 @@ Source: libevent
-Version: 2.1.11
-Build-Depends: openssl
+Version: 2.1.11-4
Homepage: https://github.com/libevent/libevent
Description: An event notification library
+Default-Features: thread
+
+Feature: openssl
+Description: Support for openssl
+Build-Depends: openssl, libevent[thread]
+
+Feature: thread
+Description: Support for thread
diff --git a/ports/libevent/fix-LibeventConfig_cmake_in_path.patch b/ports/libevent/fix-LibeventConfig_cmake_in_path.patch new file mode 100644 index 000000000..b444ae3e7 --- /dev/null +++ b/ports/libevent/fix-LibeventConfig_cmake_in_path.patch @@ -0,0 +1,13 @@ +diff --git a/cmake/LibeventConfig.cmake.in b/cmake/LibeventConfig.cmake.in +index 5422336..d436100 100644 +--- a/cmake/LibeventConfig.cmake.in ++++ b/cmake/LibeventConfig.cmake.in +@@ -8,7 +8,7 @@ + get_filename_component(LIBEVENT_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) + + # Set the include directories. +-set(LIBEVENT_INCLUDE_DIRS "@EVENT_INSTALL_INCLUDE_DIR@") ++set(LIBEVENT_INCLUDE_DIRS "${LIBEVENT_CMAKE_DIR}/../../include") + + # Include the project Targets file, this contains definitions for IMPORTED targets. + include(${LIBEVENT_CMAKE_DIR}/LibeventTargets.cmake) diff --git a/ports/libevent/portfile.cmake b/ports/libevent/portfile.cmake index 1ce0ab450..bd44d8428 100644 --- a/ports/libevent/portfile.cmake +++ b/ports/libevent/portfile.cmake @@ -1,8 +1,4 @@ -include(vcpkg_common_functions) - -if(VCPKG_CMAKE_SYSTEM_NAME MATCHES "WindowsStore") - message(FATAL_ERROR "${PORT} does not currently support UWP") -endif() +vcpkg_fail_port_install(MESSAGE "${PORT} does not currently support UWP" ON_TARGET "uwp") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH @@ -12,6 +8,13 @@ vcpkg_from_github( PATCHES fix-file_path.patch fix-crt_linkage.patch + fix-LibeventConfig_cmake_in_path.patch +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + INVERTED_FEATURES + openssl EVENT__DISABLE_OPENSSL + thread EVENT__DISABLE_THREAD_SUPPORT ) if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") @@ -23,7 +26,7 @@ endif() vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA - OPTIONS + OPTIONS ${FEATURE_OPTIONS} -DEVENT_INSTALL_CMAKE_DIR:PATH=share/libevent -DEVENT__LIBRARY_TYPE=${LIBEVENT_LIB_TYPE} -DVCPKG_CRT_LINKAGE=${VCPKG_CRT_LINKAGE} @@ -51,5 +54,5 @@ endif() vcpkg_copy_pdbs() -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libevent) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/libevent/LICENSE ${CURRENT_PACKAGES_DIR}/share/libevent/copyright) +#Handle copyright +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/libevhtp/CONTROL b/ports/libevhtp/CONTROL new file mode 100644 index 000000000..1653bf25d --- /dev/null +++ b/ports/libevhtp/CONTROL @@ -0,0 +1,16 @@ +Source: libevhtp
+Version: 1.2.18
+Homepage: https://github.com/criticalstack/libevhtp
+Build-Depends: libevent
+Description: Libevhtp was created as a replacement API for Libevent's current HTTP API.
+
+Feature: openssl
+Description: Support SSL for libevhtp
+Build-Depends: openssl
+
+Feature: thread
+Description: Support thread for libevhtp
+
+Feature: regex
+Description: Support oniguruma for libevhtp
+Build-Depends: oniguruma
\ No newline at end of file diff --git a/ports/libevhtp/portfile.cmake b/ports/libevhtp/portfile.cmake new file mode 100644 index 000000000..ddd97c10c --- /dev/null +++ b/ports/libevhtp/portfile.cmake @@ -0,0 +1,33 @@ +vcpkg_fail_port_install(MESSAGE "${PORT} currently only supports Linux and Mac platform" ON_TARGET "Windows")
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO criticalstack/libevhtp
+ REF e200bfa85bf253e9cfe1c1a9e705fccb176b9171
+ SHA512 d77d6d12dcc2762c8311a04cd3d33c7dfde7b406dbbb544d683e6a3b8e5912ba37a196470bc5aca92b58bd9659fbb396e5a11234b98435534f535046d6dab6eb
+ HEAD_REF master
+)
+
+vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+ INVERTED_FEATURES
+ openssl EVHTP_DISABLE_SSL
+ thread EVHTP_DISABLE_EVTHR
+ regex EVHTP_DISABLE_REGEX
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS ${FEATURE_OPTIONS}
+)
+
+vcpkg_install_cmake()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT})
+
+vcpkg_copy_pdbs()
+
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
\ No newline at end of file diff --git a/ports/libflac/CONTROL b/ports/libflac/CONTROL index 53ec5a95b..68011e0e7 100644 --- a/ports/libflac/CONTROL +++ b/ports/libflac/CONTROL @@ -1,5 +1,5 @@ -Source: libflac
-Version: 1.3.2-6
-Homepage: https://xiph.org/flac/
-Description: Library for manipulating FLAC files
-Build-Depends: libogg
+Source: libflac +Version: 1.3.3 +Homepage: https://xiph.org/flac/ +Description: Library for manipulating FLAC files +Build-Depends: libogg diff --git a/ports/libflac/portfile.cmake b/ports/libflac/portfile.cmake index 894107447..0a895ad41 100644 --- a/ports/libflac/portfile.cmake +++ b/ports/libflac/portfile.cmake @@ -1,47 +1,39 @@ -include(vcpkg_common_functions)
-
-vcpkg_download_distfile(FLAC_MAX_MIN_PATCH
- URLS "https://github.com/xiph/flac/commit/64f47c2d71ffba5aa8cd1d2a447339fd95f362f9.patch"
- FILENAME "flac-max-min.patch"
- SHA512 7ce9ccf9f081b478664cccd677c10269567672a8aa3a60839ef203b3d0a626d2b2c2f34d4c7fc897c31a436d7c22fb740bca5449a465dab39d60655417fe7772)
-
-vcpkg_from_github(
- OUT_SOURCE_PATH SOURCE_PATH
- REPO xiph/flac
- REF 1.3.2
- SHA512 d0e177cadee371940516864bf72e1eb3d101a5f2779c854ecb8a3361a654a9b9e7efd303c83e2f308bacc7e54298d37705f677e2b955d4a9fe3470c364fa45f3
- HEAD_REF master
- PATCHES
- "${FLAC_MAX_MIN_PATCH}"
- "${CMAKE_CURRENT_LIST_DIR}/uwp-library-console.patch"
- "${CMAKE_CURRENT_LIST_DIR}/uwp-createfile2.patch"
-)
-
-if(VCPKG_TARGET_ARCHITECTURE STREQUAL x86)
- vcpkg_find_acquire_program(NASM)
- get_filename_component(NASM_EXE_PATH ${NASM} DIRECTORY)
- set(ENV{PATH} "$ENV{PATH};${NASM_EXE_PATH}")
-endif()
-
-file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
-
-vcpkg_configure_cmake(
- SOURCE_PATH ${SOURCE_PATH}
- PREFER_NINJA
- OPTIONS
- -DLIBFLAC_ARCHITECTURE=${VCPKG_TARGET_ARCHITECTURE}
- OPTIONS_DEBUG
- -DLIBFLAC_SKIP_HEADERS=ON)
-
-vcpkg_install_cmake()
-vcpkg_copy_pdbs()
-
-if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
- file(APPEND ${CURRENT_PACKAGES_DIR}/include/FLAC/export.h "#undef FLAC_API\n#define FLAC_API\n")
- file(APPEND ${CURRENT_PACKAGES_DIR}/include/FLAC++/export.h "#undef FLACPP_API\n#define FLACPP_API\n")
-endif()
-
-# This license (BSD) is relevant only for library - if someone would want to install
-# FLAC cmd line tools as well additional license (GPL) should be included
-file(COPY ${SOURCE_PATH}/COPYING.Xiph DESTINATION ${CURRENT_PACKAGES_DIR}/share/libflac)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/libflac/COPYING.Xiph ${CURRENT_PACKAGES_DIR}/share/libflac/copyright)
+vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO xiph/flac + REF 1.3.3 + SHA512 4644dc8fd45e775d0e6210de2b082996692675307a7b7d359827730cc4cede9c2e1df46f4386023d83da9bafa6b3218d24012bf532f459087e311f14863747ec + HEAD_REF master + PATCHES + "${CMAKE_CURRENT_LIST_DIR}/uwp-library-console.patch" + "${CMAKE_CURRENT_LIST_DIR}/uwp-createfile2.patch" +) + +if(VCPKG_TARGET_ARCHITECTURE STREQUAL x86) + vcpkg_find_acquire_program(NASM) + get_filename_component(NASM_EXE_PATH ${NASM} DIRECTORY) + set(ENV{PATH} "$ENV{PATH};${NASM_EXE_PATH}") +endif() + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DLIBFLAC_ARCHITECTURE=${VCPKG_TARGET_ARCHITECTURE} + OPTIONS_DEBUG + -DLIBFLAC_SKIP_HEADERS=ON) + +vcpkg_install_cmake() +vcpkg_copy_pdbs() + +if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + file(APPEND ${CURRENT_PACKAGES_DIR}/include/FLAC/export.h "#undef FLAC_API\n#define FLAC_API\n") + file(APPEND ${CURRENT_PACKAGES_DIR}/include/FLAC++/export.h "#undef FLACPP_API\n#define FLACPP_API\n") +endif() + +# This license (BSD) is relevant only for library - if someone would want to install +# FLAC cmd line tools as well additional license (GPL) should be included +file(COPY ${SOURCE_PATH}/COPYING.Xiph DESTINATION ${CURRENT_PACKAGES_DIR}/share/libflac) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/libflac/COPYING.Xiph ${CURRENT_PACKAGES_DIR}/share/libflac/copyright) diff --git a/ports/libflac/uwp-createfile2.patch b/ports/libflac/uwp-createfile2.patch index cfb343990..0b86e9a7f 100644 --- a/ports/libflac/uwp-createfile2.patch +++ b/ports/libflac/uwp-createfile2.patch @@ -1,15 +1,15 @@ -diff --git a/src/libFLAC/windows_unicode_filenames.c b/src/libFLAC/windows_unicode_filenames.c -index 2404e31..d320bf5 100644 ---- a/src/libFLAC/windows_unicode_filenames.c -+++ b/src/libFLAC/windows_unicode_filenames.c -@@ -185,6 +185,27 @@ int flac_internal_rename_utf8(const char *oldname, const char *newname) - - HANDLE WINAPI flac_internal_CreateFile_utf8(const char *lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile) +diff --git a/src/share/win_utf8_io/win_utf8_io.c b/src/share/win_utf8_io/win_utf8_io.c +index 8b20bbb7..058295fa 100644 +--- a/src/share/win_utf8_io/win_utf8_io.c ++++ b/src/share/win_utf8_io/win_utf8_io.c +@@ -156,6 +156,27 @@ int get_utf8_argv(int *argc, char ***argv) + /* similar to CreateFileW but accepts UTF-8 encoded lpFileName */ + HANDLE WINAPI CreateFile_utf8(const char *lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile) { +#if defined (WINAPI_FAMILY_PARTITION) && !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM) + HANDLE handle = INVALID_HANDLE_VALUE; + -+ if (!utf8_filenames) ++ if (!flac_internal_get_utf8_filenames()) + return handle; + + wchar_t *wname; @@ -27,12 +27,14 @@ index 2404e31..d320bf5 100644 + + return handle; +#else - if (!utf8_filenames) { + if (!flac_internal_get_utf8_filenames()) { return CreateFileA(lpFileName, dwDesiredAccess, dwShareMode, lpSecurityAttributes, dwCreationDisposition, dwFlagsAndAttributes, hTemplateFile); } else { -@@ -198,4 +219,5 @@ HANDLE WINAPI flac_internal_CreateFile_utf8(const char *lpFileName, DWORD dwDesi +@@ -169,6 +190,7 @@ HANDLE WINAPI CreateFile_utf8(const char *lpFileName, DWORD dwDesiredAccess, DWO return handle; } +#endif } + + /* return number of characters in the UTF-8 string */ diff --git a/ports/libflac/uwp-library-console.patch b/ports/libflac/uwp-library-console.patch index bba2422c3..234758c75 100644 --- a/ports/libflac/uwp-library-console.patch +++ b/ports/libflac/uwp-library-console.patch @@ -1,5 +1,5 @@ diff --git a/src/share/win_utf8_io/win_utf8_io.c b/src/share/win_utf8_io/win_utf8_io.c -index c61d27f..0870054 100644 +index bbb6a74a..8b20bbb7 100644 --- a/src/share/win_utf8_io/win_utf8_io.c +++ b/src/share/win_utf8_io/win_utf8_io.c @@ -110,7 +110,11 @@ int get_utf8_argv(int *argc, char ***argv) @@ -9,12 +9,12 @@ index c61d27f..0870054 100644 +#if defined (WINAPI_FAMILY_PARTITION) && !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM) + if ((handle = LoadPackagedLibrary("msvcrt.dll", 0)) == NULL) return 1; +#else - if ((handle = LoadLibrary("msvcrt.dll")) == NULL) return 1; + if ((handle = LoadLibraryW(L"msvcrt.dll")) == NULL) return 1; +#endif if ((wgetmainargs = (wgetmainargs_t)GetProcAddress(handle, "__wgetmainargs")) == NULL) { FreeLibrary(handle); return 1; -@@ -163,6 +167,9 @@ size_t strlen_utf8(const char *str) +@@ -181,6 +185,9 @@ size_t strlen_utf8(const char *str) /* get the console width in characters */ int win_get_console_width(void) { @@ -24,7 +24,7 @@ index c61d27f..0870054 100644 int width = 80; CONSOLE_SCREEN_BUFFER_INFO csbi; HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE); -@@ -170,6 +177,7 @@ int win_get_console_width(void) +@@ -188,6 +195,7 @@ int win_get_console_width(void) if (GetConsoleScreenBufferInfo(hOut, &csbi) != 0) width = csbi.dwSize.X; return width; @@ -32,7 +32,7 @@ index c61d27f..0870054 100644 } /* print functions */ -@@ -179,6 +187,10 @@ static int wprint_console(FILE *stream, const wchar_t *text, size_t len) +@@ -197,6 +205,10 @@ static int wprint_console(FILE *stream, const wchar_t *text, size_t len) DWORD out; int ret; @@ -43,7 +43,7 @@ index c61d27f..0870054 100644 do { if (stream == stdout) { HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE); -@@ -197,6 +209,7 @@ static int wprint_console(FILE *stream, const wchar_t *text, size_t len) +@@ -215,6 +227,7 @@ static int wprint_console(FILE *stream, const wchar_t *text, size_t len) return out; } } while(0); diff --git a/ports/libfreenect2/CONTROL b/ports/libfreenect2/CONTROL index 6734e25cc..b24480c83 100644 --- a/ports/libfreenect2/CONTROL +++ b/ports/libfreenect2/CONTROL @@ -1,5 +1,14 @@ Source: libfreenect2 -Version: 0.2.0-3 +Version: 0.2.0-4 Build-Depends: libusb, libjpeg-turbo Homepage: https://github.com/OpenKinect/libfreenect2 Description: Open source drivers for the Kinect for Windows v2 device +Default-Features: opengl + +Feature: opengl +Description: OpenGL support for libfreenect2 +Build-Depends: opengl, glfw3 + +Feature: opencl +Description: OpenCL support for libfreenect2 +Build-Depends: opencl diff --git a/ports/libfreenect2/portfile.cmake b/ports/libfreenect2/portfile.cmake index 9ca8867fb..ff1ef220b 100644 --- a/ports/libfreenect2/portfile.cmake +++ b/ports/libfreenect2/portfile.cmake @@ -18,11 +18,18 @@ string(REPLACE "(WIN32)" "(WIN32_DISABLE)" EXAMPLECMAKE "${EXAMPLECMAKE}") file(WRITE ${SOURCE_PATH}/examples/CMakeLists.txt "${EXAMPLECMAKE}") +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + opengl ENABLE_OPENGL + opencl ENABLE_OPENCL +) + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS -DENABLE_CUDA=OFF + # FEATURES + ${FEATURE_OPTIONS} ) vcpkg_install_cmake() diff --git a/ports/libgit2/CONTROL b/ports/libgit2/CONTROL index 5569f18ff..d4050188c 100644 --- a/ports/libgit2/CONTROL +++ b/ports/libgit2/CONTROL @@ -1,5 +1,5 @@ Source: libgit2
-Version: 0.28.3
+Version: 0.28.4
Homepage: https://github.com/libgit2/libgit2
Build-Depends: openssl (!windows&&!uwp)
Description: Git linkable library
diff --git a/ports/libgit2/portfile.cmake b/ports/libgit2/portfile.cmake index d2b70483d..b3b6f1d78 100644 --- a/ports/libgit2/portfile.cmake +++ b/ports/libgit2/portfile.cmake @@ -8,8 +8,8 @@ include(vcpkg_common_functions) vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO libgit2/libgit2
- REF v0.28.3 - SHA512 15444823b7d4885f7b8c3982f8905efc4a75913de016a9b2e0a24d5ce9746e6a549dffd5469036529557feff2ce7ece9328266eb312c80b96091ce0f65ee97ee
+ REF v0.28.4
+ SHA512 b81160608003b25d9b922d259ebbbbf941b6bd5100fa1875497c8cd29de320e292fff568c757a7a85b2b3044ddc1cb92c74dbcb13d630d62ecf9a8559b619d15
HEAD_REF master
)
diff --git a/ports/libguarded/CONTROL b/ports/libguarded/CONTROL index c37866406..9d2c4c830 100644 --- a/ports/libguarded/CONTROL +++ b/ports/libguarded/CONTROL @@ -1,4 +1,4 @@ Source: libguarded -Version: 2019-08-27 +Version: 2019-08-27-1 Homepage: https://github.com/copperspice/libguarded Description: The libGuarded library is a standalone header-only library for multithreaded programming.
\ No newline at end of file diff --git a/ports/libguarded/portfile.cmake b/ports/libguarded/portfile.cmake index d195774c3..dd6b93686 100644 --- a/ports/libguarded/portfile.cmake +++ b/ports/libguarded/portfile.cmake @@ -1,15 +1,11 @@ -include(vcpkg_common_functions) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO copperspice/libguarded + REPO copperspice/cs_libguarded REF 1f159aa866a50f5d2952de41d8a99821b8ec37df - SHA512 3ff138719b895a9c45492aee0a30e9f9eff2c3b3510de01dad59123fac6bdc1c7479518f5a81a61e4d25c0f9679b21b5018953d99809f52aafa7729599a3282a + SHA512 91380262e65ec7b8990c500c60b8d141960be24b69e01a4661c2e8fbfdb8e315c9a4509c2c65a74bc60a8fe690d6dbc8f2b39757d13da5068c95283a19d4c6c4 HEAD_REF master ) File(COPY ${SOURCE_PATH}/src/libguarded DESTINATION ${CURRENT_PACKAGES_DIR}/include) -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) - +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/libharu/CONTROL b/ports/libharu/CONTROL index f8d2ca29a..95e84e34a 100644 --- a/ports/libharu/CONTROL +++ b/ports/libharu/CONTROL @@ -1,5 +1,10 @@ Source: libharu -Version: 2017-08-15-8 +Version: 2017-08-15-9 Homepage: https://github.com/libharu/libharu Description: libharu - free PDF library Build-Depends: zlib, libpng +Default-Features: notiffsymbols + +Feature: notiffsymbols +Description: disable symbols also defined by the tiff port +Build-Depends: tiff
\ No newline at end of file diff --git a/ports/libharu/portfile.cmake b/ports/libharu/portfile.cmake index 962550ca8..7a9f6891c 100644 --- a/ports/libharu/portfile.cmake +++ b/ports/libharu/portfile.cmake @@ -1,5 +1,8 @@ -include(vcpkg_common_functions) - +if("notiffsymbols" IN_LIST FEATURES) + if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + set(DISABLETIFF tiff.patch) + endif() +endif() vcpkg_download_distfile(SHADING_PR URLS "https://github.com/libharu/libharu/pull/157.diff" FILENAME "libharu-shading-pr-157.patch" @@ -17,6 +20,7 @@ vcpkg_from_github( add-boolean-typedef.patch # This patch adds shading support which is required for VTK. If desired, this could be moved into an on-by-default feature. ${SHADING_PR} + ${DISABLETIFF} ) if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") diff --git a/ports/libharu/tiff.patch b/ports/libharu/tiff.patch new file mode 100644 index 000000000..2aabbe32e --- /dev/null +++ b/ports/libharu/tiff.patch @@ -0,0 +1,25 @@ +diff --git a/src/hpdf_image_ccitt.c b/src/hpdf_image_ccitt.c +index 2937fc90d..a1a35d0ed 100644 +--- a/src/hpdf_image_ccitt.c ++++ b/src/hpdf_image_ccitt.c +@@ -21,7 +21,6 @@ + #include <memory.h> + #include <assert.h> + +-#define G3CODES + #include "t4.h" + + typedef unsigned int uint32; +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 354ca7526..ee301d9af 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -99,6 +99,8 @@ if(PNG_FOUND) + set(ADDITIONAL_LIBRARIES ${ADDITIONAL_LIBRARIES} ${PNG_LIBRARIES}) + endif(PNG_FOUND) + ++find_package(TIFF REQUIRED) ++list(APPEND ADDITIONAL_LIBRARIES TIFF::TIFF) + + # ======================================================================= + # configure header files, add compiler flags diff --git a/ports/libiconv/0001-Add-export-definitions.patch b/ports/libiconv/0001-Add-export-definitions.patch deleted file mode 100644 index c59d15d9e..000000000 --- a/ports/libiconv/0001-Add-export-definitions.patch +++ /dev/null @@ -1,34 +0,0 @@ -diff --git "a/include/iconv.h.build.in" "b/include/iconv.h.build.in" -index 0feb068..74e5613 100644 ---- "a/include/iconv.h.build.in" -+++ "b/include/iconv.h.build.in" -@@ -27,6 +27,12 @@ - #define LIBICONV_DLL_EXPORTED __attribute__((__visibility__("default"))) -+#elif defined(_WIN32) && @LIBICONV_DYNAMIC@ -+ #if defined(libiconv_EXPORTS) -+ #define LIBICONV_DLL_EXPORTED __declspec(dllexport) -+ #else -+ #define LIBICONV_DLL_EXPORTED __declspec(dllimport) -+ #endif - #else - #define LIBICONV_DLL_EXPORTED - #endif - extern LIBICONV_DLL_EXPORTED @DLL_VARIABLE@ int _libiconv_version; /* Likewise */ - -diff --git "a/libcharset/include/localcharset.h.build.in" "b/libcharset/include/localcharset.h.build.in" -index c691359..2a23585 100644 ---- "a/libcharset/include/localcharset.h.build.in" -+++ "b/libcharset/include/localcharset.h.build.in" -@@ -24,6 +24,12 @@ - #define LIBCHARSET_DLL_EXPORTED __attribute__((__visibility__("default"))) -+#elif defined(_WIN32) && @LIBICONV_DYNAMIC@ -+ #if defined(libcharset_EXPORTS) -+ #define LIBCHARSET_DLL_EXPORTED __declspec(dllexport) -+ #else -+ #define LIBCHARSET_DLL_EXPORTED __declspec(dllimport) -+ #endif - #else - #define LIBCHARSET_DLL_EXPORTED - #endif - - diff --git a/ports/libiconv/0003-Add-export.patch b/ports/libiconv/0003-Add-export.patch new file mode 100644 index 000000000..c8d131d2e --- /dev/null +++ b/ports/libiconv/0003-Add-export.patch @@ -0,0 +1,12 @@ +diff -uNr libiconv-1.16/libcharset/include/libcharset.h.in libiconv-1.16-work/libcharset/include/libcharset.h.in +--- libiconv-1.16/libcharset/include/libcharset.h.in 2018-09-17 19:07:42.000000000 +0300 ++++ libiconv-1.16-work/libcharset/include/libcharset.h.in 2019-12-04 17:15:50.000000000 +0300 +@@ -33,7 +33,7 @@ + by the corresponding pathname with the current prefix instead. Both + prefixes should be directory names without trailing slash (i.e. use "" + instead of "/"). */ +-extern void libcharset_set_relocation_prefix (const char *orig_prefix, ++extern void LIBCHARSET_DLL_EXPORTED libcharset_set_relocation_prefix (const char *orig_prefix, + const char *curr_prefix); + + diff --git a/ports/libiconv/CMakeLists.txt b/ports/libiconv/CMakeLists.txt index 3c2a6125c..489b4750d 100644 --- a/ports/libiconv/CMakeLists.txt +++ b/ports/libiconv/CMakeLists.txt @@ -25,10 +25,31 @@ if(WIN32) string(REPLACE "#undef ICONV_CONST" "#define ICONV_CONST const" _contents "${_contents}") string(REPLACE "#undef EILSEQ" "" _contents "${_contents}") string(REPLACE "#undef WORDS_LITTLEENDIAN" "#define WORDS_LITTLEENDIAN 1" _contents "${_contents}") + string(REPLACE "#undef ENABLE_RELOCATABLE" "#define ENABLE_RELOCATABLE 1" _contents "${_contents}") file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/config.h" "${_contents}") configure_file(libcharset/include/localcharset.h.build.in localcharset.h) + configure_file(libcharset/include/libcharset.h.in libcharset.h) configure_file(include/iconv.h.build.in iconv.h) + + if(MSVC) + add_compile_options(/wd4018) + endif() + + add_definitions( + -D_CRT_SECURE_NO_WARNINGS + -DLIBDIR=${LIBDIR} + -DINSTALLDIR=${INSTALLDIR} + -DNO_XMALLOC=1 + -DENABLE_RELOCATABLE=1 + -DIN_LIBRARY=1 + ) + if(BUILD_SHARED_LIBS) + add_definitions( + -DBUILDING_LIBCHARSET=1 + -DBUILDING_LIBICONV=1 + -DBUILDING_DLL=1) + endif() else() if(BUILD_SHARED_LIBS) set(STATIC_SHARED --enable-shared --disable-static) @@ -43,19 +64,23 @@ else() WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/autoconf ) - configure_file(${CMAKE_CURRENT_BINARY_DIR}/autoconf/config.h config.h @ONLY) + configure_file(${CMAKE_CURRENT_BINARY_DIR}/autoconf/lib/config.h config.h @ONLY) configure_file(${CMAKE_CURRENT_BINARY_DIR}/autoconf/include/iconv.h iconv.h @ONLY) configure_file(${CMAKE_CURRENT_BINARY_DIR}/autoconf/libcharset/include/localcharset.h localcharset.h @ONLY) endif() include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) -add_definitions(-DLIBDIR -D_CRT_SECURE_NO_WARNINGS) - -add_library(libcharset libcharset/lib/localcharset.c) +add_library(libcharset libcharset/lib/localcharset.c libcharset/lib/relocatable-stub.c) target_include_directories(libcharset PUBLIC $<INSTALL_INTERFACE:include>) -add_library(libiconv lib/iconv.c) +add_library(libiconv lib/iconv.c lib/relocatable.c) +if(WIN32) + target_compile_definitions(libiconv PRIVATE + -Dset_relocation_prefix=libiconv_set_relocation_prefix + -Drelocate=libiconv_relocate -Drelocate2=libiconv_relocate2 + ) +endif() target_link_libraries(libiconv PRIVATE libcharset) target_include_directories(libiconv PUBLIC $<INSTALL_INTERFACE:include>) @@ -78,4 +103,4 @@ install( FILE unofficial-iconv-config.cmake NAMESPACE unofficial::iconv:: DESTINATION share/unofficial-iconv -)
\ No newline at end of file +) diff --git a/ports/libiconv/CONTROL b/ports/libiconv/CONTROL index 48688767a..33bb805d8 100644 --- a/ports/libiconv/CONTROL +++ b/ports/libiconv/CONTROL @@ -1,4 +1,4 @@ Source: libiconv -Version: 1.15-6 +Version: 1.16-1 Homepage: https://www.gnu.org/software/libiconv/ Description: GNU Unicode text conversion diff --git a/ports/libiconv/portfile.cmake b/ports/libiconv/portfile.cmake index 488cc3b2f..9027e2acf 100644 --- a/ports/libiconv/portfile.cmake +++ b/ports/libiconv/portfile.cmake @@ -1,26 +1,24 @@ -if(VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") +if(NOT VCPKG_TARGET_IS_WINDOWS) set(VCPKG_POLICY_EMPTY_PACKAGE enabled) file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/unofficial-iconv) file(COPY ${CMAKE_CURRENT_LIST_DIR}/unofficial-iconv-config.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/unofficial-iconv) return() endif() -include(vcpkg_common_functions) - -set(LIBICONV_VERSION 1.15) +set(LIBICONV_VERSION 1.16) vcpkg_download_distfile(ARCHIVE URLS "https://ftp.gnu.org/gnu/libiconv/libiconv-${LIBICONV_VERSION}.tar.gz" "https://www.mirrorservice.org/sites/ftp.gnu.org/gnu/libiconv/libiconv-${LIBICONV_VERSION}.tar.gz" FILENAME "libiconv-${LIBICONV_VERSION}.tar.gz" - SHA512 1233fe3ca09341b53354fd4bfe342a7589181145a1232c9919583a8c9979636855839049f3406f253a9d9829908816bb71fd6d34dd544ba290d6f04251376b1a + SHA512 365dac0b34b4255a0066e8033a8b3db4bdb94b9b57a9dca17ebf2d779139fe935caf51a465d17fd8ae229ec4b926f3f7025264f37243432075e5583925bb77b7 ) vcpkg_extract_source_archive_ex( OUT_SOURCE_PATH SOURCE_PATH ARCHIVE ${ARCHIVE} REF ${LIBICONV_VERSION} PATCHES - 0001-Add-export-definitions.patch 0002-Config-for-MSVC.patch + 0003-Add-export.patch ) #Since libiconv uses automake, make and configure, we use a custom CMake file @@ -29,6 +27,7 @@ file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA + OPTIONS -DINSTALLDIR=\"\" -DLIBDIR=\"\" OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON ) diff --git a/ports/libidn2/CONTROL b/ports/libidn2/CONTROL index 3ed7546ba..7dc55f126 100644 --- a/ports/libidn2/CONTROL +++ b/ports/libidn2/CONTROL @@ -1,5 +1,5 @@ Source: libidn2 -Version: 2.2.0 +Version: 2.2.0-1 Build-Depends: libiconv Homepage: https://www.gnu.org/software/libidn/ Description: GNU Libidn is an implementation of the Stringprep, Punycode and IDNA 2003 specifications. Libidn's purpose is to encode and decode internationalized domain names. diff --git a/ports/libidn2/portfile.cmake b/ports/libidn2/portfile.cmake index 2b5be4692..1d7c94070 100644 --- a/ports/libidn2/portfile.cmake +++ b/ports/libidn2/portfile.cmake @@ -1,10 +1,8 @@ -include(vcpkg_common_functions) - set(IDN2_VERSION 2.2.0) set(IDN2_FILENAME libidn2-${IDN2_VERSION}.tar.gz) vcpkg_download_distfile(ARCHIVE - URLS "http://ftp.gnu.org/gnu/libidn/${IDN2_FILENAME}" + URLS "https://ftp.gnu.org/gnu/libidn/${IDN2_FILENAME}" "https://www.mirrorservice.org/sites/ftp.gnu.org/gnu/libidn/${IDN2_FILENAME}" FILENAME "${IDN2_FILENAME}" SHA512 ccf56056a378d49a28ff67a2a23cd3d32ce51f86a78f84839b98dad709a1d0d03ac8d7c1496f0e4d3536bca00e3d09d34d76a37317b2ce87e3aa66bdf4e877b8 ) diff --git a/ports/liblzma/CMakeLists.txt b/ports/liblzma/CMakeLists.txt index a9927c2b6..626655150 100644 --- a/ports/liblzma/CMakeLists.txt +++ b/ports/liblzma/CMakeLists.txt @@ -142,7 +142,7 @@ if(BUILD_SHARED_LIBS) else() target_compile_definitions(LibLZMA PUBLIC -DLZMA_API_STATIC) endif() -target_compile_definitions(LibLZMA PUBLIC -DHAVE_CONFIG_H) +target_compile_definitions(LibLZMA PRIVATE -DHAVE_CONFIG_H) target_include_directories(LibLZMA PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}> diff --git a/ports/liblzma/CONTROL b/ports/liblzma/CONTROL index 967b3b16c..1148fbb52 100644 --- a/ports/liblzma/CONTROL +++ b/ports/liblzma/CONTROL @@ -1,4 +1,4 @@ Source: liblzma -Version: 5.2.4-2 +Version: 5.2.4-3 Homepage: https://github.com/xz-mirror/xz Description: Compression library with an API similar to that of zlib. diff --git a/ports/libmad/0001-Fix-MSVC-ARM.patch b/ports/libmad/0001-Fix-MSVC-ARM.patch new file mode 100644 index 000000000..9cdc57c7b --- /dev/null +++ b/ports/libmad/0001-Fix-MSVC-ARM.patch @@ -0,0 +1,25 @@ +diff --git a/mad.h b/mad.h +index 9ef6cc8..5e3f7aa 100644 +--- a/mad.h ++++ b/mad.h +@@ -24,7 +24,11 @@ + extern "C" { + # endif + ++#ifdef _WIN64 ++# define FPM_64BIT ++#else + # define FPM_INTEL ++#endif + + + +@@ -184,7 +188,7 @@ typedef mad_fixed_t mad_sample_t; + + # elif defined(FPM_INTEL) + +-# if defined(_MSC_VER) ++# if defined(_MSC_VER) && defined(_M_IX86) + # pragma warning(push) + # pragma warning(disable: 4035) /* no return value */ + static __forceinline diff --git a/ports/libmad/CONTROL b/ports/libmad/CONTROL index e0666dcc4..97e9e564a 100644 --- a/ports/libmad/CONTROL +++ b/ports/libmad/CONTROL @@ -1,3 +1,3 @@ -Source: libmad
-Version: 0.15.1-4
-Description: high-quality MPEG audio decoder
+Source: libmad +Version: 0.15.1-5 +Description: high-quality MPEG audio decoder diff --git a/ports/libmad/portfile.cmake b/ports/libmad/portfile.cmake index d5831d301..c61df53de 100644 --- a/ports/libmad/portfile.cmake +++ b/ports/libmad/portfile.cmake @@ -11,14 +11,15 @@ vcpkg_download_distfile(ARCHIVE vcpkg_extract_source_archive_ex( ARCHIVE ${ARCHIVE} OUT_SOURCE_PATH SOURCE_PATH + PATCHES + 0001-Fix-MSVC-ARM.patch ) #The archive only contains a Visual Studio 6.0 era DSP project file, so use a custom CMakeLists.txt file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) -#Use the msvc++ config.h and mad.h header +#Use the msvc++ config.h header file(COPY ${SOURCE_PATH}/msvc++/config.h DESTINATION ${SOURCE_PATH}) -file(COPY ${SOURCE_PATH}/msvc++/mad.h DESTINATION ${SOURCE_PATH}) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} diff --git a/ports/libmagic/CONTROL b/ports/libmagic/CONTROL new file mode 100644 index 000000000..3f0b777eb --- /dev/null +++ b/ports/libmagic/CONTROL @@ -0,0 +1,4 @@ +Source: libmagic +Version: 5.37 +Homepage: https://github.com/file/file +Description: This library can be used to classify files according to magic number tests.
\ No newline at end of file diff --git a/ports/libmagic/portfile.cmake b/ports/libmagic/portfile.cmake new file mode 100644 index 000000000..8eabf13b7 --- /dev/null +++ b/ports/libmagic/portfile.cmake @@ -0,0 +1,29 @@ +vcpkg_fail_port_install(MESSAGE "${PORT} currently only supports Linux and Mac platform" ON_TARGET "Windows") + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO file/file + REF a0d5b0e4e9f97d74a9911e95cedd579852e25398 + SHA512 bd20a7f3a3117da10556a1f746f691d2e26b23b30cb70a6c08e05110eb415d457b82265dd910a7b05fc30bc34ba9019a33b1c59a34d844c14c2df7ba1eea060e + HEAD_REF mater +) + +vcpkg_configure_make( + SOURCE_PATH ${SOURCE_PATH} + AUTOCONFIG +) + +vcpkg_install_make() + +vcpkg_copy_pdbs() + +if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) +endif() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share/man/man5) + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/libmicrohttpd/CONTROL b/ports/libmicrohttpd/CONTROL index d073ad6d7..8636fe183 100644 --- a/ports/libmicrohttpd/CONTROL +++ b/ports/libmicrohttpd/CONTROL @@ -1,4 +1,4 @@ Source: libmicrohttpd
-Version: 0.9.63-1
+Version: 0.9.63-2
Homepage: https://www.gnu.org/software/libmicrohttpd/
Description: GNU libmicrohttpd is a small C library that is supposed to make it easy to run an HTTP server as part of another application
diff --git a/ports/libmicrohttpd/portfile.cmake b/ports/libmicrohttpd/portfile.cmake index 73f711445..52a7f225c 100644 --- a/ports/libmicrohttpd/portfile.cmake +++ b/ports/libmicrohttpd/portfile.cmake @@ -1,10 +1,10 @@ -include(vcpkg_common_functions) +set(MICROHTTPD_VERSION 0.9.63) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_download_distfile(ARCHIVE - URLS "ftp://ftp.gnu.org/gnu/libmicrohttpd/libmicrohttpd-0.9.63.tar.gz" - FILENAME "libmicrohttpd-0.9.63.tar.gz" + URLS "https://ftp.gnu.org/gnu/libmicrohttpd/libmicrohttpd-${MICROHTTPD_VERSION}.tar.gz" "https://www.mirrorservice.org/sites/ftp.gnu.org/gnu/libmicrohttpd/libmicrohttpd-${MICROHTTPD_VERSION}.tar.gz" + FILENAME "libmicrohttpd-${MICROHTTPD_VERSION}.tar.gz" SHA512 cb99e7af84fb6d7c0fd3894a9dc0fbff14959b35347506bd3211a65bbfad36455007b9e67493e97c9d8394834408df10eeabdc7758573e6aae0ba6f5f87afe17 ) diff --git a/ports/libmodman/CONTROL b/ports/libmodman/CONTROL new file mode 100644 index 000000000..c1fd4cd49 --- /dev/null +++ b/ports/libmodman/CONTROL @@ -0,0 +1,8 @@ +Source: libmodman +Version: 2.0.1-1 +Homepage: https://code.google.com/p/libmodman +Description: a simple library for managing modules + +Feature: tests +Description: Build libmodman tests +Build-Depends: zlib diff --git a/ports/libmodman/fix-install-path.patch b/ports/libmodman/fix-install-path.patch new file mode 100644 index 000000000..066813b40 --- /dev/null +++ b/ports/libmodman/fix-install-path.patch @@ -0,0 +1,39 @@ +diff --git a/libmodman/CMakeLists.txt b/libmodman/CMakeLists.txt +index 0aff593..9e419ce 100644 +--- a/libmodman/CMakeLists.txt ++++ b/libmodman/CMakeLists.txt +@@ -30,15 +30,15 @@ if(NOT WIN32 AND NOT APPLE) + configure_file(libmodman-2.0.pc.in + ${CMAKE_CURRENT_BINARY_DIR}/libmodman-2.0.pc @ONLY) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libmodman-2.0.pc +- DESTINATION ${LIB_INSTALL_DIR}/pkgconfig) ++ DESTINATION lib/pkgconfig) + endif() + + # CMake Find helper +-if (NOT WIN32 AND NOT APPLE) ++if (1) + configure_file(Findlibmodman.cmake.in + ${CMAKE_CURRENT_BINARY_DIR}/Findlibmodman.cmake @ONLY) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/Findlibmodman.cmake +- DESTINATION ${SHARE_INSTALL_DIR}/cmake/Modules) ++ DESTINATION share/${PROJECT_NAME}) + endif() + + # Define the library itself +@@ -50,8 +50,13 @@ if(NOT WIN32) + target_link_libraries(modman dl) + endif() + set_target_properties(modman PROPERTIES PREFIX "lib" VERSION 1.0.0 SOVERSION 1) +-install(TARGETS modman DESTINATION ${LIB_INSTALL_DIR}) +-install(FILES module_manager.hpp module.hpp DESTINATION ${INCLUDE_INSTALL_DIR}/${PROJECT_NAME}) ++install( ++ TARGETS modman ++ RUNTIME DESTINATION bin ++ LIBRARY DESTINATION lib ++ ARCHIVE DESTINATION lib ++) ++install(FILES module_manager.hpp module.hpp DESTINATION include/${PROJECT_NAME}) + + ### Tests + add_testdirectory(test) diff --git a/ports/libmodman/fix-undefined-typeid.patch b/ports/libmodman/fix-undefined-typeid.patch new file mode 100644 index 000000000..93db67587 --- /dev/null +++ b/ports/libmodman/fix-undefined-typeid.patch @@ -0,0 +1,12 @@ +diff --git a/libmodman/test/main.hpp b/libmodman/test/main.hpp +index 90ca87f..f4f8844 100644 +--- a/libmodman/test/main.hpp ++++ b/libmodman/test/main.hpp +@@ -20,6 +20,7 @@ + #ifndef MAIN_HPP_ + #define MAIN_HPP_ + ++#include <typeinfo> + #include "../module_manager.hpp" + + using namespace std; diff --git a/ports/libmodman/portfile.cmake b/ports/libmodman/portfile.cmake new file mode 100644 index 000000000..35bedf907 --- /dev/null +++ b/ports/libmodman/portfile.cmake @@ -0,0 +1,43 @@ +vcpkg_fail_port_install(ON_TARGET "UWP") + +# Enable static build in UNIX +if (VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) +endif() + +set(LIBMODMAN_VER 2.0.1) + +vcpkg_download_distfile(ARCHIVE + URLS "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/libmodman/libmodman-${LIBMODMAN_VER}.zip" + FILENAME "libmodman-${LIBMODMAN_VER}.zip" + SHA512 1fecc0fa3637c4aa86d114f5bc991605172d39183fa0f39d8c7858ef5d0d894152025bd426de4dd017a41372d800bf73f53b2328c57b77352a508e12792729fa +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + tests BUILD_TESTING +) + +vcpkg_extract_source_archive_ex( + ARCHIVE ${ARCHIVE} + OUT_SOURCE_PATH SOURCE_PATH + PATCHES + fix-install-path.patch + fix-undefined-typeid.patch +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS ${FEATURE_OPTIONS} +) + +vcpkg_install_cmake() +vcpkg_fixup_cmake_targets(CONFIG_PATH share/libmodman) +vcpkg_copy_pdbs() + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake + ${CMAKE_CURRENT_LIST_DIR}/usage + DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) + +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/libmodman/usage b/ports/libmodman/usage new file mode 100644 index 000000000..220de42e0 --- /dev/null +++ b/ports/libmodman/usage @@ -0,0 +1,5 @@ +The package libmodman provides CMake targets:
+
+ find_package(libmodman CONFIG REQUIRED)
+ target_include_directories(main PRIVATE ${LIBMODMAN_INCLUDE_DIR})
+ target_link_libraries(main PRIVATE ${LIBMODMAN_LIBRARIES})
diff --git a/ports/libmodman/vcpkg-cmake-wrapper.cmake b/ports/libmodman/vcpkg-cmake-wrapper.cmake new file mode 100644 index 000000000..6d67806f5 --- /dev/null +++ b/ports/libmodman/vcpkg-cmake-wrapper.cmake @@ -0,0 +1,8 @@ +set(LIBMODMAN_PREV_MODULE_PATH ${CMAKE_MODULE_PATH}) +list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}) + +if(NOT LIBMODMAN_LIBRARIES) + _find_package(${ARGS}) +endif() + +set(CMAKE_MODULE_PATH ${LIBMODMAN_PREV_MODULE_PATH}) diff --git a/ports/libmspack/CMakeLists.txt b/ports/libmspack/CMakeLists.txt index 4591d3e04..fdff7959d 100644 --- a/ports/libmspack/CMakeLists.txt +++ b/ports/libmspack/CMakeLists.txt @@ -2,8 +2,6 @@ cmake_minimum_required(VERSION 3.8) project(libmspack C) -set(CMAKE_DEBUG_POSTFIX "d") - add_definitions(-DHAVE_CONFIG_H) if(MSVC) diff --git a/ports/libmspack/CONTROL b/ports/libmspack/CONTROL index 7daf9894e..4bde92043 100644 --- a/ports/libmspack/CONTROL +++ b/ports/libmspack/CONTROL @@ -1,5 +1,4 @@ Source: libmspack -Version: 0.10.1-2 -Build-Depends: +Version: 0.10.1-3 Homepage: https://www.cabextract.org.uk/libmspack Description: libmspack is a portable library for some loosely related Microsoft compression formats. diff --git a/ports/libmspack/config.h b/ports/libmspack/config.h index ebe95831c..54c05ae1e 100644 --- a/ports/libmspack/config.h +++ b/ports/libmspack/config.h @@ -1,8 +1,4 @@ #define HAVE_LIMITS_H 1 #define HAVE_INTTYPES_H 1 -#define HAVE_STRING_H 1 -#define HAVE_CTYPE_H 1 -#define HAVE_MEMCMP 1 #define HAVE_TOWLOWER 1 -#define HAVE_TOLOWER 1 diff --git a/ports/libmspack/libmspack.def b/ports/libmspack/libmspack.def index 6a1a43d75..129637fd2 100644 --- a/ports/libmspack/libmspack.def +++ b/ports/libmspack/libmspack.def @@ -30,3 +30,6 @@ mspack_destroy_kwaj_compressor mspack_destroy_kwaj_decompressor mspack_destroy_oab_compressor mspack_destroy_oab_decompressor + +mspack_sys_selftest_internal +mspack_version diff --git a/ports/libmysql/CONTROL b/ports/libmysql/CONTROL index 37c42943e..fb236147e 100644 --- a/ports/libmysql/CONTROL +++ b/ports/libmysql/CONTROL @@ -1,5 +1,5 @@ Source: libmysql -Version: 8.0.4-4 +Version: 8.0.4-5 Homepage: https://github.com/mysql/mysql-server Build-Depends: boost-algorithm, boost-geometry, boost-optional, boost-functional, boost-graph, openssl, icu, libevent, liblzma, lz4, zlib Description: A MySQL client library for C development. diff --git a/ports/libmysql/system-libs.patch b/ports/libmysql/system-libs.patch index b5c1cba0d..3fb4d35c8 100644 --- a/ports/libmysql/system-libs.patch +++ b/ports/libmysql/system-libs.patch @@ -97,17 +97,18 @@ diff --git a/cmake/ssl.cmake b/cmake/ssl.cmake index 8af9699..2bdfe14 100644
--- a/cmake/ssl.cmake
+++ b/cmake/ssl.cmake
-@@ -104,6 +104,16 @@ ENDMACRO()
+@@ -104,6 +104,17 @@ ENDMACRO()
# Provides the following configure options:
# WITH_SSL=[yes|bundled|system|<path/to/custom/installation>]
MACRO (MYSQL_CHECK_SSL)
+ find_package(OpenSSL REQUIRED)
++ find_package(Threads REQUIRED)
+ set(OPENSSL_LIBRARY ${OPENSSL_SSL_LIBRARY} CACHE STRING "")
+ set(CRYPTO_LIBRARY ${OPENSSL_CRYPTO_LIBRARY} CACHE STRING "")
+ FIND_PROGRAM(OPENSSL_EXECUTABLE openssl
+ DOC "path to the openssl executable")
+ SET(SSL_DEFINES "-DHAVE_OPENSSL")
-+ set(SSL_LIBRARIES ${OPENSSL_LIBRARIES})
++ set(SSL_LIBRARIES ${OPENSSL_LIBRARIES} Threads::Threads)
+ENDMACRO()
+
+MACRO (MYSQL_CHECK_SSL_OLD)
diff --git a/ports/libosip2/CONTROL b/ports/libosip2/CONTROL index 32405dcb0..693a9d73e 100644 --- a/ports/libosip2/CONTROL +++ b/ports/libosip2/CONTROL @@ -1,4 +1,4 @@ Source: libosip2 -Version: 5.1.0-1 +Version: 5.1.0-3 Homepage: https://www.gnu.org/software/osip/ Description: oSIP is an LGPL implementation of SIP. It's stable, portable, flexible and compliant! -may be more-! It is used mostly with eXosip2 stack (GPL) which provides simpler API for User-Agent implementation.
\ No newline at end of file diff --git a/ports/libosip2/portfile.cmake b/ports/libosip2/portfile.cmake index 94d24e591..60b5c4558 100644 --- a/ports/libosip2/portfile.cmake +++ b/ports/libosip2/portfile.cmake @@ -1,13 +1,9 @@ -include(vcpkg_common_functions) +vcpkg_fail_port_install(MESSAGE "${PORT} only supports Unix currently." ON_TARGET "Windows") set(LIBOSIP2_VER "5.1.0") -if (VCPKG_TARGET_IS_WINDOWS) - message(FATAL_ERROR "libosio2 only support unix currently.") -endif() - vcpkg_download_distfile(ARCHIVE - URLS "http://ftp.gnu.org/gnu/osip/libosip2-${LIBOSIP2_VER}.tar.gz" + URLS "https://ftp.gnu.org/gnu/osip/libosip2-${LIBOSIP2_VER}.tar.gz" "https://www.mirrorservice.org/sites/ftp.gnu.org/gnu/osip/libosip2-${LIBOSIP2_VER}.tar.gz" FILENAME "libosip2-${LIBOSIP2_VER}.tar.gz" SHA512 391c9a0ea399f789d7061b0216d327eecba5bbf0429659f4f167604b9e703e1678ba6f58079aa4f84b3636a937064ecfb92e985368164fcb679e95654e43d65b ) diff --git a/ports/libpcap/CONTROL b/ports/libpcap/CONTROL index c0509704c..3c60fc840 100644 --- a/ports/libpcap/CONTROL +++ b/ports/libpcap/CONTROL @@ -1,3 +1,4 @@ Source: libpcap -Version: 1.9.0 +Version: 1.9.1 Description: A portable C/C++ library for network traffic capture +Homepage: https://www.tcpdump.org/ diff --git a/ports/libpcap/portfile.cmake b/ports/libpcap/portfile.cmake index 665e6b603..74caa4631 100644 --- a/ports/libpcap/portfile.cmake +++ b/ports/libpcap/portfile.cmake @@ -1,75 +1,49 @@ -include(vcpkg_common_functions) - -vcpkg_download_distfile( - SOURCE_ARCHIVE_PATH - URLS http://www.tcpdump.org/release/libpcap-1.9.0.tar.gz - FILENAME libpcap-1.9.0.tar.gz - SHA512 0ff25641f1e9d29082766caef45888c19214f770c4f378818caa73fcbc4ae54ad9195549c2499d4879ff46e35741d93b2b02cc5f3d6aa99e85a32194cf10bfe7 -) - -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${SOURCE_ARCHIVE_PATH} - REF 1.9.0 -) - -if(NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") - message(FATAL_ERROR "Package only supports linux platform.") -endif() +vcpkg_fail_port_install(MESSAGE "${PORT} currently only supports Linux platform" ON_TARGET "Windows" "OSX") message( "libpcap currently requires the following libraries from the system package manager: flex libbison-dev - These can be installed on Ubuntu systems via sudo apt install flex libbison-dev" ) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - set(SHARED_STATIC --enable-static --disable-shared) -else() - set(SHARED_STATIC --disable-static --enable-shared) -endif() - -set(OPTIONS ${SHARED_STATIC}) - -file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg) -file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg) -message(STATUS "Configuring ${TARGET_TRIPLET}-dbg") -set(CFLAGS "${VCPKG_C_FLAGS} ${VCPKG_C_FLAGS_DEBUG} -fPIC -O0 -g -I${SOURCE_PATH}/include") -set(LDFLAGS "${VCPKG_LINKER_FLAGS}") -vcpkg_execute_required_process( - COMMAND ${SOURCE_PATH}/configure --prefix=${CURRENT_PACKAGES_DIR}/debug ${OPTIONS} --with-sysroot=${CURRENT_INSTALLED_DIR}/debug --enable-usb=no --enable-netmap=no --enable-bluetooth=no --enable-dbus=no --enable-rdma=no --enable-shared=no --with-libnl=no - WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg - LOGNAME configure-${TARGET_TRIPLET}-dbg -) -message(STATUS "Building ${TARGET_TRIPLET}-dbg") -vcpkg_execute_required_process( - COMMAND make -j install "CFLAGS=${CFLAGS}" "LDFLAGS=${LDFLAGS}" - WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg - LOGNAME install-${TARGET_TRIPLET}-dbg +vcpkg_download_distfile( + SOURCE_ARCHIVE_PATH + URLS http://www.tcpdump.org/release/libpcap-1.9.1.tar.gz + FILENAME libpcap-1.9.1.tar.gz + SHA512 ae0d6b0ad8253e7e059336c0f4ed3850d20d7d2f4dc1d942c2951f99a5443a690f0cc42c6f8fdc4a0ccb19e9e985192ba6f399c4bde2c7076e420f547fddfb08 ) -file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel) -file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel) -message(STATUS "Configuring ${TARGET_TRIPLET}-rel") -set(CFLAGS "${VCPKG_C_FLAGS} ${VCPKG_C_FLAGS_RELEASE} -fPIC -O3 -I${SOURCE_PATH}/include") -set(LDFLAGS "${VCPKG_LINKER_FLAGS}") -vcpkg_execute_required_process( - COMMAND ${SOURCE_PATH}/configure --prefix=${CURRENT_PACKAGES_DIR} ${OPTIONS} --with-sysroot=${CURRENT_INSTALLED_DIR} --enable-usb=no --enable-netmap=no --enable-bluetooth=no --enable-dbus=no --enable-rdma=no --enable-shared=no --with-libnl=no - WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel - LOGNAME configure-${TARGET_TRIPLET}-rel +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${SOURCE_ARCHIVE_PATH} + REF 1.9.1 ) -message(STATUS "Building ${TARGET_TRIPLET}-rel") -vcpkg_execute_required_process( - COMMAND make -j install "CFLAGS=${CFLAGS}" "LDFLAGS=${LDFLAGS}" - WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel - LOGNAME install-${TARGET_TRIPLET}-rel + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DDISABLE_USB=ON + -DDISABLE_NETMAP=ON + -DDISABLE_BLUETOOTH=ON + -DDISABLE_DBUS=ON + -DDISABLE_RDMA=ON ) +vcpkg_install_cmake() +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libpcap RENAME copyright) + if(VCPKG_LIBRARY_LINKAGE STREQUAL static) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) endif() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) -configure_file(${SOURCE_PATH}/README.md ${CURRENT_PACKAGES_DIR}/share/libpcap/copyright COPYONLY) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share ${CURRENT_PACKAGES_DIR}/share/man) + +file(READ ${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libpcap.pc LIBPCAP_PC) +string(REGEX REPLACE \($|\n\)prefix=[^\n]+ \\1prefix=\"${CURRENT_INSTALLED_DIR}\" LIBPCAP_PC_FIXED "${LIBPCAP_PC}") +file(WRITE ${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libpcap.pc "${LIBPCAP_PC_FIXED}") + +file(READ ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libpcap.pc DEBUG_LIBPCAP_PC) +string(REGEX REPLACE \($|\n\)prefix=[^\n]+ \\1prefix=\"${CURRENT_INSTALLED_DIR}/debug\" DEBUG_LIBPCAP_PC_FIXED "${DEBUG_LIBPCAP_PC}") +file(WRITE ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libpcap.pc "${DEBUG_LIBPCAP_PC_FIXED}") diff --git a/ports/libplist/CMakeLists.txt b/ports/libplist/CMakeLists.txt new file mode 100644 index 000000000..0752c2e5b --- /dev/null +++ b/ports/libplist/CMakeLists.txt @@ -0,0 +1,33 @@ +cmake_minimum_required(VERSION 3.8)
+project(plist C)
+
+file(GLOB_RECURSE PLIST_HEADER include/plist/*.h)
+file(GLOB_RECURSE PLIST_SRC src/*.c)
+
+file(GLOB_RECURSE LIBCNARY_HEADER libcnary/include/*.h)
+file(GLOB_RECURSE LIBCNARY_SRC libcnary/*c)
+
+add_library(plist ${PLIST_SRC} ${PLIST_HEADER} ${LIBCNARY_SRC} ${LIBCNARY_HEADER})
+target_include_directories(plist PRIVATE src include libcnary/include)
+
+if(WIN32)
+ target_compile_options(plist PRIVATE -W3 -WX- -sdl-)
+ target_compile_definitions(plist PRIVATE -DLIBPLIST_EXPORTS)
+endif()
+
+install(
+ TARGETS plist
+ RUNTIME DESTINATION bin
+ ARCHIVE DESTINATION lib
+ LIBRARY DESTINATION lib
+)
+configure_file(
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/libplist.pc.in
+ ${CMAKE_CURRENT_BINARY_DIR}/libplist.pc
+ @ONLY
+)
+install(
+ FILES ${CMAKE_CURRENT_BINARY_DIR}/libplist.pc
+ DESTINATION lib/pkgconfig)
+
+install(FILES ${PLIST_HEADER} DESTINATION include/plist)
\ No newline at end of file diff --git a/ports/libplist/CONTROL b/ports/libplist/CONTROL index 9189b4f48..65c9ff151 100644 --- a/ports/libplist/CONTROL +++ b/ports/libplist/CONTROL @@ -1,3 +1,3 @@ Source: libplist
-Version: 1.2.77 +Version: 1.2.137 Description: A library to handle Apple Property List format in binary or XML
diff --git a/ports/libplist/portfile.cmake b/ports/libplist/portfile.cmake index b2b8dde80..613126896 100644 --- a/ports/libplist/portfile.cmake +++ b/ports/libplist/portfile.cmake @@ -1,31 +1,24 @@ -include(vcpkg_common_functions)
-
vcpkg_check_linkage(ONLY_DYNAMIC_CRT ONLY_DYNAMIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO libimobiledevice-win32/libplist
- REF f279ef534ab5adeb81f063dee5e8a8fc3ca6d3ab - SHA512 52001a46935693e3ac5f0b8c3d13d9bf51c5f34189f6f006bd697d7e965f402460060708c4fb54ed43f49a217ac442fcb8dca252fcbccd3e6a154b6c9a8c2104
+ REF f1b85c037693b5749a38473aa6c013ca45a663bf # v1.2.137 + SHA512 b38d6dc3f4d480d35d847afeab4c90f90edf249fe506c95a30af40acfb7ecbd978334fa5557cf1421716054db748f6d1d540f2405001b9b597cd56cfbfe2c671
HEAD_REF msvc-master
PATCHES dllexport.patch
)
-set(ENV{_CL_} "$ENV{_CL_} /GL-")
-set(ENV{_LINK_} "$ENV{_LINK_} /LTCG:OFF")
-
-if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
- set(ENV{_LINK_} "$ENV{_LINK_} /APPCONTAINER")
-endif()
+configure_file(${CURRENT_PORT_DIR}/CMakeLists.txt ${SOURCE_PATH}/CMakeLists.txt COPYONLY)
-vcpkg_install_msbuild(
+vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
- PROJECT_SUBPATH libplist.sln
- INCLUDES_SUBPATH include
- LICENSE_SUBPATH COPYING.lesser
- REMOVE_ROOT_INCLUDES
+ PREFER_NINJA
)
-if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
- file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
-endif()
\ No newline at end of file +vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/libpng-apng/CONTROL b/ports/libpng-apng/CONTROL deleted file mode 100644 index 2c282cb93..000000000 --- a/ports/libpng-apng/CONTROL +++ /dev/null @@ -1,5 +0,0 @@ -Source: libpng-apng -Version: 1.6.37-1 -Build-Depends: zlib -Homepage: https://github.com/glennrp/libpng -Description: libpng-apng is a library implementing an interface for reading and writing (A)PNG ((Animated) Portable Network Graphics) format files. This is backward compatible with the regular libpng, both in library usage and format. diff --git a/ports/libpng-apng/portfile.cmake b/ports/libpng-apng/portfile.cmake deleted file mode 100644 index 7d0804420..000000000 --- a/ports/libpng-apng/portfile.cmake +++ /dev/null @@ -1,84 +0,0 @@ -include(vcpkg_common_functions) - -set(LIBPNG_APNG_VERSION 1.6.36) - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO glennrp/libpng - REF v${LIBPNG_APNG_VERSION} - SHA512 aeb00b48347c9e84d31995b3fe7e40580029734aa8103d774eee5745f5ca1fd1fd91a15f32d492277ab94346e4e7f731ee9bfea1783f930094f9f87eb3d9397d - HEAD_REF master - PATCHES - ${CMAKE_CURRENT_LIST_DIR}/use-abort-on-all-platforms.patch - ${CMAKE_CURRENT_LIST_DIR}/skip-install-symlink.patch - ${CURRENT_BUILDTREES_DIR}/src/libpng-${LIBPNG_APNG_VERSION}-apng.patch -) - -vcpkg_download_distfile(LIBPNG_APNG_PATCH_ARCHIVE - URLS "https://downloads.sourceforge.net/project/libpng-apng/libpng16/${LIBPNG_APNG_VERSION}/libpng-${LIBPNG_APNG_VERSION}-apng.patch.gz" - FILENAME "libpng-${LIBPNG_APNG_VERSION}-apng.patch.gz" - SHA512 8fa213204768b058459ffd5eae6b3661c3f185d3baf1913da4337e7b7855e567f2525e7f67411c32fa8cb177a5f93d538c3d0ce17a94d4aa71bd9cffabe8b311 -) - -vcpkg_find_acquire_program(7Z) - -vcpkg_execute_required_process( - COMMAND ${7Z} x ${LIBPNG_APNG_PATCH_ARCHIVE} -aoa - WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/src - LOGNAME extract-patch.log -) - -find_program(GIT NAMES git git.cmd) - -# sed and awk are installed with git but in a different directory -get_filename_component(GIT_EXE_PATH ${GIT} DIRECTORY) -set(AWK_EXE_PATH "${GIT_EXE_PATH}/../usr/bin") -set(ENV{PATH} "$ENV{PATH};${AWK_EXE_PATH}") - -if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - set(PNG_STATIC_LIBS OFF) - set(PNG_SHARED_LIBS ON) -else() - set(PNG_STATIC_LIBS ON) - set(PNG_SHARED_LIBS OFF) -endif() - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - -DPNG_STATIC=${PNG_STATIC_LIBS} - -DPNG_SHARED=${PNG_SHARED_LIBS} - -DPNG_TESTS=OFF - -DPNG_PREFIX=a - -DSKIP_INSTALL_PROGRAMS=ON - -DSKIP_INSTALL_EXECUTABLES=ON - -DSKIP_INSTALL_FILES=ON - -DSKIP_INSTALL_SYMLINK=ON - OPTIONS_DEBUG - -DSKIP_INSTALL_HEADERS=ON -) - -vcpkg_install_cmake() - -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/libpng16_static.lib) - file(RENAME ${CURRENT_PACKAGES_DIR}/lib/libpng16_static.lib ${CURRENT_PACKAGES_DIR}/lib/libpng16.lib) - endif() - if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/libpng16_staticd.lib) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/libpng16_staticd.lib ${CURRENT_PACKAGES_DIR}/debug/lib/libpng16d.lib) - endif() -endif() - -# Remove CMake config files as they are incorrectly generated and everyone uses built-in FindPNG anyway. -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/libpng ${CURRENT_PACKAGES_DIR}/debug/lib/libpng) -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libpng-apng) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/libpng-apng/LICENSE ${CURRENT_PACKAGES_DIR}/share/libpng-apng/copyright) - -vcpkg_copy_pdbs() - -file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) - -if(VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/png) -endif() diff --git a/ports/libpng-apng/skip-install-symlink.patch b/ports/libpng-apng/skip-install-symlink.patch deleted file mode 100644 index c25075941..000000000 --- a/ports/libpng-apng/skip-install-symlink.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 48c6fa2..589e5f9 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -853,7 +853,7 @@ if(NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL )
- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
- FRAMEWORK DESTINATION ${CMAKE_INSTALL_LIBDIR})
-
-- if(PNG_SHARED)
-+ if(PNG_SHARED AND NOT SKIP_INSTALL_SYMLINK)
- # Create a symlink for libpng.dll.a => libpng16.dll.a on Cygwin
- if(CYGWIN OR MINGW)
- create_symlink(libpng${CMAKE_IMPORT_LIBRARY_SUFFIX} TARGET png)
-@@ -868,7 +868,7 @@ if(NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL )
- endif()
- endif()
-
-- if(PNG_STATIC)
-+ if(PNG_STATIC AND NOT SKIP_INSTALL_SYMLINK)
- if(NOT WIN32 OR CYGWIN OR MINGW)
- create_symlink(libpng${CMAKE_STATIC_LIBRARY_SUFFIX} TARGET png_static)
- install(FILES $<TARGET_LINKER_FILE_DIR:png_static>/libpng${CMAKE_STATIC_LIBRARY_SUFFIX}
diff --git a/ports/libpng-apng/usage b/ports/libpng-apng/usage deleted file mode 100644 index d9c299738..000000000 --- a/ports/libpng-apng/usage +++ /dev/null @@ -1,4 +0,0 @@ -The package libpng-apng is compatible with built-in CMake targets: - - find_package(PNG REQUIRED) - target_link_libraries(main PRIVATE PNG::PNG) diff --git a/ports/libpng-apng/vcpkg-cmake-wrapper.cmake b/ports/libpng-apng/vcpkg-cmake-wrapper.cmake deleted file mode 100644 index cb9c74f32..000000000 --- a/ports/libpng-apng/vcpkg-cmake-wrapper.cmake +++ /dev/null @@ -1,6 +0,0 @@ -if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/../../lib/libpng16.a")
- set(PNG_LIBRARY_RELEASE "${CMAKE_CURRENT_LIST_DIR}/../../lib/libpng16.a" CACHE FILEPATH "")
-elseif(EXISTS "${CMAKE_CURRENT_LIST_DIR}/../../lib/libpng16${CMAKE_SHARED_LIBRARY_SUFFIX}")
- set(PNG_LIBRARY_RELEASE "${CMAKE_CURRENT_LIST_DIR}/../../lib/libpng16${CMAKE_SHARED_LIBRARY_SUFFIX}" CACHE FILEPATH "")
-endif()
-_find_package(${ARGS})
diff --git a/ports/libpng/CONTROL b/ports/libpng/CONTROL index bc06e8deb..d03709b00 100644 --- a/ports/libpng/CONTROL +++ b/ports/libpng/CONTROL @@ -1,5 +1,8 @@ Source: libpng -Version: 1.6.37-4 +Version: 1.6.37-6 Build-Depends: zlib Homepage: https://github.com/glennrp/libpng Description: libpng is a library implementing an interface for reading and writing PNG (Portable Network Graphics) format files. + +Feature: apng +Description: This is backward compatible with the regular libpng, both in library usage and format. diff --git a/ports/libpng/cmake.patch b/ports/libpng/cmake.patch new file mode 100644 index 000000000..f2eb6aa8e --- /dev/null +++ b/ports/libpng/cmake.patch @@ -0,0 +1,47 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 6451fcf..6599e1d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -44,7 +44,7 @@ if(NOT PNG_BUILD_ZLIB) + endif() + + if(UNIX AND NOT APPLE AND NOT BEOS AND NOT HAIKU) +- find_library(M_LIBRARY m) ++ set(M_LIBRARY m) + else() + # libm is not needed and/or not available + set(M_LIBRARY "") +@@ -551,21 +551,14 @@ endif() + + if(PNG_STATIC) + # does not work without changing name +- set(PNG_LIB_NAME_STATIC png_static) + add_library(png_static STATIC ${libpng_sources}) + add_dependencies(png_static genfiles) + # MSVC doesn't use a different file extension for shared vs. static + # libs. We are able to change OUTPUT_NAME to remove the _static + # for all other platforms. +- if(NOT MSVC) +- set_target_properties(png_static PROPERTIES +- OUTPUT_NAME "${PNG_LIB_NAME}" +- CLEAN_DIRECT_OUTPUT 1) +- else() +- set_target_properties(png_static PROPERTIES +- OUTPUT_NAME "${PNG_LIB_NAME}_static" +- CLEAN_DIRECT_OUTPUT 1) +- endif() ++ set_target_properties(png_static PROPERTIES ++ OUTPUT_NAME "${PNG_LIB_NAME}" ++ CLEAN_DIRECT_OUTPUT 1) + list(APPEND PNG_LIB_TARGETS png_static) + if(MSVC) + # msvc does not append 'lib' - do it here to have consistent name +@@ -915,7 +908,7 @@ endif() + + # Create an export file that CMake users can include() to import our targets. + if(NOT SKIP_INSTALL_EXPORT AND NOT SKIP_INSTALL_ALL) +- install(EXPORT libpng DESTINATION lib/libpng FILE lib${PNG_LIB_NAME}.cmake) ++ install(EXPORT libpng DESTINATION lib/libpng FILE libpngConfig.cmake) + endif() + + # what's with libpng-manual.txt and all the extra files? diff --git a/ports/libpng/fix-libm-unix.patch b/ports/libpng/fix-libm-unix.patch deleted file mode 100644 index 0abd20879..000000000 --- a/ports/libpng/fix-libm-unix.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -ur a/CMakeLists.txt b/CMakeLists.txt ---- a/CMakeLists.txt 2019-04-14 20:10:32.000000000 +0200 -+++ b/CMakeLists.txt 2019-09-06 14:14:39.425498139 +0200 -@@ -44,7 +44,7 @@ - endif() - - if(UNIX AND NOT APPLE AND NOT BEOS AND NOT HAIKU) -- find_library(M_LIBRARY m) -+ set(M_LIBRARY m) - else() - # libm is not needed and/or not available - set(M_LIBRARY "") diff --git a/ports/libpng/libpngConfig.cmake b/ports/libpng/libpngConfig.cmake deleted file mode 100644 index 18108035a..000000000 --- a/ports/libpng/libpngConfig.cmake +++ /dev/null @@ -1,6 +0,0 @@ -# The upstream CMakeLists.txt exports libpng's targets to a file named `libpng16.cmake`.
-# However, `find_package(libpng CONFIG)` expects a file named `libpngConfig.cmake` to exist instead.
-#
-# By including `libpng.cmake` from this file, `find_package(libpng CONFIG)` will work.
-get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
-include("${_DIR}/libpng16.cmake")
diff --git a/ports/libpng/portfile.cmake b/ports/libpng/portfile.cmake index 24858f26c..e9a200455 100644 --- a/ports/libpng/portfile.cmake +++ b/ports/libpng/portfile.cmake @@ -1,14 +1,42 @@ include(vcpkg_common_functions) +set(LIBPNG_VER 1.6.37) + +# Download the apng patch +set(LIBPNG_APNG_OPTION ) +if ("apng" IN_LIST FEATURES) + set(LIBPNG_APG_PATCH_NAME libpng-${LIBPNG_VER}-apng.patch) + set(LIBPNG_APG_PATCH_PATH ${CURRENT_BUILDTREES_DIR}/src/${LIBPNG_APG_PATCH_NAME}) + if (NOT EXISTS ${LIBPNG_APG_PATCH_PATH}) + vcpkg_download_distfile(LIBPNG_APNG_PATCH_ARCHIVE + URLS "https://downloads.sourceforge.net/project/libpng-apng/libpng16/${LIBPNG_VER}/${LIBPNG_APG_PATCH_NAME}.gz" + FILENAME "${LIBPNG_APG_PATCH_NAME}.gz" + SHA512 226adcb3a8c60f2267fe2976ab531329ae43c2603dab4d0cf8f16217d64069936b879f3d6516b75d259c47d6f5c5b1f24f887602206c8e46abde0fb7f5c7946b + ) + + vcpkg_find_acquire_program(7Z) + + vcpkg_execute_required_process( + COMMAND ${7Z} x ${LIBPNG_APNG_PATCH_ARCHIVE} -aoa + WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/src + LOGNAME extract-patch.log + ) + endif() + + set(APNG_EXTRA_PATCH ${LIBPNG_APG_PATCH_PATH}) + set(LIBPNG_APNG_OPTION "-DPNG_PREFIX=a") +endif() + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO glennrp/libpng - REF v1.6.37 + REF v${LIBPNG_VER} SHA512 ccb3705c23b2724e86d072e2ac8cfc380f41fadfd6977a248d588a8ad57b6abe0e4155e525243011f245e98d9b7afbe2e8cc7fd4ff7d82fcefb40c0f48f88918 HEAD_REF master PATCHES - use-abort-on-all-platforms.patch - fix-libm-unix.patch + use_abort.patch + cmake.patch + ${APNG_EXTRA_PATCH} ) if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) @@ -23,37 +51,21 @@ vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS + ${LIBPNG_APNG_OPTION} -DPNG_STATIC=${PNG_STATIC_LIBS} -DPNG_SHARED=${PNG_SHARED_LIBS} -DPNG_TESTS=OFF -DSKIP_INSTALL_PROGRAMS=ON -DSKIP_INSTALL_EXECUTABLES=ON -DSKIP_INSTALL_FILES=ON - -DSKIP_INSTALL_SYMLINK=ON - OPTIONS_DEBUG - -DSKIP_INSTALL_HEADERS=ON + OPTIONS_DEBUG + -DSKIP_INSTALL_HEADERS=ON ) vcpkg_install_cmake() -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/libpng16_static.lib) - file(RENAME ${CURRENT_PACKAGES_DIR}/lib/libpng16_static.lib ${CURRENT_PACKAGES_DIR}/lib/libpng16.lib) - endif() - if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/libpng16_staticd.lib) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/libpng16_staticd.lib ${CURRENT_PACKAGES_DIR}/debug/lib/libpng16d.lib) - endif() -endif() - vcpkg_fixup_cmake_targets(CONFIG_PATH lib/libpng) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share/) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/libpngConfig.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/libpng) - -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libpng) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/libpng/LICENSE ${CURRENT_PACKAGES_DIR}/share/libpng/copyright) vcpkg_copy_pdbs() -if(VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/png) -endif() +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/libpng/use-abort-on-all-platforms.patch b/ports/libpng/use-abort-on-all-platforms.patch deleted file mode 100644 index 0a629e059..000000000 --- a/ports/libpng/use-abort-on-all-platforms.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/pngpriv.h b/pngpriv.h -index fe3355d..5a049b5 100644 ---- a/pngpriv.h -+++ b/pngpriv.h -@@ -457,11 +457,7 @@ - - /* Memory model/platform independent fns */ - #ifndef PNG_ABORT --# ifdef _WINDOWS_ --# define PNG_ABORT() ExitProcess(0) --# else --# define PNG_ABORT() abort() --# endif -+# define PNG_ABORT() abort() - #endif - - /* These macros may need to be architecture dependent. */ diff --git a/ports/libpng-apng/use-abort-on-all-platforms.patch b/ports/libpng/use_abort.patch index ef21211c6..c52df5c2b 100644 --- a/ports/libpng-apng/use-abort-on-all-platforms.patch +++ b/ports/libpng/use_abort.patch @@ -1,5 +1,5 @@ diff --git a/pngpriv.h b/pngpriv.h -index fe3355d..5a049b5 100644 +index 583c26f..135651c 100644 --- a/pngpriv.h +++ b/pngpriv.h @@ -556,11 +556,7 @@ diff --git a/ports/libpng/vcpkg-cmake-wrapper.cmake b/ports/libpng/vcpkg-cmake-wrapper.cmake deleted file mode 100644 index cb9c74f32..000000000 --- a/ports/libpng/vcpkg-cmake-wrapper.cmake +++ /dev/null @@ -1,6 +0,0 @@ -if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/../../lib/libpng16.a")
- set(PNG_LIBRARY_RELEASE "${CMAKE_CURRENT_LIST_DIR}/../../lib/libpng16.a" CACHE FILEPATH "")
-elseif(EXISTS "${CMAKE_CURRENT_LIST_DIR}/../../lib/libpng16${CMAKE_SHARED_LIBRARY_SUFFIX}")
- set(PNG_LIBRARY_RELEASE "${CMAKE_CURRENT_LIST_DIR}/../../lib/libpng16${CMAKE_SHARED_LIBRARY_SUFFIX}" CACHE FILEPATH "")
-endif()
-_find_package(${ARGS})
diff --git a/ports/libpopt/CMakeLists.txt b/ports/libpopt/CMakeLists.txt index 84afc160d..5348757b4 100644 --- a/ports/libpopt/CMakeLists.txt +++ b/ports/libpopt/CMakeLists.txt @@ -46,7 +46,9 @@ add_definitions(-D_CRT_SECURE_NO_WARNINGS) include_directories(${CMAKE_BINARY_DIR}) add_library(popt ${SOURCES}) -set_target_properties(popt PROPERTIES COMPILE_FLAGS "/wd4996") +if (MSVC) + target_compile_options(popt PRIVATE /wd4996) +endif() install(TARGETS popt RUNTIME DESTINATION bin diff --git a/ports/libpopt/CONTROL b/ports/libpopt/CONTROL index 70cf3dae9..03cd3e374 100644 --- a/ports/libpopt/CONTROL +++ b/ports/libpopt/CONTROL @@ -1,3 +1,3 @@ Source: libpopt -Version: 1.16-11 +Version: 1.16-12 Description: Library for parsing command line parameters diff --git a/ports/libpq/CMakeLists.txt b/ports/libpq/CMakeLists.txt deleted file mode 100644 index 6a03da19f..000000000 --- a/ports/libpq/CMakeLists.txt +++ /dev/null @@ -1,164 +0,0 @@ -cmake_minimum_required(VERSION 3.5) -project(libpq VERSION 9.6.1 LANGUAGES C) - -if(NOT CMAKE_SYSTEM_PROCESSOR) - set(CMAKE_SYSTEM_PROCESSOR ${CMAKE_HOST_SYSTEM_PROCESSOR}) -endif() - -find_package(OpenSSL REQUIRED) -find_program(PERL NAMES perl) - -set(CMAKE_STATIC_LIBRARY_PREFIX) -set(CMAKE_SHARED_LIBRARY_PREFIX) -set(CMAKE_DEBUG_POSTFIX "d") - -file(REMOVE - ${CMAKE_CURRENT_SOURCE_DIR}/src/include/pg_config.h - ${CMAKE_CURRENT_SOURCE_DIR}/src/include/pg_config_ext.h - ${CMAKE_CURRENT_SOURCE_DIR}/src/include/pg_config_os.h -) - -if(WIN32) - configure_file(src/include/pg_config.h.win32 include/pg_config.h) - configure_file(src/include/pg_config_ext.h.win32 include/pg_config_ext.h) - configure_file(src/include/port/win32.h include/pg_config_os.h) -elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64") - file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/include/pg_config_ext.h" "#include <stdint.h>\n#define PG_INT64_TYPE int64_t") - configure_file("${PORT_DIR}/pg_config.darwin.h" include/pg_config.h COPYONLY) - configure_file(src/include/port/darwin.h include/pg_config_os.h COPYONLY) - configure_file(src/backend/port/dynloader/darwin.h include/dynloader.h COPYONLY) -elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64") - if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") - set(DEFINE_PG_INT128_TYPE "#define PG_INT128_TYPE __int128") - else() - set(DEFINE_PG_INT128_TYPE "#undef PG_INT128_TYPE") - endif() - file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/include/pg_config_ext.h" "#include <stdint.h>\n#define PG_INT64_TYPE int64_t") - configure_file(src/include/port/linux.h include/pg_config_os.h COPYONLY) - configure_file("${PORT_DIR}/pg_config.linux.h" include/pg_config.h) - configure_file(src/backend/port/dynloader/linux.h include/dynloader.h COPYONLY) -else() - message(FATAL_ERROR "Unknown system: ${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR}") -endif() -file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/include/pg_config_paths.h "#define SYSCONFDIR \"\"") - -set(INSTALL_INCLUDES ON CACHE BOOL "Install include files") - -set(pg_port_src - src/port/pgstrcasecmp.c - src/port/pqsignal.c - src/port/thread.c - src/port/crypt.c - src/port/noblock.c - src/port/chklocale.c - src/port/snprintf.c - src/port/dirmod.c - src/port/pgsleep.c - src/port/open.c - src/port/system.c -) -if(WIN32) - list(APPEND pg_port_src - src/port/dirent.c - src/port/inet_aton.c - src/port/inet_net_ntop.c - src/port/win32error.c - src/port/win32setlocale.c - src/port/getaddrinfo.c - src/port/strlcpy.c - ) - include_directories(src/include/port/win32 src/include/port/win32_msvc) -elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux") - list(APPEND pg_port_src - src/port/strlcpy.c - src/port/inet_aton.c - src/port/inet_net_ntop.c - src/port/getpeereid.c - ) -endif() - -set(pg_backend_src - src/backend/libpq/md5.c - src/backend/libpq/ip.c - src/backend/utils/mb/wchar.c - src/backend/utils/mb/encnames.c -) -if(CMAKE_SYSTEM_NAME STREQUAL "Linux") - list(APPEND pg_backend_src - src/backend/port/dynloader/linux.c - src/backend/port/sysv_sema.c - src/backend/port/sysv_shmem.c - ) -endif() -if(NOT WIN32) - add_custom_command( - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/include/utils/errcodes.h - COMMAND "${PERL}" "${CMAKE_CURRENT_SOURCE_DIR}/src/backend/utils/generate-errcodes.pl" "${CMAKE_CURRENT_SOURCE_DIR}/src/backend/utils/errcodes.txt" > "${CMAKE_CURRENT_BINARY_DIR}/include/utils/errcodes.h" - VERBATIM - ) - list(APPEND pg_backend_src - ${CMAKE_CURRENT_BINARY_DIR}/include/utils/errcodes.h - ) -endif() - -set(pg_libpq_src - src/interfaces/libpq/fe-auth.c - src/interfaces/libpq/fe-connect.c - src/interfaces/libpq/fe-exec.c - src/interfaces/libpq/fe-lobj.c - src/interfaces/libpq/fe-misc.c - src/interfaces/libpq/fe-print.c - src/interfaces/libpq/fe-protocol2.c - src/interfaces/libpq/fe-protocol3.c - src/interfaces/libpq/fe-secure-openssl.c - src/interfaces/libpq/fe-secure.c - src/interfaces/libpq/libpq-events.c - src/interfaces/libpq/pqexpbuffer.c - src/interfaces/libpq/libpq-dist.rc -) - -if(WIN32) - list(APPEND pg_libpq_src - src/interfaces/libpq/pthread-win32.c - src/interfaces/libpq/win32.c - ) -endif() -set(pg_libpq_interface - src/include/postgres_ext.h - ${CMAKE_CURRENT_BINARY_DIR}/include/pg_config_ext.h - ${CMAKE_CURRENT_BINARY_DIR}/include/pg_config.h - src/interfaces/libpq/libpq-fe.h - src/interfaces/libpq/libpq-events.h -) -set(pg_libpq_catalog_interface - src/include/catalog/pg_type.h - src/include/catalog/genbki.h -) -set(CMAKE_INCLUDE_CURRENT_DIR ON) -set(CMAKE_DEBUG_POSTFIX "d") -set(CMAKE_INCLUDE_CURRENT_DIR ON) -add_library(libpq ${pg_port_src} ${pg_backend_src} ${pg_libpq_src}) - -target_compile_definitions(libpq PRIVATE -DFRONTEND -DENABLE_THREAD_SAFETY -DUSE_OPENSSL -DHAVE_CRYPTO_LOCK -D_CRT_SECURE_NO_WARNINGS) -if(CMAKE_SYSTEM_NAME STREQUAL "Linux") - target_compile_definitions(libpq PRIVATE -D_GNU_SOURCE) -endif() - -target_link_libraries(libpq PRIVATE OpenSSL::SSL) -if(WIN32) - target_link_libraries(libpq PRIVATE ws2_32 secur32 advapi32 shell32 crypt32) -endif() -target_include_directories(libpq PRIVATE src/include src/port ${CMAKE_CURRENT_BINARY_DIR}/include) -set_target_properties(libpq PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON) - -install(TARGETS libpq - ARCHIVE DESTINATION lib - LIBRARY DESTINATION lib - RUNTIME DESTINATION bin -) - -if(INSTALL_INCLUDES) - install(FILES ${pg_libpq_interface} DESTINATION include) - install(DIRECTORY src/include/libpq DESTINATION include) - install(FILES ${pg_libpq_catalog_interface} DESTINATION include/catalog) -endif() diff --git a/ports/libpq/CONTROL b/ports/libpq/CONTROL index d8bafa772..724d9acd8 100644 --- a/ports/libpq/CONTROL +++ b/ports/libpq/CONTROL @@ -1,5 +1,82 @@ Source: libpq -Version: 9.6.1-8 +Version: 12.0 +Build-Depends: libpq[bonjour] (osx) Homepage: https://www.postgresql.org/ Description: The official database access API of postgresql -Build-Depends: openssl, zlib (linux) +Default-Features: zlib, openssl + +Feature: openssl +Build-Depends: openssl +Description: support for encrypted client connections and random number generation on platforms that do not have "/dev/urandom" (except windows) (--with-openssl) + +Feature: zlib +Build-Depends: zlib +Description: Use zlib (else --without-zlib) + +Feature: readline +Build-Depends: readline +Description: Use readline (else --without-readline) + +Feature: libedit +Build-Depends: libedit +Description: prefer libedit (--with-libedit-preferred) + +Feature: perl +Build-Depends: perl +Description: build the server programming language PL/Perl (dynamic only?) (--with-perl) + +Feature: python +Build-Depends: python +Description: build the PL/Python server programming language (dynamic only?) (--with-python) + +Feature: tcl +Build-Depends: tcl +Description: build the PL/Tcl procedural language(dynamic only?) (--with-tcl) + +Feature: nls +Build-Depends: gettext +Description: Native Language Support (--enable-nls[=LANGUAGES]) + +Feature: kerberos +Build-Depends: kerberos +Description: Kerberos Support (--with-gssapi) + +Feature: systemd +Description: Build with support for systemd service notifications. (--with-systemd) + +Feature: ldap +Build-Depends: openldap (linux) +Description: LDAP Support (--with-ldap) + +Feature: bsd +Build-Depends: openbsd +Description: OpenBSD Support (--with-bsd-auth) + +Feature: pam +Build-Depends: pam +Description: Build with PAM (Pluggable Authentication Modules) support. (--with-pam) + +Feature: llvm +Build-Depends: llvm +Description: Build with support for LLVM based JIT compilation (--with-llvm) + +Feature: icu +Build-Depends: icu +Description: Build with support for the ICU library (--with-icu) + +Feature: bonjour +Description: Build with Bonjour support (--with-bonjour) + +Feature: uuid +Description: Build the uuid-ossp module (which provides functions to generate UUIDs) (--with-uuid=LIBRARY LIBRARY=(bsd|e2fs|ossp)) + +Feature: xml +Build-Depends: libxml2 +Description: Build with libxml (--with-libxml) + +Feature: xslt +Build-Depends: libxslt +Description: Build with libxslt (--with-libxslt) + +Feature: client +Description: Build all client tools and libraries.
\ No newline at end of file diff --git a/ports/libpq/config.pl b/ports/libpq/config.pl new file mode 100644 index 000000000..cbe605ef0 --- /dev/null +++ b/ports/libpq/config.pl @@ -0,0 +1,27 @@ +our $config = { + asserts => 0, # --enable-cassert + # float4byval=>1, # --disable-float4-byval, on by default + + # float8byval=> $platformbits == 64, # --disable-float8-byval, + # off by default on 32 bit platforms, on by default on 64 bit platforms + + # blocksize => 8, # --with-blocksize, 8kB by default + # wal_blocksize => 8, # --with-wal-blocksize, 8kB by default + ldap => undef, # --with-ldap + extraver => undef, # --with-extra-version=<string> + gss => undef, # --with-gssapi=<path> + icu => undef, # --with-icu=<path> + nls => undef, # --enable-nls=<path> + tap_tests => undef, # --enable-tap-tests + tcl => undef, # --with-tcl=<path> + perl => undef, # --with-perl + python => undef, # --with-python=<path> + openssl => undef, # --with-openssl=<path> + uuid => undef, # --with-ossp-uuid + xml => undef, # --with-libxml=<path> + xslt => undef, # --with-libxslt=<path> + iconv => undef, # (not in configure, path to iconv) + zlib => undef # --with-zlib=<path> +}; + +1; diff --git a/ports/libpq/patches/linux/configure.patch b/ports/libpq/patches/linux/configure.patch new file mode 100644 index 000000000..84ebcbd21 --- /dev/null +++ b/ports/libpq/patches/linux/configure.patch @@ -0,0 +1,22 @@ +diff --git a/configure b/configure +index 54c852aca..96e2c89ba 100644 +--- a/configure ++++ b/configure +@@ -11923,7 +11923,7 @@ if ${ac_cv_lib_crypto_CRYPTO_new_ex_data+:} false; then : + $as_echo_n "(cached) " >&6 + else + ac_check_lib_save_LIBS=$LIBS +-LIBS="-lcrypto $LIBS" ++LIBS="-lcrypto -pthread $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + +@@ -11958,7 +11958,7 @@ if test "x$ac_cv_lib_crypto_CRYPTO_new_ex_data" = xyes; then : + #define HAVE_LIBCRYPTO 1 + _ACEOF + +- LIBS="-lcrypto $LIBS" ++ LIBS="-lcrypto -pthread $LIBS" + + else + as_fn_error $? "library 'crypto' is required for OpenSSL" "$LINENO" 5 diff --git a/ports/libpq/patches/windows/MSBuildProject-static-crt.patch b/ports/libpq/patches/windows/MSBuildProject-static-crt.patch new file mode 100644 index 000000000..03bd832f8 --- /dev/null +++ b/ports/libpq/patches/windows/MSBuildProject-static-crt.patch @@ -0,0 +1,23 @@ +diff --git a/src/tools/msvc/MSBuildProject.pm b/src/tools/msvc/MSBuildProject.pm +index 823357c02..faa3e336f 100644 +--- a/src/tools/msvc/MSBuildProject.pm ++++ b/src/tools/msvc/MSBuildProject.pm +@@ -84,16 +84,16 @@ EOF + defs => "_DEBUG;DEBUG=1", + opt => 'Disabled', + strpool => 'false', +- runtime => 'MultiThreadedDebugDLL' ++ runtime => 'MultiThreadedDebug' + }); + $self->WriteItemDefinitionGroup( + $f, + 'Release', + { + defs => "", + opt => 'Full', + strpool => 'true', +- runtime => 'MultiThreadedDLL' ++ runtime => 'MultiThreaded' + }); + return; + } diff --git a/ports/libpq/patches/windows/MSBuildProject-static-lib.patch b/ports/libpq/patches/windows/MSBuildProject-static-lib.patch new file mode 100644 index 000000000..ba72a82bf --- /dev/null +++ b/ports/libpq/patches/windows/MSBuildProject-static-lib.patch @@ -0,0 +1,13 @@ +diff --git a/src/tools/msvc/MSBuildProject.pm b/src/tools/msvc/MSBuildProject.pm +index 823357c02..e1dc59aa7 100644 +--- a/src/tools/msvc/MSBuildProject.pm ++++ b/src/tools/msvc/MSBuildProject.pm +@@ -262,7 +262,7 @@ sub WriteConfigurationPropertyGroup + my $cfgtype = + ($self->{type} eq "exe") + ? 'Application' +- : ($self->{type} eq "dll" ? 'DynamicLibrary' : 'StaticLibrary'); ++ : ($self->{type} eq "dll" ? 'StaticLibrary' : 'StaticLibrary'); + + print $f <<EOF; + <PropertyGroup Condition="'\$(Configuration)|\$(Platform)'=='$cfgname|$self->{platform}'" Label="Configuration"> diff --git a/ports/libpq/patches/windows/Mkvcbuild-static-lib.patch b/ports/libpq/patches/windows/Mkvcbuild-static-lib.patch new file mode 100644 index 000000000..818134f5c --- /dev/null +++ b/ports/libpq/patches/windows/Mkvcbuild-static-lib.patch @@ -0,0 +1,13 @@ +diff --git a/src/tools/msvc/Mkvcbuild.pm b/src/tools/msvc/Mkvcbuild.pm
+index 99f39caa5..4f51c12f2 100644
+--- a/src/tools/msvc/Mkvcbuild.pm
++++ b/src/tools/msvc/Mkvcbuild.pm
+@@ -182,7 +182,7 @@ sub mkvcbuild
+ 'syncrep_gram.y');
+ $postgres->AddFiles('src/backend/utils/adt', 'jsonpath_scan.l',
+ 'jsonpath_gram.y');
+- $postgres->AddDefine('BUILDING_DLL');
++ # $postgres->AddDefine('BUILDING_DLL');
+ $postgres->AddLibrary('secur32.lib');
+ $postgres->AddLibrary('ws2_32.lib');
+ $postgres->AddLibrary('wldap32.lib') if ($solution->{options}->{ldap});
diff --git a/ports/libpq/patches/windows/Solution.patch b/ports/libpq/patches/windows/Solution.patch new file mode 100644 index 000000000..2259e3e8a --- /dev/null +++ b/ports/libpq/patches/windows/Solution.patch @@ -0,0 +1,39 @@ +diff --git a/src/tools/msvc/Solution.pm b/src/tools/msvc/Solution.pm
+index 51711c2bf..d33fdc3b0 100644
+--- a/src/tools/msvc/Solution.pm
++++ b/src/tools/msvc/Solution.pm
+@@ -69,9 +69,15 @@ sub DeterminePlatform
+ my $self = shift;
+
+ # Examine CL help output to determine if we are in 32 or 64-bit mode.
+- my $output = `cl /? 2>&1`;
++ my $output = `cl 2>&1`;
+ $? >> 8 == 0 or die "cl command not found";
+- $self->{platform} = ($output =~ /^\/favor:<.+AMD64/m) ? 'x64' : 'Win32';
++ if ($output =~ m/x64\n/) { $self->{platform} = 'x64';
++ } elsif ($output =~ m/x86\n/) { $self->{platform} = 'Win32';
++ } elsif ($output =~ m/ARM64\n/) { $self->{platform} = 'ARM64';
++ } elsif ($output =~ m/ARM\n/) { $self->{platform} = 'ARM';
++ } else { $self->{platform} = 'Unknown'
++ }
++ print "cl output $output.";
+ print "Detected hardware platform: $self->{platform}\n";
+ return;
+ }
+@@ -526,14 +526,14 @@ EOF
+ || confess "Could not open pg_config_paths.h";
+ print $o <<EOF;
+ #define PGBINDIR "/bin"
+-#define PGSHAREDIR "/share"
++#define PGSHAREDIR "/share/libpq"
+ #define SYSCONFDIR "/etc"
+ #define INCLUDEDIR "/include"
+ #define PKGINCLUDEDIR "/include"
+ #define INCLUDEDIRSERVER "/include/server"
+ #define LIBDIR "/lib"
+ #define PKGLIBDIR "/lib"
+-#define LOCALEDIR "/share/locale"
++#define LOCALEDIR "/share/libpq/locale"
+ #define DOCDIR "/doc"
+ #define HTMLDIR "/doc"
+ #define MANDIR "/man"
diff --git a/ports/libpq/patches/windows/Solution_Debug.patch b/ports/libpq/patches/windows/Solution_Debug.patch new file mode 100644 index 000000000..646c0407f --- /dev/null +++ b/ports/libpq/patches/windows/Solution_Debug.patch @@ -0,0 +1,157 @@ +diff --git a/src/tools/msvc/Solution.pm b/src/tools/msvc/Solution.pm +index 51711c2bf..d33fdc3b0 100644 +--- a/src/tools/msvc/Solution.pm ++++ b/src/tools/msvc/Solution.pm +@@ -650,7 +650,7 @@ sub AddProject + if ($self->{options}->{zlib}) + { + $proj->AddIncludeDir($self->{options}->{zlib} . '\include'); +- $proj->AddLibrary($self->{options}->{zlib} . '\lib\zdll.lib'); ++ $proj->AddLibrary($self->{options}->{zlib} . '\debug\lib\zlibd.lib'); # This must be updated + } + if ($self->{options}->{openssl}) + { +@@ -661,7 +661,7 @@ sub AddProject + # changed their library names from: + # - libeay to libcrypto + # - ssleay to libssl +- if ($digit1 >= '1' && $digit2 >= '1' && $digit3 >= '0') ++ if ($digit1 >= '1' && $digit2 >= '1' && $digit3 >= '0') # This must be updated + { + my $dbgsuffix; + my $libsslpath; +@@ -670,27 +670,27 @@ sub AddProject + # The format name of the libraries is slightly + # different between the Win32 and Win64 platform, so + # adapt. +- if (-e "$self->{options}->{openssl}/lib/VC/sslcrypto32MD.lib") ++ if (-e "$self->{options}->{openssl}/lib/VC/sslcrypto32MD.lib") # This must be updated + { + # Win32 here, with a debugging library set. + $dbgsuffix = 1; +- $libsslpath = '\lib\VC\libssl32.lib'; +- $libcryptopath = '\lib\VC\libcrypto32.lib'; ++ $libsslpath = '\lib\VC\libssl32.lib'; # This must be updated ++ $libcryptopath = '\lib\VC\libcrypto32.lib'; # This must be updated + } +- elsif (-e "$self->{options}->{openssl}/lib/VC/sslcrypto64MD.lib") ++ elsif (-e "$self->{options}->{openssl}/lib/VC/sslcrypto64MD.lib") # This must be updated + { + # Win64 here, with a debugging library set. + $dbgsuffix = 1; +- $libsslpath = '\lib\VC\libssl64.lib'; +- $libcryptopath = '\lib\VC\libcrypto64.lib'; ++ $libsslpath = '\lib\VC\libssl64.lib'; # This must be updated ++ $libcryptopath = '\lib\VC\libcrypto64.lib'; # This must be updated + } + else + { + # On both Win32 and Win64 the same library + # names are used without a debugging context. + $dbgsuffix = 0; +- $libsslpath = '\lib\libssl.lib'; +- $libcryptopath = '\lib\libcrypto.lib'; ++ $libsslpath = '\debug\lib\libssl.lib'; # This must be updated ++ $libcryptopath = '\debug\lib\libcrypto.lib'; # This must be updated + } + + $proj->AddLibrary($self->{options}->{openssl} . $libsslpath, +@@ -698,16 +698,16 @@ sub AddProject + $proj->AddLibrary($self->{options}->{openssl} . $libcryptopath, + $dbgsuffix); + } +- else ++ else + { + # Choose which set of libraries to use depending on if + # debugging libraries are in place in the installer. +- if (-e "$self->{options}->{openssl}/lib/VC/ssleay32MD.lib") ++ if (-e "$self->{options}->{openssl}/lib/VC/ssleay32MD.lib") # This must be updated + { + $proj->AddLibrary( +- $self->{options}->{openssl} . '\lib\VC\ssleay32.lib', 1); ++ $self->{options}->{openssl} . '\lib\VC\ssleay32.lib', 1); # This must be updated + $proj->AddLibrary( +- $self->{options}->{openssl} . '\lib\VC\libeay32.lib', 1); ++ $self->{options}->{openssl} . '\lib\VC\libeay32.lib', 1); # This must be updated + } + else + { +@@ -715,60 +715,60 @@ sub AddProject + # to be here, so don't ask for it in last + # parameter. + $proj->AddLibrary( +- $self->{options}->{openssl} . '\lib\ssleay32.lib', 0); ++ $self->{options}->{openssl} . '\debug\lib\ssleay32.lib', 0); # This must be updated + $proj->AddLibrary( +- $self->{options}->{openssl} . '\lib\libeay32.lib', 0); ++ $self->{options}->{openssl} . '\debug\lib\libeay32.lib', 0); # This must be updated + } + } + } + if ($self->{options}->{nls}) + { + $proj->AddIncludeDir($self->{options}->{nls} . '\include'); +- $proj->AddLibrary($self->{options}->{nls} . '\lib\libintl.lib'); ++ $proj->AddLibrary($self->{options}->{nls} . '\debug\lib\libintl.lib'); # This must be updated + } + if ($self->{options}->{gss}) + { +- $proj->AddIncludeDir($self->{options}->{gss} . '\inc\krb5'); +- $proj->AddLibrary($self->{options}->{gss} . '\lib\i386\krb5_32.lib'); +- $proj->AddLibrary($self->{options}->{gss} . '\lib\i386\comerr32.lib'); +- $proj->AddLibrary($self->{options}->{gss} . '\lib\i386\gssapi32.lib'); ++ $proj->AddIncludeDir($self->{options}->{gss} . '\inc\krb5'); # This must be updated ++ $proj->AddLibrary($self->{options}->{gss} . '\lib\i386\krb5_32.lib'); # This must be updated ++ $proj->AddLibrary($self->{options}->{gss} . '\lib\i386\comerr32.lib');# This must be updated ++ $proj->AddLibrary($self->{options}->{gss} . '\lib\i386\gssapi32.lib');# This must be updated + } + if ($self->{options}->{iconv}) + { + $proj->AddIncludeDir($self->{options}->{iconv} . '\include'); +- $proj->AddLibrary($self->{options}->{iconv} . '\lib\iconv.lib'); ++ $proj->AddLibrary($self->{options}->{iconv} . '\debug\lib\iconv.lib'); # This must be updated + } + if ($self->{options}->{icu}) + { + $proj->AddIncludeDir($self->{options}->{icu} . '\include'); + if ($self->{platform} eq 'Win32') + { +- $proj->AddLibrary($self->{options}->{icu} . '\lib\icuin.lib'); +- $proj->AddLibrary($self->{options}->{icu} . '\lib\icuuc.lib'); +- $proj->AddLibrary($self->{options}->{icu} . '\lib\icudt.lib'); ++ $proj->AddLibrary($self->{options}->{icu} . '\debug\lib\icuind.lib'); # This must be updated ++ $proj->AddLibrary($self->{options}->{icu} . '\debug\lib\icuucd.lib'); # This must be updated ++ $proj->AddLibrary($self->{options}->{icu} . '\debug\lib\icudtd.lib'); # This must be updated + } + else + { +- $proj->AddLibrary($self->{options}->{icu} . '\lib64\icuin.lib'); +- $proj->AddLibrary($self->{options}->{icu} . '\lib64\icuuc.lib'); +- $proj->AddLibrary($self->{options}->{icu} . '\lib64\icudt.lib'); ++ $proj->AddLibrary($self->{options}->{icu} . '\debug\lib\icuind.lib'); # This must be updated ++ $proj->AddLibrary($self->{options}->{icu} . '\debug\lib\icuucd.lib'); # This must be updated ++ $proj->AddLibrary($self->{options}->{icu} . '\debug\lib\icudtd.lib'); # This must be updated + } + } + if ($self->{options}->{xml}) + { + $proj->AddIncludeDir($self->{options}->{xml} . '\include'); + $proj->AddIncludeDir($self->{options}->{xml} . '\include\libxml2'); +- $proj->AddLibrary($self->{options}->{xml} . '\lib\libxml2.lib'); ++ $proj->AddLibrary($self->{options}->{xml} . '\debug\lib\libxml2.lib'); # This must be updated + } + if ($self->{options}->{xslt}) + { + $proj->AddIncludeDir($self->{options}->{xslt} . '\include'); +- $proj->AddLibrary($self->{options}->{xslt} . '\lib\libxslt.lib'); ++ $proj->AddLibrary($self->{options}->{xslt} . '\debug\lib\libxslt.lib'); # This must be updated + } + if ($self->{options}->{uuid}) + { + $proj->AddIncludeDir($self->{options}->{uuid} . '\include'); +- $proj->AddLibrary($self->{options}->{uuid} . '\lib\uuid.lib'); ++ $proj->AddLibrary($self->{options}->{uuid} . '\debug\lib\uuid.lib'); # This must be updated + } + return $proj; + } diff --git a/ports/libpq/patches/windows/Solution_Release.patch b/ports/libpq/patches/windows/Solution_Release.patch new file mode 100644 index 000000000..442beb6c7 --- /dev/null +++ b/ports/libpq/patches/windows/Solution_Release.patch @@ -0,0 +1,157 @@ +diff --git a/src/tools/msvc/Solution.pm b/src/tools/msvc/Solution.pm +index 51711c2bf..d33fdc3b0 100644 +--- a/src/tools/msvc/Solution.pm ++++ b/src/tools/msvc/Solution.pm +@@ -650,7 +650,7 @@ sub AddProject + if ($self->{options}->{zlib}) + { + $proj->AddIncludeDir($self->{options}->{zlib} . '\include'); +- $proj->AddLibrary($self->{options}->{zlib} . '\lib\zdll.lib'); ++ $proj->AddLibrary($self->{options}->{zlib} . '\lib\zlib.lib'); # This must be updated + } + if ($self->{options}->{openssl}) + { +@@ -661,7 +661,7 @@ sub AddProject + # changed their library names from: + # - libeay to libcrypto + # - ssleay to libssl +- if ($digit1 >= '1' && $digit2 >= '1' && $digit3 >= '0') ++ if ($digit1 >= '1' && $digit2 >= '1' && $digit3 >= '0') # This must be updated + { + my $dbgsuffix; + my $libsslpath; +@@ -670,27 +670,27 @@ sub AddProject + # The format name of the libraries is slightly + # different between the Win32 and Win64 platform, so + # adapt. +- if (-e "$self->{options}->{openssl}/lib/VC/sslcrypto32MD.lib") ++ if (-e "$self->{options}->{openssl}/lib/VC/sslcrypto32MD.lib") # This must be updated + { + # Win32 here, with a debugging library set. + $dbgsuffix = 1; +- $libsslpath = '\lib\VC\libssl32.lib'; +- $libcryptopath = '\lib\VC\libcrypto32.lib'; ++ $libsslpath = '\lib\VC\libssl32.lib'; # This must be updated ++ $libcryptopath = '\lib\VC\libcrypto32.lib'; # This must be updated + } +- elsif (-e "$self->{options}->{openssl}/lib/VC/sslcrypto64MD.lib") ++ elsif (-e "$self->{options}->{openssl}/lib/VC/sslcrypto64MD.lib") # This must be updated + { + # Win64 here, with a debugging library set. + $dbgsuffix = 1; +- $libsslpath = '\lib\VC\libssl64.lib'; +- $libcryptopath = '\lib\VC\libcrypto64.lib'; ++ $libsslpath = '\lib\VC\libssl64.lib'; # This must be updated ++ $libcryptopath = '\lib\VC\libcrypto64.lib'; # This must be updated + } + else + { + # On both Win32 and Win64 the same library + # names are used without a debugging context. + $dbgsuffix = 0; +- $libsslpath = '\lib\libssl.lib'; +- $libcryptopath = '\lib\libcrypto.lib'; ++ $libsslpath = '\lib\libssl.lib'; # This must be updated ++ $libcryptopath = '\lib\libcrypto.lib'; # This must be updated + } + + $proj->AddLibrary($self->{options}->{openssl} . $libsslpath, +@@ -698,16 +698,16 @@ sub AddProject + $proj->AddLibrary($self->{options}->{openssl} . $libcryptopath, + $dbgsuffix); + } +- else ++ else + { + # Choose which set of libraries to use depending on if + # debugging libraries are in place in the installer. +- if (-e "$self->{options}->{openssl}/lib/VC/ssleay32MD.lib") ++ if (-e "$self->{options}->{openssl}/lib/VC/ssleay32MD.lib") # This must be updated + { + $proj->AddLibrary( +- $self->{options}->{openssl} . '\lib\VC\ssleay32.lib', 1); ++ $self->{options}->{openssl} . '\lib\VC\ssleay32.lib', 1); # This must be updated + $proj->AddLibrary( +- $self->{options}->{openssl} . '\lib\VC\libeay32.lib', 1); ++ $self->{options}->{openssl} . '\lib\VC\libeay32.lib', 1); # This must be updated + } + else + { +@@ -715,60 +715,60 @@ sub AddProject + # to be here, so don't ask for it in last + # parameter. + $proj->AddLibrary( +- $self->{options}->{openssl} . '\lib\ssleay32.lib', 0); ++ $self->{options}->{openssl} . '\lib\ssleay32.lib', 0); # This must be updated + $proj->AddLibrary( +- $self->{options}->{openssl} . '\lib\libeay32.lib', 0); ++ $self->{options}->{openssl} . '\lib\libeay32.lib', 0); # This must be updated + } + } + } + if ($self->{options}->{nls}) + { + $proj->AddIncludeDir($self->{options}->{nls} . '\include'); +- $proj->AddLibrary($self->{options}->{nls} . '\lib\libintl.lib'); ++ $proj->AddLibrary($self->{options}->{nls} . '\lib\libintl.lib'); # This must be updated + } + if ($self->{options}->{gss}) + { +- $proj->AddIncludeDir($self->{options}->{gss} . '\inc\krb5'); +- $proj->AddLibrary($self->{options}->{gss} . '\lib\i386\krb5_32.lib'); +- $proj->AddLibrary($self->{options}->{gss} . '\lib\i386\comerr32.lib'); +- $proj->AddLibrary($self->{options}->{gss} . '\lib\i386\gssapi32.lib'); ++ $proj->AddIncludeDir($self->{options}->{gss} . '\inc\krb5'); # This must be updated ++ $proj->AddLibrary($self->{options}->{gss} . '\lib\i386\krb5_32.lib'); # This must be updated ++ $proj->AddLibrary($self->{options}->{gss} . '\lib\i386\comerr32.lib');# This must be updated ++ $proj->AddLibrary($self->{options}->{gss} . '\lib\i386\gssapi32.lib');# This must be updated + } + if ($self->{options}->{iconv}) + { + $proj->AddIncludeDir($self->{options}->{iconv} . '\include'); +- $proj->AddLibrary($self->{options}->{iconv} . '\lib\iconv.lib'); ++ $proj->AddLibrary($self->{options}->{iconv} . '\lib\iconv.lib'); # This must be updated + } + if ($self->{options}->{icu}) + { + $proj->AddIncludeDir($self->{options}->{icu} . '\include'); + if ($self->{platform} eq 'Win32') + { +- $proj->AddLibrary($self->{options}->{icu} . '\lib\icuin.lib'); +- $proj->AddLibrary($self->{options}->{icu} . '\lib\icuuc.lib'); +- $proj->AddLibrary($self->{options}->{icu} . '\lib\icudt.lib'); ++ $proj->AddLibrary($self->{options}->{icu} . '\lib\icuin.lib'); # This must be updated ++ $proj->AddLibrary($self->{options}->{icu} . '\lib\icuuc.lib'); # This must be updated ++ $proj->AddLibrary($self->{options}->{icu} . '\lib\icudt.lib'); # This must be updated + } + else + { +- $proj->AddLibrary($self->{options}->{icu} . '\lib64\icuin.lib'); +- $proj->AddLibrary($self->{options}->{icu} . '\lib64\icuuc.lib'); +- $proj->AddLibrary($self->{options}->{icu} . '\lib64\icudt.lib'); ++ $proj->AddLibrary($self->{options}->{icu} . '\lib\icuin.lib'); # This must be updated ++ $proj->AddLibrary($self->{options}->{icu} . '\lib\icuuc.lib'); # This must be updated ++ $proj->AddLibrary($self->{options}->{icu} . '\lib\icudt.lib'); # This must be updated + } + } + if ($self->{options}->{xml}) + { + $proj->AddIncludeDir($self->{options}->{xml} . '\include'); + $proj->AddIncludeDir($self->{options}->{xml} . '\include\libxml2'); +- $proj->AddLibrary($self->{options}->{xml} . '\lib\libxml2.lib'); ++ $proj->AddLibrary($self->{options}->{xml} . '\lib\libxml2.lib'); # This must be updated + } + if ($self->{options}->{xslt}) + { + $proj->AddIncludeDir($self->{options}->{xslt} . '\include'); +- $proj->AddLibrary($self->{options}->{xslt} . '\lib\libxslt.lib'); ++ $proj->AddLibrary($self->{options}->{xslt} . '\lib\libxslt.lib'); # This must be updated + } + if ($self->{options}->{uuid}) + { + $proj->AddIncludeDir($self->{options}->{uuid} . '\include'); +- $proj->AddLibrary($self->{options}->{uuid} . '\lib\uuid.lib'); ++ $proj->AddLibrary($self->{options}->{uuid} . '\lib\uuid.lib'); # This must be updated + } + return $proj; + } diff --git a/ports/libpq/patches/windows/arm.patch b/ports/libpq/patches/windows/arm.patch new file mode 100644 index 000000000..0e47c34b9 --- /dev/null +++ b/ports/libpq/patches/windows/arm.patch @@ -0,0 +1,39 @@ +diff --git a/src/tools/msvc/Mkvcbuild.pm b/src/tools/msvc/Mkvcbuild.pm +index 99f39caa5..4f51c12f2 100644 +--- a/src/tools/msvc/Mkvcbuild.pm ++++ b/src/tools/msvc/Mkvcbuild.pm +@@ -110,8 +110,8 @@ sub mkvcbuild + + if ($vsVersion >= '9.00') + { +- push(@pgportfiles, 'pg_crc32c_sse42_choose.c'); +- push(@pgportfiles, 'pg_crc32c_sse42.c'); ++ #push(@pgportfiles, 'pg_crc32c_sse42_choose.c'); ++ #push(@pgportfiles, 'pg_crc32c_sse42.c'); + push(@pgportfiles, 'pg_crc32c_sb8.c'); + } + else +diff --git a/src/tools/msvc/MSBuildProject.pm b/src/tools/msvc/MSBuildProject.pm +index 823357c02..625f32bf8 100644 +--- a/src/tools/msvc/MSBuildProject.pm ++++ b/src/tools/msvc/MSBuildProject.pm +@@ -307,9 +307,8 @@ sub WriteItemDefinitionGroup + : ($self->{type} eq "dll" ? 'DynamicLibrary' : 'StaticLibrary'); + my $libs = $self->GetAdditionalLinkerDependencies($cfgname, ';'); + +- my $targetmachine = +- $self->{platform} eq 'Win32' ? 'MachineX86' : 'MachineX64'; +- ++ my $targetmachine = $self->{platform} eq 'ARM64' ? 'MachineARM64' : 'MachineARM'; ++ + my $includes = $self->{includes}; + unless ($includes eq '' or $includes =~ /;$/) + { +@@ -347,7 +349,6 @@ sub WriteItemDefinitionGroup + <ProgramDatabaseFile>.\\$cfgname\\$self->{name}\\$self->{name}.pdb</ProgramDatabaseFile> + <GenerateMapFile>false</GenerateMapFile> + <MapFileName>.\\$cfgname\\$self->{name}\\$self->{name}.map</MapFileName> +- <RandomizedBaseAddress>false</RandomizedBaseAddress> + <!-- Permit links to MinGW-built, 32-bit DLLs (default before VS2012). --> + <ImageHasSafeExceptionHandlers/> + <SubSystem>Console</SubSystem> diff --git a/ports/libpq/patches/windows/install.patch b/ports/libpq/patches/windows/install.patch new file mode 100644 index 000000000..206dd1da0 --- /dev/null +++ b/ports/libpq/patches/windows/install.patch @@ -0,0 +1,225 @@ +diff --git a/src/tools/msvc/Install.pm b/src/tools/msvc/Install.pm +index d109b2c90..75c7446e6 100644 +--- a/src/tools/msvc/Install.pm ++++ b/src/tools/msvc/Install.pm +@@ -106,7 +106,7 @@ sub Install + } + }, + @top_dir); +- CopySetOfFiles('config files', $sample_files, $target . '/share/'); ++ CopySetOfFiles('config files', $sample_files, $target . '/share/libpq/'); + CopyFiles( + 'Import libraries', + $target . '/lib/', +@@ -78,10 +78,10 @@ sub Install + my $majorver = DetermineMajorVersion(); + print "Installing version $majorver for $conf in $target\n"; + +- my @client_dirs = ('bin', 'lib', 'share', 'symbols'); ++ my @client_dirs = ('bin', 'lib', 'share', 'tools', 'share/libpq', 'tools/libpq'); + my @all_dirs = ( +- @client_dirs, 'doc', 'doc/contrib', 'doc/extension', 'share/contrib', +- 'share/extension', 'share/timezonesets', 'share/tsearch_data'); ++ @client_dirs, 'doc', 'doc/libpq', 'doc/libpq/contrib', 'doc/libpq/extension', 'share/libpq/contrib', ++ 'share/libpq/extension', 'share/libpq/timezonesets', 'share/libpq/tsearch_data'); + if ($insttype eq "client") + { + EnsureDirectories($target, @client_dirs); +@@ -120,35 +120,35 @@ sub Install + CopySetOfFiles( + 'timezone names', + [ glob('src\timezone\tznames\*.txt') ], +- $target . '/share/timezonesets/'); ++ $target . '/share/libpq/timezonesets/'); + CopyFiles( + 'timezone sets', +- $target . '/share/timezonesets/', ++ $target . '/share/libpq/timezonesets/', + 'src/timezone/tznames/', 'Default', 'Australia', 'India'); + CopySetOfFiles( + 'BKI files', + [ glob("src\\backend\\catalog\\postgres.*") ], +- $target . '/share/'); ++ $target . '/share/libpq/'); + CopySetOfFiles( + 'SQL files', + [ glob("src\\backend\\catalog\\*.sql") ], +- $target . '/share/'); ++ $target . '/share/libpq/'); + CopyFiles( +- 'Information schema data', $target . '/share/', ++ 'Information schema data', $target . '/share/libpq/', + 'src/backend/catalog/', 'sql_features.txt'); + CopyFiles( +- 'Error code data', $target . '/share/', ++ 'Error code data', $target . '/share/libpq/', + 'src/backend/utils/', 'errcodes.txt'); + GenerateTimezoneFiles($target, $conf); + GenerateTsearchFiles($target); + CopySetOfFiles( + 'Stopword files', + [ glob("src\\backend\\snowball\\stopwords\\*.stop") ], +- $target . '/share/tsearch_data/'); ++ $target . '/share/libpq/tsearch_data/'); + CopySetOfFiles( + 'Dictionaries sample files', + [ glob("src\\backend\\tsearch\\dicts\\*_sample*") ], +- $target . '/share/tsearch_data/'); ++ $target . '/share/libpq/tsearch_data/'); + + my $pl_extension_files = []; + my @pldirs = ('src/pl/plpgsql/src'); +@@ -167,7 +167,7 @@ sub Install + }, + @pldirs); + CopySetOfFiles('PL Extension files', +- $pl_extension_files, $target . '/share/extension/'); ++ $pl_extension_files, $target . '/share/libpq/extension/'); + } + + GenerateNLSFiles($target, $config->{nls}, $majorver) if ($config->{nls}); +@@ -282,23 +282,26 @@ sub CopySolutionOutput + { + if ($1 == 1) + { +- push(@{ $install_list{'bin'} }, "exe"); ++ push(@{ $install_list{'tools\\libpq'} }, "exe"); + } + elsif ($1 == 2) + { +- push(@{ $install_list{'lib'} }, "dll"); ++ push(@{ $install_list{'bin'} }, "dll"); + if ($is_sharedlib) + { + push(@{ $install_list{'bin'} }, "dll"); + push(@{ $install_list{'lib'} }, "lib"); + } ++ else ++ { ++ push(@{ $install_list{'lib'} }, "lib"); ++ } + } + else + { +- ++ push(@{ $install_list{'lib'} }, "lib"); + # Static libraries, such as libpgport, only used internally + # during build, don't install. +- next; + } + } + elsif ($vcproj eq 'vcxproj' +@@ -306,11 +309,11 @@ sub CopySolutionOutput + { + if ($1 eq 'Application') + { +- push(@{ $install_list{'bin'} }, "exe"); ++ push(@{ $install_list{'tools\\libpq'} }, "exe"); + } + elsif ($1 eq 'DynamicLibrary') + { +- push(@{ $install_list{'lib'} }, "dll"); ++ push(@{ $install_list{'bin'} }, "dll"); + if ($is_sharedlib) + { + push(@{ $install_list{'bin'} }, "dll"); +@@ -319,10 +322,9 @@ sub CopySolutionOutput + } + else # 'StaticLibrary' + { +- ++ push(@{ $install_list{'lib'} }, "lib"); + # Static lib, such as libpgport, only used internally + # during build, don't install. +- next; + } + } + else +@@ -339,7 +339,7 @@ sub CopySolutionOutput + || croak "Could not copy $pf.$ext\n"; + } + } +- lcopy("$conf\\$pf\\$pf.pdb", "$target\\symbols\\$pf.pdb") ++ lcopy("$conf\\$pf\\$pf.pdb", "$target\\bin\\$pf.pdb") + || croak "Could not copy $pf.pdb\n"; + print "."; + } +@@ -366,7 +366,7 @@ sub GenerateTimezoneFiles + print "Generating timezone files..."; + + my @args = +- ("$conf/zic/zic", '-d', "$target/share/timezone", '-p', "$posixrules"); ++ ("$conf/zic/zic", '-d', "$target/share/libpq/timezone", '-p', "$posixrules"); + foreach (@tzfiles) + { + my $tzfile = $_; +@@ -391,7 +391,7 @@ sub GenerateTsearchFiles + $mf =~ /^LANGUAGES\s*=\s*(.*)$/m + || die "Could not find LANGUAGES line in snowball Makefile\n"; + my @pieces = split /\s+/, $1; +- open($F, '>', "$target/share/snowball_create.sql") ++ open($F, '>', "$target/share/libpq/snowball_create.sql") + || die "Could not write snowball_create.sql"; + print $F read_file('src/backend/snowball/snowball_func.sql.in'); + +@@ -476,7 +476,7 @@ sub CopySubdirFiles + foreach my $f (split /\s+/, $flist) + { + lcopy("$subdir/$module/$f.control", +- "$target/share/extension/$f.control") ++ "$target/share/libpq/extension/$f.control") + || croak("Could not copy file $f.control in contrib $module"); + print '.'; + } +@@ -494,7 +494,7 @@ sub CopySubdirFiles + foreach my $f (split /\s+/, $flist) + { + lcopy("$subdir/$module/$f", +- "$target/share/$moduledir/" . basename($f)) ++ "$target/share/libpq/$moduledir/" . basename($f)) + || croak("Could not copy file $f in contrib $module"); + print '.'; + } +@@ -509,7 +509,7 @@ sub CopySubdirFiles + foreach my $f (split /\s+/, $flist) + { + lcopy("$subdir/$module/$f", +- "$target/share/tsearch_data/" . basename($f)) ++ "$target/share/libpq/tsearch_data/" . basename($f)) + || croak("Could not copy file $f in $subdir $module"); + print '.'; + } +@@ -572,7 +572,7 @@ sub CopySubdirFiles + if ($module eq 'spi'); + foreach my $f (split /\s+/, $flist) + { +- lcopy("$subdir/$module/$f", "$target/doc/$moduledir/$f") ++ lcopy("$subdir/$module/$f", "$target/doc/libpq/$moduledir/$f") + || croak("Could not copy file $f in contrib $module"); + print '.'; + } +@@ -701,7 +701,7 @@ sub GenerateNLSFiles + my $majorver = shift; + + print "Installing NLS files..."; +- EnsureDirectories($target, "share/locale"); ++ EnsureDirectories($target, "share/libpq/locale"); + my @flist; + File::Find::find( + { +@@ -723,12 +723,12 @@ sub GenerateNLSFiles + next unless /([^\/]+)\.po/; + $lang = $1; + +- EnsureDirectories($target, "share/locale/$lang", +- "share/locale/$lang/LC_MESSAGES"); ++ EnsureDirectories($target, "share/libpq/locale/$lang", ++ "share/libpq/locale/$lang/LC_MESSAGES"); + my @args = ( + "$nlspath\\bin\\msgfmt", + '-o', +- "$target\\share\\locale\\$lang\\LC_MESSAGES\\$prgm-$majorver.mo", ++ "$target\\share\\libpq\\locale\\$lang\\LC_MESSAGES\\$prgm-$majorver.mo", + $_); + system(@args) && croak("Could not run msgfmt on $dir\\$_"); + print "."; diff --git a/ports/libpq/patches/windows/minimize_install.patch b/ports/libpq/patches/windows/minimize_install.patch new file mode 100644 index 000000000..1d1eb2b57 --- /dev/null +++ b/ports/libpq/patches/windows/minimize_install.patch @@ -0,0 +1,35 @@ +diff --git a/src/tools/msvc/Install.pm b/src/tools/msvc/Install.pm +index d109b2c90..75c7446e6 100644 +--- a/src/tools/msvc/Install.pm ++++ b/src/tools/msvc/Install.pm +@@ -19,13 +19,13 @@ our (@ISA, @EXPORT_OK); + + my $insttype; + my @client_contribs = ('oid2name', 'pgbench', 'vacuumlo'); +-my @client_program_files = ( +- 'clusterdb', 'createdb', 'createuser', 'dropdb', +- 'dropuser', 'ecpg', 'libecpg', 'libecpg_compat', +- 'libpgtypes', 'libpq', 'pg_basebackup', 'pg_config', +- 'pg_dump', 'pg_dumpall', 'pg_isready', 'pg_receivewal', +- 'pg_recvlogical', 'pg_restore', 'psql', 'reindexdb', +- 'vacuumdb', @client_contribs); ++my @client_program_files = ( 'libecpg','libecpg_compat', 'libpgtypes', 'libpq' ); ++ # 'clusterdb', 'createdb', 'createuser', 'dropdb', ++ # 'dropuser', 'ecpg', 'libecpg', 'libecpg_compat', ++ #'libpgtypes', 'libpq', 'pg_basebackup', 'pg_config', ++ #'pg_dump', 'pg_dumpall', 'pg_isready', 'pg_receivewal', ++ #'pg_recvlogical', 'pg_restore', 'psql', 'reindexdb', ++ #'vacuumdb', @client_contribs); + + sub lcopy + { +@@ -110,7 +110,7 @@ sub Install + CopyFiles( + 'Import libraries', + $target . '/lib/', +- "$conf\\", "postgres\\postgres.lib", "libpgcommon\\libpgcommon.lib", ++ "$conf\\", "libpgcommon\\libpgcommon.lib", + "libpgport\\libpgport.lib"); + CopyContribFiles($config, $target); + CopyIncludeFiles($target); + diff --git a/ports/libpq/patches/windows/openssl_exe_path.patch b/ports/libpq/patches/windows/openssl_exe_path.patch new file mode 100644 index 000000000..cf2930f7f --- /dev/null +++ b/ports/libpq/patches/windows/openssl_exe_path.patch @@ -0,0 +1,34 @@ +diff --git a/src/tools/msvc/Solution.pm b/src/tools/msvc/Solution.pm
+index 51711c2bf..d33fdc3b0 100644
+--- a/src/tools/msvc/Solution.pm
++++ b/src/tools/msvc/Solution.pm
+@@ -127,19 +127,19 @@ sub GetOpenSSLVersion
+ # openssl.exe is in the specified directory.
+ my $opensslcmd =
+ $self->{options}->{openssl} . "\\bin\\openssl.exe version 2>&1";
+- my $sslout = `$opensslcmd`;
++ #my $sslout = `$opensslcmd`;
+
+- $? >> 8 == 0
+- or croak
+- "Unable to determine OpenSSL version: The openssl.exe command wasn't found.";
++ #$? >> 8 == 0
++ # or croak
++ # "Unable to determine OpenSSL version: The openssl.exe command wasn't found.";
+
+- if ($sslout =~ /(\d+)\.(\d+)\.(\d+)(\D)/m)
+- {
+- return ($1, $2, $3);
+- }
++ #if ($sslout =~ /(\d+)\.(\d+)\.(\d+)(\D)/m)
++ #{
++ return (1, 1, 1);
++ #}
+
+- croak
+- "Unable to determine OpenSSL version: The openssl.exe version could not be determined.";
++ #croak
++ # "Unable to determine OpenSSL version: The openssl.exe version could not be determined.";
+ }
+
+ sub GenerateFiles
diff --git a/ports/libpq/patches/windows/win_bison_flex.patch b/ports/libpq/patches/windows/win_bison_flex.patch new file mode 100644 index 000000000..95df3f495 --- /dev/null +++ b/ports/libpq/patches/windows/win_bison_flex.patch @@ -0,0 +1,43 @@ +diff --git a/src/tools/msvc/pgflex.pl b/src/tools/msvc/pgflex.pl +index aceed5ffd..f6ed215e8 100644 +--- a/src/tools/msvc/pgflex.pl ++++ b/src/tools/msvc/pgflex.pl +@@ -12,7 +12,7 @@ $ENV{CYGWIN} = 'nodosfilewarning'; + + do './src/tools/msvc/buildenv.pl' if -e 'src/tools/msvc/buildenv.pl'; + +-my ($flexver) = `flex -V`; # grab first line ++my ($flexver) = `win_flex -V`; # grab first line + $flexver = (split(/\s+/, $flexver))[1]; + $flexver =~ s/[^0-9.]//g; + my @verparts = split(/\./, $flexver); +@@ -48,7 +47,7 @@ close($mf); + my $basetarg = basename($output); + my $flexflags = ($make =~ /^$basetarg:\s*FLEXFLAGS\s*=\s*(\S.*)/m ? $1 : ''); + +-system("flex $flexflags -o$output $input"); ++system("win_flex $flexflags -o$output $input"); + if ($? == 0) + { + +diff --git a/src/tools/msvc/pgbison.pl b/src/tools/msvc/pgbison.pl +index 895e398c0..f5b524a5d 100644 +--- a/src/tools/msvc/pgbison.pl ++++ b/src/tools/msvc/pgbison.pl +@@ -9,7 +9,7 @@ use File::Basename; + + do './src/tools/msvc/buildenv.pl' if -e 'src/tools/msvc/buildenv.pl'; + +-my ($bisonver) = `bison -V`; # grab first line ++my ($bisonver) = `win_bison -V`; # grab first line + $bisonver = (split(/\s+/, $bisonver))[3]; # grab version number + + unless ($bisonver eq '1.875' || $bisonver ge '2.2') +@@ -45,5 +45,5 @@ close($mf); + my $basetarg = basename($output); + my $headerflag = ($make =~ /^$basetarg:\s+BISONFLAGS\b.*-d/m ? '-d' : ''); + +-system("bison $headerflag $input -o $output"); ++system("win_bison $headerflag $input -o $output"); + exit $? >> 8; + diff --git a/ports/libpq/pg_config.darwin.h b/ports/libpq/pg_config.darwin.h deleted file mode 100644 index 5db9f84d2..000000000 --- a/ports/libpq/pg_config.darwin.h +++ /dev/null @@ -1,191 +0,0 @@ -#define ACCEPT_TYPE_ARG1 int -#define ACCEPT_TYPE_ARG2 struct sockaddr * -#define ACCEPT_TYPE_ARG3 socklen_t -#define ACCEPT_TYPE_RETURN int -#define ALIGNOF_DOUBLE 8 -#define ALIGNOF_INT 4 -#define ALIGNOF_LONG 8 -#define ALIGNOF_SHORT 2 -#define BLCKSZ 8192 -#define DEF_PGPORT 5432 -#define DEF_PGPORT_STR "5432" -#define ENABLE_THREAD_SAFETY 1 -#define FLEXIBLE_ARRAY_MEMBER /**/ -#define FLOAT4PASSBYVAL true -#define FLOAT8PASSBYVAL true -#ifdef GETTIMEOFDAY_1ARG -# define gettimeofday(a,b) gettimeofday(a) -#endif -#define HAVE_ATOMICS 1 -#define HAVE_CBRT 1 -#define HAVE_CRYPT 1 -#define HAVE_DECL_FDATASYNC 0 -#define HAVE_DECL_F_FULLFSYNC 1 -#define HAVE_DECL_POSIX_FADVISE 0 -#define HAVE_DECL_SNPRINTF 1 -#define HAVE_DECL_STRLCAT 1 -#define HAVE_DECL_STRLCPY 1 -#define HAVE_DECL_SYS_SIGLIST 1 -#define HAVE_DECL_VSNPRINTF 1 -#define HAVE_DLOPEN 1 -#define HAVE_FDATASYNC 1 -#define HAVE_FLS 1 -#define HAVE_FSEEKO 1 -#define HAVE_FUNCNAME__FUNC 1 -#define HAVE_GCC__ATOMIC_INT32_CAS 1 -#define HAVE_GCC__ATOMIC_INT64_CAS 1 -#define HAVE_GCC__SYNC_CHAR_TAS 1 -#define HAVE_GCC__SYNC_INT32_CAS 1 -#define HAVE_GCC__SYNC_INT32_TAS 1 -#define HAVE_GCC__SYNC_INT64_CAS 1 -#define HAVE_GETADDRINFO 1 -#define HAVE_GETIFADDRS 1 -#define HAVE_GETOPT 1 -#define HAVE_GETOPT_H 1 -#define HAVE_GETOPT_LONG 1 -#define HAVE_GETPEEREID 1 -#define HAVE_GETPWUID_R 1 -#define HAVE_GETRLIMIT 1 -#define HAVE_GETRUSAGE 1 -#define HAVE_HISTORY_TRUNCATE_FILE 1 -#define HAVE_IFADDRS_H 1 -#define HAVE_INET_ATON 1 -#define HAVE_INTPTR_T 1 -#define HAVE_INTTYPES_H 1 -#define HAVE_INT_OPTERR 1 -#define HAVE_INT_OPTRESET 1 -#define HAVE_INT_TIMEZONE 1 -#define HAVE_IPV6 1 -#define HAVE_ISINF 1 -#define HAVE_LANGINFO_H 1 -#define HAVE_LIBM 1 -#define HAVE_LIBREADLINE 1 -#define HAVE_LIBZ 1 -#define HAVE_LOCALE_T 1 -#define HAVE_LONG_INT_64 1 -#define HAVE_LONG_LONG_INT 1 -#define HAVE_MBSTOWCS_L 1 -#define HAVE_MEMMOVE 1 -#define HAVE_MEMORY_H 1 -#define HAVE_MKDTEMP 1 -#define HAVE_NETINET_IN_H 1 -#define HAVE_NETINET_TCP_H 1 -#define HAVE_NET_IF_H 1 -#define HAVE_POLL 1 -#define HAVE_POLL_H 1 -#define HAVE_PTHREAD 1 -#define HAVE_PTHREAD_IS_THREADED_NP 1 -#define HAVE_PTHREAD_PRIO_INHERIT 1 -#define HAVE_PWD_H 1 -#define HAVE_RANDOM 1 -#define HAVE_READLINE_HISTORY_H 1 -#define HAVE_READLINE_READLINE_H 1 -#define HAVE_READLINK 1 -#define HAVE_RINT 1 -#define HAVE_RL_COMPLETION_APPEND_CHARACTER 1 -#define HAVE_RL_COMPLETION_MATCHES 1 -#define HAVE_RL_FILENAME_COMPLETION_FUNCTION 1 -#define HAVE_SETSID 1 -#define HAVE_SHM_OPEN 1 -#define HAVE_SNPRINTF 1 -#define HAVE_SPINLOCKS 1 -#define HAVE_SRANDOM 1 -#define HAVE_SSL_GET_CURRENT_COMPRESSION 1 -#define HAVE_STDINT_H 1 -#define HAVE_STDLIB_H 1 -#define HAVE_STRERROR 1 -#define HAVE_STRERROR_R 1 -#define HAVE_STRINGS_H 1 -#define HAVE_STRING_H 1 -#define HAVE_STRLCAT 1 -#define HAVE_STRLCPY 1 -#define HAVE_STRTOLL 1 -#define HAVE_STRTOULL 1 -#define HAVE_STRUCT_ADDRINFO 1 -#define HAVE_STRUCT_OPTION 1 -#define HAVE_STRUCT_SOCKADDR_SA_LEN 1 -#define HAVE_STRUCT_SOCKADDR_STORAGE 1 -#define HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY 1 -#define HAVE_STRUCT_SOCKADDR_STORAGE_SS_LEN 1 -#define HAVE_STRUCT_TM_TM_ZONE 1 -#define HAVE_SYMLINK 1 -#define HAVE_SYSLOG 1 -#define HAVE_SYS_IOCTL_H 1 -#define HAVE_SYS_IPC_H 1 -#define HAVE_SYS_POLL_H 1 -#define HAVE_SYS_RESOURCE_H 1 -#define HAVE_SYS_SELECT_H 1 -#define HAVE_SYS_SEM_H 1 -#define HAVE_SYS_SHM_H 1 -#define HAVE_SYS_SOCKET_H 1 -#define HAVE_SYS_SOCKIO_H 1 -#define HAVE_SYS_STAT_H 1 -#define HAVE_SYS_TIME_H 1 -#define HAVE_SYS_TYPES_H 1 -#define HAVE_SYS_UCRED_H 1 -#define HAVE_SYS_UN_H 1 -#define HAVE_TERMIOS_H 1 -#define HAVE_TM_ZONE 1 -#define HAVE_TOWLOWER 1 -#define HAVE_TZNAME 1 -#define HAVE_UINTPTR_T 1 -#define HAVE_UNION_SEMUN 1 -#define HAVE_UNISTD_H 1 -#define HAVE_UNIX_SOCKETS 1 -#define HAVE_UNSETENV 1 -#define HAVE_UNSIGNED_LONG_LONG_INT 1 -#define HAVE_UTIME 1 -#define HAVE_UTIMES 1 -#define HAVE_UTIME_H 1 -#define HAVE_VSNPRINTF 1 -#define HAVE_WCHAR_H 1 -#define HAVE_WCSTOMBS 1 -#define HAVE_WCSTOMBS_L 1 -#define HAVE_WCTYPE_H 1 -#define HAVE__BUILTIN_BSWAP32 1 -#define HAVE__BUILTIN_BSWAP64 1 -#define HAVE__BUILTIN_CONSTANT_P 1 -#define HAVE__BUILTIN_TYPES_COMPATIBLE_P 1 -#define HAVE__BUILTIN_UNREACHABLE 1 -#define HAVE__GET_CPUID 1 -#define HAVE__STATIC_ASSERT 1 -#define HAVE__VA_ARGS 1 -#define INT64_MODIFIER "l" -#define LOCALE_T_IN_XLOCALE 1 -#define MAXIMUM_ALIGNOF 8 -#define MEMSET_LOOP_LIMIT 1024 -#define PACKAGE_BUGREPORT "pgsql-bugs@postgresql.org" -#define PACKAGE_NAME "PostgreSQL" -#define PACKAGE_STRING "PostgreSQL 9.6.3" -#define PACKAGE_TARNAME "postgresql" -#define PACKAGE_URL "" -#define PACKAGE_VERSION "9.6.3" -#define PG_INT128_TYPE __int128 -#define PG_INT64_TYPE long int -#define PG_KRB_SRVNAM "postgres" -#define PG_MAJORVERSION "9.6" -#define PG_PRINTF_ATTRIBUTE printf -#define PG_VERSION "9.6.3" -#define PG_VERSION_NUM 90603 -#define PG_VERSION_STR "PostgreSQL 9.6.3 on x86_64-apple-darwin15.6.0, compiled by Apple LLVM version 7.0.2 (clang-700.1.81), 64-bit" -#define RELSEG_SIZE 131072 -#define SIZEOF_LONG 8 -#define SIZEOF_OFF_T 8 -#define SIZEOF_SIZE_T 8 -#define SIZEOF_VOID_P 8 -#define STDC_HEADERS 1 -#define STRERROR_R_INT 1 -#define USE_FLOAT4_BYVAL 1 -#define USE_FLOAT8_BYVAL 1 -#define USE_INTEGER_DATETIMES 1 -#define USE_SSE42_CRC32C_WITH_RUNTIME_CHECK 1 -#define USE_SYSV_SEMAPHORES 1 -#define USE_SYSV_SHARED_MEMORY 1 -#define WCSTOMBS_L_IN_XLOCALE 1 -#if defined AC_APPLE_UNIVERSAL_BUILD -# if defined __BIG_ENDIAN__ -# define WORDS_BIGENDIAN 1 -# endif -#endif -#define XLOG_BLCKSZ 8192 -#define XLOG_SEG_SIZE (16 * 1024 * 1024) diff --git a/ports/libpq/pg_config.linux.h b/ports/libpq/pg_config.linux.h deleted file mode 100644 index 99ebaa716..000000000 --- a/ports/libpq/pg_config.linux.h +++ /dev/null @@ -1,173 +0,0 @@ -#define ACCEPT_TYPE_ARG1 int -#define ACCEPT_TYPE_ARG2 struct sockaddr * -#define ACCEPT_TYPE_ARG3 socklen_t -#define ACCEPT_TYPE_RETURN int -#define ALIGNOF_DOUBLE 8 -#define ALIGNOF_INT 4 -#define ALIGNOF_LONG 8 -#define ALIGNOF_SHORT 2 -#define BLCKSZ 8192 -#define DEF_PGPORT 5432 -#define DEF_PGPORT_STR "5432" -#define ENABLE_THREAD_SAFETY 1 -#define FLEXIBLE_ARRAY_MEMBER /**/ -#define FLOAT4PASSBYVAL true -#define FLOAT8PASSBYVAL true -#ifdef GETTIMEOFDAY_1ARG -# define gettimeofday(a,b) gettimeofday(a) -#endif -#define HAVE_ATOMICS 1 -#define HAVE_CBRT 1 -#define HAVE_CRYPT 1 -#define HAVE_CRYPT_H 1 -#define HAVE_DECL_FDATASYNC 1 -#define HAVE_DECL_F_FULLFSYNC 0 -#define HAVE_DECL_POSIX_FADVISE 1 -#define HAVE_DECL_SNPRINTF 1 -#define HAVE_DECL_STRLCAT 0 -#define HAVE_DECL_STRLCPY 0 -#define HAVE_DECL_SYS_SIGLIST 1 -#define HAVE_DECL_VSNPRINTF 1 -#define HAVE_DLOPEN 1 -#define HAVE_FDATASYNC 1 -#define HAVE_FSEEKO 1 -#define HAVE_FUNCNAME__FUNC 1 -#define HAVE_GCC__ATOMIC_INT32_CAS 1 -#define HAVE_GCC__ATOMIC_INT64_CAS 1 -#define HAVE_GCC__SYNC_CHAR_TAS 1 -#define HAVE_GCC__SYNC_INT32_CAS 1 -#define HAVE_GCC__SYNC_INT32_TAS 1 -#define HAVE_GCC__SYNC_INT64_CAS 1 -#define HAVE_GETADDRINFO 1 -#define HAVE_GETHOSTBYNAME_R 1 -#define HAVE_GETIFADDRS 1 -#define HAVE_GETOPT 1 -#define HAVE_GETOPT_H 1 -#define HAVE_GETOPT_LONG 1 -#define HAVE_GETPWUID_R 1 -#define HAVE_GETRLIMIT 1 -#define HAVE_GETRUSAGE 1 -#define HAVE_IFADDRS_H 1 -#define HAVE_INET_ATON 1 -#define HAVE_INTPTR_T 1 -#define HAVE_INTTYPES_H 1 -#define HAVE_INT_OPTERR 1 -#define HAVE_INT_TIMEZONE 1 -#define HAVE_IPV6 1 -#define HAVE_ISINF 1 -#define HAVE_LANGINFO_H 1 -#define HAVE_LIBM 1 -#define HAVE_LIBZ 1 -#define HAVE_LOCALE_T 1 -#define HAVE_LONG_INT_64 1 -#define HAVE_LONG_LONG_INT 1 -#define HAVE_MEMMOVE 1 -#define HAVE_MEMORY_H 1 -#define HAVE_MKDTEMP 1 -#define HAVE_NETINET_IN_H 1 -#define HAVE_NETINET_TCP_H 1 -#define HAVE_NET_IF_H 1 -#define HAVE_POLL 1 -#define HAVE_POLL_H 1 -#define HAVE_POSIX_FADVISE 1 -#define HAVE_PTHREAD 1 -#define HAVE_PTHREAD_PRIO_INHERIT 1 -#define HAVE_PWD_H 1 -#define HAVE_RANDOM 1 -#define HAVE_READLINK 1 -#define HAVE_RINT 1 -#define HAVE_SETSID 1 -#define HAVE_SHM_OPEN 1 -#define HAVE_SNPRINTF 1 -#define HAVE_SPINLOCKS 1 -#define HAVE_SRANDOM 1 -#define HAVE_SSL_GET_CURRENT_COMPRESSION 1 -#define HAVE_STDINT_H 1 -#define HAVE_STDLIB_H 1 -#define HAVE_STRERROR 1 -#define HAVE_STRERROR_R 1 -#define HAVE_STRINGS_H 1 -#define HAVE_STRING_H 1 -#define HAVE_STRTOLL 1 -#define HAVE_STRTOULL 1 -#define HAVE_STRUCT_ADDRINFO 1 -#define HAVE_STRUCT_OPTION 1 -#define HAVE_STRUCT_SOCKADDR_STORAGE 1 -#define HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY 1 -#define HAVE_STRUCT_TM_TM_ZONE 1 -#define HAVE_SYMLINK 1 -#define HAVE_SYNC_FILE_RANGE 1 -#define HAVE_SYSLOG 1 -#define HAVE_SYS_EPOLL_H 1 -#define HAVE_SYS_IOCTL_H 1 -#define HAVE_SYS_IPC_H 1 -#define HAVE_SYS_POLL_H 1 -#define HAVE_SYS_RESOURCE_H 1 -#define HAVE_SYS_SELECT_H 1 -#define HAVE_SYS_SEM_H 1 -#define HAVE_SYS_SHM_H 1 -#define HAVE_SYS_SOCKET_H 1 -#define HAVE_SYS_STAT_H 1 -#define HAVE_SYS_TIME_H 1 -#define HAVE_SYS_TYPES_H 1 -#define HAVE_SYS_UN_H 1 -#define HAVE_TERMIOS_H 1 -#define HAVE_TM_ZONE 1 -#define HAVE_TOWLOWER 1 -#define HAVE_TZNAME 1 -#define HAVE_UINTPTR_T 1 -#define HAVE_UNISTD_H 1 -#define HAVE_UNIX_SOCKETS 1 -#define HAVE_UNSETENV 1 -#define HAVE_UNSIGNED_LONG_LONG_INT 1 -#define HAVE_UTIME 1 -#define HAVE_UTIMES 1 -#define HAVE_UTIME_H 1 -#define HAVE_VSNPRINTF 1 -#define HAVE_WCHAR_H 1 -#define HAVE_WCSTOMBS 1 -#define HAVE_WCTYPE_H 1 -#define HAVE__BUILTIN_BSWAP32 1 -#define HAVE__BUILTIN_BSWAP64 1 -#define HAVE__BUILTIN_CONSTANT_P 1 -#define HAVE__BUILTIN_TYPES_COMPATIBLE_P 1 -#define HAVE__BUILTIN_UNREACHABLE 1 -#define HAVE__GET_CPUID 1 -#define HAVE__STATIC_ASSERT 1 -#define HAVE__VA_ARGS 1 -#define INT64_MODIFIER "l" -#define MAXIMUM_ALIGNOF 8 -#define MEMSET_LOOP_LIMIT 1024 -#define PACKAGE_BUGREPORT "pgsql-bugs@postgresql.org" -#define PACKAGE_NAME "PostgreSQL" -#define PACKAGE_STRING "PostgreSQL 9.6.3" -#define PACKAGE_TARNAME "postgresql" -#define PACKAGE_URL "" -#define PACKAGE_VERSION "9.6.3" -${DEFINE_PG_INT128_TYPE} -#define PG_INT64_TYPE long int -#define PG_KRB_SRVNAM "postgres" -#define PG_MAJORVERSION "9.6" -#define PG_PRINTF_ATTRIBUTE gnu_printf -#define PG_VERSION "9.6.3" -#define PG_VERSION_NUM 90603 -#define PG_VERSION_STR "PostgreSQL 9.6.3 on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 5.4.1-2ubuntu1~16.04) 5.4.1 20160904, 64-bit" -#define RELSEG_SIZE 131072 -#define SIZEOF_LONG 8 -#define SIZEOF_OFF_T 8 -#define SIZEOF_SIZE_T 8 -#define SIZEOF_VOID_P 8 -#define STDC_HEADERS 1 -#define USE_FLOAT4_BYVAL 1 -#define USE_FLOAT8_BYVAL 1 -#define USE_INTEGER_DATETIMES 1 -#define USE_SSE42_CRC32C_WITH_RUNTIME_CHECK 1 -#define USE_SYSV_SEMAPHORES 1 -#define USE_SYSV_SHARED_MEMORY 1 -#if defined AC_APPLE_UNIVERSAL_BUILD -# if defined __BIG_ENDIAN__ -# define WORDS_BIGENDIAN 1 -# endif -#endif -#define XLOG_BLCKSZ 8192 -#define XLOG_SEG_SIZE (16 * 1024 * 1024) diff --git a/ports/libpq/portfile.cmake b/ports/libpq/portfile.cmake index 5dd4e197c..2ef9309a2 100644 --- a/ports/libpq/portfile.cmake +++ b/ports/libpq/portfile.cmake @@ -1,32 +1,284 @@ -include(vcpkg_common_functions) - -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") +if(VCPKG_TARGET_IS_UWP) message(FATAL_ERROR "${PORT} currently only supports being built for desktop") endif() +macro(feature_unsupported) + foreach(_feat ${ARGN}) + if("${FEATURES}" MATCHES "${_feat}") + message(FATAL_ERROR "Feature ${_feat} not supported by configure script on the target platform") + endif() + endforeach() +endmacro() + +macro(feature_not_implemented_yet) + foreach(_feat ${ARGN}) + if("${FEATURES}" MATCHES "${_feat}") + message(FATAL_ERROR "Feature ${_feat} is not yet implement on the target platform") + endif() + endforeach() +endmacro() + +if(VCPKG_TARGET_IS_WINDOWS) + # on windows libpq seems to only depend on openssl gss(kerberos) and ldap on the soruce site_name + # the configuration header depends on zlib, nls, ldap, uuid, xml, xlst,gss,openssl,icu + feature_unsupported(readline bonjour libedit kerberos bsd systemd llvm pam) + feature_not_implemented_yet(perl python tcl uuid) +elseif(VCPKG_TARGET_IS_OSX) + feature_not_implemented_yet(readline libedit kerberos bsd systemd llvm pam perl python tcl uuid) +else() + feature_not_implemented_yet(readline bonjour libedit kerberos bsd systemd llvm pam perl python tcl uuid) +endif() + +## Download and extract sources vcpkg_download_distfile(ARCHIVE - URLS "https://ftp.postgresql.org/pub/source/v9.6.3/postgresql-9.6.3.tar.bz2" - FILENAME "postgresql-9.6.3.tar.bz2" - SHA512 97141972e154e6b0e756ee6a4e20f26e82022a9fd4c56305314a3a5567a79ece638e4ac3d513b46138737ae6bd27a098f30013a94767db151181aac9c01290a1 + URLS "https://ftp.postgresql.org/pub/source/v12.0/postgresql-12.0.tar.bz2" + FILENAME "postgresql-12.0.tar.bz2" + SHA512 231a0b5c181c33cb01c3f39de1802319b79eceec6997935ab8605dea1f4583a52d0d16e5a70fcdeea313462f062503361d543433ee03d858ba332c72a665f696 ) +set(PATCHES + patches/windows/install.patch + patches/windows/win_bison_flex.patch + patches/windows/openssl_exe_path.patch + patches/windows/Solution.patch + patches/linux/configure.patch) + +if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + list(APPEND PATCHES patches/windows/MSBuildProject-static-lib.patch) + list(APPEND PATCHES patches/windows/Mkvcbuild-static-lib.patch) +endif() +if(VCPKG_CRT_LINKAGE STREQUAL static) + list(APPEND PATCHES patches/windows/MSBuildProject-static-crt.patch) +endif() +if(VCPKG_TARGET_ARCHITECTURE MATCHES "arm") + list(APPEND PATCHES patches/windows/arm.patch) +endif() +if(NOT "${FEATURES}" MATCHES "client") + list(APPEND PATCHES patches/windows/minimize_install.patch) +else() + set(HAS_TOOLS TRUE) +endif() vcpkg_extract_source_archive_ex( OUT_SOURCE_PATH SOURCE_PATH ARCHIVE ${ARCHIVE} + PATCHES ${PATCHES} + ) +unset(buildenv_contents) +# Get paths to required programs +foreach(program_name BISON FLEX PERL) + # Need to rename win_bison and win_flex to just bison and flex + vcpkg_find_acquire_program(${program_name}) + get_filename_component(${program_name}_EXE_PATH ${${program_name}} DIRECTORY) + vcpkg_add_to_path(PREPEND "${${program_name}_EXE_PATH}") + set(buildenv_contents "${buildenv_contents}\n\$ENV{PATH}=\$ENV{PATH} . ';${${program_name}_EXE_PATH}';") +endforeach() -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +## Setup build types -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - "-DPORT_DIR=${CMAKE_CURRENT_LIST_DIR}" - OPTIONS_DEBUG - -DINSTALL_INCLUDES=OFF -) +if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE MATCHES "[Rr][Ee][Ll][Ee][Aa][Ss][Ee]") + set(_buildtype RELEASE) + set(_short rel) + list(APPEND port_config_list ${_buildtype}) + set(INSTALL_PATH_SUFFIX_${_buildtype} "") + set(BUILDPATH_${_buildtype} "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${_short}") + set(PACKAGE_DIR_${_buildtype} ${CURRENT_PACKAGES_DIR}) + unset(_short) + unset(_buildtype) +endif() +if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE MATCHES "[Dd][Ee][Bb][Uu][Gg]") + set(_buildtype DEBUG) + set(_short dbg) + list(APPEND port_config_list ${_buildtype}) + set(INSTALL_PATH_SUFFIX_${_buildtype} "/debug") + set(BUILDPATH_${_buildtype} "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${_short}") + set(PACKAGE_DIR_${_buildtype} ${CURRENT_PACKAGES_DIR}${INSTALL_PATH_SUFFIX_${_buildtype}}) + unset(_short) + unset(_buildtype) +endif() + +file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/${PORT}) + +## Do the build +if(VCPKG_TARGET_IS_WINDOWS) + file(GLOB SOURCE_FILES ${SOURCE_PATH}/*) + foreach(_buildtype ${port_config_list}) + # Copy libpq sources. + message(STATUS "Copying libpq source files to ${BUILDPATH_${_buildtype}}...") + foreach(SOURCE_FILE ${SOURCE_FILES}) + file(COPY ${SOURCE_FILE} DESTINATION "${BUILDPATH_${_buildtype}}") + endforeach() + message(STATUS "Copying libpq source files... done") + + vcpkg_apply_patches( + SOURCE_PATH "${BUILDPATH_${_buildtype}}" + PATCHES patches/windows/Solution_${_buildtype}.patch + ) + message(STATUS "Patches applied!") + file(COPY "${CURRENT_PORT_DIR}/config.pl" DESTINATION "${BUILDPATH_${_buildtype}}/src/tools/msvc") + set(CONFIG_FILE "${BUILDPATH_${_buildtype}}/src/tools/msvc/config.pl") + file(READ "${CONFIG_FILE}" _contents) + + ## ldap => undef, # --with-ldap ##done + ## extraver => undef, # --with-extra-version=<string> + ## gss => undef, # --with-gssapi=<path> + ## icu => undef, # --with-icu=<path> ##done + ## nls => undef, # --enable-nls=<path> ##done + ## tap_tests => undef, # --enable-tap-tests + ## tcl => undef, # --with-tcl=<path> + ## perl => undef, # --with-perl + ## python => undef, # --with-python=<path> + ## openssl => undef, # --with-openssl=<path> ##done + ## uuid => undef, # --with-ossp-uuid + ## xml => undef, # --with-libxml=<path> ##done + ## xslt => undef, # --with-libxslt=<path> ##done + ## iconv => undef, # (not in configure, path to iconv) ##done (needed by xml) + ## zlib => undef # --with-zlib=<path> ##done + + ## Setup external dependencies + ##"-DFEATURES=core;openssl;zlib" "-DALL_FEATURES=openssl;zlib;readline;libedit;perl;python;tcl;nls;kerberos;systemd;ldap;bsd;pam;llvm;icu;bonjour;uuid;xml;xslt;" + if("${FEATURES}" MATCHES "ldap") + string(REPLACE "ldap => undef" "ldap => 1" _contents "${_contents}") + endif() + if("${FEATURES}" MATCHES "icu") + string(REPLACE "icu => undef" "icu => \"${CURRENT_INSTALLED_DIR}\"" _contents "${_contents}") + endif() + if("${FEATURES}" MATCHES "nls") + string(REPLACE "nls => undef" "nls => \"${CURRENT_INSTALLED_DIR}\"" _contents "${_contents}") + endif() + if("${FEATURES}" MATCHES "openssl") + set(buildenv_contents "${buildenv_contents}\n\$ENV{PATH}=\$ENV{PATH} . ';${CURRENT_INSTALLED_DIR}/tools/openssl';") + #set(_contents "${_contents}\n\$ENV{PATH}=\$ENV{PATH} . ';${CURRENT_INSTALLED_DIR}/tools/openssl';") + string(REPLACE "openssl => undef" "openssl => \"${CURRENT_INSTALLED_DIR}\"" _contents "${_contents}") + endif() + + if("${FEATURES}" MATCHES "xml") + string(REPLACE "xml => undef" "xml => \"${CURRENT_INSTALLED_DIR}\"" _contents "${_contents}") + string(REPLACE "iconv => undef" "iconv => \"${CURRENT_INSTALLED_DIR}\"" _contents "${_contents}") + endif() + + if("${FEATURES}" MATCHES "xslt") + string(REPLACE "xslt => undef" "xslt => \"${CURRENT_INSTALLED_DIR}\"" _contents "${_contents}") + endif() + + if("${FEATURES}" MATCHES "zlib") + string(REPLACE "zlib => undef" "zlib => \"${CURRENT_INSTALLED_DIR}\"" _contents "${_contents}") + endif() + + file(WRITE "${CONFIG_FILE}" "${_contents}") + file(WRITE "${BUILDPATH_${_buildtype}}/src/tools/msvc/buildenv.pl" "${buildenv_contents}") + vcpkg_get_windows_sdk(VCPKG_TARGET_PLATFORM_VERSION) + set(ENV{MSBFLAGS} "/p:PlatformToolset=${VCPKG_PLATFORM_TOOLSET} + /p:VCPkgLocalAppDataDisabled=true + /p:UseIntelMKL=No + /p:WindowsTargetPlatformVersion=${VCPKG_TARGET_PLATFORM_VERSION} + /m + /p:ForceImportBeforeCppTargets=${SCRIPTS}/buildsystems/msbuild/vcpkg.targets + /p:VcpkgTriplet=${TARGET_TRIPLET}" + ) + if(HAS_TOOLS) + if(VCPKG_TARGET_ARCHITECTURE STREQUAL x86) + set(ENV{MSBFLAGS} "$ENV{MSBFLAGS} /p:Platform=Win32") + endif() + message(STATUS "Building libpq ${TARGET_TRIPLET}-${_buildtype}...") + vcpkg_execute_required_process( + COMMAND ${PERL} build.pl ${_buildtype} + WORKING_DIRECTORY ${BUILDPATH_${_buildtype}}/src/tools/msvc + LOGNAME build-${TARGET_TRIPLET}-${_buildtype} + ) + message(STATUS "Building libpq ${TARGET_TRIPLET}-${_buildtype}... done") + else() + set(build_libs libpq libecpg_compat) + foreach(build_lib ${build_libs}) + message(STATUS "Building ${build_lib} ${TARGET_TRIPLET}-${_buildtype}...") + vcpkg_execute_required_process( + COMMAND ${PERL} build.pl ${_buildtype} ${build_lib} + WORKING_DIRECTORY ${BUILDPATH_${_buildtype}}/src/tools/msvc + LOGNAME build-${build_lib}-${TARGET_TRIPLET}-${_buildtype} + ) + message(STATUS "Building ${build_lib} ${TARGET_TRIPLET}-${_buildtype}... done") + endforeach() + endif() + + message(STATUS "Installing libpq ${TARGET_TRIPLET}-${_buildtype}...") + vcpkg_execute_required_process( + COMMAND ${PERL} install.pl ${CURRENT_PACKAGES_DIR}${INSTALL_PATH_SUFFIX_${_buildtype}} client + WORKING_DIRECTORY ${BUILDPATH_${_buildtype}}/src/tools/msvc + LOGNAME install-${TARGET_TRIPLET}-${_buildtype} + ) + message(STATUS "Installing libpq ${TARGET_TRIPLET}-${_buildtype}... done") + endforeach() + + + message(STATUS "Cleanup libpq ${TARGET_TRIPLET}...") + #Cleanup + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/doc) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/tools) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/symbols) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/symbols) + + if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) + endif() + + if(NOT HAS_TOOLS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/tools) + else() + vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}) + endif() + #file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/${PORT}/) + #vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}) + message(STATUS "Cleanup libpq ${TARGET_TRIPLET}... - done") +else() + if("${FEATURES}" MATCHES "openssl") + list(APPEND BUILD_OPTS --with-openssl) + endif() + if(NOT "${FEATURES}" MATCHES "zlib") + list(APPEND BUILD_OPTS --without-zlib) + endif() + if(NOT "${FEATURES}" MATCHES "readline") + list(APPEND BUILD_OPTS --without-readline) + endif() + vcpkg_configure_make( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS + ${BUILD_OPTS} + --with-includes=${CURRENT_INSTALLED_DIR}/include + OPTIONS_RELEASE + --exec-prefix=${CURRENT_PACKAGES_DIR}/tools/${PORT} + --datarootdir=${CURRENT_PACKAGES_DIR}/share/${PORT} + --with-libraries=${CURRENT_INSTALLED_DIR}/lib + OPTIONS_DEBUG + --exec-prefix=${CURRENT_PACKAGES_DIR}/debug/tools/${PORT} + --datarootdir=${CURRENT_PACKAGES_DIR}/debug/share/${PORT} + --with-libraries=${CURRENT_INSTALLED_DIR}/debug/lib + --enable-debug + ) + + vcpkg_install_make() + # instead? + # make -C src/include install + # make -C src/interfaces install + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) + if(NOT HAS_TOOLS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin) + else() + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/${PORT}) + file(RENAME ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/tools/${PORT}) + endif() +endif() +#vcpkg_copy_pdbs() -vcpkg_install_cmake() -vcpkg_copy_pdbs() +#if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib/libpq.lib") + #RENAME debug library due to CMake. In general that is a bad idea but it will have consquences for the generated cmake targets + # of other ports if not renamed. Maybe a vcpkg_cmake_wrapper is required here to correct the target information if the rename is removed? +# file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/libpq.lib" "${CURRENT_PACKAGES_DIR}/debug/lib/libpqd.lib") +#endif() -file(INSTALL ${SOURCE_PATH}/COPYRIGHT DESTINATION ${CURRENT_PACKAGES_DIR}/share/libpq RENAME copyright) +file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/postgresql) +file(INSTALL ${CURRENT_PORT_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/postgresql) +file(INSTALL ${SOURCE_PATH}/COPYRIGHT DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/libpq/vcpkg-cmake-wrapper.cmake b/ports/libpq/vcpkg-cmake-wrapper.cmake new file mode 100644 index 000000000..4ce0f8579 --- /dev/null +++ b/ports/libpq/vcpkg-cmake-wrapper.cmake @@ -0,0 +1,8 @@ +# Give the CMake module a little bit of help to find the debug libraries
+find_library(PostgreSQL_LIBRARY_DEBUG
+NAMES pq
+PATHS
+ "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/lib"
+NO_DEFAULT_PATH
+)
+_find_package(${ARGS})
\ No newline at end of file diff --git a/ports/libproxy/CONTROL b/ports/libproxy/CONTROL new file mode 100644 index 000000000..051420c85 --- /dev/null +++ b/ports/libproxy/CONTROL @@ -0,0 +1,26 @@ +Source: libproxy +Version: 0.4.15-1 +Homepage: https://github.com/libproxy/libproxy +Description: libproxy is a library that provides automatic proxy configuration management. +Build-Depends: libmodman + +Feature: bindings-csharp +Description: Install C# bindings + +Feature: bindings-python +Description: Install Python bindings + +Feature: bindings-perl +Description: Install PERL bindings + +Feature: bindings-ruby +Description: Install Ruby bindings + +Feature: bindings-vala +Description: Install Vala bindings + +Feature: tools +Description: build tools + +Feature: tests +Description: Build libproxy tests diff --git a/ports/libproxy/fix-arm-build.patch b/ports/libproxy/fix-arm-build.patch new file mode 100644 index 000000000..ad898c835 --- /dev/null +++ b/ports/libproxy/fix-arm-build.patch @@ -0,0 +1,15 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 51b0e5e..aa94b87 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -51,6 +51,10 @@ else() + endif() + endif() + ++if (WIN32) ++ link_libraries(Advapi32) ++endif() ++ + # Conditionally build bindings + if(NOT WIN32) + add_subdirectory(bindings) diff --git a/ports/libproxy/fix-dependency-libmodman.patch b/ports/libproxy/fix-dependency-libmodman.patch new file mode 100644 index 000000000..c84b86d01 --- /dev/null +++ b/ports/libproxy/fix-dependency-libmodman.patch @@ -0,0 +1,21 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 451e7a6..b6782fb 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -32,13 +32,15 @@ option(WITH_WEBKIT3 "Build against gtk-3 version of webkitgtk" OFF) + ### Subdirectories + # Conditionally build bundled libmodman + option(FORCE_SYSTEM_LIBMODMAN "Force using system libmodman" OFF) +-find_package(libmodman QUIET) ++find_package(libmodman REQUIRED) + if(LIBMODMAN_FOUND) + if("${LIBMODMAN_VERSION_MAJOR}" STREQUAL "2") + message(STATUS "Building with system libmodman") + else() + message(FATAL_ERROR "Found incompatible libmodman on your system (libmodman 2.X is needed)") + endif() ++ include_directories(${LIBMODMAN_INCLUDE_DIR}) ++ link_libraries(${LIBMODMAN_LIBRARIES}) + else() + if(FORCE_SYSTEM_LIBMODMAN) + message(FATAL_ERROR "Libmodman could not be found on your system") diff --git a/ports/libproxy/fix-install-py.patch b/ports/libproxy/fix-install-py.patch new file mode 100644 index 000000000..c429be74b --- /dev/null +++ b/ports/libproxy/fix-install-py.patch @@ -0,0 +1,36 @@ +diff --git a/bindings/python/python3/CMakeLists.txt b/bindings/python/python3/CMakeLists.txt +index bf87dfc..9f94c2d 100644 +--- a/bindings/python/python3/CMakeLists.txt ++++ b/bindings/python/python3/CMakeLists.txt +@@ -21,5 +21,4 @@ if(PYTHON3INTERP_FOUND) + + message(STATUS "Using PYTHON3_SITEPKG_DIR=${PYTHON3_SITEPKG_DIR}") + +- install(FILES ../libproxy.py DESTINATION ${PYTHON3_SITEPKG_DIR}) + endif() +diff --git a/bindings/python/python2/CMakeLists.txt b/bindings/python/python2/CMakeLists.txt +index 00df551..15d78f9 100644 +--- a/bindings/python/python2/CMakeLists.txt ++++ b/bindings/python/python2/CMakeLists.txt +@@ -21,5 +21,4 @@ if(PYTHON2INTERP_FOUND) + + message(STATUS "Using PYTHON2_SITEPKG_DIR=${PYTHON2_SITEPKG_DIR}") + +- install(FILES ../libproxy.py DESTINATION ${PYTHON2_SITEPKG_DIR}) + endif() +diff --git a/bindings/perl/lib/CMakeLists.txt b/bindings/perl/lib/CMakeLists.txt +index 9856627..f54c138 100644 +--- a/bindings/perl/lib/CMakeLists.txt ++++ b/bindings/perl/lib/CMakeLists.txt +@@ -1,2 +1 @@ + add_custom_target(PMlibproxy ALL ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/Libproxy.pm ${CMAKE_BINARY_DIR}/perl/blib/lib/Libproxy.pm) +-install( FILES Libproxy.pm DESTINATION ${PX_PERL_ARCH}/Net ) +diff --git a/bindings/perl/src/CMakeLists.txt b/bindings/perl/src/CMakeLists.txt +index 05176c4..9ca532f 100644 +--- a/bindings/perl/src/CMakeLists.txt ++++ b/bindings/perl/src/CMakeLists.txt +@@ -21,4 +21,3 @@ target_link_libraries(PLlibproxy ${PLlibproxy_LIB_DEPENDENCIES}) + set_target_properties(PLlibproxy PROPERTIES OUTPUT_NAME "Libproxy") + set_target_properties(PLlibproxy PROPERTIES PREFIX "") + +-install( TARGETS PLlibproxy DESTINATION ${PX_PERL_ARCH}/auto/Net/Libproxy ) diff --git a/ports/libproxy/fix-module-lib-name.patch b/ports/libproxy/fix-module-lib-name.patch new file mode 100644 index 000000000..a4d8cb29b --- /dev/null +++ b/ports/libproxy/fix-module-lib-name.patch @@ -0,0 +1,13 @@ +diff --git a/libproxy/Findlibproxy.cmake.in b/libproxy/Findlibproxy.cmake.in
+index ef44489..c0bd2ae 100644
+--- a/libproxy/Findlibproxy.cmake.in
++++ b/libproxy/Findlibproxy.cmake.in
+@@ -12,7 +12,7 @@
+
+ # Find proxy.h and the corresponding library (libproxy.so)
+ FIND_PATH(LIBPROXY_INCLUDE_DIR proxy.h )
+-FIND_LIBRARY(LIBPROXY_LIBRARIES NAMES proxy )
++FIND_LIBRARY(LIBPROXY_LIBRARIES NAMES proxy libproxy)
+
+ # Set library version
+ SET(LIBPROXY_VERSION @PROJECT_VERSION@)
diff --git a/ports/libproxy/fix-tools-path.patch b/ports/libproxy/fix-tools-path.patch new file mode 100644 index 000000000..ba5061170 --- /dev/null +++ b/ports/libproxy/fix-tools-path.patch @@ -0,0 +1,27 @@ +diff --git a/libproxy/cmake/pxmodule.cmk b/libproxy/cmake/pxmodule.cmk +index bbbd989..956948a 100644 +--- a/libproxy/cmake/pxmodule.cmk ++++ b/libproxy/cmake/pxmodule.cmk +@@ -20,7 +20,7 @@ function(px_module name build builtin) + add_library(${name} MODULE modules/${name}.cpp) + target_link_libraries(${name} libproxy) + set_target_properties(${name} PROPERTIES PREFIX "") +- install(TARGETS ${name} LIBRARY DESTINATION ${MODULE_INSTALL_DIR}) ++ install(TARGETS ${name} LIBRARY DESTINATION tools) + if(${ARGC} GREATER 3) + target_link_libraries(${name} ${ARGN}) + endif() +diff --git a/utils/CMakeLists.txt b/utils/CMakeLists.txt +index 52010c6..0a3f4b5 100644 +--- a/utils/CMakeLists.txt ++++ b/utils/CMakeLists.txt +@@ -1,5 +1,7 @@ + include_directories("../libproxy") + ++if (BUILD_TOOLS) + add_executable(proxy proxy.c) + target_link_libraries(proxy libproxy) +-install(TARGETS proxy RUNTIME DESTINATION ${BIN_INSTALL_DIR}) ++install(TARGETS proxy RUNTIME DESTINATION tools) ++endif() +\ No newline at end of file diff --git a/ports/libproxy/portfile.cmake b/ports/libproxy/portfile.cmake new file mode 100644 index 000000000..214e94675 --- /dev/null +++ b/ports/libproxy/portfile.cmake @@ -0,0 +1,50 @@ +vcpkg_fail_port_install(ON_TARGET "UWP") + +# Enable static build in UNIX +if (VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO libproxy/libproxy + REF 5924d4223e2b7238607749d977c0a878fe33cdbc #0.4.15 + SHA512 3c3be46e1ccd7e25a9b6e5fd71bfac5c1075bc9230a9a7ca94ee5e82bdbf090ab08dd53d8c6946db1353024409b234b35822d22f95a02cfb48bb54705b07d478 + HEAD_REF master + PATCHES + fix-tools-path.patch + support-windows.patch + fix-dependency-libmodman.patch + fix-install-py.patch + fix-arm-build.patch + fix-module-lib-name.patch +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + bindings-csharp WITH_DOTNET + bindings-python WITH_PYTHON2 + bindings-python WITH_PYTHON3 + bindings-perl WITH_PERL + bindings-vala WITH_VALA + tools BUILD_TOOLS + tests BUILD_TESTING +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS ${FEATURE_OPTIONS} + -DWITH_WEBKIT3=OFF + -DFORCE_SYSTEM_LIBMODMAN=ON +) + +vcpkg_install_cmake() +vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/Modules) +vcpkg_copy_pdbs() + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake + ${CMAKE_CURRENT_LIST_DIR}/usage + DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +file(REMOVE_RECURSE ${LIBPROXY_TOOLS} ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) + +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/libproxy/support-windows.patch b/ports/libproxy/support-windows.patch new file mode 100644 index 000000000..fdbe801a0 --- /dev/null +++ b/ports/libproxy/support-windows.patch @@ -0,0 +1,83 @@ +diff --git a/cmake/paths.cmk b/cmake/paths.cmk +index 593ebc1..bbf8754 100644 +--- a/cmake/paths.cmk ++++ b/cmake/paths.cmk +@@ -1,4 +1,4 @@ +-if(WIN32 AND NOT MINGW) ++if(0) + set(CMAKE_INSTALL_PREFIX "" CACHE PATH "Install prefix") + set(BIN_INSTALL_DIR . CACHE PATH "Binary install dir") + set(LIB_INSTALL_DIR . CACHE PATH "Library install dir") +diff --git a/libproxy/cmake/devfiles.cmk b/libproxy/cmake/devfiles.cmk +index 0301dce..0eb5f83 100644 +--- a/libproxy/cmake/devfiles.cmk ++++ b/libproxy/cmake/devfiles.cmk +@@ -1,4 +1,4 @@ +-if(NOT WIN32 OR MINGW) ++if(1) + # PkgConfig file + set (PKGCONFIG_PREFIX ${CMAKE_INSTALL_PREFIX}) + +diff --git a/libproxy/cmake/libproxy.cmk b/libproxy/cmake/libproxy.cmk +index aab7593..465685f 100644 +--- a/libproxy/cmake/libproxy.cmk ++++ b/libproxy/cmake/libproxy.cmk +@@ -21,5 +21,5 @@ set_property(SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/proxy.cpp + set_target_properties(libproxy PROPERTIES PREFIX "" VERSION 1.0.0 SOVERSION 1) + set_target_properties(libproxy PROPERTIES INTERFACE_LINK_LIBRARIES "") + set_target_properties(libproxy PROPERTIES LINK_INTERFACE_LIBRARIES "") +-install(TARGETS libproxy DESTINATION ${LIB_INSTALL_DIR}) ++install(TARGETS libproxy RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib) + install(FILES proxy.h DESTINATION ${INCLUDE_INSTALL_DIR}) +diff --git a/libproxy/modules/config_kde.cpp b/libproxy/modules/config_kde.cpp +index b9bd241..73b978e 100644 +--- a/libproxy/modules/config_kde.cpp ++++ b/libproxy/modules/config_kde.cpp +@@ -19,7 +19,9 @@ + ******************************************************************************/ + + #include <sys/stat.h> ++#if !defined(WIN32) + #include <unistd.h> ++#endif + + #include <algorithm> + #include <cstdlib> +@@ -137,7 +139,11 @@ private: + string command_output(const string &cmdline) throw (runtime_error) { + // Capture stderr as well + const string command = "(" + cmdline + ")2>&1"; ++#if !defined(WIN32) + FILE *pipe = popen(command.c_str(), "r"); ++#else ++ FILE *pipe = _popen(command.c_str(), "r"); ++#endif + if (!pipe) + throw runtime_error("Unable to run command"); + +@@ -148,7 +154,11 @@ private: + result += buffer; // TODO: If this throws bad_alloc, pipe is leaked + } + ++#if !defined(WIN32) + if(pclose(pipe) != 0) ++#else ++ if(_pclose(pipe) != 0) ++#endif + throw runtime_error("Command failed"); + + // Trim newlines and whitespace at end +diff --git a/libproxy/url.cpp b/libproxy/url.cpp +index b61a9bc..021763e 100644 +--- a/libproxy/url.cpp ++++ b/libproxy/url.cpp +@@ -33,7 +33,9 @@ + #include <cstdlib> // For atoi() + #include <sys/stat.h> // For stat() + #include <algorithm> // For transform() ++#if !defined(WIN32) + #include <unistd.h> // For read() close() ++#endif + + #ifdef WIN32 + #include <io.h> diff --git a/ports/libproxy/usage b/ports/libproxy/usage new file mode 100644 index 000000000..a37b13c5a --- /dev/null +++ b/ports/libproxy/usage @@ -0,0 +1,5 @@ +The package libproxy provides CMake targets:
+
+ find_package(libproxy CONFIG REQUIRED)
+ target_include_directories(main PRIVATE ${LIBPROXY_INCLUDE_DIR})
+ target_link_libraries(main PRIVATE ${LIBPROXY_LIBRARIES})
diff --git a/ports/libproxy/vcpkg-cmake-wrapper.cmake b/ports/libproxy/vcpkg-cmake-wrapper.cmake new file mode 100644 index 000000000..31c99f39f --- /dev/null +++ b/ports/libproxy/vcpkg-cmake-wrapper.cmake @@ -0,0 +1,8 @@ +set(LIBPROXY_PREV_MODULE_PATH ${CMAKE_MODULE_PATH}) +list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}) + +if(NOT LIBPROXY_LIBRARIES) + _find_package(${ARGS}) +endif() + +set(CMAKE_MODULE_PATH ${LIBPROXY_PREV_MODULE_PATH}) diff --git a/ports/libqglviewer/CONTROL b/ports/libqglviewer/CONTROL index a80694a2f..aca80eac2 100644 --- a/ports/libqglviewer/CONTROL +++ b/ports/libqglviewer/CONTROL @@ -1,4 +1,4 @@ Source: libqglviewer
-Version: 2.7.0-2 +Version: 2.7.2-2
Description: libQGLViewer is an open source C++ library based on Qt that eases the creation of OpenGL 3D viewers.
Build-Depends: qt5-base
diff --git a/ports/libqglviewer/QGLViewer_remove_shared.patch b/ports/libqglviewer/QGLViewer_remove_shared.patch deleted file mode 100644 index f339d81a5..000000000 --- a/ports/libqglviewer/QGLViewer_remove_shared.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/QGLViewer/QGLViewer.pro b/QGLViewer/QGLViewer.pro -index f9afe8089..63f74736e 100644 ---- a/QGLViewer/QGLViewer.pro -+++ b/QGLViewer/QGLViewer.pro -@@ -7,7 +7,7 @@ - TEMPLATE = lib - TARGET = QGLViewer - VERSION = 2.7.0 --CONFIG *= qt opengl warn_on shared thread create_prl rtti no_keywords -+CONFIG *= qt opengl warn_on thread create_prl rtti no_keywords - - QGL_HEADERS = \ - qglviewer.h \ diff --git a/ports/libqglviewer/destdir.patch b/ports/libqglviewer/destdir.patch new file mode 100644 index 000000000..d1cd4f3cc --- /dev/null +++ b/ports/libqglviewer/destdir.patch @@ -0,0 +1,21 @@ +diff --git a/QGLViewer/QGLViewer.pro b/QGLViewer/QGLViewer.pro
+index 263a141..51e3359 100644
+--- a/QGLViewer/QGLViewer.pro
++++ b/QGLViewer/QGLViewer.pro
+@@ -38,7 +38,6 @@ SOURCES = \
+
+ HEADERS *= $${QGL_HEADERS}
+ DISTFILES *= qglviewer-icon.xpm
+-DESTDIR = $${PWD}
+
+ TRANSLATIONS = qglviewer_fr.ts
+
+@@ -273,7 +272,7 @@ win32 {
+ QMAKE_CXXFLAGS *= -TP -GR
+ DEFINES += NOMINMAX
+ win32-msvc {
+- QMAKE_CXXFLAGS *= -EHs -FS
++ QMAKE_CXXFLAGS *= -EHs -FS
+ } else {
+ QMAKE_CXXFLAGS *= -EHs
+ }
diff --git a/ports/libqglviewer/macosx.patch b/ports/libqglviewer/macosx.patch deleted file mode 100644 index 82aa057f4..000000000 --- a/ports/libqglviewer/macosx.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/QGLViewer/QGLViewer.pro b/QGLViewer/QGLViewer.pro -index 702925cb6..fc3cb7118 100644 ---- a/QGLViewer/QGLViewer.pro -+++ b/QGLViewer/QGLViewer.pro -@@ -214,7 +214,7 @@ macx|darwin-g++ { - include.files *= qglviewer.icns - - # Or whatever exists in /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/ -- QMAKE_MAC_SDK = macosx10.12 -+ #QMAKE_MAC_SDK = macosx10.12 - - lib_bundle { - FRAMEWORK_HEADERS.version = Versions -@@ -224,7 +224,7 @@ macx|darwin-g++ { - QMAKE_BUNDLE_DATA += FRAMEWORK_HEADERS
-
- # So that the path QGLViewer/*.h exists
-- QMAKE_POST_LINK=cd $$DESTDIR/QGLViewer.framework/Headers && (test -L QGLViewer || ln -s . QGLViewer)
-+ #QMAKE_POST_LINK=cd $$DESTDIR/QGLViewer.framework/Headers && (test -L QGLViewer || ln -s . QGLViewer)
-
- # Specific paths for the installation of the framework.
- !isEmpty( LIB_DIR ) {
diff --git a/ports/libqglviewer/portfile.cmake b/ports/libqglviewer/portfile.cmake index 6f980c0ae..0c46c11c2 100644 --- a/ports/libqglviewer/portfile.cmake +++ b/ports/libqglviewer/portfile.cmake @@ -1,34 +1,24 @@ -include(vcpkg_common_functions)
-
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO GillesDebunne/libQGLViewer
- REF 781d914c003466b342b45d19266a9613fc0e7e0e - SHA512 0586020c159fa4b3acb3ea3fa0a361bcc757d840298d7a436c356d0929b5ace3da4d054e3c0d107a499076413336e3b9a2f35750e6bf0add9320cc52a5c7afd5
+ REF fee0916f2af3d0993df51956d2e5a51bbaf0c1f0 #v2.7.2
+ SHA512 449bf4ccadaf50d4333bd91050e9b50f440a64229391827aaf4a80ade2c3f5fc60501d2baee885cf1214f7e2a8a04615bafe9ac7da9f866ffa4ebe33b9b999d8
HEAD_REF master
- PATCHES "use-default-config-on-all-platforms.patch"
- "QGLViewer_remove_shared.patch"
- "macosx.patch"
+ PATCHES
+ use-default-config-on-all-platforms.patch
+ destdir.patch
)
-vcpkg_configure_qmake(SOURCE_PATH ${SOURCE_PATH}/QGLViewer/QGLViewer.pro)
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ set(OPTIONS CONFIG*=staticlib)
+endif()
-vcpkg_build_qmake()
+vcpkg_configure_qmake(
+ SOURCE_PATH ${SOURCE_PATH}/QGLViewer/QGLViewer.pro
+ OPTIONS ${OPTIONS}
+)
-file(INSTALL ${SOURCE_PATH}/QGLViewer DESTINATION ${CURRENT_PACKAGES_DIR}/include FILES_MATCHING PATTERN "*.h")
-if(CMAKE_HOST_WIN32)
- if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
- file(INSTALL ${SOURCE_PATH}/QGLViewer/QGLViewer2.dll DESTINATION ${CURRENT_PACKAGES_DIR}/bin)
- file(INSTALL ${SOURCE_PATH}/QGLViewer/QGLViewerd2.dll ${SOURCE_PATH}/QGLViewer/QGLViewerd2.pdb DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
- file(INSTALL ${SOURCE_PATH}/QGLViewer/QGLViewer2.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
- file(INSTALL ${SOURCE_PATH}/QGLViewer/QGLViewerd2.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
- else()
- file(INSTALL ${SOURCE_PATH}/QGLViewer/QGLViewer.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
- file(INSTALL ${SOURCE_PATH}/QGLViewer/QGLViewerd.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
- endif()
-elseif(CMAKE_HOST_APPLE)
- file(INSTALL ${SOURCE_PATH}/QGLViewer/libQGLViewer.a DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
- file(INSTALL ${SOURCE_PATH}/QGLViewer/libQGLViewer.a DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
-endif()
+vcpkg_install_qmake()
+file(INSTALL ${SOURCE_PATH}/QGLViewer DESTINATION ${CURRENT_PACKAGES_DIR}/include FILES_MATCHING PATTERN "*.h")
file(INSTALL ${SOURCE_PATH}/LICENCE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libqglviewer RENAME copyright)
diff --git a/ports/libraw/CONTROL b/ports/libraw/CONTROL index 20b415a47..b5cbd7332 100644 --- a/ports/libraw/CONTROL +++ b/ports/libraw/CONTROL @@ -1,5 +1,5 @@ Source: libraw -Version: 201903-2 +Version: 201903-3 Build-Depends: lcms, jasper Homepage: https://www.libraw.org Description: raw image decoder library diff --git a/ports/libraw/portfile.cmake b/ports/libraw/portfile.cmake index 91cf2d736..73c60460e 100644 --- a/ports/libraw/portfile.cmake +++ b/ports/libraw/portfile.cmake @@ -70,14 +70,13 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) # Rename cmake module into a config in order to allow more flexible lookup rules -file(RENAME ${CURRENT_PACKAGES_DIR}/share/libraw/FindLibRaw.cmake ${CURRENT_PACKAGES_DIR}/share/libraw/LibRaw-config.cmake) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/libraw/FindLibRaw.cmake ${CURRENT_PACKAGES_DIR}/share/libraw/libraw-config.cmake) if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/libraw) endif() -# Handle copyright -file(COPY ${SOURCE_PATH}/COPYRIGHT DESTINATION ${CURRENT_PACKAGES_DIR}/share/libraw) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/libraw/COPYRIGHT ${CURRENT_PACKAGES_DIR}/share/libraw/copyright) - vcpkg_copy_pdbs() + +file(INSTALL ${SOURCE_PATH}/COPYRIGHT DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) + diff --git a/ports/librtmp/CONTROL b/ports/librtmp/CONTROL index c353b087e..9afbe903f 100644 --- a/ports/librtmp/CONTROL +++ b/ports/librtmp/CONTROL @@ -1,5 +1,5 @@ Source: librtmp -Version: 2.4-2 +Version: 2019-11-11_1 Build-Depends: zlib, openssl Homepage: https://rtmpdump.mplayerhq.hu Description: RTMPDump Real-Time Messaging Protocol API diff --git a/ports/librtmp/dh.patch b/ports/librtmp/dh.patch new file mode 100644 index 000000000..4b0345354 --- /dev/null +++ b/ports/librtmp/dh.patch @@ -0,0 +1,136 @@ +diff --git a/librtmp/dh.h b/librtmp/dh.h +index 8e285a60c..ea562d200 100644 +--- a/librtmp/dh.h ++++ b/librtmp/dh.h +@@ -139,11 +139,14 @@ typedef BIGNUM * MP_t; + #define MP_setbin(u,buf,len) BN_bn2bin(u,buf) + #define MP_getbin(u,buf,len) u = BN_bin2bn(buf,len,0) + ++ + #define MDH DH + #define MDH_new() DH_new() + #define MDH_free(dh) DH_free(dh) + #define MDH_generate_key(dh) DH_generate_key(dh) + #define MDH_compute_key(secret, seclen, pub, dh) DH_compute_key(secret, pub, dh) ++#define MPH_set_pqg(dh, p, q, g, res) res = DH_set0_pqg(dh, p, q, g) ++#define MPH_set_length(dh, len, res) res = DH_set_length(dh,len) + + #endif + +@@ -152,7 +155,7 @@ typedef BIGNUM * MP_t; + + /* RFC 2631, Section 2.1.5, http://www.ietf.org/rfc/rfc2631.txt */ + static int +-isValidPublicKey(MP_t y, MP_t p, MP_t q) ++isValidPublicKey(const MP_t y,const MP_t p, MP_t q) + { + int ret = TRUE; + MP_t bn; +@@ -211,20 +214,33 @@ DHInit(int nKeyBits) + if (!dh) + goto failed; + +- MP_new(dh->g); ++ MP_t g,p; ++ MP_new(g); + +- if (!dh->g) ++ if (!g) ++ { + goto failed; ++ } + +- MP_gethex(dh->p, P1024, res); /* prime P1024, see dhgroups.h */ ++ DH_get0_pqg(dh, (BIGNUM const**)&p, NULL, NULL); ++ MP_gethex(p, P1024, res); /* prime P1024, see dhgroups.h */ + if (!res) + { + goto failed; + } + +- MP_set_w(dh->g, 2); /* base 2 */ +- +- dh->length = nKeyBits; ++ MP_set_w(g, 2); /* base 2 */ ++ MPH_set_pqg(dh,p,NULL,g, res); ++ if (!res) ++ { ++ MP_free(g); ++ goto failed; ++ } ++ MPH_set_length(dh,nKeyBits, res); ++ if (!res) ++ { ++ goto failed; ++ } + return dh; + + failed: +@@ -250,14 +267,11 @@ DHGenerateKey(MDH *dh) + + MP_gethex(q1, Q1024, res); + assert(res); +- +- res = isValidPublicKey(dh->pub_key, dh->p, q1); ++ res = isValidPublicKey(DH_get0_pub_key(dh), DH_get0_p(dh), q1); + if (!res) +- { +- MP_free(dh->pub_key); +- MP_free(dh->priv_key); +- dh->pub_key = dh->priv_key = 0; +- } ++ { ++ MDH_free(dh); // Cannot set priv_key to nullptr so there is no way to generate a new pub/priv key pair in openssl 1.1.1. ++ } + + MP_free(q1); + } +@@ -272,15 +286,16 @@ static int + DHGetPublicKey(MDH *dh, uint8_t *pubkey, size_t nPubkeyLen) + { + int len; +- if (!dh || !dh->pub_key) ++ MP_t pub = DH_get0_pub_key(dh); ++ if (!dh || !pub) + return 0; + +- len = MP_bytes(dh->pub_key); ++ len = MP_bytes(pub); + if (len <= 0 || len > (int) nPubkeyLen) + return 0; + + memset(pubkey, 0, nPubkeyLen); +- MP_setbin(dh->pub_key, pubkey + (nPubkeyLen - len), len); ++ MP_setbin(pub, pubkey + (nPubkeyLen - len), len); + return 1; + } + +@@ -288,15 +303,16 @@ DHGetPublicKey(MDH *dh, uint8_t *pubkey, size_t nPubkeyLen) + static int + DHGetPrivateKey(MDH *dh, uint8_t *privkey, size_t nPrivkeyLen) + { +- if (!dh || !dh->priv_key) ++ MP_t priv = DH_get0_priv_key(dh); ++ if (!dh || !priv) + return 0; + +- int len = MP_bytes(dh->priv_key); ++ int len = MP_bytes(priv); + if (len <= 0 || len > (int) nPrivkeyLen) + return 0; + + memset(privkey, 0, nPrivkeyLen); +- MP_setbin(dh->priv_key, privkey + (nPrivkeyLen - len), len); ++ MP_setbin(priv, privkey + (nPrivkeyLen - len), len); + return 1; + } + #endif +@@ -322,7 +338,7 @@ DHComputeSharedSecretKey(MDH *dh, uint8_t *pubkey, size_t nPubkeyLen, + MP_gethex(q1, Q1024, len); + assert(len); + +- if (isValidPublicKey(pubkeyBn, dh->p, q1)) ++ if (isValidPublicKey(pubkeyBn, DH_get0_p(dh), q1)) + res = MDH_compute_key(secret, nPubkeyLen, pubkeyBn, dh); + else + res = -1; diff --git a/ports/librtmp/handshake.patch b/ports/librtmp/handshake.patch new file mode 100644 index 000000000..88f5d2458 --- /dev/null +++ b/ports/librtmp/handshake.patch @@ -0,0 +1,35 @@ +diff --git a/librtmp/handshake.h b/librtmp/handshake.h +index 98bf3c877..0819152bd 100644 +--- a/librtmp/handshake.h ++++ b/librtmp/handshake.h +@@ -66,9 +66,9 @@ typedef gcry_cipher_hd_t RC4_handle; + #if OPENSSL_VERSION_NUMBER < 0x0090800 || !defined(SHA256_DIGEST_LENGTH) + #error Your OpenSSL is too old, need 0.9.8 or newer with SHA256 + #endif +-#define HMAC_setup(ctx, key, len) HMAC_CTX_init(&ctx); HMAC_Init_ex(&ctx, key, len, EVP_sha256(), 0) +-#define HMAC_crunch(ctx, buf, len) HMAC_Update(&ctx, buf, len) +-#define HMAC_finish(ctx, dig, dlen) HMAC_Final(&ctx, dig, &dlen); HMAC_CTX_cleanup(&ctx) ++#define HMAC_setup(ctx, key, len) ctx = HMAC_CTX_new(); HMAC_Init_ex(ctx, key, len, EVP_sha256(), 0) ++#define HMAC_crunch(ctx, buf, len) HMAC_Update(ctx, buf, len) ++#define HMAC_finish(ctx, dig, dlen) HMAC_Final(ctx, dig, &dlen); HMAC_CTX_free(ctx) + + typedef RC4_KEY * RC4_handle; + #define RC4_alloc(h) *h = malloc(sizeof(RC4_KEY)) +@@ -114,7 +114,7 @@ static void InitRC4Encryption + { + uint8_t digest[SHA256_DIGEST_LENGTH]; + unsigned int digestLen = 0; +- HMAC_CTX ctx; ++ HMAC_CTX *ctx; + + RC4_alloc(rc4keyIn); + RC4_alloc(rc4keyOut); +@@ -263,7 +263,7 @@ HMACsha256(const uint8_t *message, size_t messageLen, const uint8_t *key, + size_t keylen, uint8_t *digest) + { + unsigned int digestLen; +- HMAC_CTX ctx; ++ HMAC_CTX *ctx; + + HMAC_setup(ctx, key, keylen); + HMAC_crunch(ctx, message, messageLen); diff --git a/ports/librtmp/hashswf.patch b/ports/librtmp/hashswf.patch new file mode 100644 index 000000000..fb29549f3 --- /dev/null +++ b/ports/librtmp/hashswf.patch @@ -0,0 +1,28 @@ +diff --git a/librtmp/hashswf.c b/librtmp/hashswf.c +index 3c56b6922..964a64d01 100644 +--- a/librtmp/hashswf.c ++++ b/librtmp/hashswf.c +@@ -57,10 +57,10 @@ + #include <openssl/sha.h> + #include <openssl/hmac.h> + #include <openssl/rc4.h> +-#define HMAC_setup(ctx, key, len) HMAC_CTX_init(&ctx); HMAC_Init_ex(&ctx, (unsigned char *)key, len, EVP_sha256(), 0) +-#define HMAC_crunch(ctx, buf, len) HMAC_Update(&ctx, (unsigned char *)buf, len) +-#define HMAC_finish(ctx, dig, dlen) HMAC_Final(&ctx, (unsigned char *)dig, &dlen); +-#define HMAC_close(ctx) HMAC_CTX_cleanup(&ctx) ++#define HMAC_setup(ctx, key, len) ctx = HMAC_CTX_new(); HMAC_Init_ex(ctx, (unsigned char *)key, len, EVP_sha256(), 0) ++#define HMAC_crunch(ctx, buf, len) HMAC_Update(ctx, (unsigned char *)buf, len) ++#define HMAC_finish(ctx, dig, dlen) HMAC_Final(ctx, (unsigned char *)dig, &dlen); ++#define HMAC_close(ctx) HMAC_CTX_free(ctx) + #endif + + extern void RTMP_TLS_Init(); +@@ -289,7 +289,7 @@ leave: + struct info + { + z_stream *zs; +- HMAC_CTX ctx; ++ HMAC_CTX *ctx; + int first; + int zlib; + int size; diff --git a/ports/librtmp/hide_netstackdump.patch b/ports/librtmp/hide_netstackdump.patch index 2ae44e46b..1cc7c8c5a 100644 --- a/ports/librtmp/hide_netstackdump.patch +++ b/ports/librtmp/hide_netstackdump.patch @@ -1,8 +1,8 @@ diff --git a/librtmp/rtmp.c b/librtmp/rtmp.c -index 5ef3ae9..7c6a010 100644 +index 0865689..b00710e 100644 --- a/librtmp/rtmp.c +++ b/librtmp/rtmp.c -@@ -129,7 +129,7 @@ static int clk_tck; +@@ -155,7 +155,7 @@ static int clk_tck; uint32_t RTMP_GetTime() { @@ -11,7 +11,7 @@ index 5ef3ae9..7c6a010 100644 return 0; #elif defined(_WIN32) return timeGetTime(); -@@ -1256,7 +1256,7 @@ RTMP_ClientPacket(RTMP *r, RTMPPacket *packet) +@@ -1381,7 +1381,7 @@ RTMP_ClientPacket(RTMP *r, RTMPPacket *packet) return bHasMediaPacket; } @@ -20,8 +20,8 @@ index 5ef3ae9..7c6a010 100644 extern FILE *netstackdump; extern FILE *netstackdump_read; #endif -@@ -1333,7 +1333,7 @@ ReadN(RTMP *r, char *buffer, int n) - SendBytesReceived(r); +@@ -1469,7 +1469,7 @@ ReadN(RTMP *r, char *buffer, int n) + return FALSE; } /*RTMP_Log(RTMP_LOGDEBUG, "%s: %d bytes\n", __FUNCTION__, nBytes); */ -#ifdef _DEBUG @@ -29,7 +29,7 @@ index 5ef3ae9..7c6a010 100644 fwrite(ptr, 1, nBytes, netstackdump_read); #endif -@@ -3064,7 +3064,7 @@ HandShake(RTMP *r, int FP9HandShake) +@@ -3757,7 +3757,7 @@ HandShake(RTMP *r, int FP9HandShake) memset(&clientsig[4], 0, 4); @@ -38,7 +38,7 @@ index 5ef3ae9..7c6a010 100644 for (i = 8; i < RTMP_SIG_SIZE; i++) clientsig[i] = 0xff; #else -@@ -3136,7 +3136,7 @@ SHandShake(RTMP *r) +@@ -3829,7 +3829,7 @@ SHandShake(RTMP *r) memcpy(serversig, &uptime, 4); memset(&serversig[4], 0, 4); @@ -47,7 +47,7 @@ index 5ef3ae9..7c6a010 100644 for (i = 8; i < RTMP_SIG_SIZE; i++) serversig[i] = 0xff; #else -@@ -3553,7 +3553,7 @@ RTMPSockBuf_Send(RTMPSockBuf *sb, const char *buf, int len) +@@ -4298,7 +4298,7 @@ RTMPSockBuf_Send(RTMPSockBuf *sb, const char *buf, int len) { int rc; diff --git a/ports/librtmp/portfile.cmake b/ports/librtmp/portfile.cmake index 609d098b8..6f4e73e3d 100644 --- a/ports/librtmp/portfile.cmake +++ b/ports/librtmp/portfile.cmake @@ -1,18 +1,13 @@ -include(vcpkg_common_functions) +set(RTMPDUMP_REVISION c5f04a58fc2aeea6296ca7c44ee4734c18401aa3) -set(RTMPDUMP_VERSION 2.4) -set(RTMPDUMP_FILENAME rtmpdump-${RTMPDUMP_VERSION}.tar.gz) - -vcpkg_download_distfile(ARCHIVE - URLS "http://rtmpdump.mplayerhq.hu/download/${RTMPDUMP_FILENAME}" - FILENAME "${RTMPDUMP_FILENAME}" - SHA512 a6253af95492739366dce620a2a6cc6f4f18d7f12f9ef2c747240259066ca135beeb02091d0f3dd8380c0c294a30d3f702ad3fad1dee1db4e70473078fb81609 -) - -vcpkg_extract_source_archive_ex( +vcpkg_from_git( OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} + URL https://git.ffmpeg.org/rtmpdump + REF ${RTMPDUMP_REVISION} PATCHES + dh.patch #Openssl 1.1.1 patch + handshake.patch #Openssl 1.1.1 patch + hashswf.patch #Openssl 1.1.1 patch fix_strncasecmp.patch hide_netstackdump.patch ) diff --git a/ports/libsodium/CMakeLists.txt b/ports/libsodium/CMakeLists.txt index 0cc4f417c..474eb7e3d 100644 --- a/ports/libsodium/CMakeLists.txt +++ b/ports/libsodium/CMakeLists.txt @@ -1,5 +1,7 @@ cmake_minimum_required(VERSION 3.9)
+include(CheckCSourceRuns)
+
file(STRINGS ${CMAKE_CURRENT_LIST_DIR}/configure.ac config_ac_contents)
foreach (line ${config_ac_contents})
@@ -206,7 +208,7 @@ else () sodium_check_func(posix_memalign HAVE_POSIX_MEMALIGN)
sodium_check_func(getpid HAVE_GETPID)
- check_c_source_compiles(
+ check_c_source_runs(
"
#pragma GCC target(\"mmx\")
#include <mmintrin.h>
@@ -223,7 +225,7 @@ else () target_compile_options(${PROJECT_NAME} PRIVATE -mmmx)
endif ()
- check_c_source_compiles(
+ check_c_source_runs(
"
#pragma GCC target(\"sse2\")
#ifndef __SSE2__
@@ -244,7 +246,7 @@ else () target_compile_options(${PROJECT_NAME} PRIVATE -msse2)
endif ()
- check_c_source_compiles(
+ check_c_source_runs(
"
#pragma GCC target(\"sse3\")
#include <pmmintrin.h>
@@ -260,7 +262,7 @@ else () target_compile_options(${PROJECT_NAME} PRIVATE -msse3)
endif ()
- check_c_source_compiles(
+ check_c_source_runs(
"
#pragma GCC target(\"ssse3\")
#include <tmmintrin.h>
@@ -276,7 +278,7 @@ else () target_compile_options(${PROJECT_NAME} PRIVATE -mssse3)
endif ()
- check_c_source_compiles(
+ check_c_source_runs(
"
#pragma GCC target(\"sse4.1\")
#include <smmintrin.h>
@@ -292,7 +294,7 @@ else () target_compile_options(${PROJECT_NAME} PRIVATE -msse4.1)
endif ()
- check_c_source_compiles(
+ check_c_source_runs(
"
#ifdef __native_client__
# error NativeClient detected - Avoiding AVX opcodes
@@ -311,7 +313,7 @@ else () target_compile_options(${PROJECT_NAME} PRIVATE -mavx)
endif ()
- check_c_source_compiles(
+ check_c_source_runs(
"
#ifdef __native_client__
# error NativeClient detected - Avoiding AVX2 opcodes
@@ -331,7 +333,7 @@ else () target_compile_definitions(${PROJECT_NAME} PRIVATE HAVE_AVX2INTRIN_H=1)
target_compile_options(${PROJECT_NAME} PRIVATE -mavx2)
- check_c_source_compiles(
+ check_c_source_runs(
"
#ifdef __native_client__
# error NativeClient detected - Avoiding AVX2 opcodes
@@ -353,7 +355,7 @@ else () endif ()
endif ()
- check_c_source_compiles(
+ check_c_source_runs(
"
#ifdef __native_client__
# error NativeClient detected - Avoiding AVX512F opcodes
@@ -388,7 +390,7 @@ else () target_compile_options(${PROJECT_NAME} PRIVATE -mno-avx512f)
endif ()
- check_c_source_compiles(
+ check_c_source_runs(
"
#ifdef __native_client__
# error NativeClient detected - Avoiding AESNI opcodes
@@ -410,7 +412,7 @@ else () target_compile_options(${PROJECT_NAME} PRIVATE -maes -mpclmul)
endif ()
- check_c_source_compiles(
+ check_c_source_runs(
"
#ifdef __native_client__
# error NativeClient detected - Avoiding RDRAND opcodes
@@ -431,7 +433,7 @@ else () target_compile_options(${PROJECT_NAME} PRIVATE -mrdrnd)
endif ()
- check_c_source_compiles(
+ check_c_source_runs(
"
#include <intrin.h>
@@ -446,7 +448,7 @@ else () target_compile_definitions(${PROJECT_NAME} PRIVATE HAVE__XGETBV=1)
endif ()
- check_c_source_compiles(
+ check_c_source_runs(
"
int main(void) {
int a = 42;
@@ -461,7 +463,7 @@ else () target_compile_definitions(${PROJECT_NAME} PRIVATE HAVE_INLINE_ASM=1)
endif ()
- check_c_source_compiles(
+ check_c_source_runs(
"
int main(void) {
#if defined(__amd64) || defined(__amd64__) || defined(__x86_64__)
@@ -488,7 +490,7 @@ else () target_compile_definitions(${PROJECT_NAME} PRIVATE HAVE_AMD64_ASM=1)
endif ()
- check_c_source_compiles(
+ check_c_source_runs(
"
int main(void) {
#if defined(__amd64) || defined(__amd64__) || defined(__x86_64__)
@@ -509,7 +511,7 @@ else () target_compile_definitions(${PROJECT_NAME} PRIVATE HAVE_AVX_ASM=1)
endif ()
- check_c_source_compiles(
+ check_c_source_runs(
"
#if !defined(__clang__) && !defined(__GNUC__) && !defined(__SIZEOF_INT128__)
# error mode(TI) is a gcc extension, and __int128 is not available
@@ -547,7 +549,7 @@ else () target_compile_definitions(${PROJECT_NAME} PRIVATE HAVE_TI_MODE=1)
endif ()
- check_c_source_compiles(
+ check_c_source_runs(
"
int main(void) {
unsigned int cpu_info[4];
@@ -564,7 +566,7 @@ else () target_compile_definitions(${PROJECT_NAME} PRIVATE HAVE_CPUID=1)
endif ()
- check_c_source_compiles(
+ check_c_source_runs(
"
#if !defined(__ELF__) && !defined(__APPLE_CC__)
# error Support for weak symbols may not be available
@@ -580,7 +582,7 @@ else () target_compile_definitions(${PROJECT_NAME} PRIVATE HAVE_WEAK_SYMBOLS=1)
endif ()
- check_c_source_compiles(
+ check_c_source_runs(
"
int main(void) {
static volatile int _sodium_lock;
@@ -595,7 +597,7 @@ else () target_compile_definitions(${PROJECT_NAME} PRIVATE HAVE_ATOMIC_OPS=1)
endif ()
- check_c_source_compiles(
+ check_c_source_runs(
"
#include <limits.h>
#include <stdint.h>
diff --git a/ports/libsodium/CONTROL b/ports/libsodium/CONTROL index daf768c1b..4ae58fabb 100644 --- a/ports/libsodium/CONTROL +++ b/ports/libsodium/CONTROL @@ -1,4 +1,4 @@ Source: libsodium -Version: 1.0.18-1 +Version: 1.0.18-2 Description: A modern and easy-to-use crypto library Homepage: https://github.com/jedisct1/libsodium diff --git a/ports/libssh/CONTROL b/ports/libssh/CONTROL index a819253d0..c12fb8f8f 100644 --- a/ports/libssh/CONTROL +++ b/ports/libssh/CONTROL @@ -1,5 +1,5 @@ Source: libssh -Version: 0.7.6-1 +Version: 0.9.0 Homepage: https://www.libssh.org/ Description: libssh is a multiplatform C library implementing the SSHv2 and SSHv1 protocol on client and server side Build-Depends: openssl diff --git a/ports/libssh/build-one-flavor.patch b/ports/libssh/build-one-flavor.patch index 96e20ba98..64e2c58a7 100644 --- a/ports/libssh/build-one-flavor.patch +++ b/ports/libssh/build-one-flavor.patch @@ -2,19 +2,61 @@ diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 1012ddf..612f0ba 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
-@@ -225,6 +225,7 @@ include_directories(
- ${LIBSSH_PRIVATE_INCLUDE_DIRS}
- )
+@@ -313,6 +313,7 @@ if (WITH_SYMBOL_VERSIONING AND HAVE_LD_VERSION_SCRIPT AND ABIMAP_FOUND)
+ )
+ endif (WITH_SYMBOL_VERSIONING AND HAVE_LD_VERSION_SCRIPT AND ABIMAP_FOUND)
+if (NOT WITH_STATIC_LIB)
add_library(${LIBSSH_SHARED_LIBRARY} SHARED ${libssh_SRCS})
-
- target_link_libraries(${LIBSSH_SHARED_LIBRARY} ${LIBSSH_LINK_LIBRARIES})
-@@ -259,6 +260,7 @@ install(
+ target_compile_options(${LIBSSH_SHARED_LIBRARY}
+ PRIVATE
+@@ -362,7 +363,7 @@ install(
ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
COMPONENT libraries
)
+-
+endif()
-
- if (WITH_STATIC_LIB)
+ if (BUILD_STATIC_LIB)
add_library(${LIBSSH_STATIC_LIBRARY} STATIC ${libssh_SRCS})
+ target_compile_options(${LIBSSH_STATIC_LIBRARY}
+@@ -370,11 +371,7 @@ if (BUILD_STATIC_LIB)
+ ${DEFAULT_C_COMPILE_FLAGS}
+ -D_GNU_SOURCE)
+
+- if (MSVC)
+- set(OUTPUT_SUFFIX static)
+- else (MSVC)
+- set(OUTPUT_SUFFIX )
+- endif (MSVC)
++
+ set_target_properties(
+ ${LIBSSH_STATIC_LIBRARY}
+ PROPERTIES
+@@ -385,23 +382,18 @@ if (BUILD_STATIC_LIB)
+ OUTPUT_NAME
+ ssh
+ ARCHIVE_OUTPUT_DIRECTORY
+- ${CMAKE_CURRENT_BINARY_DIR}/${OUTPUT_SUFFIX}
++ ${CMAKE_CURRENT_BINARY_DIR}
+ )
+
+ if (WIN32)
+- set_target_properties(
+- ${LIBSSH_STATIC_LIBRARY}
+- PROPERTIES
+- COMPILE_FLAGS
+- "-DLIBSSH_STATIC"
+- )
++ target_compile_definitions(${LIBSSH_STATIC_LIBRARY} PUBLIC LIBSSH_STATIC)
+ endif (WIN32)
+
+ if (WITH_STATIC_LIB)
+ install(TARGETS
+ ${LIBSSH_STATIC_LIBRARY}
+ DESTINATION
+- ${LIB_INSTALL_DIR}/${OUTPUT_SUFFIX}
++ ${LIB_INSTALL_DIR}
+ COMPONENT
+ libraries)
+ endif (WITH_STATIC_LIB)
+
diff --git a/ports/libssh/fix-config-cmake.patch b/ports/libssh/fix-config-cmake.patch deleted file mode 100644 index bb369359f..000000000 --- a/ports/libssh/fix-config-cmake.patch +++ /dev/null @@ -1,77 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt
-index a063556..68e559e 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -11,6 +11,8 @@ set(APPLICATION_VERSION_MINOR "7")
- set(APPLICATION_VERSION_PATCH "6")
-
- set(APPLICATION_VERSION "${APPLICATION_VERSION_MAJOR}.${APPLICATION_VERSION_MINOR}.${APPLICATION_VERSION_PATCH}")
-+set(CMAKE_INSTALL_DIR lib/cmake/libssh CACHE STRING
-+ "The subdirectory where CMake package config files should be installed")
-
- # SOVERSION scheme: CURRENT.AGE.REVISION
- # If there was an incompatible interface change:
-@@ -114,14 +116,29 @@ endif (UNIX)
- set(LIBSSH_LIBRARY_NAME ${CMAKE_SHARED_LIBRARY_PREFIX}ssh${CMAKE_SHARED_LIBRARY_SUFFIX})
- set(LIBSSH_THREADS_LIBRARY_NAME ${CMAKE_SHARED_LIBRARY_PREFIX}ssh${CMAKE_SHARED_LIBRARY_SUFFIX})
-
--configure_file(${PROJECT_NAME}-config.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config.cmake @ONLY)
--configure_file(${PROJECT_NAME}-config-version.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake @ONLY)
-+include(CMakePackageConfigHelpers)
-+configure_package_config_file(
-+ ${PROJECT_NAME}-config.cmake.in
-+ ${PROJECT_NAME}-config.cmake
-+ INSTALL_DESTINATION ${CMAKE_INSTALL_DIR}
-+ PATH_VARS
-+ INCLUDE_INSTALL_DIR
-+ CMAKE_INSTALL_DIR
-+)
-+configure_package_config_file(
-+ ${PROJECT_NAME}-config-version.cmake.in
-+ ${PROJECT_NAME}-config-version.cmake
-+ INSTALL_DESTINATION ${CMAKE_INSTALL_DIR}
-+ PATH_VARS
-+ INCLUDE_INSTALL_DIR
-+ CMAKE_INSTALL_DIR
-+)
- install(
- FILES
- ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config.cmake
- ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake
- DESTINATION
-- ${CMAKE_INSTALL_DIR}/${PROJECT_NAME}
-+ ${CMAKE_INSTALL_DIR}
- COMPONENT
- devel
- )
-diff --git a/libssh-config.cmake.in b/libssh-config.cmake.in
-index fa9cecf..b17fdbd 100644
---- a/libssh-config.cmake.in
-+++ b/libssh-config.cmake.in
-@@ -1,13 +1,22 @@
- get_filename_component(LIBSSH_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
-+get_filename_component(PACKAGE_PREFIX_DIR "${CMAKE_CURRENT_LIST_DIR}/../../" ABSOLUTE)
-
- if (EXISTS "${LIBSSH_CMAKE_DIR}/CMakeCache.txt")
- # In build tree
- include(${LIBSSH_CMAKE_DIR}/libssh-build-tree-settings.cmake)
- else()
-- set(LIBSSH_INCLUDE_DIR @INCLUDE_INSTALL_DIR@)
-+ set(LIBSSH_INCLUDE_DIR "${PACKAGE_PREFIX_DIR}/include/")
-+ set(LIBSSH_INCLUDE_DIRS "${PACKAGE_PREFIX_DIR}/include/")
- endif()
-
--set(LIBSSH_LIBRARY @LIB_INSTALL_DIR@/@LIBSSH_LIBRARY_NAME@)
--set(LIBSSH_LIBRARIES @LIB_INSTALL_DIR@/@LIBSSH_LIBRARY_NAME@)
-+if(CMAKE_BUILD_TYPE STREQUAL "Release")
-+ set(LIBSSH_LIBRARY "${PACKAGE_PREFIX_DIR}/lib/ssh.lib")
-+ set(LIBSSH_LIBRARIES "${PACKAGE_PREFIX_DIR}/lib/ssh.lib")
-
--set(LIBSSH_THREADS_LIBRARY @LIB_INSTALL_DIR@/@LIBSSH_THREADS_LIBRARY_NAME@)
-+ set(LIBSSH_THREADS_LIBRARY "${PACKAGE_PREFIX_DIR}/lib/ssh.lib")
-+elseif(CMAKE_BUILD_TYPE STREQUAL "Debug")
-+ set(LIBSSH_LIBRARY "${PACKAGE_PREFIX_DIR}/debug/lib/ssh.lib")
-+ set(LIBSSH_LIBRARIES "${PACKAGE_PREFIX_DIR}/debug/lib/ssh.lib")
-+
-+ set(LIBSSH_THREADS_LIBRARY "${PACKAGE_PREFIX_DIR}/debug/lib/ssh.lib")
-+endif()
diff --git a/ports/libssh/install-config.patch b/ports/libssh/install-config.patch new file mode 100644 index 000000000..4943765d5 --- /dev/null +++ b/ports/libssh/install-config.patch @@ -0,0 +1,35 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b9f6ef485..c910d37eb 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -145,8 +145,6 @@ install( + ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake + DESTINATION + ${CMAKE_INSTALL_DIR}/${PROJECT_NAME} +- COMPONENT +- devel + ) + + if (WITH_EXAMPLES) +diff --git a/0.9.0-daf25b6f84 - Kopie/libssh-config.cmake.in b/0.9.0-daf25b6f84/libssh-config.cmake.in +index 11388f009..2f826a9b4 100644 +--- a/libssh-config.cmake.in ++++ b/libssh-config.cmake.in +@@ -6,7 +6,16 @@ if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/CMakeCache.txt") + set_and_check(LIBSSH_LIBRARIES "${CMAKE_CURRENT_LIST_DIR}/lib/@LIBSSH_LIBRARY_NAME@") + else() ++ # Compute the installation prefix relative to this file. ++get_filename_component(PACKAGE_PREFIX_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) ++get_filename_component(PACKAGE_PREFIX_DIR "${PACKAGE_PREFIX_DIR}" PATH) ++get_filename_component(PACKAGE_PREFIX_DIR "${PACKAGE_PREFIX_DIR}" PATH) ++if(PACKAGE_PREFIX_DIR STREQUAL "/") ++ set(PACKAGE_PREFIX_DIR "") ++endif() + set_and_check(LIBSSH_INCLUDE_DIR "@PACKAGE_INCLUDE_INSTALL_DIR@") +- set_and_check(LIBSSH_LIBRARIES "@PACKAGE_LIB_INSTALL_DIR@/@LIBSSH_LIBRARY_NAME@") ++ set_and_check(LIBSSH_LIBRARIES_RELEASE "@PACKAGE_LIB_INSTALL_DIR@/@LIBSSH_LIBRARY_NAME@") ++ set_and_check(LIBSSH_LIBRARIES_DEBUG "@PACKAGE_LIB_INSTALL_DIR@/../debug/lib/@LIBSSH_LIBRARY_NAME@") ++ set_and_check(LIBSSH_LIBRARIES "optimized;${LIBSSH_LIBRARIES_RELEASE};debug;${LIBSSH_LIBRARIES_DEBUG}") + endif() + + # For backward compatibility diff --git a/ports/libssh/missing-includes.patch b/ports/libssh/missing-includes.patch deleted file mode 100644 index f12d04744..000000000 --- a/ports/libssh/missing-includes.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/include/libssh/priv.h b/include/libssh/priv.h
-index 4cf6d75..13993ea 100644
---- a/include/libssh/priv.h
-+++ b/include/libssh/priv.h
-@@ -30,6 +30,8 @@
- #define _LIBSSH_PRIV_H
-
- #include "config.h"
-+#include <stdint.h>
-+#include <string.h>
-
- #if !defined(HAVE_STRTOULL)
- # if defined(HAVE___STRTOULL)
diff --git a/ports/libssh/only-one-flavor-threads.patch b/ports/libssh/only-one-flavor-threads.patch deleted file mode 100644 index 31b3e1f36..000000000 --- a/ports/libssh/only-one-flavor-threads.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff --git a/src/threads/CMakeLists.txt b/src/threads/CMakeLists.txt
-index 2ab4e1b..a47620b 100644
---- a/src/threads/CMakeLists.txt
-+++ b/src/threads/CMakeLists.txt
-@@ -59,6 +59,7 @@ include_directories(
- if (libssh_threads_SRCS)
- set(LIBSSH_THREADS ON CACHE "libssh threads lib" INTERNAL)
-
-+ if (NOT WITH_STATIC_LIB)
- add_library(${LIBSSH_THREADS_SHARED_LIBRARY} SHARED ${libssh_threads_SRCS})
-
- target_link_libraries(${LIBSSH_THREADS_SHARED_LIBRARY} ${LIBSSH_THREADS_LINK_LIBRARIES})
-@@ -89,7 +90,7 @@ if (libssh_threads_SRCS)
- COMPONENT libraries
- )
-
-- if (WITH_STATIC_LIB)
-+ else (WITH_STATIC_LIB)
- add_library(${LIBSSH_THREADS_STATIC_LIBRARY} STATIC ${libssh_threads_SRCS})
-
- if (MSVC)
diff --git a/ports/libssh/portfile.cmake b/ports/libssh/portfile.cmake index e137f823f..5a87be14b 100644 --- a/ports/libssh/portfile.cmake +++ b/ports/libssh/portfile.cmake @@ -4,18 +4,18 @@ if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore) message(FATAL_ERROR "WindowsStore not supported") endif() -set(VERSION 0.7.6) +set(VERSION 0.9.0) vcpkg_download_distfile(ARCHIVE - URLS "https://www.libssh.org/files/0.7/libssh-${VERSION}.tar.xz" + URLS "https://www.libssh.org/files/0.9/libssh-${VERSION}.tar.xz" FILENAME "libssh-${VERSION}.tar.xz" - SHA512 2a01402b5a9fab9ecc29200544ed45d3f2c40871ed1c8241ca793f8dc7fdb3ad2150f6a522c4321affa9b8778e280dc7ed10f76adfc4a73f0751ae735a42f56c + SHA512 8c91b31e49652d93c295ca62c2ff1ae30f26c263195a8bc2390e44f6e688959507f609125d342ee8180fc03cec2d73258ac72f864696281b53ba9ad244060865 ) -vcpkg_download_distfile(WINPATCH - URLS "https://bugs.libssh.org/rLIBSSHf81ca6161223e3566ce78a427571235fb6848fe9?diff=1" - FILENAME "libssh-f81ca616.patch" - SHA512 f3f6088f8f1bf8fe6226c1aa7b355d877be7f2aa9482c5e3de74b6a35fc5b28d8f89221d3afa5a5d3a5900519a86e5906516667ed22ad98f058616a8120999cd -) +#vcpkg_download_distfile(WINPATCH +# URLS "https://bugs.libssh.org/rLIBSSHf81ca6161223e3566ce78a427571235fb6848fe9?diff=1" +# FILENAME "libssh-f81ca616.patch" +# SHA512 f3f6088f8f1bf8fe6226c1aa7b355d877be7f2aa9482c5e3de74b6a35fc5b28d8f89221d3afa5a5d3a5900519a86e5906516667ed22ad98f058616a8120999cd +#) vcpkg_extract_source_archive_ex( OUT_SOURCE_PATH SOURCE_PATH @@ -23,10 +23,7 @@ vcpkg_extract_source_archive_ex( REF ${VERSION} PATCHES build-one-flavor.patch - only-one-flavor-threads.patch - "${WINPATCH}" - missing-includes.patch - fix-config-cmake.patch + install-config.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" WITH_STATIC_LIB) @@ -47,19 +44,13 @@ vcpkg_configure_cmake( -DWITH_NACL=OFF -DWITH_GSSAPI=OFF -DWITH_ZLIB=${WITH_ZLIB} - -DCMAKE_INSTALL_DIR=share/libssh + "-DCMAKE_INSTALL_DIR=${CURRENT_PACKAGES_DIR}/share" ) vcpkg_install_cmake() vcpkg_copy_pdbs() if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/static/ssh.lib) - file(RENAME ${CURRENT_PACKAGES_DIR}/lib/static/ssh.lib ${CURRENT_PACKAGES_DIR}/lib/ssh.lib) - endif() - if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/static/ssh.lib) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/static/ssh.lib ${CURRENT_PACKAGES_DIR}/debug/lib/ssh.lib) - endif() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) file(READ ${CURRENT_PACKAGES_DIR}/include/libssh/libssh.h _contents) @@ -67,7 +58,11 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(WRITE ${CURRENT_PACKAGES_DIR}/include/libssh/libssh.h "${_contents}") endif() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/static ${CURRENT_PACKAGES_DIR}/debug/lib/static) +if(VCPKG_TARGET_IS_WINDOWS) + file(READ ${CURRENT_PACKAGES_DIR}/share/libssh/libssh-config.cmake _contents) + string(REPLACE ".dll" ".lib" _contents "${_contents}") + file(WRITE ${CURRENT_PACKAGES_DIR}/share/libssh/libssh-config.cmake "${_contents}") +endif() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) # The installed cmake config files are nonfunctional (0.7.5) diff --git a/ports/libssh/usage b/ports/libssh/usage index 3681ac112..acb7e822c 100644 --- a/ports/libssh/usage +++ b/ports/libssh/usage @@ -2,4 +2,4 @@ The package libssh is compatible with built-in CMake targets: find_package(libssh CONFIG REQUIRED)
target_link_libraries(main PRIVATE ${LIBSSH_LIBRARIES})
- target_include_directories(main PRIVATE ${LIBSSH_INCLUDE_DIRS})
+ target_include_directories(main PRIVATE ${LIBSSH_INCLUDE_DIR})
diff --git a/ports/libusb/CONTROL b/ports/libusb/CONTROL index d8b7d7042..8e3516132 100644 --- a/ports/libusb/CONTROL +++ b/ports/libusb/CONTROL @@ -1,4 +1,4 @@ Source: libusb -Version: 1.0.22-4 +Version: 1.0.23 Homepage: https://github.com/libusb/libusb Description: a cross-platform library to access USB devices diff --git a/ports/libusb/fix_c2001.patch b/ports/libusb/fix_c2001.patch deleted file mode 100644 index 38c4774a1..000000000 --- a/ports/libusb/fix_c2001.patch +++ /dev/null @@ -1,92 +0,0 @@ -diff --git a/msvc/libusb_dll_2015.vcxproj b/msvc/libusb_dll_2015.vcxproj -index ce562f1..e5a19fd 100644 ---- a/msvc/libusb_dll_2015.vcxproj -+++ b/msvc/libusb_dll_2015.vcxproj -@@ -53,10 +53,18 @@ - <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <Optimization>Disabled</Optimization> - <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> -+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">/source-charset:utf-8 %(AdditionalOptions)</AdditionalOptions> -+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">/source-charset:utf-8 %(AdditionalOptions)</AdditionalOptions> -+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">/source-charset:utf-8 %(AdditionalOptions)</AdditionalOptions> -+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">/source-charset:utf-8 %(AdditionalOptions)</AdditionalOptions> - </ClCompile> - <ClCompile Condition="'$(Configuration)'=='Release'"> - <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> -+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">/source-charset:utf-8 %(AdditionalOptions)</AdditionalOptions> -+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">/source-charset:utf-8 %(AdditionalOptions)</AdditionalOptions> -+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">/source-charset:utf-8 %(AdditionalOptions)</AdditionalOptions> -+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">/source-charset:utf-8 %(AdditionalOptions)</AdditionalOptions> - </ClCompile> - <Link> - <EmbedManagedResourceFile>libusb-1.0.rc;%(EmbedManagedResourceFile)</EmbedManagedResourceFile> -diff --git a/msvc/libusb_dll_2017.vcxproj b/msvc/libusb_dll_2017.vcxproj -index 8311300..f635aed 100644 ---- a/msvc/libusb_dll_2017.vcxproj -+++ b/msvc/libusb_dll_2017.vcxproj -@@ -53,10 +53,18 @@ - <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <Optimization>Disabled</Optimization> - <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> -+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">/source-charset:utf-8 %(AdditionalOptions)</AdditionalOptions> -+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">/source-charset:utf-8 %(AdditionalOptions)</AdditionalOptions> -+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">/source-charset:utf-8 %(AdditionalOptions)</AdditionalOptions> -+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">/source-charset:utf-8 %(AdditionalOptions)</AdditionalOptions> - </ClCompile> - <ClCompile Condition="'$(Configuration)'=='Release'"> - <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> -+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">/source-charset:utf-8 %(AdditionalOptions)</AdditionalOptions> -+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">/source-charset:utf-8 %(AdditionalOptions)</AdditionalOptions> -+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">/source-charset:utf-8 %(AdditionalOptions)</AdditionalOptions> -+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">/source-charset:utf-8 %(AdditionalOptions)</AdditionalOptions> - </ClCompile> - <Link> - <EmbedManagedResourceFile>libusb-1.0.rc;%(EmbedManagedResourceFile)</EmbedManagedResourceFile> -diff --git a/msvc/libusb_static_2015.vcxproj b/msvc/libusb_static_2015.vcxproj -index a182171..ce4cc66 100644 ---- a/msvc/libusb_static_2015.vcxproj -+++ b/msvc/libusb_static_2015.vcxproj -@@ -54,10 +54,18 @@ - <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <Optimization>Disabled</Optimization> - <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> -+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">/source-charset:utf-8 %(AdditionalOptions)</AdditionalOptions> -+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">/source-charset:utf-8 %(AdditionalOptions)</AdditionalOptions> -+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">/source-charset:utf-8 %(AdditionalOptions)</AdditionalOptions> -+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">/source-charset:utf-8 %(AdditionalOptions)</AdditionalOptions> - </ClCompile> - <ClCompile Condition="'$(Configuration)'=='Release'"> - <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> -+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">/source-charset:utf-8 %(AdditionalOptions)</AdditionalOptions> -+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">/source-charset:utf-8 %(AdditionalOptions)</AdditionalOptions> -+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">/source-charset:utf-8 %(AdditionalOptions)</AdditionalOptions> -+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">/source-charset:utf-8 %(AdditionalOptions)</AdditionalOptions> - </ClCompile> - <Lib> - <OutputFile>$(OutDir)libusb-1.0.lib</OutputFile> -diff --git a/msvc/libusb_static_2017.vcxproj b/msvc/libusb_static_2017.vcxproj -index 1341693..8908450 100644 ---- a/msvc/libusb_static_2017.vcxproj -+++ b/msvc/libusb_static_2017.vcxproj -@@ -54,10 +54,18 @@ - <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <Optimization>Disabled</Optimization> - <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> -+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">/source-charset:utf-8 %(AdditionalOptions)</AdditionalOptions> -+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">/source-charset:utf-8 %(AdditionalOptions)</AdditionalOptions> -+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">/source-charset:utf-8 %(AdditionalOptions)</AdditionalOptions> -+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">/source-charset:utf-8 %(AdditionalOptions)</AdditionalOptions> - </ClCompile> - <ClCompile Condition="'$(Configuration)'=='Release'"> - <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> -+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">/source-charset:utf-8 %(AdditionalOptions)</AdditionalOptions> -+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">/source-charset:utf-8 %(AdditionalOptions)</AdditionalOptions> -+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">/source-charset:utf-8 %(AdditionalOptions)</AdditionalOptions> -+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">/source-charset:utf-8 %(AdditionalOptions)</AdditionalOptions> - </ClCompile> - <Lib> - <OutputFile>$(OutDir)libusb-1.0.lib</OutputFile> diff --git a/ports/libusb/portfile.cmake b/ports/libusb/portfile.cmake index 9ab38c869..1beb053aa 100644 --- a/ports/libusb/portfile.cmake +++ b/ports/libusb/portfile.cmake @@ -1,5 +1,3 @@ -include(vcpkg_common_functions) - if (VCPKG_CMAKE_SYSTEM_NAME) message(FATAL_ERROR "Error: the port is unsupported on your platform. Please open an issue on github.com/Microsoft/vcpkg to request a fix") endif() @@ -11,11 +9,9 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libusb/libusb - REF v1.0.22 - SHA512 b1fed66aafa82490889ee488832c6884a95d38ce7b28fb7c3234b9bce1f749455d7b91cde397a0abc25101410edb13ab2f9832c59aa7b0ea8c19ba2cf4c63b00 + REF e782eeb2514266f6738e242cdcb18e3ae1ed06fa # v1.0.23 + SHA512 27cfff4bbf64d5ec5014acac0871ace74b6af76141bd951309206f4806e3e3f2c7ed32416f5b55fd18d033ca5494052eb2e50ed3cc0be10839be2bd4168a9d4c HEAD_REF master - PATCHES - fix_c2001.patch ) if(VCPKG_TARGET_IS_WINDOWS) diff --git a/ports/libwandio/CONTROL b/ports/libwandio/CONTROL new file mode 100644 index 000000000..f41bf35ff --- /dev/null +++ b/ports/libwandio/CONTROL @@ -0,0 +1,4 @@ +Source: libwandio
+Version: 4.2.1
+Homepage: https://github.com/wanduow/wandio
+Description: C library for simple and efficient file IO.
\ No newline at end of file diff --git a/ports/libwandio/portfile.cmake b/ports/libwandio/portfile.cmake new file mode 100644 index 000000000..20ccce13d --- /dev/null +++ b/ports/libwandio/portfile.cmake @@ -0,0 +1,27 @@ +vcpkg_fail_port_install(MESSAGE "${PORT} currently only supports Linux and Mac platform" ON_TARGET "Windows")
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO wanduow/wandio
+ REF 012b646e7ba7ab191a5a2206488adfac493fcdc6
+ SHA512 e94a82038902c34933c4256f8bd4d7ef3f2cf32fea46f8e31a25df34cc90d3a275ff56d3bc9892aca0c85e6d875e696f96a836cc1444fe165db8364331e6e77d
+ HEAD_REF master
+)
+
+vcpkg_configure_make(
+ SOURCE_PATH ${SOURCE_PATH}
+ AUTOCONFIG
+)
+
+vcpkg_install_make()
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
+endif()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
+
+vcpkg_copy_pdbs()
+
+file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/libwebp/0007-fix-arm-build.patch b/ports/libwebp/0007-fix-arm-build.patch new file mode 100644 index 000000000..aae5e3957 --- /dev/null +++ b/ports/libwebp/0007-fix-arm-build.patch @@ -0,0 +1,13 @@ +diff --git a/cmake/cpu.cmake b/cmake/cpu.cmake +index da9a42a4..ce7a69f3 100644 +--- a/cmake/cpu.cmake ++++ b/cmake/cpu.cmake +@@ -73,7 +73,7 @@ foreach(I_SIMD RANGE ${WEBP_SIMD_FLAGS_RANGE}) + set(CMAKE_REQUIRED_FLAGS ${SIMD_COMPILE_FLAG}) + webp_check_compiler_flag(${WEBP_SIMD_FLAG} ${WEBP_ENABLE_SIMD}) + else() +- if(MSVC) ++ if(MSVC AND NOT (CMAKE_GENERATOR_PLATFORM MATCHES "^ARM")) + list(GET SIMD_ENABLE_FLAGS ${I_SIMD} SIMD_COMPILE_FLAG) + else() + set(SIMD_COMPILE_FLAG " ") diff --git a/ports/libwebp/CONTROL b/ports/libwebp/CONTROL index 02a65e5c0..8dbe1d0a2 100644 --- a/ports/libwebp/CONTROL +++ b/ports/libwebp/CONTROL @@ -1,9 +1,8 @@ Source: libwebp -Version: 1.0.2-7 +Version: 1.0.2-8 Homepage: https://github.com/webmproject/libwebp Description: Lossy compression of digital photographic images. -Build-Depends: opengl Feature: all Description: enable all webp features -Build-Depends: giflib, libjpeg-turbo, zlib, libpng, tiff, freeglut (!osx), sdl1 (windows) +Build-Depends: giflib, libjpeg-turbo, zlib, libpng, tiff, freeglut (!osx), sdl1 (windows), opengl diff --git a/ports/libwebp/portfile.cmake b/ports/libwebp/portfile.cmake index 9fb26d532..240aaad5c 100644 --- a/ports/libwebp/portfile.cmake +++ b/ports/libwebp/portfile.cmake @@ -13,6 +13,7 @@ vcpkg_from_github( 0004-add-missing-linked-library.patch 0005-fix-static-build.patch 0006-fix-dependecies-platform.patch + 0007-fix-arm-build.patch ) set(WEBP_BUILD_ANIM_UTILS OFF) diff --git a/ports/libwebsockets/CMakeLists.patch b/ports/libwebsockets/CMakeLists.patch new file mode 100644 index 000000000..c2263f709 --- /dev/null +++ b/ports/libwebsockets/CMakeLists.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4daeec85e..34e5e197d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1822,7 +1822,7 @@ endif() + if (WINCE) + list(APPEND LIB_LIST ws2.lib) + elseif (WIN32) +- list(APPEND LIB_LIST ws2_32.lib userenv.lib psapi.lib iphlpapi.lib) ++ list(APPEND LIB_LIST ws2_32.lib userenv.lib psapi.lib iphlpapi.lib crypt32.lib) + endif() + + if (${CMAKE_SYSTEM_NAME} MATCHES "QNX") diff --git a/ports/libwebsockets/CONTROL b/ports/libwebsockets/CONTROL index 66a4af024..cadb53873 100644 --- a/ports/libwebsockets/CONTROL +++ b/ports/libwebsockets/CONTROL @@ -1,5 +1,5 @@ Source: libwebsockets -Version: 3.2.0 +Version: 3.2.0-2 Build-Depends: zlib, openssl Homepage: https://github.com/warmcat/libwebsockets Description: Libwebsockets is a lightweight pure C library built to use minimal CPU and memory resources, and provide fast throughput in both directions as client or server. diff --git a/ports/libwebsockets/portfile.cmake b/ports/libwebsockets/portfile.cmake index 6f00115eb..8a9000468 100644 --- a/ports/libwebsockets/portfile.cmake +++ b/ports/libwebsockets/portfile.cmake @@ -6,11 +6,130 @@ vcpkg_from_github( REF v3.2.0 SHA512 afc1c9e259d6d48000b09da111af4129680d50474cdfedbad197ee22260d57a837b67cc6a3f8e6b1aa7ce7dc5d3fd900569783631540501709868125c6d1e4da HEAD_REF master + PATCHES + CMakeLists.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" LWS_WITH_STATIC) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" LWS_WITH_SHARED) +## All LWS options could be possible features: +# # +# # Major individual features +# # +# option(LWS_WITH_NETWORK "Compile with network-related code" ON) +# option(LWS_ROLE_H1 "Compile with support for http/1 (needed for ws)" ON) +# option(LWS_ROLE_WS "Compile with support for websockets" ON) +# option(LWS_ROLE_DBUS "Compile with support for DBUS" OFF) +# option(LWS_ROLE_RAW_PROXY "Raw packet proxy" OFF) +# option(LWS_WITH_HTTP2 "Compile with server support for HTTP/2" ON) +# option(LWS_WITH_LWSWS "Libwebsockets Webserver" OFF) +# option(LWS_WITH_CGI "Include CGI (spawn process with network-connected stdin/out/err) APIs" OFF) +# option(LWS_IPV6 "Compile with support for ipv6" OFF) +# option(LWS_UNIX_SOCK "Compile with support for UNIX domain socket" OFF) +# option(LWS_WITH_PLUGINS "Support plugins for protocols and extensions" OFF) +# option(LWS_WITH_HTTP_PROXY "Support for HTTP proxying" OFF) +# option(LWS_WITH_ZIP_FOPS "Support serving pre-zipped files" OFF) +# option(LWS_WITH_SOCKS5 "Allow use of SOCKS5 proxy on client connections" OFF) +# option(LWS_WITH_GENERIC_SESSIONS "With the Generic Sessions plugin" OFF) +# option(LWS_WITH_PEER_LIMITS "Track peers and restrict resources a single peer can allocate" OFF) +# option(LWS_WITH_ACCESS_LOG "Support generating Apache-compatible access logs" OFF) +# option(LWS_WITH_RANGES "Support http ranges (RFC7233)" OFF) +# option(LWS_WITH_SERVER_STATUS "Support json + jscript server monitoring" OFF) +# option(LWS_WITH_THREADPOOL "Managed worker thread pool support (relies on pthreads)" OFF) +# option(LWS_WITH_HTTP_STREAM_COMPRESSION "Support HTTP stream compression" OFF) +# option(LWS_WITH_HTTP_BROTLI "Also offer brotli http stream compression (requires LWS_WITH_HTTP_STREAM_COMPRESSION)" OFF) +# option(LWS_WITH_ACME "Enable support for ACME automatic cert acquisition + maintenance (letsencrypt etc)" OFF) +# option(LWS_WITH_HUBBUB "Enable libhubbub rewriting support" OFF) +# option(LWS_WITH_FTS "Full Text Search support" OFF) +# # +# # TLS library options... all except mbedTLS are basically OpenSSL variants. +# # +# option(LWS_WITH_SSL "Include SSL support (defaults to OpenSSL or similar, mbedTLS if LWS_WITH_MBEDTLS is set)" ON) +# option(LWS_WITH_MBEDTLS "Use mbedTLS (>=2.0) replacement for OpenSSL. When setting this, you also may need to specify LWS_MBEDTLS_LIBRARIES and LWS_MBEDTLS_INCLUDE_DIRS" OFF) +# option(LWS_WITH_BORINGSSL "Use BoringSSL replacement for OpenSSL" OFF) +# option(LWS_WITH_CYASSL "Use CyaSSL replacement for OpenSSL. When setting this, you also need to specify LWS_CYASSL_LIBRARIES and LWS_CYASSL_INCLUDE_DIRS" OFF) +# option(LWS_WITH_WOLFSSL "Use wolfSSL replacement for OpenSSL. When setting this, you also need to specify LWS_WOLFSSL_LIBRARIES and LWS_WOLFSSL_INCLUDE_DIRS" OFF) +# option(LWS_SSL_CLIENT_USE_OS_CA_CERTS "SSL support should make use of the OS-installed CA root certs" ON) +# # +# # Event library options (may select multiple, or none for default poll() +# # +# option(LWS_WITH_LIBEV "Compile with support for libev" OFF) +# option(LWS_WITH_LIBUV "Compile with support for libuv" OFF) +# option(LWS_WITH_LIBEVENT "Compile with support for libevent" OFF) +# # +# # Static / Dynamic build options +# # +# option(LWS_WITH_STATIC "Build the static version of the library" ON) +# option(LWS_WITH_SHARED "Build the shared version of the library" ON) +# option(LWS_LINK_TESTAPPS_DYNAMIC "Link the test apps to the shared version of the library. Default is to link statically" OFF) +# option(LWS_STATIC_PIC "Build the static version of the library with position-independent code" OFF) +# # +# # Specific platforms +# # +# option(LWS_WITH_ESP32 "Build for ESP32" OFF) +# option(LWS_WITH_ESP32_HELPER "Build ESP32 helper" OFF) +# option(LWS_PLAT_OPTEE "Build for OPTEE" OFF) +# # +# # Client / Server / Test Apps build control +# # +# option(LWS_WITHOUT_CLIENT "Don't build the client part of the library" OFF) +# option(LWS_WITHOUT_SERVER "Don't build the server part of the library" OFF) +# option(LWS_WITHOUT_TESTAPPS "Don't build the libwebsocket-test-apps" OFF) +# option(LWS_WITHOUT_TEST_SERVER "Don't build the test server" OFF) +# option(LWS_WITHOUT_TEST_SERVER_EXTPOLL "Don't build the test server version that uses external poll" OFF) +# option(LWS_WITHOUT_TEST_PING "Don't build the ping test application" OFF) +# option(LWS_WITHOUT_TEST_CLIENT "Don't build the client test application" OFF) +# # +# # Extensions (permessage-deflate) +# # +# option(LWS_WITHOUT_EXTENSIONS "Don't compile with extensions" ON) +# # +# # Helpers + misc +# # +# option(LWS_WITHOUT_BUILTIN_GETIFADDRS "Don't use the BSD getifaddrs implementation from libwebsockets if it is missing (this will result in a compilation error) ... The default is to assume that your libc provides it. On some systems such as uclibc it doesn't exist." OFF) +# option(LWS_FALLBACK_GETHOSTBYNAME "Also try to do dns resolution using gethostbyname if getaddrinfo fails" OFF) +# option(LWS_WITHOUT_BUILTIN_SHA1 "Don't build the lws sha-1 (eg, because openssl will provide it" OFF) +# option(LWS_WITH_LATENCY "Build latency measuring code into the library" OFF) +# option(LWS_WITHOUT_DAEMONIZE "Don't build the daemonization api" ON) +# option(LWS_SSL_SERVER_WITH_ECDH_CERT "Include SSL server use ECDH certificate" OFF) +# option(LWS_WITH_LEJP "With the Lightweight JSON Parser" ON) +# option(LWS_WITH_SQLITE3 "Require SQLITE3 support" OFF) +# option(LWS_WITH_STRUCT_JSON "Generic struct serialization to and from JSON" ON) +# option(LWS_WITH_STRUCT_SQLITE3 "Generic struct serialization to and from SQLITE3" OFF) +# option(LWS_WITH_SMTP "Provide SMTP support" OFF) +# if (WIN32 OR LWS_WITH_ESP32) +# option(LWS_WITH_DIR "Directory scanning api support" OFF) +# option(LWS_WITH_LEJP_CONF "With LEJP configuration parser as used by lwsws" OFF) +# else() +# option(LWS_WITH_DIR "Directory scanning api support" ON) +# option(LWS_WITH_LEJP_CONF "With LEJP configuration parser as used by lwsws" ON) +# endif() +# option(LWS_WITH_NO_LOGS "Disable all logging from being compiled in" OFF) +# option(LWS_AVOID_SIGPIPE_IGN "Android 7+ reportedly needs this" OFF) +# option(LWS_WITH_STATS "Keep statistics of lws internal operations" OFF) +# option(LWS_WITH_JOSE "JSON Web Signature / Encryption / Keys (RFC7515/6/) API" OFF) +# option(LWS_WITH_GENCRYPTO "Enable support for Generic Crypto apis independent of TLS backend" OFF) +# option(LWS_WITH_SELFTESTS "Selftests run at context creation" OFF) +# option(LWS_WITH_GCOV "Build with gcc gcov coverage instrumentation" OFF) +# option(LWS_WITH_EXPORT_LWSTARGETS "Export libwebsockets CMake targets. Disable if they conflict with an outer cmake project." ON) +# option(LWS_REPRODUCIBLE "Build libwebsockets reproducible. It removes the build user and hostname from the build" ON) +# option(LWS_WITH_MINIMAL_EXAMPLES "Also build the normally standalone minimal examples, for QA" OFF) +# option(LWS_WITH_LWSAC "lwsac Chunk Allocation api" ON) +# option(LWS_WITH_CUSTOM_HEADERS "Store and allow querying custom HTTP headers (H1 only)" ON) +# option(LWS_WITH_DISKCACHE "Hashed cache directory with lazy LRU deletion to size limit" OFF) +# option(LWS_WITH_ASAN "Build with gcc runtime sanitizer options enabled (needs libasan)" OFF) +# option(LWS_WITH_DIR "Directory scanning api support" OFF) +# option(LWS_WITH_LEJP_CONF "With LEJP configuration parser as used by lwsws" OFF) +# option(LWS_WITH_ZLIB "Include zlib support (required for extensions)" OFF) +# option(LWS_WITH_BUNDLED_ZLIB "Use bundled zlib version (Windows only)" ${LWS_WITH_BUNDLED_ZLIB_DEFAULT}) +# option(LWS_WITH_MINIZ "Use miniz instead of zlib" OFF) +# option(LWS_WITH_DEPRECATED_LWS_DLL "Migrate to lws_dll2 instead ASAP" OFF) +# option(LWS_WITH_SEQUENCER "lws_seq_t support" ON) +# option(LWS_WITH_EXTERNAL_POLL "Support external POLL integration using callback messages (not recommended)" OFF) +# option(LWS_WITH_LWS_DSH "Support lws_dsh_t Disordered Shared Heap" OFF) +## + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA @@ -21,6 +140,7 @@ vcpkg_configure_cmake( -DLWS_WITHOUT_TESTAPPS=ON -DLWS_IPV6=ON -DLWS_HTTP2=ON + -DLWS_WITH_HTTP_STREAM_COMPRESSION=ON # Since zlib is already a dependency # OPTIONS_RELEASE -DOPTIMIZE=1 # OPTIONS_DEBUG -DDEBUGGABLE=1 ) diff --git a/ports/libxlsxwriter/0001-fix-build-error.patch b/ports/libxlsxwriter/0001-fix-cmake-file.patch index 5e00c96de..4f86d2635 100644 --- a/ports/libxlsxwriter/0001-fix-build-error.patch +++ b/ports/libxlsxwriter/0001-fix-cmake-file.patch @@ -1,41 +1,51 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt
-index fe566fe..e76ed46 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -306,31 +306,11 @@ endif()
-
- include(GNUInstallDirs)
-
--if(MSVC)
-- if(CMAKE_CL_64)
-- set(MSVC_FOLDER_PREFIX x64)
-- else()
-- set(MSVC_FOLDER_PREFIX Win32)
-- endif()
--
-- install(TARGETS ${PROJECT_NAME}
-- LIBRARY DESTINATION "lib/${MSVC_FOLDER_PREFIX}/\${CMAKE_INSTALL_CONFIG_NAME}"
-- ARCHIVE DESTINATION "lib/${MSVC_FOLDER_PREFIX}/\${CMAKE_INSTALL_CONFIG_NAME}"
-- RUNTIME DESTINATION "bin/${MSVC_FOLDER_PREFIX}/\${CMAKE_INSTALL_CONFIG_NAME}"
-- )
-- if (NOT BUILD_SHARED_LIBS)
-- install(FILES ${CMAKE_BINARY_DIR}/${PROJECT_NAME}.pdb
-- DESTINATION "lib/${MSVC_FOLDER_PREFIX}/\${CMAKE_INSTALL_CONFIG_NAME}"
-- )
-- endif()
--
--else(MSVC)
-- install(TARGETS ${PROJECT_NAME}
-- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
-- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
-- RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
-- )
--endif(MSVC)
-+install(TARGETS ${PROJECT_NAME}
-+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
-+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
-+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
-+)
- install(FILES include/xlsxwriter.h DESTINATION include)
- install(DIRECTORY include/xlsxwriter
- DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
+diff --git a/CMakeLists.txt b/CMakeLists.txt +index f2eed91..f329996 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -224,6 +224,9 @@ target_compile_definitions(${PROJECT_NAME} PRIVATE ${LXW_PRIVATE_COMPILE_DEFINIT + if(MSVC AND NOT (MSVC_VERSION LESS 1900)) + target_compile_options(${PROJECT_NAME} PRIVATE /utf-8) + endif() ++if (WINDOWSSTORE) ++ target_compile_definitions(${PROJECT_NAME} PRIVATE -DIOWIN32_USING_WINRT_API) ++endif() + target_include_directories(${PROJECT_NAME} + PRIVATE ${LXW_PRIVATE_INCLUDE_DIRS} + PUBLIC include include/xlsxwriter +@@ -319,31 +322,11 @@ endif() + + include(GNUInstallDirs) + +-if(MSVC) +- if(CMAKE_CL_64) +- set(MSVC_FOLDER_PREFIX x64) +- else() +- set(MSVC_FOLDER_PREFIX Win32) +- endif() +- +- install(TARGETS ${PROJECT_NAME} +- LIBRARY DESTINATION "lib/${MSVC_FOLDER_PREFIX}/\${CMAKE_INSTALL_CONFIG_NAME}" +- ARCHIVE DESTINATION "lib/${MSVC_FOLDER_PREFIX}/\${CMAKE_INSTALL_CONFIG_NAME}" +- RUNTIME DESTINATION "bin/${MSVC_FOLDER_PREFIX}/\${CMAKE_INSTALL_CONFIG_NAME}" +- ) +- if (NOT BUILD_SHARED_LIBS) +- install(FILES ${CMAKE_BINARY_DIR}/${PROJECT_NAME}.pdb +- DESTINATION "lib/${MSVC_FOLDER_PREFIX}/\${CMAKE_INSTALL_CONFIG_NAME}" +- ) +- endif() +- +-else(MSVC) +- install(TARGETS ${PROJECT_NAME} +- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} +- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} +- RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} +- ) +-endif(MSVC) ++install(TARGETS ${PROJECT_NAME} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ++) + install(FILES include/xlsxwriter.h DESTINATION include) + install(DIRECTORY include/xlsxwriter + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} diff --git a/ports/libxlsxwriter/0002-fix-uwp-build.patch b/ports/libxlsxwriter/0002-fix-uwp-build.patch deleted file mode 100644 index b6ae20479..000000000 --- a/ports/libxlsxwriter/0002-fix-uwp-build.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt
-index e76ed46..32ffa04 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -211,6 +211,9 @@ target_sources(${PROJECT_NAME}
- )
- target_link_libraries(${PROJECT_NAME} LINK_PUBLIC ${ZLIB_LIBRARIES} ${MINIZIP_LIBRARIES})
- target_compile_definitions(${PROJECT_NAME} PRIVATE ${LXW_PRIVATE_COMPILE_DEFINITIONS})
-+if (WINDOWSSTORE)
-+ target_compile_definitions(${PROJECT_NAME} PRIVATE -DIOWIN32_USING_WINRT_API)
-+endif()
- target_include_directories(${PROJECT_NAME}
- PRIVATE ${LXW_PRIVATE_INCLUDE_DIRS}
- PUBLIC include include/xlsxwriter
diff --git a/ports/libxlsxwriter/0003-fix-include-file.patch b/ports/libxlsxwriter/0003-fix-include-file.patch deleted file mode 100644 index faa0517b8..000000000 --- a/ports/libxlsxwriter/0003-fix-include-file.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/include/xlsxwriter/utility.h b/include/xlsxwriter/utility.h -index 5b4b365..5f86335 100644 ---- a/include/xlsxwriter/utility.h -+++ b/include/xlsxwriter/utility.h -@@ -17,7 +17,9 @@ - #define __LXW_UTILITY_H__ - - #include <stdint.h> -+#ifndef _MSC_VER - #include <strings.h> -+#endif - #include "common.h" - #include "xmlwriter.h" - diff --git a/ports/libxlsxwriter/CONTROL b/ports/libxlsxwriter/CONTROL index 8848ce5f9..0d7d2494b 100644 --- a/ports/libxlsxwriter/CONTROL +++ b/ports/libxlsxwriter/CONTROL @@ -1,4 +1,4 @@ Source: libxlsxwriter -Version: 0.8.7-1 +Version: 0.8.9-1 Description: Libxlsxwriter is a C library that can be used to write text, numbers, formulas and hyperlinks to multiple worksheets in an Excel 2007+ XLSX file. Build-Depends: zlib diff --git a/ports/libxlsxwriter/portfile.cmake b/ports/libxlsxwriter/portfile.cmake index cf77a09e4..75062b4c5 100644 --- a/ports/libxlsxwriter/portfile.cmake +++ b/ports/libxlsxwriter/portfile.cmake @@ -1,18 +1,14 @@ -include(vcpkg_common_functions) - vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH + OUT_SOURCE_PATH SOURCE_PATH REPO jmcnamara/libxlsxwriter - REF RELEASE_0.8.7 - SHA512 20bf09f084808a8db00315848213c550fb809b587ea49ce3b25b310de981c176a44c518452507b6e00ca3f0a8e0056d88a6f575c031d54aa68791575cb9ab285 + REF RELEASE_0.8.9 + SHA512 0442323b8e55000aa78a689820f8e446b5e925b5077c6ed163ad181b5a8f0e19fe71cc12c4781f47f70f0c702faa27e49655e813f7e90a855ab73dd2bd9f5d66 HEAD_REF master PATCHES - 0001-fix-build-error.patch - 0002-fix-uwp-build.patch - 0003-fix-include-file.patch + 0001-fix-cmake-file.patch ) -if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") +if (VCPKG_TARGET_IS_UWP) set(USE_WINDOWSSTORE ON) else() set(USE_WINDOWSSTORE OFF) @@ -30,5 +26,4 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) vcpkg_copy_pdbs() -file(COPY ${SOURCE_PATH}/License.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}/) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/License.txt ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) +file(INSTALL ${SOURCE_PATH}/License.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/libxslt/0001-Fix-makefile.patch b/ports/libxslt/0001-Fix-makefile.patch index 73d627860..8648a3fe5 100644 --- a/ports/libxslt/0001-Fix-makefile.patch +++ b/ports/libxslt/0001-Fix-makefile.patch @@ -6,32 +6,6 @@ diff --git a/win32/Makefile.msvc b/win32/Makefile.msvc index 23a02d2..b13dd26 100644 --- a/win32/Makefile.msvc +++ b/win32/Makefile.msvc -@@ -22,7 +22,7 @@ BASEDIR = .. - XSLT_SRCDIR = $(BASEDIR)\libxslt - EXSLT_SRCDIR = $(BASEDIR)\libexslt - UTILS_SRCDIR = $(BASEDIR)\xsltproc --BINDIR = bin.msvc -+BINDIR = $(OUTDIR)\bin.msvc - - # Names of various input and output components. - XSLT_NAME = xslt -@@ -39,11 +39,11 @@ EXSLT_DEF = $(EXSLT_BASENAME).def - EXSLT_A = $(EXSLT_BASENAME)_a.lib - - # Places where intermediate files produced by the compiler go --XSLT_INTDIR = int.xslt.msvc --XSLT_INTDIR_A = int.xslta.msvc --EXSLT_INTDIR = int.exslt.msvc --EXSLT_INTDIR_A = int.exslta.msvc --UTILS_INTDIR = int.utils.msvc -+XSLT_INTDIR = $(OUTDIR)\int.xslt.msvc -+XSLT_INTDIR_A = $(OUTDIR)\int.xslta.msvc -+EXSLT_INTDIR = $(OUTDIR)\int.exslt.msvc -+EXSLT_INTDIR_A = $(OUTDIR)\int.exslta.msvc -+UTILS_INTDIR = $(OUTDIR)\int.utils.msvc - - # The preprocessor and its options. - CPP = cl.exe /EP @@ -59,7 +59,13 @@ CFLAGS = $(CFLAGS) /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE LD = link.exe LDFLAGS = /nologo diff --git a/ports/libxslt/CONTROL b/ports/libxslt/CONTROL index 8f5d4de53..1320ee2cd 100644 --- a/ports/libxslt/CONTROL +++ b/ports/libxslt/CONTROL @@ -1,5 +1,5 @@ Source: libxslt -Version: 1.1.33-4 +Version: 1.1.33-6 Homepage: https://github.com/GNOME/libxslt Description: Libxslt is a XSLT library implemented in C for XSLT 1.0 and most of EXSLT Build-Depends: libxml2, liblzma diff --git a/ports/libxslt/portfile.cmake b/ports/libxslt/portfile.cmake index 68dc53654..5ab963bff 100644 --- a/ports/libxslt/portfile.cmake +++ b/ports/libxslt/portfile.cmake @@ -14,7 +14,9 @@ vcpkg_from_github( if (VCPKG_TARGET_IS_WINDOWS) # Create some directories ourselves, because the makefile doesn't file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/bin) - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/bin) + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/bin) + endif() set(CONFIGURE_COMMAND_TEMPLATE cruntime=@CRUNTIME@ debug=@DEBUGMODE@ @@ -147,7 +149,9 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/tools) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -vcpkg_copy_pdbs() +if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + vcpkg_copy_pdbs() +endif() file(INSTALL ${SOURCE_PATH}/Copyright DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/libzip/CONTROL b/ports/libzip/CONTROL index bac06fac9..a01feac85 100644 --- a/ports/libzip/CONTROL +++ b/ports/libzip/CONTROL @@ -1,5 +1,5 @@ Source: libzip -Version: rel-1-5-2 +Version: rel-1-5-2--1 Homepage: https://github.com/nih-at/libzip Build-Depends: zlib Default-Features: openssl, bzip2 diff --git a/ports/libzip/avoid_computation_on_void_pointer.patch b/ports/libzip/avoid_computation_on_void_pointer.patch index cbd38bfa9..a655063f4 100644 --- a/ports/libzip/avoid_computation_on_void_pointer.patch +++ b/ports/libzip/avoid_computation_on_void_pointer.patch @@ -1,13 +1,13 @@ -diff --git a/lib/zip_source_winzip_aes_encode.c b/lib/zip_source_winzip_aes_encode.c
-
---- a/lib/zip_source_winzip_aes_encode.c
-+++ b/lib/zip_source_winzip_aes_encode.c
-@@ -163,7 +163,7 @@ winzip_aes_encrypt(zip_source_t *src, void *ud, void *data, zip_uint64_t length,
- /* TODO: return partial read? */
- return -1;
- }
-- buffer_n += _zip_buffer_read(ctx->buffer, data + ret, length - (zip_uint64_t)ret);
-+ buffer_n += _zip_buffer_read(ctx->buffer, (zip_uint8_t *)data + ret, length - (zip_uint64_t)ret);
- }
-
- return (zip_int64_t)(buffer_n + (zip_uint64_t)ret);
+diff --git a/lib/zip_source_winzip_aes_encode.c b/lib/zip_source_winzip_aes_encode.c +index c428c9a..4e5f753 100644 +--- a/lib/zip_source_winzip_aes_encode.c ++++ b/lib/zip_source_winzip_aes_encode.c +@@ -163,7 +163,7 @@ winzip_aes_encrypt(zip_source_t *src, void *ud, void *data, zip_uint64_t length, + /* TODO: return partial read? */ + return -1; + } +- buffer_n += _zip_buffer_read(ctx->buffer, data + ret, length - (zip_uint64_t)ret); ++ buffer_n += _zip_buffer_read(ctx->buffer, (zip_uint8_t *)data + ret, length - (zip_uint64_t)ret); + } + + return (zip_int64_t)(buffer_n + (zip_uint64_t)ret); diff --git a/ports/libzip/portfile.cmake b/ports/libzip/portfile.cmake index 92ef4109b..7478937f4 100644 --- a/ports/libzip/portfile.cmake +++ b/ports/libzip/portfile.cmake @@ -1,4 +1,3 @@ -include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO nih-at/libzip @@ -33,6 +32,7 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() +vcpkg_copy_pdbs() # Remove include directories from lib file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/libzip ${CURRENT_PACKAGES_DIR}/debug/lib/libzip) @@ -41,6 +41,4 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/libzip ${CURRENT_PACKAGES_DIR}/d file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) # Copy copright information -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libzip RENAME copyright) - -vcpkg_copy_pdbs() +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/live555/CMakeLists.txt b/ports/live555/CMakeLists.txt index 9d126cda1..cb0854bb2 100644 --- a/ports/live555/CMakeLists.txt +++ b/ports/live555/CMakeLists.txt @@ -20,6 +20,8 @@ add_library(groupsock ${GROUPSOCK_SRCS}) file(GLOB LIVEMEDIA_SRCS liveMedia/*.c liveMedia/*.cpp) add_library(liveMedia ${LIVEMEDIA_SRCS}) +find_package(OpenSSL REQUIRED) +target_include_directories(liveMedia PRIVATE "${OPENSSL_INCLUDE_DIR}") file(GLOB USAGE_ENVIRONMENT_SRCS UsageEnvironment/*.c UsageEnvironment/*.cpp) add_library(UsageEnvironment ${USAGE_ENVIRONMENT_SRCS}) diff --git a/ports/live555/CONTROL b/ports/live555/CONTROL index e2f44db66..490972f09 100644 --- a/ports/live555/CONTROL +++ b/ports/live555/CONTROL @@ -1,4 +1,5 @@ Source: live555 -Version: latest +Version: latest-1 Homepage: https://www.live555.com/liveMedia Description: A complete RTSP server application +Build-Depends: openssl diff --git a/ports/live555/fix-RTSPClient.patch b/ports/live555/fix-RTSPClient.patch new file mode 100644 index 000000000..66863963d --- /dev/null +++ b/ports/live555/fix-RTSPClient.patch @@ -0,0 +1,13 @@ +diff --git a/liveMedia/RTSPClient.cpp b/liveMedia/RTSPClient.cpp +index 02c46c7..6127698 100644 +--- a/liveMedia/RTSPClient.cpp ++++ b/liveMedia/RTSPClient.cpp +@@ -1939,7 +1939,7 @@ int RTSPClient::write(const u_int8_t* data, unsigned count) { + if (fTLS.isNeeded) { + return fTLS.write(data, count); + } else { +- return send(fOutputSocketNum, data, count, 0); ++ return send(fOutputSocketNum, (const char *)data, count, 0); + } + } + diff --git a/ports/live555/portfile.cmake b/ports/live555/portfile.cmake index c89d4e0a1..d4a5c0600 100644 --- a/ports/live555/portfile.cmake +++ b/ports/live555/portfile.cmake @@ -1,5 +1,3 @@ -include(vcpkg_common_functions) - vcpkg_check_linkage(ONLY_STATIC_LIBRARY) if(NOT VCPKG_USE_HEAD_VERSION) @@ -7,8 +5,6 @@ if(NOT VCPKG_USE_HEAD_VERSION) message(FATAL_ERROR "Live555 does not have persistent releases. Please re-run the installation with --head.") endif() -include(vcpkg_common_functions) - set(LIVE_VERSION latest) vcpkg_download_distfile(ARCHIVE @@ -20,6 +16,8 @@ vcpkg_download_distfile(ARCHIVE vcpkg_extract_source_archive_ex( OUT_SOURCE_PATH SOURCE_PATH ARCHIVE ${ARCHIVE} + PATCHES + fix-RTSPClient.patch ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) @@ -39,6 +37,6 @@ file(GLOB HEADERS ) file(COPY ${HEADERS} DESTINATION ${CURRENT_PACKAGES_DIR}/include) -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/live555 RENAME copyright) +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) vcpkg_copy_pdbs() diff --git a/ports/magic-enum/CONTROL b/ports/magic-enum/CONTROL index 27bb0ec89..dbd3abe50 100644 --- a/ports/magic-enum/CONTROL +++ b/ports/magic-enum/CONTROL @@ -1,4 +1,4 @@ Source: magic-enum
-Version: 0.6.3
+Version: 0.6.4
Description: Header-only C++17 library provides static reflection for enums, work with any enum type without any macro or boilerplate code.
Homepage: https://github.com/Neargye/magic_enum
diff --git a/ports/magic-enum/portfile.cmake b/ports/magic-enum/portfile.cmake index 72e9540dd..86d6bb7bb 100644 --- a/ports/magic-enum/portfile.cmake +++ b/ports/magic-enum/portfile.cmake @@ -1,12 +1,10 @@ # header-only library
-include(vcpkg_common_functions)
-
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Neargye/magic_enum
- REF v0.6.3
- SHA512 ac5e1a08c491c380980b1ca928cd545f0f062818e5946904e6f17803f6e6578f4a7f882896b22681537ef7c559897b002aacc52f8fe35d22ea528d1b5e491e63
+ REF v0.6.4
+ SHA512 9d7e45c5a9abfe28b8b1926805f7e5d9a94118f6330737b2c2d95c49cd8f04fdc540eb264d68bd7c697abaffba3a178499f90bc86fb54a62f7d2cc61be22599b
HEAD_REF master
)
@@ -20,12 +18,9 @@ vcpkg_configure_cmake( vcpkg_install_cmake()
-vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/magic_enum)
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/magic_enum TARGET_PATH share/magic_enum)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib)
# Handle copyright
-configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/magic-enum/copyright COPYONLY)
-
-# CMake integration test
-vcpkg_test_cmake(PACKAGE_NAME magic-enum)
+configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY)
diff --git a/ports/magnum-plugins/003-use-outdated-basisu.patch b/ports/magnum-plugins/003-use-outdated-basisu.patch new file mode 100644 index 000000000..61e7c52ac --- /dev/null +++ b/ports/magnum-plugins/003-use-outdated-basisu.patch @@ -0,0 +1,27 @@ +From 4d59a1eafc7a5828a0dedc92a713b3394d5f64fc Mon Sep 17 00:00:00 2001 +From: Squareys <squareys@googlemail.com> +Date: Wed, 6 Nov 2019 18:45:17 +0100 +Subject: [PATCH] fix vcpkg build + +--- + src/MagnumPlugins/BasisImageConverter/BasisImageConverter.cpp | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/src/MagnumPlugins/BasisImageConverter/BasisImageConverter.cpp b/src/MagnumPlugins/BasisImageConverter/BasisImageConverter.cpp +index db3a39cb..d5c80b11 100644 +--- a/src/MagnumPlugins/BasisImageConverter/BasisImageConverter.cpp ++++ b/src/MagnumPlugins/BasisImageConverter/BasisImageConverter.cpp +@@ -106,7 +106,9 @@ Containers::Array<char> BasisImageConverter::doExportToData(const ImageView2D& i + + /* Hierarchical virtual selector codebook options */ + PARAM_CONFIG_FIX_NAME(global_sel_pal, bool, "global_selector_palette"); +- PARAM_CONFIG_FIX_NAME(auto_global_sel_pal, bool, "auto_global_selector_palette"); ++ /* vcpkg version is begind 54304fa01443280bbaa9854f16c9f1756b17b40b, which changes name ++ * to m_auto_global_sel_pal */ ++ params.m_no_auto_global_sel_pal = !configuration().value<bool>("auto_global_selector_palette"); + PARAM_CONFIG_FIX_NAME(no_hybrid_sel_cb, bool, "no_hybrid_selector_codebook"); + PARAM_CONFIG_FIX_NAME(global_pal_bits, int, "global_palette_bits"); + PARAM_CONFIG_FIX_NAME(global_mod_bits, int, "global_modifier_bits"); +-- +2.17.0.windows.1 + diff --git a/ports/magnum-plugins/CONTROL b/ports/magnum-plugins/CONTROL index c298e9417..285c120fb 100644 --- a/ports/magnum-plugins/CONTROL +++ b/ports/magnum-plugins/CONTROL @@ -1,5 +1,5 @@ Source: magnum-plugins -Version: 2019.10 +Version: 2019.10-1 Build-Depends: magnum[core] Description: Plugins for magnum, C++11/C++14 graphics middleware for games and data visualization Homepage: https://magnum.graphics/ diff --git a/ports/magnum-plugins/portfile.cmake b/ports/magnum-plugins/portfile.cmake index 96c87e77e..cf458cf1f 100644 --- a/ports/magnum-plugins/portfile.cmake +++ b/ports/magnum-plugins/portfile.cmake @@ -1,4 +1,13 @@ -include(vcpkg_common_functions) +set(_RELEASE_ONLY_PATCHES) +if(NOT VCPKG_USE_HEAD_VERSION) + vcpkg_download_distfile( + _RELEASE_ONLY_PATCHES + URLS "https://github.com/mosra/magnum-plugins/commit/c2a05465fa43befbb628b424378e328fa42923b7.diff" + FILENAME "c2a05465fa43befbb628b424378e328fa42923b7.diff" + SHA512 e03953ff7319b3b8e3644b8e25c006a856dd6a85cec6e4c033f9b2059af7ae39ed84b76c11c93c41ea6a681d7f34dd5980806f49f760d1c26778047c90cc76df + ) +endif() + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mosra/magnum-plugins @@ -7,6 +16,8 @@ vcpkg_from_github( HEAD_REF master PATCHES 001-tools-path.patch + ${_RELEASE_ONLY_PATCHES} + 003-use-outdated-basisu.patch ) if(VCPKG_LIBRARY_LINKAGE STREQUAL static) diff --git a/ports/mdnsresponder/CONTROL b/ports/mdnsresponder/CONTROL index a94e7866c..66c039dbc 100644 --- a/ports/mdnsresponder/CONTROL +++ b/ports/mdnsresponder/CONTROL @@ -1,4 +1,4 @@ Source: mdnsresponder -Version: 765.30.11-1 +Version: 765.30.11-2 Description: The mDNSResponder project is a component of Bonjour, Apple's ease-of-use IP networking initiative. Homepage: https://developer.apple.com/bonjour/ diff --git a/ports/mdnsresponder/portfile.cmake b/ports/mdnsresponder/portfile.cmake index 46ab04ddb..c37b07a20 100644 --- a/ports/mdnsresponder/portfile.cmake +++ b/ports/mdnsresponder/portfile.cmake @@ -21,33 +21,36 @@ ENDIF() function(FIX_VCXPROJ VCXPROJ_PATH) file(READ ${VCXPROJ_PATH} ORIG) - if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - string(REPLACE - "<ConfigurationType>StaticLibrary</ConfigurationType>" - "<ConfigurationType>DynamicLibrary</ConfigurationType>" - ORIG "${ORIG}") + if(${VCPKG_CRT_LINKAGE} STREQUAL "dynamic") string(REGEX REPLACE - "<RuntimeLibrary>*</RuntimeLibrary>" + "<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>" "<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>" ORIG "${ORIG}") string(REGEX REPLACE - "<RuntimeLibrary>*</RuntimeLibrary>" + "<RuntimeLibrary>MultiThreaded</RuntimeLibrary>" "<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>" ORIG "${ORIG}") else() - string(REPLACE - "<ConfigurationType>DynamicLibrary</ConfigurationType>" - "<ConfigurationType>StaticLibrary</ConfigurationType>" - ORIG "${ORIG}") string(REGEX REPLACE - "<RuntimeLibrary>*Debug</RuntimeLibrary>" + "<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>" "<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>" ORIG "${ORIG}") string(REGEX REPLACE - "<RuntimeLibrary>*</RuntimeLibrary>" + "<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>" "<RuntimeLibrary>MultiThreaded</RuntimeLibrary>" ORIG "${ORIG}") endif() + if(${VCPKG_LIBRARY_LINKAGE} STREQUAL "dynamic") + string(REPLACE + "<ConfigurationType>StaticLibrary</ConfigurationType>" + "<ConfigurationType>DynamicLibrary</ConfigurationType>" + ORIG "${ORIG}") + else() + string(REPLACE + "<ConfigurationType>DynamicLibrary</ConfigurationType>" + "<ConfigurationType>StaticLibrary</ConfigurationType>" + ORIG "${ORIG}") + endif() file(WRITE ${VCXPROJ_PATH} "${ORIG}") endfunction() diff --git a/ports/minizip/CMakeLists.txt b/ports/minizip/CMakeLists.txt index b5c5d5dbc..c21b327f3 100644 --- a/ports/minizip/CMakeLists.txt +++ b/ports/minizip/CMakeLists.txt @@ -1,6 +1,11 @@ cmake_minimum_required(VERSION 3.8) project(minizip C) +set(PROJECT_VERSION 1.2.11) +set(PROJECT_VERSION_MAJOR 1) +set(PROJECT_VERSION_MINOR 2) +set(PROJECT_VERSION_PATCH 11) + if(MSVC) add_compile_options(/W3 /wd4005 /wd4996 /wd4018 -D_CRT_SECURE_NO_WARNINGS) endif() @@ -25,7 +30,6 @@ set(SRC ${MIN_SRC}/ioapi.c ${MIN_SRC}/unzip.c ${MIN_SRC}/zip.c - ${MIN_SRC}/unzip.c ${MIN_SRC}/mztools.c ) if(WIN32) @@ -37,7 +41,6 @@ set(HEADERS ${MIN_SRC}/ioapi.h ${MIN_SRC}/unzip.h ${MIN_SRC}/zip.h - ${MIN_SRC}/unzip.h ${MIN_SRC}/mztools.h ) if(WIN32) @@ -66,11 +69,31 @@ set_target_properties(miniunz_bin PROPERTIES OUTPUT_NAME miniunz) install( TARGETS minizip + EXPORT minizipTargets RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib ) +include(CMakePackageConfigHelpers) +write_basic_package_version_file("${PROJECT_BINARY_DIR}/minizipConfigVersion.cmake" + COMPATIBILITY SameMajorVersion) + +configure_package_config_file(${PROJECT_SOURCE_DIR}/cmake/minizipConfig.cmake.in + minizipConfig.cmake + INSTALL_DESTINATION share/minizip) + +install(FILES + "${PROJECT_BINARY_DIR}/minizipConfig.cmake" + "${PROJECT_BINARY_DIR}/minizipConfigVersion.cmake" + DESTINATION share/minizip +) + +install(EXPORT minizipTargets + NAMESPACE minizip:: + DESTINATION share/minizip +) + if(NOT DISABLE_INSTALL_TOOLS) install ( TARGETS minizip_bin miniunz_bin diff --git a/ports/minizip/CONTROL b/ports/minizip/CONTROL index 9570e945e..22ea0c9f3 100644 --- a/ports/minizip/CONTROL +++ b/ports/minizip/CONTROL @@ -1,5 +1,5 @@ Source: minizip
-Version: 1.2.11-5
+Version: 1.2.11-6
Build-Depends: zlib
Homepage: https://github.com/madler/zlib
Description: Zip compression library
diff --git a/ports/minizip/minizipConfig.cmake.in b/ports/minizip/minizipConfig.cmake.in new file mode 100644 index 000000000..9f27956c0 --- /dev/null +++ b/ports/minizip/minizipConfig.cmake.in @@ -0,0 +1,4 @@ +#@PACKAGE_INIT@
+
+include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake")
+check_required_components("@PROJECT_NAME@")
\ No newline at end of file diff --git a/ports/minizip/portfile.cmake b/ports/minizip/portfile.cmake index 86cfe9b9d..c1df89ac8 100644 --- a/ports/minizip/portfile.cmake +++ b/ports/minizip/portfile.cmake @@ -1,48 +1,44 @@ -include(vcpkg_common_functions) - -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore) - message(FATAL_ERROR "WindowsStore not supported") -endif() - +vcpkg_fail_port_install(ON_TARGET "uwp") vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO madler/zlib - REF v1.2.11 - SHA512 104c62ed1228b5f1199bc037081861576900eb0697a226cafa62a35c4c890b5cb46622e399f9aad82ee5dfb475bae26ae75e2bd6da3d261361b1c8b996970faf - HEAD_REF master - PATCHES minizip.patch # enable decrypt support for password-encrypted ZIP files + OUT_SOURCE_PATH SOURCE_PATH + REPO madler/zlib + REF v1.2.11 + SHA512 104c62ed1228b5f1199bc037081861576900eb0697a226cafa62a35c4c890b5cb46622e399f9aad82ee5dfb475bae26ae75e2bd6da3d261361b1c8b996970faf + HEAD_REF master + PATCHES minizip.patch # enable decrypt support for password-encrypted ZIP files ) -set(BUILD_minizip_bzip2 OFF) -if ("bzip2" IN_LIST FEATURES) - set(BUILD_minizip_bzip2 ON) -endif() +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + bzip2 ENABLE_BZIP2 +) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +configure_file(${CMAKE_CURRENT_LIST_DIR}/minizipConfig.cmake.in ${SOURCE_PATH}/cmake/minizipConfig.cmake.in COPYONLY) +configure_file(${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt ${SOURCE_PATH}/CMakeLists.txt COPYONLY) vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - -DENABLE_BZIP2=${BUILD_minizip_bzip2} - OPTIONS_DEBUG - -DDISABLE_INSTALL_HEADERS=ON -DDISABLE_INSTALL_TOOLS=ON + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + ${FEATURE_OPTIONS} + OPTIONS_DEBUG + -DDISABLE_INSTALL_HEADERS=ON + -DDISABLE_INSTALL_TOOLS=ON ) vcpkg_install_cmake() vcpkg_copy_pdbs() - +vcpkg_fixup_cmake_targets() vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/minizip) if ("bzip2" IN_LIST FEATURES) - file(GLOB HEADERS "${CURRENT_PACKAGES_DIR}/include/minizip/*.h") - foreach(HEADER ${HEADERS}) - file(READ "${HEADER}" _contents) - string(REPLACE "#ifdef HAVE_BZIP2" "#if 1" _contents "${_contents}") - file(WRITE "${HEADER}" "${_contents}") - endforeach() + file(GLOB HEADERS "${CURRENT_PACKAGES_DIR}/include/minizip/*.h") + foreach(HEADER ${HEADERS}) + file(READ "${HEADER}" _contents) + string(REPLACE "#ifdef HAVE_BZIP2" "#if 1" _contents "${_contents}") + file(WRITE "${HEADER}" "${_contents}") + endforeach() endif() -file(INSTALL ${SOURCE_PATH}/contrib/minizip/MiniZip64_info.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/minizip RENAME copyright) +file(INSTALL ${SOURCE_PATH}/contrib/minizip/MiniZip64_info.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/mongo-c-driver/CONTROL b/ports/mongo-c-driver/CONTROL index 18f189170..efc81c03a 100644 --- a/ports/mongo-c-driver/CONTROL +++ b/ports/mongo-c-driver/CONTROL @@ -1,5 +1,5 @@ Source: mongo-c-driver -Version: 1.14.0-5 +Version: 1.15.1-1 Build-Depends: libbson, openssl (!windows), zlib Description: Client library written in C for MongoDB. Homepage: https://github.com/mongodb/mongo-c-driver diff --git a/ports/mongo-c-driver/portfile.cmake b/ports/mongo-c-driver/portfile.cmake index 958ffbcde..a138f7872 100644 --- a/ports/mongo-c-driver/portfile.cmake +++ b/ports/mongo-c-driver/portfile.cmake @@ -1,11 +1,8 @@ -include(vcpkg_common_functions)
-set(BUILD_VERSION 1.14.0)
-
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO mongodb/mongo-c-driver
- REF ${BUILD_VERSION}
- SHA512 bf2bb835543dd2a445aac6cafa7bbbf90921ec41014534779924a5eb7cbd9fd532acd8146ce81dfcf1bcac33a78d8fce22b962ed7f776449e4357eccab8d6110
+ REF 541086adcf1eecf88ac09fda47d9a8ec1598015d # debian/1.15.1-1
+ SHA512 a57438dfae9d0993ae04b7a76677f79331699898f21e7645db5edd2c91014f33b738a0af67b58234d1ee03aab2ae3b58c183bbd043fc2bde5cc1a4e111755b70
HEAD_REF master
)
@@ -25,6 +22,10 @@ else() set(ENABLE_SSL "OPENSSL")
endif()
+file(READ ${CMAKE_CURRENT_LIST_DIR}/CONTROL _contents)
+string(REGEX MATCH "\nVersion:[ ]*[^ \n]+" _contents "${_contents}")
+string(REGEX REPLACE ".+Version:[ ]*([\\.0-9]+).*" "\\1" BUILD_VERSION "${_contents}")
+
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
diff --git a/ports/mongoose/CMakeLists.txt b/ports/mongoose/CMakeLists.txt index 77fe2f839..ae2cce34c 100644 --- a/ports/mongoose/CMakeLists.txt +++ b/ports/mongoose/CMakeLists.txt @@ -4,12 +4,20 @@ project(mongoose C) include(GNUInstallDirs) +option(ENABLE_SSL "Build with openssl support" OFF) + set(CMAKE_INCLUDE_CURRENT_DIR ON) add_library(mongoose mongoose.c) target_include_directories(mongoose PUBLIC $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>) set_target_properties(mongoose PROPERTIES PUBLIC_HEADER mongoose.h) +if (ENABLE_SSL) + find_package(OpenSSL REQUIRED) + target_compile_options(mongoose PRIVATE -DMG_ENABLE_SSL) + target_link_libraries(mongoose PRIVATE OpenSSL::SSL OpenSSL::Crypto) +endif() + install(TARGETS mongoose EXPORT unofficial-mongoose-config) install( diff --git a/ports/mongoose/CONTROL b/ports/mongoose/CONTROL index ae0bbc758..c307982cf 100644 --- a/ports/mongoose/CONTROL +++ b/ports/mongoose/CONTROL @@ -1,4 +1,8 @@ Source: mongoose -Version: 6.15-1 +Version: 6.15-2 Description: Embedded web server / embedded networking library Homepage: https://cesanta.com/ + +Feature: ssl +Build-Depends: openssl +Description: Build with openssl
\ No newline at end of file diff --git a/ports/mongoose/portfile.cmake b/ports/mongoose/portfile.cmake index 81c8d50ee..d8dbbaddc 100644 --- a/ports/mongoose/portfile.cmake +++ b/ports/mongoose/portfile.cmake @@ -1,8 +1,4 @@ -include(vcpkg_common_functions) - -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - message(FATAL_ERROR "${PORT} does not currently support UWP") -endif() +vcpkg_fail_port_install(ON_TARGET "UWP") vcpkg_check_linkage(ONLY_STATIC_LIBRARY) @@ -16,9 +12,14 @@ vcpkg_from_github( file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + ssl ENABLE_SSL +) + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA + OPTIONS ${FEATURE_OPTIONS} ) vcpkg_install_cmake() @@ -28,7 +29,4 @@ vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-${PORT} TARGET_PATH share file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) # Handle copyright -configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) - -# CMake integration test -vcpkg_test_cmake(PACKAGE_NAME unofficial-${PORT}) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/mosquitto/CONTROL b/ports/mosquitto/CONTROL index df10ce2d8..126fa2a72 100644 --- a/ports/mosquitto/CONTROL +++ b/ports/mosquitto/CONTROL @@ -1,5 +1,5 @@ Source: mosquitto
-Version: 1.6.7
+Version: 1.6.7-1
Build-Depends: c-ares, libwebsockets, openssl, pthreads
Description: Mosquitto is an open source message broker that implements the MQ Telemetry Transport protocol versions 3.1 and 3.1.1.
MQTT provides a lightweight method of carrying out messaging using a publish/subscribe model. This makes it suitable for "machine to machine" messaging such as with low power sensors or mobile devices such as phones, embedded computers or microcontrollers like the Arduino.
diff --git a/ports/mosquitto/libwebsockets.patch b/ports/mosquitto/libwebsockets.patch new file mode 100644 index 000000000..647ff5d70 --- /dev/null +++ b/ports/mosquitto/libwebsockets.patch @@ -0,0 +1,12 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 473931c8f..a8aa78e5d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -45,6 +45,7 @@ endif (WITH_TLS) + + option(WITH_SOCKS "Include SOCKS5 support?" ON) + if (WITH_SOCKS) ++ find_package(Libwebsockets CONFIG REQUIRED) + add_definitions("-DWITH_SOCKS") + endif (WITH_SOCKS) + diff --git a/ports/mosquitto/portfile.cmake b/ports/mosquitto/portfile.cmake index b2fe11da9..a59dd6068 100644 --- a/ports/mosquitto/portfile.cmake +++ b/ports/mosquitto/portfile.cmake @@ -1,6 +1,4 @@ -include(vcpkg_common_functions) - -vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY ONLY_DYNAMIC_CRT) +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY ONLY_DYNAMIC_CRT) # This is a lie. mosquitto can be build staticlly it just must be implemented by vcpkg vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH @@ -11,6 +9,7 @@ vcpkg_from_github( PATCHES archive-dest.patch win64-cmake.patch + libwebsockets.patch ) vcpkg_configure_cmake( @@ -35,20 +34,14 @@ vcpkg_copy_pdbs() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -if(CMAKE_HOST_WIN32) - set(EXECUTABLE_SUFFIX ".exe") -else() - set(EXECUTABLE_SUFFIX "") -endif() - -file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/mosquitto_passwd${EXECUTABLE_SUFFIX}) -file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/mosquitto_passwd${EXECUTABLE_SUFFIX}) -file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/mosquitto_pub${EXECUTABLE_SUFFIX}) -file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/mosquitto_pub${EXECUTABLE_SUFFIX}) -file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/mosquitto_rr${EXECUTABLE_SUFFIX}) -file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/mosquitto_rr${EXECUTABLE_SUFFIX}) -file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/mosquitto_sub${EXECUTABLE_SUFFIX}) -file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/mosquitto_sub${EXECUTABLE_SUFFIX}) +file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/mosquitto_passwd${VCPKG_TARGET_EXECUTABLE_SUFFIX}) +file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/mosquitto_passwd${VCPKG_TARGET_EXECUTABLE_SUFFIX}) +file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/mosquitto_pub${VCPKG_TARGET_EXECUTABLE_SUFFIX}) +file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/mosquitto_pub${VCPKG_TARGET_EXECUTABLE_SUFFIX}) +file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/mosquitto_rr${VCPKG_TARGET_EXECUTABLE_SUFFIX}) +file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/mosquitto_rr${VCPKG_TARGET_EXECUTABLE_SUFFIX}) +file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/mosquitto_sub${VCPKG_TARGET_EXECUTABLE_SUFFIX}) +file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/mosquitto_sub${VCPKG_TARGET_EXECUTABLE_SUFFIX}) #if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin") diff --git a/ports/msix/CONTROL b/ports/msix/CONTROL index 848e95be3..fb6e632a1 100644 --- a/ports/msix/CONTROL +++ b/ports/msix/CONTROL @@ -1,5 +1,5 @@ Source: msix
-Version: MsixCoreInstaller-preview-1
-Build-Depends: xerces-c, zlib, openssl (!uwp&!windows)
+Version: 1.7 +Build-Depends: xerces-c, zlib, openssl (!uwp&!windows), catch2
Description: The MSIX Packaging SDK project is an effort to enable developers on a variety of platforms to pack and unpack packages for the purposes of distribution from either the Microsoft Store, or their own content distribution networks.
The MSIX Packaging APIs that a client app would use to interact with .msix/.appx packages are a subset of those documented here. See sample/ExtractContentsSample/ExtractContentsSample.cpp for additional details.
diff --git a/ports/msix/fix-dependency-catch2.patch b/ports/msix/fix-dependency-catch2.patch new file mode 100644 index 000000000..4b2030566 --- /dev/null +++ b/ports/msix/fix-dependency-catch2.patch @@ -0,0 +1,22 @@ +diff --git a/src/test/msixtest/CMakeLists.txt b/src/test/msixtest/CMakeLists.txt
+index e991231..e5c43ed 100644
+--- a/src/test/msixtest/CMakeLists.txt
++++ b/src/test/msixtest/CMakeLists.txt
+@@ -5,6 +5,8 @@
+ cmake_minimum_required(VERSION 3.8.0 FATAL_ERROR)
+ project (msixtest)
+
++find_package(Catch2 CONFIG REQUIRED)
++
+ if(WIN32)
+ set(DESCRIPTION "msixtest manifest")
+ configure_file(${MSIX_PROJECT_ROOT}/manifest.cmakein ${MSIX_TEST_OUTPUT_DIRECTORY}/${PROJECT_NAME}.exe.manifest CRLF)
+@@ -91,7 +93,7 @@ set_target_properties(${PROJECT_NAME} PROPERTIES
+ )
+
+ add_dependencies(${PROJECT_NAME} msix)
+-target_link_libraries(${PROJECT_NAME} msix)
++target_link_libraries(${PROJECT_NAME} msix Catch2::Catch2)
+
+ # For windows copy the library
+ if(WIN32)
diff --git a/ports/msix/install-cmake.patch b/ports/msix/install-cmake.patch index d33613ae6..e8f930f61 100644 --- a/ports/msix/install-cmake.patch +++ b/ports/msix/install-cmake.patch @@ -1,19 +1,20 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 8ee0443..8c0a868 100644
+index 20098bf..38c3c95 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -266,3 +266,5 @@ message(STATUS "sample processed")
- add_subdirectory(test)
- message(STATUS "tests processed")
+@@ -190,3 +190,5 @@ message(STATUS "src processed")
+ add_subdirectory(sample)
+ message(STATUS "sample processed")
message(STATUS "DONE!")
+
+install(TARGETS msix)
+\ No newline at end of file
diff --git a/src/msix/CMakeLists.txt b/src/msix/CMakeLists.txt
-index 817040b..6b16b69 100644
+index 296eda4..cf87993 100644
--- a/src/msix/CMakeLists.txt
+++ b/src/msix/CMakeLists.txt
-@@ -164,9 +164,9 @@ message(STATUS "PAL: Compression = ${CompressionObject}")
- include(msix_resources)
+@@ -87,9 +87,9 @@ endif()
+ include(msix_resources) # Handles all the certificates and schemas we are going to use.
set(LIB_PUBLIC_HEADERS
- ../inc/AppxPackaging.hpp
@@ -24,4 +25,13 @@ index 817040b..6b16b69 100644 + ${CMAKE_CURRENT_SOURCE_DIR}/../inc/MsixErrors.hpp
)
- # Bundle specific files
+ set(MsixSrc) # list with all the files we are going to use
+@@ -260,7 +260,7 @@ if(WIN32)
+ "/DELAYLOAD:api-ms-win-core-winrt-l1-1-0.dll")
+ string(REPLACE ";" " " DELAYFLAGS "${DELAYFLAGS}")
+ set_property(TARGET ${PROJECT_NAME} APPEND_STRING PROPERTY LINK_FLAGS "${DELAYFLAGS} /LTCG")
+- set_property(TARGET ${PROJECT_NAME} APPEND_STRING PROPERTY LINK_FLAGS " /DEF:windowsexports.def")
++ set_property(TARGET ${PROJECT_NAME} APPEND_STRING PROPERTY LINK_FLAGS " /DEF:${CMAKE_CURRENT_BINARY_DIR}/windowsexports.def")
+ if(USE_STATIC_MSVC)
+ if(CMAKE_BUILD_TYPE MATCHES Debug)
+ set_property(TARGET ${PROJECT_NAME} APPEND_STRING PROPERTY LINK_FLAGS " /NODEFAULTLIB:MSVCRTD")
diff --git a/ports/msix/portfile.cmake b/ports/msix/portfile.cmake index 7d8924ee6..53734796f 100644 --- a/ports/msix/portfile.cmake +++ b/ports/msix/portfile.cmake @@ -1,27 +1,27 @@ -include(vcpkg_common_functions) - vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Microsoft/msix-packaging - REF MsixCoreInstaller-preview - SHA512 b034559da8e4d5fedc79b3ef65b6f8e9bca69c92f3d85096e7ea84a0e394fa04a92f84079524437ceebd6c006a12dac9cc2e46197154257bbf7449ded031d3e8 + REF ab322965d64baf1448548cbe18139e8872d686f2 # v1.7 + SHA512 d64767c84d5933bf3d1e0e62e9dc21fa13e02b8cf31776ccbe2e7066e514798d8ff758dc2b6fd64f6eabcf3deb83ef0eaa03e1a7d407307f347a045e8a75d3dd HEAD_REF master - PATCHES install-cmake.patch + PATCHES + install-cmake.patch + fix-dependency-catch2.patch ) file(REMOVE_RECURSE ${SOURCE_PATH}/lib) file(MAKE_DIRECTORY ${SOURCE_PATH}/lib) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}/lib) +configure_file(${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt ${SOURCE_PATH}/lib/CMakeLists.txt) -if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") +if(VCPKG_TARGET_IS_WINDOWS) set(PLATFORM WIN32) set(CRYPTO_LIB crypt32) -elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") +elseif(VCPKG_TARGET_IS_LINUX) set(PLATFORM LINUX) set(CRYPTO_LIB openssl) -elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin") +elseif(VCPKG_TARGET_IS_OSX) set(PLATFORM MACOS) set(CRYPTO_LIB openssl) else() @@ -45,8 +45,5 @@ vcpkg_install_cmake() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(INSTALL - ${SOURCE_PATH}/LICENSE - DESTINATION ${CURRENT_PACKAGES_DIR}/share/msix RENAME copyright) - vcpkg_copy_pdbs() +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/nameof/CONTROL b/ports/nameof/CONTROL index b6eee1d64..296b39f1d 100644 --- a/ports/nameof/CONTROL +++ b/ports/nameof/CONTROL @@ -1,4 +1,4 @@ Source: nameof
-Version: 0.9.2
+Version: 0.9.3
Description: Nameof operator for modern C++, simply obtain the name of a variable, type, function, macro, and enum.
Homepage: https://github.com/Neargye/nameof
diff --git a/ports/nameof/portfile.cmake b/ports/nameof/portfile.cmake index d2136d49a..5372879dd 100644 --- a/ports/nameof/portfile.cmake +++ b/ports/nameof/portfile.cmake @@ -1,12 +1,10 @@ # header-only library
-include(vcpkg_common_functions)
-
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Neargye/nameof
- REF v0.9.2
- SHA512 b83167daf13e1e4f174d723a8aaeb13cb386eb7bd5a74ebf4cdc34c78f5deb537c11d8b5204df26c827de11e10bd9006854c1f898e1fcf6526ad0e41aff6987b
+ REF v0.9.3
+ SHA512 be644edfa30b2f6b0461585910bccf1ee6b1828d7fc013c01a50bed85ed9a7e3630a67a8362c8f5c8b5e3b372537d726c7c002f86b3c08d5fc73d99d10197f56
HEAD_REF master
)
@@ -20,12 +18,9 @@ vcpkg_configure_cmake( vcpkg_install_cmake()
-vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/nameof)
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/nameof TARGET_PATH share/nameof)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib)
# Handle copyright
-configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/nameof/copyright COPYONLY)
-
-# CMake integration test
-vcpkg_test_cmake(PACKAGE_NAME nameof)
+configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY)
diff --git a/ports/nano-signal-slot/CONTROL b/ports/nano-signal-slot/CONTROL index c0dd4db07..9594e575b 100644 --- a/ports/nano-signal-slot/CONTROL +++ b/ports/nano-signal-slot/CONTROL @@ -1,3 +1,4 @@ Source: nano-signal-slot -Version: 2018-08-25-1 +Version: 2.0.1 +Homepage: https://github.com/NoAvailableAlias/nano-signal-slot Description: Pure C++17 Signals and Slots diff --git a/ports/nano-signal-slot/portfile.cmake b/ports/nano-signal-slot/portfile.cmake index b920b8595..ea4f9366d 100644 --- a/ports/nano-signal-slot/portfile.cmake +++ b/ports/nano-signal-slot/portfile.cmake @@ -1,14 +1,12 @@ -include(vcpkg_common_functions) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO NoAvailableAlias/nano-signal-slot - REF 25aa2aa90d450d3c7550c535c7993a9e2ed0764a - SHA512 35dc9d0d9cce116a5bcea59ab9562c87dba9f6db999807ccbef7df1fb05513eaa71132ba2996eb43f0f241288096419892ac31a400ec6cb5013438e6b670194d + REF 7e237d75e72501109d1276d7c0c97b33e9d7caf1 + SHA512 a998e59bfded36d9fe2c88d8f3c5229db4fa3c02062f218267f070f4809f63d0bad07300d3cf1f60141ab84bb1802402ac11de06159df6af460f0be4c47f8b9a HEAD_REF master ) file(GLOB INCLUDES ${SOURCE_PATH}/*.hpp) file(INSTALL ${INCLUDES} DESTINATION ${CURRENT_PACKAGES_DIR}/include) -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/nano-signal-slot RENAME copyright)
\ No newline at end of file +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
\ No newline at end of file diff --git a/ports/nanodbc/CONTROL b/ports/nanodbc/CONTROL index 20c7c28b5..1dd7cfef2 100644 --- a/ports/nanodbc/CONTROL +++ b/ports/nanodbc/CONTROL @@ -1,4 +1,4 @@ Source: nanodbc -Version: 2.12.4-4 +Version: 2.12.4-5 Homepage: https://github.com/lexicalunit/nanodbc Description: A small C++ wrapper for the native C ODBC API. diff --git a/ports/nanodbc/portfile.cmake b/ports/nanodbc/portfile.cmake index 0b31d6f6f..0d903a060 100644 --- a/ports/nanodbc/portfile.cmake +++ b/ports/nanodbc/portfile.cmake @@ -1,5 +1,3 @@ -include(vcpkg_common_functions) - # Only static libraries are supported. # See https://github.com/nanodbc/nanodbc/issues/13 vcpkg_check_linkage(ONLY_STATIC_LIBRARY) @@ -23,7 +21,7 @@ vcpkg_configure_cmake( # /Legacy -DNANODBC_DISABLE_EXAMPLES=ON -DNANODBC_DISABLE_TESTS=ON - -DNANODBC_ENABLE_UNICODE=ON + -DNANODBC_ENABLE_UNICODE=OFF ) vcpkg_install_cmake() @@ -33,4 +31,4 @@ if(EXISTS ${CURRENT_PACKAGES_DIR}/cmake) vcpkg_fixup_cmake_targets(CONFIG_PATH cmake) endif() -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/nanodbc RENAME copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/nanoflann/CONTROL b/ports/nanoflann/CONTROL new file mode 100644 index 000000000..efdc648cf --- /dev/null +++ b/ports/nanoflann/CONTROL @@ -0,0 +1,4 @@ +Source: nanoflann +Version: 1.3.1 +Homepage: https://github.com/jlblancoc/nanoflann +Description: nanoflann is a C++11 header-only library for building KD-Trees of datasets with different topologies: R2, R3 (point clouds), SO(2) and SO(3) (2D and 3D rotation groups).
\ No newline at end of file diff --git a/ports/nanoflann/portfile.cmake b/ports/nanoflann/portfile.cmake new file mode 100644 index 000000000..20c372cd1 --- /dev/null +++ b/ports/nanoflann/portfile.cmake @@ -0,0 +1,19 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO jlblancoc/nanoflann + REF e8792e464ab05267216acde8b4ddf301714176a2 #1.3.1 + SHA512 78a04d39b418b6c6582e6d4180958bb0b492547a9662026da07a8b75d7186140bc4d6b50b6eece32db0196607cfcc901aaf4b458e9ab8a9a115b569acc2bae40 + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT} TARGET_PATH share/${PORT}) + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
\ No newline at end of file diff --git a/ports/nanovg/CMakeLists.txt b/ports/nanovg/CMakeLists.txt index 16d7afa4b..8caf73238 100644 --- a/ports/nanovg/CMakeLists.txt +++ b/ports/nanovg/CMakeLists.txt @@ -1,11 +1,13 @@ cmake_minimum_required(VERSION 3.11) project(nanovg C) +find_path(STB_INCLUDES stb_image.h include) + set(NANOVG_SOURCES src/nanovg.c) -set(NANOVG_HEADERS src/nanovg.h src/nanovg_gl.h src/nanovg_gl_utils.h src/stb_image.h) +set(NANOVG_HEADERS src/nanovg.h src/nanovg_gl.h src/nanovg_gl_utils.h) add_library(nanovg STATIC ${NANOVG_SOURCES} ${NANOVG_HEADERS}) set_target_properties(nanovg PROPERTIES PUBLIC_HEADER "${NANOVG_HEADERS}") -target_include_directories(nanovg PRIVATE 3rdparty/nanovg/src) +target_include_directories(nanovg PRIVATE ${STB_INCLUDES}) if(CMAKE_BUILD_TYPE STREQUAL "Debug") target_compile_definitions(nanovg PRIVATE DEBUG) @@ -25,7 +27,6 @@ install(EXPORT nanovgTargets NAMESPACE nanovg:: DESTINATION share/nanovg) -include(CMakePackageConfigHelpers) install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/nanovgConfig.cmake DESTINATION share/nanovg) diff --git a/ports/nanovg/CONTROL b/ports/nanovg/CONTROL index 5291576ac..57bd00f72 100644 --- a/ports/nanovg/CONTROL +++ b/ports/nanovg/CONTROL @@ -1,4 +1,5 @@ Source: nanovg -Version: 2019-8-30-1 +Version: 2019-8-30-3 Homepage: https://github.com/memononen/nanovg Description: NanoVG is small antialiased vector graphics rendering library for OpenGL. +Build-Depends: stb
\ No newline at end of file diff --git a/ports/nanovg/portfile.cmake b/ports/nanovg/portfile.cmake index 9a2cbc7ac..6a838808b 100644 --- a/ports/nanovg/portfile.cmake +++ b/ports/nanovg/portfile.cmake @@ -1,4 +1,5 @@ -include(vcpkg_common_functions) +vcpkg_fail_port_install(ON_TARGET "UWP") + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO memononen/nanovg @@ -10,12 +11,14 @@ vcpkg_from_github( file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) file(COPY ${CMAKE_CURRENT_LIST_DIR}/nanovgConfig.cmake DESTINATION ${SOURCE_PATH}) +file(GLOB STB_SRCS ${SOURCE_PATH}/src/stb_*) +if(STB_SRCS) + file(REMOVE_RECURSE ${STB_SRCS}) +endif() + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA # Disable this option if project cannot be built with Ninja - # OPTIONS -DUSE_THIS_IN_ALL_BUILDS=1 -DUSE_THIS_TOO=2 - # OPTIONS_RELEASE -DOPTIMIZE=1 - # OPTIONS_DEBUG -DDEBUGGABLE=1 + PREFER_NINJA ) vcpkg_install_cmake() diff --git a/ports/netcdf-c/CONTROL b/ports/netcdf-c/CONTROL index a918e9020..1d5b7cb90 100644 --- a/ports/netcdf-c/CONTROL +++ b/ports/netcdf-c/CONTROL @@ -1,5 +1,5 @@ Source: netcdf-c -Version: 4.7.0-5 +Version: 4.7.3 Build-Depends: hdf5, curl Homepage: https://github.com/Unidata/netcdf-c Description: a set of self-describing, machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data. diff --git a/ports/netcdf-c/fix-build-error-on-linux.patch b/ports/netcdf-c/fix-build-error-on-linux.patch deleted file mode 100644 index bdcd7c97a..000000000 --- a/ports/netcdf-c/fix-build-error-on-linux.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff --git a/include/ncconfigure.h b/include/ncconfigure.h -index 2c5b2c8..d397790 100644 ---- a/include/ncconfigure.h -+++ b/include/ncconfigure.h -@@ -25,20 +25,20 @@ missing functions should be - defined and missing types defined. - */ - --#ifndef HAVE_STRDUP -+#ifndef strdup - extern char* strdup(const char*); - #endif - - /* handle null arguments */ - #ifndef nulldup --#ifdef HAVE_STRDUP -+#ifdef strdup - #define nulldup(s) ((s)==NULL?NULL:strdup(s)) - #else - char *nulldup(const char* s); - #endif - #endif - --#ifdef _MSC_VER -+#ifdef _WIN32 - #ifndef HAVE_SSIZE_T - #include <basetsd.h> - typedef SSIZE_T ssize_t; diff --git a/ports/netcdf-c/hdf5.patch b/ports/netcdf-c/hdf5.patch deleted file mode 100644 index 71f4921ed..000000000 --- a/ports/netcdf-c/hdf5.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index a3874c13..36f15beb 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -599,11 +599,10 @@ IF(USE_HDF5 OR ENABLE_NETCDF_4) - IF(NC_FIND_SHARED_LIBS) - SET(NC_HDF5_LINK_TYPE "shared") - SET(NC_HDF5_LINK_TYPE_UPPER "SHARED") -- ADD_DEFINITIONS(-DH5_BUILT_AS_DYNAMIC_LIB) - ELSE(NC_FIND_SHARED_LIBS) - SET(NC_HDF5_LINK_TYPE "static") - SET(NC_HDF5_LINK_TYPE_UPPER "STATIC") -- ADD_DEFINITIONS(-DH5_BUILT_AS_STATIC_LIB) -+ SET(HDF5_USE_STATIC_LIBRARIES ON) - ENDIF(NC_FIND_SHARED_LIBS) - - #####
-@@ -614,8 +615,7 @@ IF(USE_HDF5 OR ENABLE_NETCDF_4) - # had worked.
- #####
- IF(MSVC)
-- SET(SEARCH_PACKAGE_NAME ${HDF5_PACKAGE_NAME})
-- FIND_PACKAGE(HDF5 NAMES ${SEARCH_PACKAGE_NAME} COMPONENTS C HL NO_MODULES REQUIRED ${NC_HDF5_LINK_TYPE}) -+ FIND_PACKAGE(HDF5 COMPONENTS C HL REQUIRED) - ELSE(MSVC)
- FIND_PACKAGE(HDF5 COMPONENTS C HL REQUIRED)
- ENDIF(MSVC)
diff --git a/ports/netcdf-c/hdf5_2.patch b/ports/netcdf-c/hdf5_2.patch deleted file mode 100644 index a3a3fb751..000000000 --- a/ports/netcdf-c/hdf5_2.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/liblib/CMakeLists.txt b/liblib/CMakeLists.txt -index ea9b0294..3c7f427d 100644 ---- a/liblib/CMakeLists.txt -+++ b/liblib/CMakeLists.txt -@@ -83,7 +83,7 @@ IF(USE_HDF5 OR USE_NETCDF4) - # HDF5_HL_LIBRARY. - SET(TLL_LIBS ${HDF5_HL_LIBRARIES} ${HDF5_C_LIBRARIES} ${TLL_LIBS} ${SZIP_LIBRARY}) - ELSE() # Windows CMake defines HDF5_LIBRARIES. -- SET(TLL_LIBS ${HDF5_LIBRARIES} ${TLL_LIBS} ${SZIP_LIBRARY}) -+ SET(TLL_LIBS ${HDF5_HL_LIBRARIES} ${HDF5_C_LIBRARIES} ${TLL_LIBS} ${SZIP_LIBRARY}) - ENDIF() - ENDIF() - diff --git a/ports/netcdf-c/hdf5_3.patch b/ports/netcdf-c/hdf5_3.patch deleted file mode 100644 index 502a8ea99..000000000 --- a/ports/netcdf-c/hdf5_3.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/libhdf5/CMakeLists.txt b/libhdf5/CMakeLists.txt
-index f3c7bbc..34fc2ab 100644
---- a/libhdf5/CMakeLists.txt
-+++ b/libhdf5/CMakeLists.txt
-@@ -20,3 +20,9 @@ add_library(netcdfhdf5 OBJECT ${libnchdf5_SOURCES})
-
- # Remember to package this file for CMake builds.
- ADD_EXTRA_DIST(${libnchdf5_SOURCES} CMakeLists.txt)
-+
-+if(HDF5_BUILD_SHARED_LIBS)
-+ target_link_libraries(netcdfhdf5 PRIVATE hdf5::hdf5-shared hdf5::hdf5_hl-shared)
-+else()
-+ target_link_libraries(netcdfhdf5 PRIVATE hdf5::hdf5-static hdf5::hdf5_hl-static)
-+endif()
diff --git a/ports/netcdf-c/portfile.cmake b/ports/netcdf-c/portfile.cmake index f3a80ee48..61dd1d885 100644 --- a/ports/netcdf-c/portfile.cmake +++ b/ports/netcdf-c/portfile.cmake @@ -1,24 +1,19 @@ -include(vcpkg_common_functions) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Unidata/netcdf-c - REF v4.7.0 - SHA512 6602799780105c60ac8c873ed4055c1512dc8bebf98de01e1cce572d113ffb3bf3ca522475b93255c415340f672c55dc6785e0bdbcc39055314683da1d02141a + REF b7cd387bee8c661141fabb490f4969587c008c55 # v4.7.3 + SHA512 a55391620fac61e4975fe62907ca21049911afce6190fc12d183d24133a32aae8cd223b97a3fe57fc82d8bdca1a7db451046e3be3c379051624d48b1f56c0332 HEAD_REF master PATCHES no-install-deps.patch config-pkg-location.patch - transitive-hdf5.patch - hdf5.patch - hdf5_2.patch - fix-build-error-on-linux.patch - hdf5_3.patch + use_targets.patch ) #Remove outdated find modules file(REMOVE "${SOURCE_PATH}/cmake/modules/FindSZIP.cmake") file(REMOVE "${SOURCE_PATH}/cmake/modules/FindZLIB.cmake") +file(REMOVE "${SOURCE_PATH}/cmake/modules/windows/FindHDF5.cmake") if(VCPKG_CRT_LINKAGE STREQUAL "static") set(NC_USE_STATIC_CRT ON) @@ -28,7 +23,7 @@ endif() vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} - DISABLE_PARALLEL_CONFIGURE + DISABLE_PARALLEL_CONFIGURE # netcdf-c configures in the source! PREFER_NINJA OPTIONS -DBUILD_UTILITIES=OFF diff --git a/ports/netcdf-c/transitive-hdf5.patch b/ports/netcdf-c/transitive-hdf5.patch deleted file mode 100644 index 89773e6d4..000000000 --- a/ports/netcdf-c/transitive-hdf5.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/netCDFConfig.cmake.in b/netCDFConfig.cmake.in -index 6f4ccf8..14a3743 100644 ---- a/netCDFConfig.cmake.in -+++ b/netCDFConfig.cmake.in -@@ -11,6 +11,8 @@ set_and_check(netCDF_LIB_DIR "@PACKAGE_CMAKE_INSTALL_LIBDIR@") - - set(netCDF_LIBRARIES netcdf) - -+find_package(HDF5 COMPONENTS C HL CONFIG REQUIRED) -+ - # include target information - include("${CMAKE_CURRENT_LIST_DIR}/netCDFTargets.cmake") - diff --git a/ports/netcdf-c/use_targets.patch b/ports/netcdf-c/use_targets.patch new file mode 100644 index 000000000..99e50dc9d --- /dev/null +++ b/ports/netcdf-c/use_targets.patch @@ -0,0 +1,168 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1ce05e0fe..7671d7b1e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -431,7 +431,6 @@ IF(NC_EXTRA_DEPS) + SET(EXTRA_DEPS ${EXTRA_DEPS} "${${_LIB}_DEP}")
+ ENDFOREACH()
+ MESSAGE("Extra deps: ${EXTRA_DEPS}")
+- LIST(REMOVE_DUPLICATES EXTRA_DEPS)
+ SET(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${EXTRA_DEPS})
+ ENDIF()
+ ###
+@@ -599,15 +599,6 @@ IF(USE_HDF5 OR ENABLE_NETCDF_4) + # we will use a static library. This can be toggled
+ # by explicitly modifying NC_FIND_SHARED_LIBS.
+ ##
+- IF(NC_FIND_SHARED_LIBS)
+- SET(NC_HDF5_LINK_TYPE "shared")
+- SET(NC_HDF5_LINK_TYPE_UPPER "SHARED")
+- ADD_DEFINITIONS(-DH5_BUILT_AS_DYNAMIC_LIB)
+- ELSE(NC_FIND_SHARED_LIBS)
+- SET(NC_HDF5_LINK_TYPE "static")
+- SET(NC_HDF5_LINK_TYPE_UPPER "STATIC")
+- ADD_DEFINITIONS(-DH5_BUILT_AS_STATIC_LIB)
+- ENDIF(NC_FIND_SHARED_LIBS)
+
+ #####
+ # First, find the C and HL libraries.
+@@ -620,9 +620,9 @@ IF(USE_HDF5 OR ENABLE_NETCDF_4) + SET(SEARCH_PACKAGE_NAME ${HDF5_PACKAGE_NAME})
+ FIND_PACKAGE(HDF5 NAMES ${SEARCH_PACKAGE_NAME} COMPONENTS C HL CONFIG REQUIRED ${NC_HDF5_LINK_TYPE})
+ ELSE(MSVC)
+- FIND_PACKAGE(HDF5 COMPONENTS C HL REQUIRED)
++ FIND_PACKAGE(HDF5 COMPONENTS C HL CONFIG REQUIRED)
+ ENDIF(MSVC)
+-
++
+ ##
+ # Next, check the HDF5 version. This will inform which
+ # HDF5 variables we need to munge.
+@@ -695,6 +695,19 @@ IF(USE_HDF5 OR ENABLE_NETCDF_4) + ENDIF()
+ ENDIF(HDF5_C_LIBRARY AND HDF5_HL_LIBRARY AND HDF5_INCLUDE_DIR)
+
++ if(TARGET hdf5::hdf5-shared)
++ set(HDF5_C_LIBRARY hdf5::hdf5-shared)
++ set(HDF5_C_LIBRARY_hdf5 hdf5::hdf5-shared)
++ set(HDF5_HL_LIBRARIES hdf5::hdf5_hl-shared) ++ ADD_DEFINITIONS(-DH5_BUILT_AS_DYNAMIC_LIB)
++ else()
++ set(HDF5_C_LIBRARY hdf5::hdf5-static)
++ set(HDF5_C_LIBRARY_hdf5 hdf5::hdf5-static)
++ set(HDF5_HL_LIBRARIES hdf5::hdf5_hl-static) ++ ADD_DEFINITIONS(-DH5_BUILT_AS_STATIC_LIB)
++ endif()
++ list(APPEND CMAKE_REQUIRED_LIBRARIES ${HDF5_C_LIBRARY})
++
+ FIND_PACKAGE(Threads)
+
+ # There is a missing case in the above code so default it
+@@ -721,16 +733,11 @@ IF(USE_HDF5 OR ENABLE_NETCDF_4) + CHECK_LIBRARY_EXISTS(${HDF5_C_LIBRARY_hdf5} H5Pset_all_coll_metadata_ops "" HDF5_HAS_COLL_METADATA_OPS)
+
+ #Check to see if H5Z_SZIP exists in HDF5_Libraries. If so, we must use szip.
+- CHECK_LIBRARY_EXISTS(${HDF5_C_LIBRARY_hdf5} H5Z_SZIP "" USE_SZIP)
++ set(USE_SZIP ${HDF5_ENABLE_SZIP_SUPPORT})
+ IF(USE_SZIP)
+- FIND_LIBRARY(SZIP NAMES szip sz)
+- IF(SZIP)
++ #FIND_LIBRARY(SZIP NAMES szip sz)
++ #IF(SZIP)
+ SET(HAVE_H5Z_SZIP 1)
+- SET(SZIP_LIBRARY ${SZIP})
+- SET(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${SZIP})
+- ELSE()
+- MESSAGE(FATAL_ERROR "HDF5 Requires SZIP, but cannot find libszip or libsz.")
+- ENDIF()
+ ENDIF()
+
+ CHECK_LIBRARY_EXISTS(${HDF5_C_LIBRARY_hdf5} H5Pset_libver_bounds "" HAVE_H5PSET_LIBVER_BOUNDS)
+@@ -764,8 +776,7 @@ IF(USE_HDF5 OR ENABLE_NETCDF_4) + ENDIF(USE_HDF5 OR ENABLE_NETCDF_4)
+
+ # See if we have libcurl
+-FIND_PACKAGE(CURL)
+-ADD_DEFINITIONS(-DCURL_STATICLIB=1)
++FIND_PACKAGE(CURL CONFIG)
+ INCLUDE_DIRECTORIES(${CURL_INCLUDE_DIRS})
+
+ # Check to see if CURLOPT_USERNAME is defined.
+@@ -1890,7 +1902,6 @@ ENDIF() +
+ STRING(REPLACE ";" " " LINKFLAGS "${LINKFLAGS}")
+
+-LIST(REMOVE_DUPLICATES NC_LIBS)
+ LIST(REMOVE_DUPLICATES LINKFLAGS)
+
+ SET(LIBS ${NC_LIBS})
+diff --git a/liblib/CMakeLists.txt b/liblib/CMakeLists.txt +index ea9b02949..ec7851f37 100644 +--- a/liblib/CMakeLists.txt ++++ b/liblib/CMakeLists.txt +@@ -58,7 +58,7 @@ ENDIF() + + SET(TLL_LIBS "") + +-SET(TLL_LIBS ${TLL_LIBS} ${HAVE_LIBM} ${ZLIB_LIBRARY}) ++SET(TLL_LIBS ${TLL_LIBS} ${HAVE_LIBM} ZLIB::ZLIB) + + # Add extra dependencies specified via NC_EXTRA_DEPS + SET(TLL_LIBS ${TLL_LIBS} ${EXTRA_DEPS}) +@@ -68,27 +68,15 @@ IF(HAVE_LIBDL) + ENDIF() + + IF(USE_HDF5 OR USE_NETCDF4) +- IF(NOT MSVC) +- # Some version of cmake define HDF5_hdf5_LIBRARY instead of +- # HDF5_LIBRARY. Same with HDF5_HL_LIBRARIES +- IF(HDF5_hdf5_LIBRARY AND NOT HDF5_C_LIBRARIES) +- SET(HDF5_C_LIBRARIES ${HDF5_hdf5_LIBRARY}) +- ENDIF() +- IF(HDF5_hdf5_hl_LIBRARY AND NOT HDF5_HL_LIBRARIES) +- SET(HDF5_HL_LIBRARIES ${HDF5_hdf5_hl_LIBRARY}) +- ENDIF() +- # The order of the libraries is important here for static +- # builds: +- # Make sure that HDF5_C_LIBRARY appears *after* +- # HDF5_HL_LIBRARY. +- SET(TLL_LIBS ${HDF5_HL_LIBRARIES} ${HDF5_C_LIBRARIES} ${TLL_LIBS} ${SZIP_LIBRARY}) +- ELSE() # Windows CMake defines HDF5_LIBRARIES. +- SET(TLL_LIBS ${HDF5_LIBRARIES} ${TLL_LIBS} ${SZIP_LIBRARY}) +- ENDIF() ++ if(TARGET hdf5::hdf5-shared) ++ SET(TLL_LIBS ${TLL_LIBS} hdf5::hdf5-shared hdf5::hdf5_hl-shared) ++ else() ++ SET(TLL_LIBS ${TLL_LIBS} hdf5::hdf5-static hdf5::hdf5_hl-static) ++ endif() + ENDIF() + + IF(USE_DAP) +- SET(TLL_LIBS ${TLL_LIBS} ${CURL_LIBRARY}) ++ SET(TLL_LIBS ${TLL_LIBS} CURL::libcurl) + ENDIF() + + IF(USE_HDF4) +@@ -100,7 +88,6 @@ IF(ENABLE_PNETCDF AND PNETCDF) + ENDIF() + + IF(TLL_LIBS) +- LIST(REMOVE_DUPLICATES TLL_LIBS) + ENDIF() + + TARGET_LINK_LIBRARIES(netcdf ${TLL_LIBS}) +diff --git a/netCDFConfig.cmake.in b/netCDFConfig.cmake.in +index c89cf3e67..b81f35a1b 100644 +--- a/netCDFConfig.cmake.in ++++ b/netCDFConfig.cmake.in +@@ -12,6 +12,10 @@ set_and_check(netCDF_LIB_DIR "@PACKAGE_CMAKE_INSTALL_LIBDIR@") + set(netCDF_LIBRARIES netcdf) + + # include target information ++include(CMakeFindDependencyMacro) ++find_dependency(ZLIB) ++find_dependency(HDF5 CONFIG) ++find_dependency(CURL CONFIG) + include("${CMAKE_CURRENT_LIST_DIR}/netCDFTargets.cmake") + + # Compiling Options diff --git a/ports/netcdf-cxx4/CONTROL b/ports/netcdf-cxx4/CONTROL index c207f0007..baf0147c6 100644 --- a/ports/netcdf-cxx4/CONTROL +++ b/ports/netcdf-cxx4/CONTROL @@ -1,5 +1,5 @@ Source: netcdf-cxx4 -Version: 4.3.0-5 -Build-Depends: netcdf-c +Version: 4.3.1 +Build-Depends: hdf5, netcdf-c Homepage: https://github.com/Unidata/netcdf-cxx4 Description: a set of machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data. diff --git a/ports/netcdf-cxx4/fix-dependecy-hdf5.patch b/ports/netcdf-cxx4/fix-dependecy-hdf5.patch new file mode 100644 index 000000000..5d289ec2e --- /dev/null +++ b/ports/netcdf-cxx4/fix-dependecy-hdf5.patch @@ -0,0 +1,32 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 60c699d..6bd7822 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -402,7 +402,7 @@ ELSE(MSVC) + FIND_PACKAGE(HDF5 COMPONENTS C HL REQUIRED) + ENDIF(MSVC) + +-CHECK_LIBRARY_EXISTS(${HDF5_C_LIBRARY_hdf5} H5free_memory "" HAVE_H5FREE_MEMORY) ++set(HAVE_H5FREE_MEMORY ON) + IF(NOT HAVE_H5FREE_MEMORY) + MESSAGE(STATUS "Plugin support requires libhdf5 with H5Free support. Your libhdf5 install does not provide H5Free. Please install a newer version of libhdf5 if you require plugin compression support.") + SET(NC_HAS_DEF_VAR_FILTER "") +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 6a48709..79de128 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -399,7 +399,13 @@ IF(MSVC) + SET(SEARCH_PACKAGE_NAME ${HDF5_PACKAGE_NAME}) + FIND_PACKAGE(HDF5 NAMES ${SEARCH_PACKAGE_NAME} COMPONENTS C HL NO_MODULES REQUIRED ${NC_HDF5_LINK_TYPE}) + ELSE(MSVC) +- FIND_PACKAGE(HDF5 COMPONENTS C HL REQUIRED) ++ FIND_PACKAGE(hdf5 CONFIG REQUIRED) ++ set(HDF5_FOUND ${hdf5_FOUND}) ++ if (BUILD_SHARED_LIBS) ++ set(HDF5_C_LIBRARY_hdf5 hdf5::hdf5-shared hdf5::hdf5_hl-shared) ++ else() ++ set(HDF5_C_LIBRARY_hdf5 hdf5::hdf5-static hdf5::hdf5_hl-static) ++ endif() + ENDIF(MSVC) + + set(HAVE_H5FREE_MEMORY ON) diff --git a/ports/netcdf-cxx4/install-destination.patch b/ports/netcdf-cxx4/install-destination.patch deleted file mode 100644 index 7ff4e08c7..000000000 --- a/ports/netcdf-cxx4/install-destination.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 6673282..d6c7a78 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -522,10 +522,14 @@ write_basic_package_version_file( - COMPATIBILITY SameMajorVersion - ) - -+if(NOT DEFINED CMAKE_INSTALL_CMAKECONFIGDIR) -+ set(CMAKE_INSTALL_CMAKECONFIGDIR ${CMAKE_INSTALL_LIBDIR}/cmake/netCDFCxx) -+endif() -+ - install( - FILES - "${CMAKE_CURRENT_BINARY_DIR}/netCDF/netCDFCxxConfigVersion.cmake" -- DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/netCDFCxx -+ DESTINATION ${CMAKE_INSTALL_CMAKECONFIGDIR} - COMPONENT headers - ) - -diff --git a/cxx4/CMakeLists.txt b/cxx4/CMakeLists.txt -index 431eb45..0423594 100644 ---- a/cxx4/CMakeLists.txt -+++ b/cxx4/CMakeLists.txt -@@ -43,5 +43,7 @@ INSTALL( - ) - INSTALL( - TARGETS netcdf-cxx4 -- DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - ) diff --git a/ports/netcdf-cxx4/portfile.cmake b/ports/netcdf-cxx4/portfile.cmake index 0b361cdf1..d90ea7131 100644 --- a/ports/netcdf-cxx4/portfile.cmake +++ b/ports/netcdf-cxx4/portfile.cmake @@ -1,5 +1,3 @@ -include(vcpkg_common_functions) - vcpkg_check_linkage(ONLY_STATIC_LIBRARY) set(HDF5_USE_STATIC_LIBRARIES ON) @@ -7,11 +5,10 @@ set(HDF5_USE_STATIC_LIBRARIES ON) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Unidata/netcdf-cxx4 - REF v4.3.0 - SHA512 8e77333c979513721209e6b3fde31c298e18a45d7ea08123056e8120469eb8c4024d71289fab2b9182ee19ee7b6ad22bd133525bef048a497ede4aa2e9017465 + REF f8882188267488ef801691e69ad072e3eb217ad8 # v4.3.1 + SHA512 9816acf221d196e21af19d4c3d85484934916e7c018e9b2c96aab9f5660b2f08c5db9cd8254ba3fa5f0aa5f5c5ad7bd3a3aaba559e5e640c5349d44e07a20ed3 HEAD_REF master - PATCHES - install-destination.patch + PATCHES fix-dependecy-hdf5.patch ) vcpkg_configure_cmake( @@ -26,14 +23,15 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/netCDFCxx TARGET_PATH share/netCDFCxx) +vcpkg_copy_pdbs() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) +endif() + # Handle copyright -file(COPY ${SOURCE_PATH}/COPYRIGHT DESTINATION ${CURRENT_PACKAGES_DIR}/share/netcdf-cxx4) -file( - RENAME - ${CURRENT_PACKAGES_DIR}/share/netcdf-cxx4/COPYRIGHT - ${CURRENT_PACKAGES_DIR}/share/netcdf-cxx4/copyright -) +file(INSTALL ${SOURCE_PATH}/COPYRIGHT DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/nethost/0001-nethost-cmakelists.patch b/ports/nethost/0001-nethost-cmakelists.patch new file mode 100644 index 000000000..93d49b95e --- /dev/null +++ b/ports/nethost/0001-nethost-cmakelists.patch @@ -0,0 +1,58 @@ +diff --git a/src/installer/corehost/cli/common.cmake b/src/installer/corehost/cli/common.cmake
+index 63e7306..639c90e 100644
+--- a/src/installer/corehost/cli/common.cmake
++++ b/src/installer/corehost/cli/common.cmake
+@@ -5,9 +5,6 @@
+ project(${DOTNET_PROJECT_NAME})
+
+ if(WIN32)
+- add_compile_options($<$<CONFIG:RelWithDebInfo>:/MT>)
+- add_compile_options($<$<CONFIG:Release>:/MT>)
+- add_compile_options($<$<CONFIG:Debug>:/MTd>)
+ else()
+ add_compile_options(-fvisibility=hidden)
+ endif()
+diff --git a/src/installer/corehost/cli/nethost/CMakeLists.txt b/src/installer/corehost/cli/nethost/CMakeLists.txt
+index 7473958..49c664f 100644
+--- a/src/installer/corehost/cli/nethost/CMakeLists.txt
++++ b/src/installer/corehost/cli/nethost/CMakeLists.txt
+@@ -2,12 +2,14 @@
+ # The .NET Foundation licenses this file to you under the MIT license.
+ # See the LICENSE file in the project root for more information.
+
+-cmake_minimum_required (VERSION 2.6)
++cmake_minimum_required (VERSION 3.14)
+ project(nethost)
+
+ set(DOTNET_PROJECT_NAME "nethost")
+
+ # Include directories
++include(../../../settings.cmake)
++include(../../../functions.cmake)
+ include_directories(../fxr)
+
+ # CMake does not recommend using globbing since it messes with the freshness checks
+@@ -22,13 +24,18 @@ if(WIN32)
+ Exports.def)
+ endif()
+
++if(BUILD_SHARED_LIBS)
+ include(../lib.cmake)
++else()
+ include(../lib_static.cmake)
++endif()
+
+ add_definitions(-DFEATURE_LIBHOST=1)
+ add_definitions(-DNETHOST_EXPORT)
+
+-install(FILES nethost.h DESTINATION corehost)
+-install(TARGETS nethost DESTINATION corehost)
+-install(TARGETS libnethost DESTINATION corehost)
+-install_symbols(nethost corehost)
+\ No newline at end of file
++install(FILES nethost.h ../coreclr_delegates.h ../hostfxr.h DESTINATION include)
++if(BUILD_SHARED_LIBS)
++install(TARGETS nethost)
++else()
++install(TARGETS libnethost)
++endif()
diff --git a/ports/nethost/0002-settings-cmake.patch b/ports/nethost/0002-settings-cmake.patch new file mode 100644 index 000000000..7143b942a --- /dev/null +++ b/ports/nethost/0002-settings-cmake.patch @@ -0,0 +1,13 @@ +diff --git a/src/installer/settings.cmake b/src/installer/settings.cmake
+index 29d57b44..6ea63902 100644
+--- a/src/installer/settings.cmake
++++ b/src/installer/settings.cmake
+@@ -114,7 +114,7 @@ endfunction()
+
+ function(install_symbols targetName destination_path)
+ if(WIN32)
+- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/${targetName}.pdb DESTINATION ${destination_path})
++ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${targetName}.pdb DESTINATION ${destination_path})
+ else()
+ strip_symbols(${targetName} strip_destination_file)
+ install(FILES ${strip_destination_file} DESTINATION ${destination_path})
diff --git a/ports/nethost/CONTROL b/ports/nethost/CONTROL new file mode 100644 index 000000000..f1e97e1d0 --- /dev/null +++ b/ports/nethost/CONTROL @@ -0,0 +1,4 @@ +Source: nethost
+Version: 2019-12-21
+Description: Provides a set of APIs that can be used to host .NET Core (dotnet)
+Homepage: https://github.com/dotnet/runtime/tree/master/src/installer/corehost/cli/nethost
diff --git a/ports/nethost/portfile.cmake b/ports/nethost/portfile.cmake new file mode 100644 index 000000000..3809d9872 --- /dev/null +++ b/ports/nethost/portfile.cmake @@ -0,0 +1,68 @@ +vcpkg_fail_port_install(ON_TARGET "uwp") + +set(COMMIT_HASH 188427d7e18102c45fc6d0e20c135e226f215992) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO dotnet/runtime + REF ${COMMIT_HASH} + SHA512 5a93c66c87e2113f733702d938efd39456c99fb74b383097b8d877df21536fcbcba901606aa70db6c8f1a16421ea8f06822c5b0ab1d882631b6daecbed8d03cc + HEAD_REF master + PATCHES + 0001-nethost-cmakelists.patch + 0002-settings-cmake.patch +) + +set(PRODUCT_VERSION "5.0.0") + +if(VCPKG_TARGET_IS_WINDOWS) + set(RID_PLAT "win") +elseif(VCPKG_TARGET_IS_OSX) + set(RID_PLAT "osx") +elseif(VCPKG_TARGET_IS_LINUX) + set(RID_PLAT "linux") +else() + message(FATAL_ERROR "Unsupported platform") +endif() + +if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + set(RID_ARCH "x86") + set(ARCH_NAME "I386") +elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + set(RID_ARCH "x64") + set(ARCH_NAME "AMD64") +elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") + set(RID_ARCH "arm") + set(ARCH_NAME "ARM") +elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + set(RID_ARCH "arm64") + set(ARCH_NAME "ARM64") +else() + message(FATAL_ERROR "Unsupported architecture") +endif() + +set(BASE_RID "${RID_PLAT}-${RID_ARCH}") + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH}/src/installer/corehost/cli/nethost + PREFER_NINJA + OPTIONS + "-DSKIP_VERSIONING=1" + "-DCLI_CMAKE_HOST_POLICY_VER:STRING=${PRODUCT_VERSION}" + "-DCLI_CMAKE_HOST_FXR_VER:STRING=${PRODUCT_VERSION}" + "-DCLI_CMAKE_HOST_VER:STRING=${PRODUCT_VERSION}" + "-DCLI_CMAKE_COMMON_HOST_VER:STRING=${PRODUCT_VERSION}" + "-DCLI_CMAKE_PKG_RID:STRING=${BASE_RID}" + "-DCLI_CMAKE_COMMIT_HASH:STRING=${COMMIT_HASH}" + "-DCLI_CMAKE_PLATFORM_ARCH_${ARCH_NAME}=1" + "-DCMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION=10.0" +) + +vcpkg_install_cmake() + +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +file(INSTALL ${SOURCE_PATH}/LICENSE.TXT DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) diff --git a/ports/nethost/usage b/ports/nethost/usage new file mode 100644 index 000000000..6e6d860d1 --- /dev/null +++ b/ports/nethost/usage @@ -0,0 +1,6 @@ +The package nethost can be used via CMake:
+
+ find_path(NETHOST_INCLUDE_DIRS nethost.h)
+ find_library(NETHOST_LIBRARY NAMES libnethost nethost)
+ target_include_directories(main PRIVATE ${NETHOST_INCLUDE_DIRS})
+ target_link_libraries(main PRIVATE ${NETHOST_LIBRARY})
diff --git a/ports/nlohmann-json/CONTROL b/ports/nlohmann-json/CONTROL index 168535699..5ad907cb6 100644 --- a/ports/nlohmann-json/CONTROL +++ b/ports/nlohmann-json/CONTROL @@ -1,4 +1,4 @@ Source: nlohmann-json -Version: 3.7.0 +Version: 3.7.3 Homepage: https://github.com/nlohmann/json Description: JSON for Modern C++ diff --git a/ports/nlohmann-json/portfile.cmake b/ports/nlohmann-json/portfile.cmake index 5d105d4f4..88c333507 100644 --- a/ports/nlohmann-json/portfile.cmake +++ b/ports/nlohmann-json/portfile.cmake @@ -1,6 +1,4 @@ -include(vcpkg_common_functions) - -set(SOURCE_VERSION 3.7.0) +set(SOURCE_VERSION 3.7.3) set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/nlohmann-json-v${SOURCE_VERSION}) file(MAKE_DIRECTORY ${SOURCE_PATH}) @@ -15,11 +13,11 @@ function(download_src SUBPATH SHA512) file(COPY ${FILE} DESTINATION ${SUBPATH_DIR}) endfunction() -download_src(CMakeLists.txt f397536b06a2adaf717067f6bcbc4b23836d28bb7471143848259ef90f84bb5aadbd21bb387f80603fca791c9806b846e110e97a10de5b276f03a7fe6a97f2eb) +download_src(CMakeLists.txt 11ba0b69282e636e496ab854334addd9a13537bddf644d551d67e71a9f5ca2f1fda640c175bed77c279348d72a42dbe00358f16d90defaf33e4a740c850f7d7d) download_src(LICENSE.MIT 44e6d9510dd66195211aa8ce3e6eef55be524e82c5864f3bfb85f2ac1215529c8ca370c8746de61ad5739e5af1633a5985085dacd1ffe220cd21d06433936801) download_src(nlohmann_json.natvis 9bce6758db0e54777394a4e718e60a281952b15f0c6dc6a6ad4a6d023c958b5515b2d39b7d4c66c03f0d3fdfdc1d6c23afb8b8419f1345c9d44d7b9a9ee2582b) download_src(cmake/config.cmake.in 7caab6166baa891f77f5b632ac4a920e548610ec41777b885ec51fe68d3665ffe91984dd2881caf22298b5392dfbd84b526fda252467bb66de9eb90e6e6ade5a) -download_src(single_include/nlohmann/json.hpp 1a12ea9e54a19e398a4d7aa3be1759ce3666a1b479bd553fe11bc63897a8055f11f42871eee6c801756dde038d860c48043cc50df753835c9a9691a1876a159e) +download_src(single_include/nlohmann/json.hpp 4ecbbdd2c5e88c897096670cfdaa7ec00483ac9ed6e8ac33be23b05f4da70f213e10c4b381f5e8799619a24a58f417f04dd442d1d59a2e0bfca3385007e620d5) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} diff --git a/ports/nmap/CONTROL b/ports/nmap/CONTROL index 3ce86d4a9..1ed9ae5da 100644 --- a/ports/nmap/CONTROL +++ b/ports/nmap/CONTROL @@ -1,4 +1,4 @@ Source: nmap -Version: 7.70-1 +Version: 7.70-3 Build-Depends: winpcap (windows), libpcap (!windows), lua, openssl, python2 (windows), libssh2, zlib, pcre Description: A library for scanning network ports. diff --git a/ports/nmap/fix-msvc-prj.patch b/ports/nmap/fix-msvc-prj.patch index cfb9d52ff..25893f137 100644 --- a/ports/nmap/fix-msvc-prj.patch +++ b/ports/nmap/fix-msvc-prj.patch @@ -807,7 +807,7 @@ index a3abbc6..d5e1977 100644 </ClCompile> <Link> - <AdditionalDependencies>liblua.lib;nsock.lib;libpcre.lib;nbase.lib;libdnet-stripped.lib;libssh2.lib;zlibstat.lib;liblinear.lib;ws2_32.lib;IPHlpAPI.Lib;wpcap.lib;packet.lib;advapi32.lib;libeay32.lib;ssleay32.lib;shell32.lib;libnetutil.lib</AdditionalDependencies> -+ <AdditionalDependencies>liblua.lib;nsock.lib;pcred.lib;nbase.lib;libdnet-stripped.lib;libssh2.lib;zlibd.lib;liblinear.lib;ws2_32.lib;IPHlpAPI.Lib;wpcap.lib;packet.lib;advapi32.lib;libeay32.lib;ssleay32.lib;shell32.lib;libnetutil.lib</AdditionalDependencies> ++ <AdditionalDependencies>liblua.lib;nsock.lib;pcred.lib;nbase.lib;libdnet-stripped.lib;libssh2.lib;zlibd.lib;liblinear.lib;ws2_32.lib;IPHlpAPI.Lib;wpcap.lib;packet.lib;advapi32.lib;libssl.lib;libcrypto.lib;shell32.lib;libnetutil.lib</AdditionalDependencies> <OutputFile>.\Debug\nmap.exe</OutputFile> <SuppressStartupBanner>true</SuppressStartupBanner> <AdditionalLibraryDirectories>..\libssh2\win32\Release_dll;lib;..\liblua;..\libpcre;..\nsock;..\nbase;..\libdnet-stripped;../libnetutil;..\..\nmap-mswin32-aux\OpenSSL\lib;..\liblinear;..\libz\contrib\vstudio\vc11\x86\ZlibStatRelease;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> @@ -853,7 +853,7 @@ index a3abbc6..d5e1977 100644 + <ShowIncludes>false</ShowIncludes> + </ClCompile> + <Link> -+ <AdditionalDependencies>liblua.lib;nsock.lib;pcred.lib;nbase.lib;libdnet-stripped.lib;libssh2.lib;zlibd.lib;liblinear.lib;ws2_32.lib;IPHlpAPI.Lib;wpcap.lib;packet.lib;advapi32.lib;libeay32.lib;ssleay32.lib;shell32.lib;libnetutil.lib</AdditionalDependencies> ++ <AdditionalDependencies>liblua.lib;nsock.lib;pcred.lib;nbase.lib;libdnet-stripped.lib;libssh2.lib;zlibd.lib;liblinear.lib;ws2_32.lib;IPHlpAPI.Lib;wpcap.lib;packet.lib;advapi32.lib;libssl.lib;libcrypto.lib;shell32.lib;libnetutil.lib</AdditionalDependencies> + <OutputFile>.\Debug\nmap.exe</OutputFile> + <SuppressStartupBanner>true</SuppressStartupBanner> + <AdditionalLibraryDirectories>..\libssh2\win32\Release_dll;lib;..\liblua\x64\Debug;..\libpcre\x64\Debug;..\nsock\x64\Debug;..\nbase\x64\Debug;..\libdnet-stripped\x64\Debug;..\libnetutil\x64\Debug;..\..\nmap-mswin32-aux\OpenSSL\lib;..\liblinear\x64\Debug;..\libz\contrib\vstudio\vc11\x86\ZlibStatRelease;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> @@ -876,7 +876,7 @@ index a3abbc6..d5e1977 100644 </ClCompile> <Link> - <AdditionalDependencies>liblua.lib;nsock.lib;libpcre.lib;nbase.lib;libdnet-stripped.lib;libssh2.lib;zlibstat.lib;liblinear.lib;ws2_32.lib;IPHlpAPI.Lib;wpcap.lib;packet.lib;advapi32.lib;libeay32.lib;ssleay32.lib;shell32.lib;libnetutil.lib</AdditionalDependencies> -+ <AdditionalDependencies>liblua.lib;nsock.lib;pcre.lib;nbase.lib;libdnet-stripped.lib;libssh2.lib;zlib.lib;liblinear.lib;ws2_32.lib;IPHlpAPI.Lib;wpcap.lib;packet.lib;advapi32.lib;libeay32.lib;ssleay32.lib;shell32.lib;libnetutil.lib</AdditionalDependencies> ++ <AdditionalDependencies>liblua.lib;nsock.lib;pcre.lib;nbase.lib;libdnet-stripped.lib;libssh2.lib;zlib.lib;liblinear.lib;ws2_32.lib;IPHlpAPI.Lib;wpcap.lib;packet.lib;advapi32.lib;libssl.lib;libcrypto.lib;shell32.lib;libnetutil.lib</AdditionalDependencies> <OutputFile>.\Release/nmap.exe</OutputFile> <SuppressStartupBanner>true</SuppressStartupBanner> <AdditionalLibraryDirectories>..\libssh2\win32\Release_dll;lib;..\liblua;..\libpcre;..\nsock;..\nbase;..\libdnet-stripped;../libnetutil;..\..\nmap-mswin32-aux\OpenSSL\lib;..\liblinear;..\libz\contrib\vstudio\vc11\x86\ZlibStatRelease;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> @@ -912,7 +912,7 @@ index a3abbc6..d5e1977 100644 + <CompileAs>CompileAsCpp</CompileAs> + </ClCompile> + <Link> -+ <AdditionalDependencies>liblua.lib;nsock.lib;pcre.lib;nbase.lib;libdnet-stripped.lib;libssh2.lib;zlib.lib;liblinear.lib;ws2_32.lib;IPHlpAPI.Lib;wpcap.lib;packet.lib;advapi32.lib;libeay32.lib;ssleay32.lib;shell32.lib;libnetutil.lib</AdditionalDependencies> ++ <AdditionalDependencies>liblua.lib;nsock.lib;pcre.lib;nbase.lib;libdnet-stripped.lib;libssh2.lib;zlib.lib;liblinear.lib;ws2_32.lib;IPHlpAPI.Lib;wpcap.lib;packet.lib;advapi32.lib;libssl.lib;libcrypto.lib;shell32.lib;libnetutil.lib</AdditionalDependencies> + <OutputFile>.\Release/nmap.exe</OutputFile> + <SuppressStartupBanner>true</SuppressStartupBanner> + <AdditionalLibraryDirectories>..\libssh2\win32\Release_dll;lib;..\liblua\x64\Release;..\libpcre;..\nsock\x64\Release;..\nbase\x64\Release;..\libdnet-stripped\x64\Release;..\libnetutil\x64\Release;..\..\nmap-mswin32-aux\OpenSSL\lib;..\liblinear\x64\Release;..\libz\contrib\vstudio\vc11\x86\ZlibStatRelease;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> @@ -1401,7 +1401,7 @@ index fc44dfa..e066b29 100644 + </ResourceOutputFileName> + </ResourceCompile> + <Link> -+ <AdditionalDependencies>nbase.lib;ws2_32.lib;IPHlpAPI.Lib;wpcap.lib;nsock.lib;advapi32.lib;libeay32.lib;ssleay32.lib;liblua.lib</AdditionalDependencies> ++ <AdditionalDependencies>nbase.lib;ws2_32.lib;IPHlpAPI.Lib;wpcap.lib;nsock.lib;advapi32.lib;libcrypto.lib;libssl.lib;liblua.lib</AdditionalDependencies> + <OutputFile>.\Debug\ncat.exe</OutputFile> + <SuppressStartupBanner>true</SuppressStartupBanner> + <AdditionalLibraryDirectories>..\mswin32\lib;..\nsock;..\nbase;..\..\nmap-mswin32-aux\OpenSSL\lib;..\liblua;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> @@ -1449,7 +1449,7 @@ index fc44dfa..e066b29 100644 + <CompileAs>CompileAsCpp</CompileAs> + </ClCompile> + <Link> -+ <AdditionalDependencies>nsock.lib;nbase.lib;ws2_32.lib;IPHlpAPI.Lib;wpcap.lib;advapi32.lib;libeay32.lib;ssleay32.lib</AdditionalDependencies> ++ <AdditionalDependencies>nsock.lib;nbase.lib;ws2_32.lib;IPHlpAPI.Lib;wpcap.lib;advapi32.lib;libcrypto.lib;libssl.lib</AdditionalDependencies> + <OutputFile>.\Release/ncat.exe</OutputFile> + <SuppressStartupBanner>true</SuppressStartupBanner> + <AdditionalLibraryDirectories>..\mswin32\lib;..\nsock;..\nbase;..\..\nmap-mswin32-aux\OpenSSL\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> @@ -1496,7 +1496,7 @@ index fc44dfa..e066b29 100644 + <CompileAs>CompileAsCpp</CompileAs> + </ClCompile> + <Link> -+ <AdditionalDependencies>nsock.lib;nbase.lib;ws2_32.lib;IPHlpAPI.Lib;advapi32.lib;libeay32.lib;ssleay32.lib;user32.lib;gdi32.lib</AdditionalDependencies> ++ <AdditionalDependencies>nsock.lib;nbase.lib;ws2_32.lib;IPHlpAPI.Lib;advapi32.lib;libssl.lib;libcrypto.lib;user32.lib;gdi32.lib</AdditionalDependencies> + <OutputFile>.\Release/ncat.exe</OutputFile> + <SuppressStartupBanner>true</SuppressStartupBanner> + <AdditionalLibraryDirectories>..\mswin32\lib;..\nsock;..\nbase;..\..\nmap-mswin32-aux\OpenSSL\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> @@ -1654,7 +1654,7 @@ index 57bd4ed..fa7a604 100644 + <CompileAs>CompileAsCpp</CompileAs> + </ClCompile> + <Link> -+ <AdditionalDependencies>nsock.lib;nbase.lib;libdnet-stripped.lib;ws2_32.lib;IPHlpAPI.Lib;wpcap.lib;packet.lib;advapi32.lib;libeay32.lib;ssleay32.lib;shell32.lib;libnetutil.lib</AdditionalDependencies> ++ <AdditionalDependencies>nsock.lib;nbase.lib;libdnet-stripped.lib;ws2_32.lib;IPHlpAPI.Lib;wpcap.lib;packet.lib;advapi32.lib;libssl.lib;libcrypto.lib;shell32.lib;libnetutil.lib</AdditionalDependencies> + <OutputFile>.\Debug\nping.exe</OutputFile> + <SuppressStartupBanner>true</SuppressStartupBanner> + <AdditionalLibraryDirectories>..\mswin32\lib;..\nsock;..\nbase;..\libdnet-stripped;../libnetutil;..\..\nmap-mswin32-aux\OpenSSL\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> @@ -1701,7 +1701,7 @@ index 57bd4ed..fa7a604 100644 + <CompileAs>CompileAsCpp</CompileAs> + </ClCompile> + <Link> -+ <AdditionalDependencies>nsock.lib;nbase.lib;libdnet-stripped.lib;ws2_32.lib;IPHlpAPI.Lib;wpcap.lib;packet.lib;advapi32.lib;libeay32.lib;ssleay32.lib;shell32.lib;libnetutil.lib</AdditionalDependencies> ++ <AdditionalDependencies>nsock.lib;nbase.lib;libdnet-stripped.lib;ws2_32.lib;IPHlpAPI.Lib;wpcap.lib;packet.lib;advapi32.lib;libssl.lib;libcrypto.lib;shell32.lib;libnetutil.lib</AdditionalDependencies> + <OutputFile>.\Release/nping.exe</OutputFile> + <SuppressStartupBanner>true</SuppressStartupBanner> + <AdditionalLibraryDirectories>..\mswin32\lib;..\nsock;..\nbase;..\libdnet-stripped;../libnetutil;..\..\nmap-mswin32-aux\OpenSSL\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> diff --git a/ports/nmap/portfile.cmake b/ports/nmap/portfile.cmake index 3554fb9ad..8a8d5f843 100644 --- a/ports/nmap/portfile.cmake +++ b/ports/nmap/portfile.cmake @@ -1,5 +1,3 @@ -include(vcpkg_common_functions) - # nmap is a tools, so ignor POST_CHECK SET(VCPKG_POLICY_EMPTY_PACKAGE enabled) @@ -59,11 +57,13 @@ if(VCPKG_TARGET_IS_WINDOWS) DESTINATION ${CURRENT_PACKAGES_DIR}/tools) endif() else() + set(ENV{LDFLAGS} "$ENV{LDFLAGS} -pthread") foreach(BUILD_TYPE rel dbg) file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${BUILD_TYPE}) file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${BUILD_TYPE}) # Since nmap makefile has strong relationshop with codes, copy codes to obj path vcpkg_extract_source_archive(${ARCHIVE} ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${BUILD_TYPE}) + endforeach() set(OPTIONS --without-nmap-update --with-openssl=${CURRENT_INSTALLED_DIR} --with-libssh2=${CURRENT_INSTALLED_DIR} --with-libz=${CURRENT_INSTALLED_DIR} --with-libpcre=${CURRENT_INSTALLED_DIR}) message(STATUS "Building Options: ${OPTIONS}") @@ -71,6 +71,7 @@ else() if (NOT CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE STREQUAL Release) message(STATUS "Configuring ${TARGET_TRIPLET}-rel") set(SOURCE_PATH_RELEASE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/nmap-7.70) + vcpkg_execute_required_process( COMMAND "./configure" ${OPTIONS} WORKING_DIRECTORY ${SOURCE_PATH_RELEASE} @@ -91,6 +92,7 @@ else() if (NOT CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE STREQUAL Debug) message(STATUS "Configuring ${TARGET_TRIPLET}-dbg") set(SOURCE_PATH_DEBUG ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/nmap-7.70) + vcpkg_execute_required_process( COMMAND "./configure" ${OPTIONS} WORKING_DIRECTORY ${SOURCE_PATH_DEBUG} diff --git a/ports/ogre-next/CONTROL b/ports/ogre-next/CONTROL new file mode 100644 index 000000000..0ac635f0c --- /dev/null +++ b/ports/ogre-next/CONTROL @@ -0,0 +1,18 @@ +Source: ogre-next +Version: 2019-10-20 +Build-Depends: zlib, freeimage, freetype, rapidjson, openvr, boost-thread, boost-date-time, poco, tbb, sdl2, tinyxml, zziplib +Homepage: https://github.com/OGRECave/ogre-next +Description: Ogre 2.1 & 2.2 - scene-oriented, flexible 3D engine written in C++ + +Feature: d3d9 +Description: Build Direct3D9 RenderSystem + +Feature: csharp +Description: Build csharp bindings + +Feature: java +Description: Build Java (JNI) bindings + +Feature: python +Description: Build Python bindings +Build-Depends: python3 diff --git a/ports/ogre-next/environment-overrides.cmake b/ports/ogre-next/environment-overrides.cmake new file mode 100644 index 000000000..4957cdcd5 --- /dev/null +++ b/ports/ogre-next/environment-overrides.cmake @@ -0,0 +1,16 @@ +#[[ + +Building steps for ogre-next[d3d9]: + +1. Download and install "Microsoft DirectX SDK" +https://www.microsoft.com/en-us/download/confirmation.aspx?id=6812 + +2. Set env variable +set DXSDK_DIR=C:/Program Files (x86)/Microsoft DirectX SDK (June 2010) + +3. Install port +.\vcpkg.exe install ogre-next[d3d9] --triplet x64-windows + +]] + +set(VCPKG_ENV_PASSTHROUGH DXSDK_DIR) diff --git a/ports/ogre-next/fix_find_package_sdl2.patch b/ports/ogre-next/fix_find_package_sdl2.patch new file mode 100644 index 000000000..aa72be664 --- /dev/null +++ b/ports/ogre-next/fix_find_package_sdl2.patch @@ -0,0 +1,18 @@ +diff --git a/CMake/Dependencies.cmake b/CMake/Dependencies.cmake +index 4b67ed8cb..7da194820 100644 +--- a/CMake/Dependencies.cmake ++++ b/CMake/Dependencies.cmake +@@ -292,11 +292,11 @@ macro_log_feature(PYTHONLIBS_FOUND "Python" "Language bindings to use OGRE from + # Find sdl2 + if(NOT ANDROID AND NOT EMSCRIPTEN) + # find script does not work in cross compilation environment +- find_package(SDL2) ++ find_package(SDL2 CONFIG) + macro_log_feature(SDL2_FOUND "SDL2" "Simple DirectMedia Library needed for input handling in samples" "https://www.libsdl.org/" FALSE "" "") + if(SDL2_FOUND AND WIN32 AND NOT SDL2_BINARY) + # fix linking static SDL2 on windows +- set(SDL2_LIBRARY ${SDL2_LIBRARY} winmm.lib imm32.lib version.lib) ++ set(SDL2_LIBRARY SDL2::SDL2 winmm.lib imm32.lib version.lib) + endif() + endif() + diff --git a/ports/ogre-next/portfile.cmake b/ports/ogre-next/portfile.cmake new file mode 100644 index 000000000..ade55bcc2 --- /dev/null +++ b/ports/ogre-next/portfile.cmake @@ -0,0 +1,119 @@ +# This portfile is based (shamelessly copied and adapted a bit) on 'ogre' portfile. + +include(vcpkg_common_functions) + +if(NOT VCPKG_TARGET_IS_WINDOWS) + message("${PORT} currently requires the following library from the system package manager:\n Xaw\n\nIt can be installed on Ubuntu systems via apt-get install libxaw7-dev") +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO OGRECave/ogre-next + REF 8083067c1835147de5d82015347d95c710e36bc0 + SHA512 2660f739def7076b42009ba932a27532f2a20e7be8ec2674aff29116c7dcd7f2d75564d8ce07bef3dba13ece5293d604573ad4f8734f6086c1750127f52834cd + HEAD_REF master + PATCHES + toolchain_fixes.patch + rename_config_cmake.patch + fix_find_package_sdl2.patch +) + +file(REMOVE "${SOURCE_PATH}/CMake/Packages/FindOpenEXR.cmake") + +if (VCPKG_LIBRARY_LINKAGE STREQUAL static) + set(OGRE_STATIC ON) +else() + set(OGRE_STATIC OFF) +endif() + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + d3d9 OGRE_BUILD_RENDERSYSTEM_D3D9 + java OGRE_BUILD_COMPONENT_JAVA + python OGRE_BUILD_COMPONENT_PYTHON + csharp OGRE_BUILD_COMPONENT_CSHARP +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DOGRE_BUILD_DEPENDENCIES=OFF + -DOGRE_BUILD_SAMPLES=OFF + -DOGRE_BUILD_TESTS=OFF + -DOGRE_BUILD_TOOLS=OFF + -DOGRE_BUILD_MSVC_MP=ON + -DOGRE_BUILD_MSVC_ZM=ON + -DOGRE_INSTALL_DEPENDENCIES=OFF + -DOGRE_INSTALL_DOCS=OFF + -DOGRE_INSTALL_PDB=OFF + -DOGRE_INSTALL_SAMPLES=OFF + -DOGRE_INSTALL_TOOLS=OFF + -DOGRE_INSTALL_CMAKE=ON + -DOGRE_INSTALL_VSPROPS=OFF + -DOGRE_STATIC=${OGRE_STATIC} + -DOGRE_CONFIG_THREAD_PROVIDER=std + -DOGRE_BUILD_RENDERSYSTEM_D3D11=ON + -DOGRE_BUILD_RENDERSYSTEM_GL=ON + -DOGRE_BUILD_RENDERSYSTEM_GL3PLUS=ON + -DOGRE_BUILD_RENDERSYSTEM_GLES=OFF + -DOGRE_BUILD_RENDERSYSTEM_GLES2=OFF +# Optional stuff + ${FEATURE_OPTIONS} +# vcpkg specific stuff + -DOGRE_CMAKE_DIR=share/ogre-next +) + +vcpkg_install_cmake() +vcpkg_fixup_cmake_targets() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +file(GLOB REL_CFGS ${CURRENT_PACKAGES_DIR}/bin/*.cfg) +if(REL_CFGS) + file(COPY ${REL_CFGS} DESTINATION ${CURRENT_PACKAGES_DIR}/lib) + file(REMOVE ${REL_CFGS}) +endif() + +file(GLOB DBG_CFGS ${CURRENT_PACKAGES_DIR}/debug/bin/*.cfg) +if(DBG_CFGS) + file(COPY ${DBG_CFGS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) + file(REMOVE ${DBG_CFGS}) +endif() + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) +endif() + +#Remove OgreMain*.lib from lib/ folder, because autolink would complain, since it defines a main symbol +#manual-link subfolder is here to the rescue! +if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "Release") + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/lib/manual-link) + if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + file(RENAME ${CURRENT_PACKAGES_DIR}/lib/OgreMain.lib ${CURRENT_PACKAGES_DIR}/lib/manual-link/OgreMain.lib) + else() + file(RENAME ${CURRENT_PACKAGES_DIR}/lib/OgreMainStatic.lib ${CURRENT_PACKAGES_DIR}/lib/manual-link/OgreMainStatic.lib) + endif() + endif() + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "Debug") + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link) + if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/OgreMain_d.lib ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link/OgreMain_d.lib) + else() + file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/OgreMainStatic_d.lib ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link/OgreMainStatic_d.lib) + endif() + endif() + + file(GLOB SHARE_FILES ${CURRENT_PACKAGES_DIR}/share/ogre-next/*.cmake) + foreach(SHARE_FILE ${SHARE_FILES}) + file(READ "${SHARE_FILE}" _contents) + string(REPLACE "lib/OgreMain" "lib/manual-link/OgreMain" _contents "${_contents}") + file(WRITE "${SHARE_FILE}" "${_contents}") + endforeach() +endif() + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/ogre-next RENAME copyright) + +vcpkg_copy_pdbs() diff --git a/ports/ogre-next/rename_config_cmake.patch b/ports/ogre-next/rename_config_cmake.patch new file mode 100644 index 000000000..d85603290 --- /dev/null +++ b/ports/ogre-next/rename_config_cmake.patch @@ -0,0 +1,22 @@ +diff --git a/CMake/InstallResources.cmake b/CMake/InstallResources.cmake +index 79f7514..79bc033 100644 +--- a/CMake/InstallResources.cmake ++++ b/CMake/InstallResources.cmake +@@ -215,7 +215,7 @@ if(NOT DEFINED OGRE_CMAKE_DIR) + set(OGRE_CMAKE_DIR "${OGRE_LIB_DIRECTORY}/OGRE/cmake") + endif() + endif() +-configure_package_config_file(${OGRE_TEMPLATES_DIR}/OGREConfig.cmake.in ${PROJECT_BINARY_DIR}/cmake/OGREConfig.cmake ++configure_package_config_file(${OGRE_TEMPLATES_DIR}/OGREConfig.cmake.in ${PROJECT_BINARY_DIR}/cmake/ogre-nextConfig.cmake + INSTALL_DESTINATION ${OGRE_CMAKE_DIR} + PATH_VARS CMAKE_INSTALL_PREFIX) + write_basic_package_version_file( +@@ -223,7 +223,7 @@ write_basic_package_version_file( + VERSION ${OGRE_VERSION} + COMPATIBILITY SameMajorVersion) + install(FILES +- ${PROJECT_BINARY_DIR}/cmake/OGREConfig.cmake ++ ${PROJECT_BINARY_DIR}/cmake/ogre-nextConfig.cmake + ${PROJECT_BINARY_DIR}/cmake/OGREConfigVersion.cmake + DESTINATION ${OGRE_CMAKE_DIR} + ) diff --git a/ports/ogre-next/toolchain_fixes.patch b/ports/ogre-next/toolchain_fixes.patch new file mode 100644 index 000000000..9ff2d87df --- /dev/null +++ b/ports/ogre-next/toolchain_fixes.patch @@ -0,0 +1,291 @@ +diff --git a/CMake/CMakeLists.txt b/CMake/CMakeLists.txt +index a7a3796..2e21403 100644 +--- a/CMake/CMakeLists.txt ++++ b/CMake/CMakeLists.txt +@@ -13,10 +13,12 @@ + # directory, but can also be used for custom projects. + ############################################################# + +-if(WIN32 OR APPLE) +- set(OGRE_CMAKE_DIR "CMake") +-else() +- set(OGRE_CMAKE_DIR "${OGRE_LIB_DIRECTORY}/OGRE/cmake") ++if(NOT DEFINED OGRE_CMAKE_DIR) ++ if(WIN32 OR APPLE) ++ set(OGRE_CMAKE_DIR "CMake") ++ else() ++ set(OGRE_CMAKE_DIR "${OGRE_LIB_DIRECTORY}/OGRE/cmake") ++ endif() + endif() + + set(INST_FILES Utils/FindPkgMacros.cmake) +diff --git a/CMake/InstallResources.cmake b/CMake/InstallResources.cmake +index 783755e..79f7514 100644 +--- a/CMake/InstallResources.cmake ++++ b/CMake/InstallResources.cmake +@@ -208,10 +208,12 @@ endif () + # Create the CMake package files + include(CMakePackageConfigHelpers) + +-if(WIN32 OR APPLE) +- set(OGRE_CMAKE_DIR "CMake") +-else() +- set(OGRE_CMAKE_DIR "${OGRE_LIB_DIRECTORY}/OGRE/cmake") ++if(NOT DEFINED OGRE_CMAKE_DIR) ++ if(WIN32 OR APPLE) ++ set(OGRE_CMAKE_DIR "CMake") ++ else() ++ set(OGRE_CMAKE_DIR "${OGRE_LIB_DIRECTORY}/OGRE/cmake") ++ endif() + endif() + configure_package_config_file(${OGRE_TEMPLATES_DIR}/OGREConfig.cmake.in ${PROJECT_BINARY_DIR}/cmake/OGREConfig.cmake + INSTALL_DESTINATION ${OGRE_CMAKE_DIR} +diff --git a/CMake/Packages/FindCg.cmake b/CMake/Packages/FindCg.cmake +index 4501cf9..7eb57c3 100644 +--- a/CMake/Packages/FindCg.cmake ++++ b/CMake/Packages/FindCg.cmake +@@ -56,7 +56,7 @@ endif() + + find_library(Cg_LIBRARY_REL NAMES ${Cg_LIBRARY_NAMES} HINTS ${Cg_LIB_SEARCH_PATH} ${Cg_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" Release RelWithDebInfo MinSizeRel) + find_library(Cg_LIBRARY_DBG NAMES ${Cg_LIBRARY_NAMES_DBG} HINTS ${Cg_LIB_SEARCH_PATH} ${Cg_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" Debug) +-make_library_set(Cg_LIBRARY) ++make_library_set(Cg) + + if (WIN32) + if (CMAKE_CL_64) +diff --git a/CMake/Packages/FindFreeImage.cmake b/CMake/Packages/FindFreeImage.cmake +index 7c89ec5..d8314f0 100644 +--- a/CMake/Packages/FindFreeImage.cmake ++++ b/CMake/Packages/FindFreeImage.cmake +@@ -43,7 +43,7 @@ find_path(FreeImage_INCLUDE_DIR NAMES FreeImage.h HINTS ${FreeImage_INC_SEARCH_P + find_library(FreeImage_LIBRARY_REL NAMES ${FreeImage_LIBRARY_NAMES} HINTS ${FreeImage_LIB_SEARCH_PATH} ${FreeImage_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" Release RelWithDebInfo MinSizeRel) + find_library(FreeImage_LIBRARY_DBG NAMES ${FreeImage_LIBRARY_NAMES_DBG} HINTS ${FreeImage_LIB_SEARCH_PATH} ${FreeImage_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" Debug) + +-make_library_set(FreeImage_LIBRARY) ++make_library_set(FreeImage) + + findpkg_finish(FreeImage) + +diff --git a/CMake/Packages/FindGLSLOptimizer.cmake b/CMake/Packages/FindGLSLOptimizer.cmake +index dd4b179..6f158fc 100644 +--- a/CMake/Packages/FindGLSLOptimizer.cmake ++++ b/CMake/Packages/FindGLSLOptimizer.cmake +@@ -38,7 +38,7 @@ findpkg_framework(GLSL_Optimizer) + find_path(GLSL_Optimizer_INCLUDE_DIR NAMES glsl_optimizer.h HINTS ${GLSL_Optimizer_INC_SEARCH_PATH} ${GLSL_Optimizer_PKGC_INCLUDE_DIRS} PATH_SUFFIXES GLSL_Optimizer) + find_library(GLSL_Optimizer_LIBRARY_REL NAMES ${GLSL_Optimizer_LIBRARY_NAMES} HINTS ${GLSL_Optimizer_LIB_SEARCH_PATH} ${GLSL_Optimizer_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" Release RelWithDebInfo MinSizeRel) + find_library(GLSL_Optimizer_LIBRARY_DBG NAMES ${GLSL_Optimizer_LIBRARY_NAMES_DBG} HINTS ${GLSL_Optimizer_LIB_SEARCH_PATH} ${GLSL_Optimizer_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" Debug) +-make_library_set(GLSL_Optimizer_LIBRARY) ++make_library_set(GLSL_Optimizer) + + findpkg_finish(GLSL_Optimizer) + add_parent_dir(GLSL_Optimizer_INCLUDE_DIRS GLSL_Optimizer_INCLUDE_DIR) +diff --git a/CMake/Packages/FindHLSL2GLSL.cmake b/CMake/Packages/FindHLSL2GLSL.cmake +index 7125895..13a306f 100644 +--- a/CMake/Packages/FindHLSL2GLSL.cmake ++++ b/CMake/Packages/FindHLSL2GLSL.cmake +@@ -38,7 +38,7 @@ findpkg_framework(HLSL2GLSL) + find_path(HLSL2GLSL_INCLUDE_DIR NAMES hlsl2glsl.h HINTS ${HLSL2GLSL_INC_SEARCH_PATH} ${HLSL2GLSL_PKGC_INCLUDE_DIRS} PATH_SUFFIXES HLSL2GLSL) + find_library(HLSL2GLSL_LIBRARY_REL NAMES ${HLSL2GLSL_LIBRARY_NAMES} HINTS ${HLSL2GLSL_LIB_SEARCH_PATH} ${HLSL2GLSL_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" Release RelWithDebInfo MinSizeRel) + find_library(HLSL2GLSL_LIBRARY_DBG NAMES ${HLSL2GLSL_LIBRARY_NAMES_DBG} HINTS ${HLSL2GLSL_LIB_SEARCH_PATH} ${HLSL2GLSL_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" Debug) +-make_library_set(HLSL2GLSL_LIBRARY) ++make_library_set(HLSL2GLSL) + + findpkg_finish(HLSL2GLSL) + add_parent_dir(HLSL2GLSL_INCLUDE_DIRS HLSL2GLSL_INCLUDE_DIR) +diff --git a/CMake/Packages/FindNVAPI.cmake b/CMake/Packages/FindNVAPI.cmake +index 2b9deba..f33a298 100644 +--- a/CMake/Packages/FindNVAPI.cmake ++++ b/CMake/Packages/FindNVAPI.cmake +@@ -44,7 +44,7 @@ findpkg_framework(NVAPI) + find_path(NVAPI_INCLUDE_DIR NAMES nvapi.h HINTS ${NVAPI_FRAMEWORK_INCLUDES} ${NVAPI_INC_SEARCH_PATH} ${NVAPI_PKGC_INCLUDE_DIRS} PATH_SUFFIXES NVAPI) + find_library(NVAPI_LIBRARY_REL NAMES ${NVAPI_LIBRARY_NAMES} HINTS ${NVAPI_LIB_SEARCH_PATH} ${NVAPI_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" release relwithdebinfo minsizerel) + find_library(NVAPI_LIBRARY_DBG NAMES ${NVAPI_LIBRARY_NAMES_DBG} HINTS ${NVAPI_LIB_SEARCH_PATH} ${NVAPI_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" debug) +-make_library_set(NVAPI_LIBRARY) ++make_library_set(NVAPI) + + findpkg_finish(NVAPI) + add_parent_dir(NVAPI_INCLUDE_DIRS NVAPI_INCLUDE_DIR) +\ No newline at end of file +diff --git a/CMake/Packages/FindPOCO.cmake b/CMake/Packages/FindPOCO.cmake +index 6b6d7fa..3667b8b 100644 +--- a/CMake/Packages/FindPOCO.cmake ++++ b/CMake/Packages/FindPOCO.cmake +@@ -50,7 +50,7 @@ findpkg_framework(POCO) + find_path(POCO_INCLUDE_DIR NAMES Poco/Foundation.h HINTS ${POCO_INC_SEARCH_PATH} ${POCO_PKGC_INCLUDE_DIRS} PATH_SUFFIXES Foundation/include) + find_library(POCO_LIBRARY_REL NAMES ${POCO_LIBRARY_NAMES} HINTS ${POCO_LIB_SEARCH_PATH} ${POCO_PKGC_LIBRARY_DIRS} PATH_SUFFIXES Linux/i686) + find_library(POCO_LIBRARY_DBG NAMES ${POCO_LIBRARY_NAMES_DBG} HINTS ${POCO_LIB_SEARCH_PATH} ${POCO_PKGC_LIBRARY_DIRS} PATH_SUFFIXES Linux/i686) +-make_library_set(POCO_LIBRARY) ++make_library_set(POCO) + + findpkg_finish(POCO) + +@@ -66,7 +66,7 @@ get_debug_names(POCO_Util_LIBRARY_NAMES) + find_path(POCO_Util_INCLUDE_DIR NAMES Poco/Util/Util.h HINTS ${POCO_INCLUDE_DIR} ${POCO_INC_SEARCH_PATH} ${POCO_PKGC_INCLUDE_DIRS} PATH_SUFFIXES Util/include) + find_library(POCO_Util_LIBRARY_REL NAMES ${POCO_Util_LIBRARY_NAMES} HINTS ${POCO_LIB_SEARCH_PATH} ${POCO_PKGC_LIBRARY_DIRS} PATH_SUFFIXES Linux/i686) + find_library(POCO_Util_LIBRARY_DBG NAMES ${POCO_Util_LIBRARY_NAMES_DBG} HINTS ${POCO_LIB_SEARCH_PATH} ${POCO_PKGC_LIBRARY_DIRS} PATH_SUFFIXES Linux/i686) +-make_library_set(POCO_Util_LIBRARY) ++make_library_set(POCO_Util) + findpkg_finish(POCO_Util) + + # Look for Poco's Net package +@@ -76,7 +76,7 @@ get_debug_names(POCO_Net_LIBRARY_NAMES) + find_path(POCO_Net_INCLUDE_DIR NAMES Poco/Net/Net.h HINTS ${POCO_INCLUDE_DIR} ${POCO_INC_SEARCH_PATH} ${POCO_PKGC_INCLUDE_DIRS} PATH_SUFFIXES Net/include) + find_library(POCO_Net_LIBRARY_REL NAMES ${POCO_Net_LIBRARY_NAMES} HINTS ${POCO_LIB_SEARCH_PATH} ${POCO_PKGC_LIBRARY_DIRS} PATH_SUFFIXES Linux/i686) + find_library(POCO_Net_LIBRARY_DBG NAMES ${POCO_Net_LIBRARY_NAMES_DBG} HINTS ${POCO_LIB_SEARCH_PATH} ${POCO_PKGC_LIBRARY_DIRS} PATH_SUFFIXES Linux/i686) +-make_library_set(POCO_Net_LIBRARY) ++make_library_set(POCO_Net) + findpkg_finish(POCO_Net) + + # Look for Poco's NetSSL package +@@ -86,7 +86,7 @@ get_debug_names(POCO_NetSSL_LIBRARY_NAMES) + find_path(POCO_NetSSL_INCLUDE_DIR NAMES Poco/Net/NetSSL.h HINTS ${POCO_INCLUDE_DIR} ${POCO_INC_SEARCH_PATH} ${POCO_PKGC_INCLUDE_DIRS} PATH_SUFFIXES NetSSL/include) + find_library(POCO_NetSSL_LIBRARY_REL NAMES ${POCO_NetSSL_LIBRARY_NAMES} HINTS ${POCO_LIB_SEARCH_PATH} ${POCO_PKGC_LIBRARY_DIRS} PATH_SUFFIXES Linux/i686) + find_library(POCO_NetSSL_LIBRARY_DBG NAMES ${POCO_NetSSL_LIBRARY_NAMES_DBG} HINTS ${POCO_LIB_SEARCH_PATH} ${POCO_PKGC_LIBRARY_DIRS} PATH_SUFFIXES Linux/i686) +-make_library_set(POCO_NetSSL_LIBRARY) ++make_library_set(POCO_NetSSL) + findpkg_finish(POCO_NetSSL) + + # Look for Poco's XML package +@@ -96,6 +96,6 @@ get_debug_names(POCO_XML_LIBRARY_NAMES) + find_path(POCO_XML_INCLUDE_DIR NAMES Poco/XML/XML.h HINTS ${POCO_INCLUDE_DIR} ${POCO_INC_SEARCH_PATH} ${POCO_PKGC_INCLUDE_DIRS} PATH_SUFFIXES XML/include) + find_library(POCO_XML_LIBRARY_REL NAMES ${POCO_XML_LIBRARY_NAMES} HINTS ${POCO_LIB_SEARCH_PATH} ${POCO_PKGC_LIBRARY_DIRS} PATH_SUFFIXES Linux/i686) + find_library(POCO_XML_LIBRARY_DBG NAMES ${POCO_XML_LIBRARY_NAMES_DBG} HINTS ${POCO_LIB_SEARCH_PATH} ${POCO_PKGC_LIBRARY_DIRS} PATH_SUFFIXES Linux/i686) +-make_library_set(POCO_XML_LIBRARY) ++make_library_set(POCO_XML) + findpkg_finish(POCO_XML) + +diff --git a/CMake/Packages/FindTBB.cmake b/CMake/Packages/FindTBB.cmake +index 0c48510..c121966 100644 +--- a/CMake/Packages/FindTBB.cmake ++++ b/CMake/Packages/FindTBB.cmake +@@ -104,7 +104,7 @@ findpkg_framework(TBB) + find_path(TBB_INCLUDE_DIR NAMES tbb/tbb.h HINTS ${TBB_INC_SEARCH_PATH} ${TBB_PKGC_INCLUDE_DIRS}) + find_library(TBB_LIBRARY_REL NAMES ${TBB_LIBRARY_NAMES} HINTS ${TBB_LIB_SEARCH_PATH} ${TBB_PKGC_LIBRARY_DIRS}) + find_library(TBB_LIBRARY_DBG NAMES ${TBB_LIBRARY_NAMES_DBG} HINTS ${TBB_LIB_SEARCH_PATH} ${TBB_PKGC_LIBRARY_DIRS}) +-make_library_set(TBB_LIBRARY) ++make_library_set(TBB) + + findpkg_finish(TBB) + +@@ -120,7 +120,7 @@ get_debug_names(TBB_MALLOC_LIBRARY_NAMES) + find_path(TBB_MALLOC_INCLUDE_DIR NAMES tbb/tbb.h HINTS ${TBB_INCLUDE_DIR} ${TBB_INC_SEARCH_PATH} ${TBB_PKGC_INCLUDE_DIRS} ) + find_library(TBB_MALLOC_LIBRARY_REL NAMES ${TBB_MALLOC_LIBRARY_NAMES} HINTS ${TBB_LIB_SEARCH_PATH} ${TBB_PKGC_LIBRARY_DIRS} ) + find_library(TBB_MALLOC_LIBRARY_DBG NAMES ${TBB_MALLOC_LIBRARY_NAMES_DBG} HINTS ${TBB_LIB_SEARCH_PATH} ${TBB_PKGC_LIBRARY_DIRS} ) +-make_library_set(TBB_MALLOC_LIBRARY) ++make_library_set(TBB_MALLOC) + findpkg_finish(TBB_MALLOC) + + # Look for TBB's malloc proxy package +@@ -130,5 +130,5 @@ get_debug_names(TBB_MALLOC_PROXY_LIBRARY_NAMES) + find_path(TBB_MALLOC_PROXY_INCLUDE_DIR NAMES tbb/tbbmalloc_proxy.h HINTS ${TBB_INCLUDE_DIR} ${TBB_INC_SEARCH_PATH} ${TBB_PKGC_INCLUDE_DIRS}) + find_library(TBB_MALLOC_PROXY_LIBRARY_REL NAMES ${TBB_MALLOC_PROXY_LIBRARY_NAMES} HINTS ${TBB_LIB_SEARCH_PATH} ${TBB_PKGC_LIBRARY_DIRS}) + find_library(TBB_MALLOC_PROXY_LIBRARY_DBG NAMES ${TBB_MALLOC_PROXY_LIBRARY_NAMES_DBG} HINTS ${TBB_LIB_SEARCH_PATH} ${TBB_PKGC_LIBRARY_DIRS}) +-make_library_set(TBB_MALLOC_PROXY_LIBRARY) ++make_library_set(TBB_MALLOC_PROXY) + findpkg_finish(TBB_MALLOC_PROXY) +diff --git a/CMake/Packages/FindZZip.cmake b/CMake/Packages/FindZZip.cmake +index e97951e..54c2567 100644 +--- a/CMake/Packages/FindZZip.cmake ++++ b/CMake/Packages/FindZZip.cmake +@@ -39,12 +39,12 @@ use_pkgconfig(ZZip_PKGC zziplib) + + findpkg_framework(ZZip) + +-find_path(ZZip_INCLUDE_DIR NAMES zzip/zzip.h HINTS ${ZZip_INC_SEARCH_PATH} ${ZZip_PKGC_INCLUDE_DIRS}) ++find_path(ZZip_INCLUDE_DIRS NAMES zzip/zzip.h HINTS ${ZZip_INC_SEARCH_PATH} ${ZZip_PKGC_INCLUDE_DIRS}) + + find_library(ZZip_LIBRARY_REL NAMES ${ZZip_LIBRARY_NAMES} HINTS ${ZZip_LIB_SEARCH_PATH} ${ZZip_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" Release RelWithDebInfo MinSizeRel) + find_library(ZZip_LIBRARY_DBG NAMES ${ZZip_LIBRARY_NAMES_DBG} HINTS ${ZZip_LIB_SEARCH_PATH} ${ZZip_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" Debug) + +-make_library_set(ZZip_LIBRARY) ++make_library_set(ZZip) + + findpkg_finish(ZZip) + +diff --git a/CMake/Utils/FindPkgMacros.cmake b/CMake/Utils/FindPkgMacros.cmake +index 374f84b..dc7066d 100644 +--- a/CMake/Utils/FindPkgMacros.cmake ++++ b/CMake/Utils/FindPkgMacros.cmake +@@ -79,15 +79,21 @@ endmacro (use_pkgconfig) + + # Couple a set of release AND debug libraries (or frameworks) + macro(make_library_set PREFIX) +- if (${PREFIX}_FWK) +- set(${PREFIX} ${${PREFIX}_FWK}) +- elseif (${PREFIX}_REL AND ${PREFIX}_DBG) +- set(${PREFIX} optimized ${${PREFIX}_REL} debug ${${PREFIX}_DBG}) +- elseif (${PREFIX}_REL) +- set(${PREFIX} ${${PREFIX}_REL}) +- elseif (${PREFIX}_DBG) +- set(${PREFIX} ${${PREFIX}_DBG}) +- endif () ++ include(${CMAKE_ROOT}/Modules/SelectLibraryConfigurations.cmake) ++ set(PREFIX_LIB "${PREFIX}_LIBRARY") ++ if (${PREFIX_LIB}_FWK) ++ set(${PREFIX_LIB} ${${PREFIX_LIB}_FWK}) ++ elseif (${PREFIX_LIB}_REL AND ${PREFIX_LIB}_DBG) ++ set(${PREFIX_LIB}_RELEASE ${${PREFIX_LIB}_REL} CACHE STRING "") ++ set(${PREFIX_LIB}_DEBUG ${${PREFIX_LIB}_DBG} CACHE STRING "") ++ select_library_configurations(${PREFIX}) ++ elseif (${PREFIX_LIB}_REL) ++ set(${PREFIX_LIB} ${${PREFIX_LIB}_REL}) ++ set(${PREFIX_LIB}_RELEASE ${${PREFIX_LIB}_REL}) ++ elseif (${PREFIX_LIB}_DBG) ++ set(${PREFIX_LIB} ${${PREFIX_LIB}_DBG}) ++ set(${PREFIX_LIB}_DEBUG ${${PREFIX_LIB}_DBG}) ++ endif() + endmacro(make_library_set) + + # Generate debug names from given release names +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 3e09d2d..58968f0 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -274,7 +274,7 @@ elseif(EMSCRIPTEN) + elseif (APPLE AND NOT APPLE_IOS) + + set(XCODE_ATTRIBUTE_SDKROOT macosx) +- if(CMAKE_GENERATOR STREQUAL "Unix Makefiles") ++ if(1) + execute_process(COMMAND xcodebuild -version -sdk "${XCODE_ATTRIBUTE_SDKROOT}" Path | head -n 1 OUTPUT_VARIABLE CMAKE_OSX_SYSROOT) + string(REGEX REPLACE "(\r?\n)+$" "" CMAKE_OSX_SYSROOT "${CMAKE_OSX_SYSROOT}") + else() +diff --git a/Components/Overlay/CMakeLists.txt b/Components/Overlay/CMakeLists.txt +index bdb303d..d9cc221 100644 +--- a/Components/Overlay/CMakeLists.txt ++++ b/Components/Overlay/CMakeLists.txt +@@ -21,7 +21,7 @@ file(GLOB SOURCE_FILES "${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp") + # setup target + add_library(OgreOverlay ${OGRE_COMP_LIB_TYPE} ${HEADER_FILES} ${SOURCE_FILES} ${PLATFORM_HEADER_FILES} ${PLATFORM_SOURCE_FILES}) + set_target_properties(OgreOverlay PROPERTIES VERSION ${OGRE_SOVERSION} SOVERSION ${OGRE_SOVERSION}) +-target_link_libraries(OgreOverlay PUBLIC OgreMain PRIVATE "${FREETYPE_LIBRARIES}" ZLIB::ZLIB) ++target_link_libraries(OgreOverlay PUBLIC OgreMain PRIVATE ${FREETYPE_LIBRARIES} ZLIB::ZLIB) + target_include_directories(OgreOverlay PUBLIC + "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>" + $<INSTALL_INTERFACE:include/OGRE/Overlay> +diff --git a/OgreMain/CMakeLists.txt b/OgreMain/CMakeLists.txt +index 6ec4e34..cc9cb9d 100644 +--- a/OgreMain/CMakeLists.txt ++++ b/OgreMain/CMakeLists.txt +@@ -225,8 +225,6 @@ if (APPLE) + set_target_properties(OgreMain PROPERTIES + LINK_FLAGS "-framework IOKit -framework Cocoa -framework Carbon -framework OpenGL -framework CoreVideo" + ) +- +- set(OGRE_OSX_BUILD_CONFIGURATION "$(PLATFORM_NAME)/$(CONFIGURATION)") + + if(OGRE_BUILD_LIBS_AS_FRAMEWORKS) + add_custom_command(TARGET OgreMain POST_BUILD +diff --git a/PlugIns/EXRCodec/CMakeLists.txt b/PlugIns/EXRCodec/CMakeLists.txt +index e9c936a..bb8747e 100644 +--- a/PlugIns/EXRCodec/CMakeLists.txt ++++ b/PlugIns/EXRCodec/CMakeLists.txt +@@ -16,7 +16,7 @@ target_link_libraries(Codec_EXR OgreMain ${OPENEXR_LIBRARIES}) + target_include_directories(Codec_EXR PUBLIC + "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>" + $<INSTALL_INTERFACE:include/OGRE/Plugins/EXRCodec>) +-target_include_directories(Codec_EXR SYSTEM PRIVATE "${OPENEXR_INCLUDE_DIR}/OpenEXR") ++target_include_directories(Codec_EXR SYSTEM PRIVATE "${OPENEXR_INCLUDE_DIR}") + + ogre_config_framework(Codec_EXR) + ogre_config_plugin(Codec_EXR) diff --git a/ports/openal-soft/CONTROL b/ports/openal-soft/CONTROL index ccea6a482..b52d568cd 100644 --- a/ports/openal-soft/CONTROL +++ b/ports/openal-soft/CONTROL @@ -1,4 +1,4 @@ Source: openal-soft -Version: 1.19.1-2 +Version: 1.20.0 Homepage: https://github.com/kcat/openal-soft Description: OpenAL Soft is an LGPL-licensed, cross-platform, software implementation of the OpenAL 3D audio API. diff --git a/ports/openal-soft/dont-export-symbols-in-static-build.patch b/ports/openal-soft/dont-export-symbols-in-static-build.patch index 6663ad208..b13b6936b 100644 --- a/ports/openal-soft/dont-export-symbols-in-static-build.patch +++ b/ports/openal-soft/dont-export-symbols-in-static-build.patch @@ -1,5 +1,5 @@ diff --git a/config.h.in b/config.h.in -index a71b54f..8d84645 100644 +index 4a1e2b00..d5496972 100644 --- a/config.h.in +++ b/config.h.in @@ -1,6 +1,8 @@ @@ -8,6 +8,7 @@ index a71b54f..8d84645 100644 #define AL_API ${EXPORT_DECL} #define ALC_API ${EXPORT_DECL} +#endif - - /* Define any available alignment declaration */ - #define ALIGN(x) ${ALIGN_DECL} + + /* Define a restrict macro for non-aliased pointers */ + #define RESTRICT ${RESTRICT_DECL} +
\ No newline at end of file diff --git a/ports/openal-soft/fix-arm-builds.patch b/ports/openal-soft/fix-arm-builds.patch index 87fecbca2..7b429c4fc 100644 --- a/ports/openal-soft/fix-arm-builds.patch +++ b/ports/openal-soft/fix-arm-builds.patch @@ -1,17 +1,51 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 39b80250..e2a1ed76 100644 +index 98f9ad49..50b4297f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -1409,6 +1409,7 @@ ELSE() +@@ -1193,6 +1193,7 @@ SET_TARGET_PROPERTIES(common PROPERTIES POSITION_INDEPENDENT_CODE TRUE) + UNSET(HAS_ROUTER) + SET(IMPL_TARGET OpenAL) # Either OpenAL or soft_oal. + SET(SUBSYS_FLAG ) ++SET(COMMON_LIB ) + + # Build main library + IF(LIBTYPE STREQUAL "STATIC") +@@ -1203,12 +1204,15 @@ IF(LIBTYPE STREQUAL "STATIC") + ADD_LIBRARY(${IMPL_TARGET} STATIC ${COMMON_OBJS} ${OPENAL_OBJS} ${ALC_OBJS}) + TARGET_LINK_LIBRARIES(${IMPL_TARGET} PRIVATE ${LINKER_FLAGS} ${EXTRA_LIBS} ${MATH_LIB}) + ELSE() ++ SET(COMMON_LIB common) ++ + IF(WIN32) + IF(MSVC) + SET(SUBSYS_FLAG ${SUBSYS_FLAG} "/SUBSYSTEM:WINDOWS") ELSEIF(CMAKE_COMPILER_IS_GNUCC) SET(SUBSYS_FLAG ${SUBSYS_FLAG} "-mwindows") ENDIF() -+ SET(COMMON_LIB ${COMMON_LIB} shell32 ole32) ++ set(COMMON_LIB ${COMMON_LIB} shell32 ole32) ENDIF() - - IF(WIN32 AND ALSOFT_BUILD_ROUTER) + + SET(RC_CONFIG resources/openal32.rc) +@@ -1223,7 +1227,7 @@ ELSE() + TARGET_COMPILE_DEFINITIONS(OpenAL + PRIVATE AL_BUILD_LIBRARY AL_ALEXT_PROTOTYPES ${CPP_DEFS}) + TARGET_COMPILE_OPTIONS(OpenAL PRIVATE ${C_FLAGS}) +- TARGET_LINK_LIBRARIES(OpenAL PRIVATE common ${LINKER_FLAGS}) ++ TARGET_LINK_LIBRARIES(OpenAL PRIVATE ${COMMON_LIB} ${LINKER_FLAGS}) + TARGET_INCLUDE_DIRECTORIES(OpenAL + PUBLIC + $<BUILD_INTERFACE:${OpenAL_SOURCE_DIR}/include> +@@ -1248,7 +1252,7 @@ ELSE() + IF(WIN32) + SET_TARGET_PROPERTIES(${IMPL_TARGET} PROPERTIES PREFIX "") + ENDIF() +- TARGET_LINK_LIBRARIES(${IMPL_TARGET} PRIVATE common ${LINKER_FLAGS} ${EXTRA_LIBS} ${MATH_LIB}) ++ TARGET_LINK_LIBRARIES(${IMPL_TARGET} PRIVATE ${COMMON_LIB} ${LINKER_FLAGS} ${EXTRA_LIBS} ${MATH_LIB}) + ENDIF() + + TARGET_INCLUDE_DIRECTORIES(${IMPL_TARGET} diff --git a/native-tools/CMakeLists.txt b/native-tools/CMakeLists.txt -index 5e816bba..16f3be12 100644 +index 5e816bba..5d7919f6 100644 --- a/native-tools/CMakeLists.txt +++ b/native-tools/CMakeLists.txt @@ -24,6 +24,11 @@ set_target_properties(bsincgen PROPERTIES OUTPUT_NAME bsincgen) @@ -27,4 +61,3 @@ index 5e816bba..16f3be12 100644 + set(BSINCGEN_LIB ${BSINCGEN_LIB} shell32) +endif() +target_link_libraries(bsincgen ${BSINCGEN_LIB}) -\ No newline at end of file diff --git a/ports/openal-soft/portfile.cmake b/ports/openal-soft/portfile.cmake index 2de4f646f..7607c3a8a 100644 --- a/ports/openal-soft/portfile.cmake +++ b/ports/openal-soft/portfile.cmake @@ -1,13 +1,10 @@ -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore) - message(FATAL_ERROR "WindowsStore not supported") -endif() +vcpkg_fail_port_install(ON_TARGET "UWP") -include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO kcat/openal-soft - REF openal-soft-1.19.1 - SHA512 4a64cc90ddeaa3773610b0bc8023d231100f3396f3fc5bd079db81600f80a789c75e6af03391bfc78a903c96bb71f8052a9ae802ea81422028e5b12b7eb6c47b + REF openal-soft-1.20.0 + SHA512 d106bf8f96b32a61fadc0ee54882ce5041e4cbc35bf573296a210c83815b6c7be056ee3ed7617196dda5f89f2acd7163375f14b0cf24934faa0eda1fdb4f82a9 HEAD_REF master PATCHES dont-export-symbols-in-static-build.patch @@ -20,10 +17,12 @@ else() set(OPENAL_LIBTYPE "STATIC") endif() -if(VCPKG_CMAKE_SYSTEM_NAME) +if(VCPKG_TARGET_IS_LINUX) set(ALSOFT_REQUIRE_WINDOWS OFF) set(ALSOFT_REQUIRE_LINUX ON) -else() +endif() + +if(VCPKG_TARGET_IS_WINDOWS) set(ALSOFT_REQUIRE_WINDOWS ON) set(ALSOFT_REQUIRE_LINUX OFF) endif() @@ -69,9 +68,7 @@ foreach(HEADER al.h alc.h) file(WRITE ${CURRENT_PACKAGES_DIR}/include/AL/${HEADER} "${AL_H}") endforeach() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/pkgconfig) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/openal-soft) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/openal-soft/COPYING ${CURRENT_PACKAGES_DIR}/share/openal-soft/copyright) +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) + vcpkg_copy_pdbs() diff --git a/ports/opencolorio/CONTROL b/ports/opencolorio/CONTROL index 0d53dd6c6..cd429c7c8 100644 --- a/ports/opencolorio/CONTROL +++ b/ports/opencolorio/CONTROL @@ -1,5 +1,5 @@ Source: opencolorio -Version: 1.1.1 +Version: 1.1.1-1 Homepage: https://opencolorio.org/ Description: OpenColorIO (OCIO) is a complete color management solution geared towards motion picture production with an emphasis on visual effects and computer animation. OCIO provides a straightforward and consistent user experience across all supporting applications while allowing for sophisticated back-end configuration options suitable for high-end production usage. OCIO is compatible with the Academy Color Encoding Specification (ACES) and is LUT-format agnostic, supporting many popular formats. Build-Depends: glew[core], freeglut[core], lcms[core], yaml-cpp[core], tinyxml[core] diff --git a/ports/opencolorio/portfile.cmake b/ports/opencolorio/portfile.cmake index 8246926eb..d87a45987 100644 --- a/ports/opencolorio/portfile.cmake +++ b/ports/opencolorio/portfile.cmake @@ -1,5 +1,4 @@ include(vcpkg_common_definitions) -include(vcpkg_common_functions) if(VCPKG_LIBRARY_LINKAGE STREQUAL static) set(_BUILD_SHARED OFF) @@ -29,9 +28,9 @@ vcpkg_check_features( applications OCIO_BUILD_APPS ) -vcpkg_find_acquire_program(PYTHON2) -get_filename_component(PYTHON2_PATH ${PYTHON2} DIRECTORY) -vcpkg_add_to_path(PREPEND ${PYTHON2_PATH}) +vcpkg_find_acquire_program(PYTHON3) +get_filename_component(PYTHON3_PATH "${PYTHON3}" DIRECTORY) +vcpkg_add_to_path(PREPEND ${PYTHON3_PATH}) # TODO(theblackunknown) build additional targets based on feature diff --git a/ports/opendnp3/CONTROL b/ports/opendnp3/CONTROL new file mode 100644 index 000000000..a30de2622 --- /dev/null +++ b/ports/opendnp3/CONTROL @@ -0,0 +1,5 @@ +Source: opendnp3 +Version: 2.3.2 +Description: DNP3 (IEEE-1815) protocol stack. Modern C++ with bindings for .NET and Java. +Homepage: https://github.com/dnp3/opendnp3/ +Build-Depends: asio, openssl diff --git a/ports/opendnp3/export-cmake.patch b/ports/opendnp3/export-cmake.patch new file mode 100644 index 000000000..ee0ab50c3 --- /dev/null +++ b/ports/opendnp3/export-cmake.patch @@ -0,0 +1,140 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1381bab..e184423 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -104,20 +104,54 @@ include_directories(./cpp/tests/libs/src) + # ---- openpal library ---- + file(GLOB_RECURSE openpal_SRC ./cpp/libs/src/openpal/*.cpp ./cpp/libs/src/openpal/*.h ./cpp/libs/include/openpal/*.h) + add_library(openpal ${LIB_TYPE} ${openpal_SRC}) +-install(TARGETS openpal DESTINATION lib) + set_target_properties(openpal PROPERTIES FOLDER cpp/libs VERSION ${OPENDNP3_VERSION} SOVERSION ${OPENDNP3_MAJOR_VERSION}) + clang_format(openpal) + clang_tidy(openpal) + ++include(CMakePackageConfigHelpers) ++write_basic_package_version_file(openpal-version.cmake VERSION ${OPENDNP3_VERSION} COMPATIBILITY ExactVersion) ++ ++install( ++ TARGETS openpal ++ EXPORT openpal-config ++ DESTINATION lib ++) ++ ++install( ++ EXPORT openpal-config ++ DESTINATION share/openpal ++) ++ + # ---- opendnp3 library ---- + file(GLOB_RECURSE opendnp3_SRC ./cpp/libs/src/opendnp3/*.cpp ./cpp/libs/src/opendnp3/*.h ./cpp/libs/include/opendnp3/*.h) + add_library(opendnp3 ${LIB_TYPE} ${opendnp3_SRC}) + target_link_libraries(opendnp3 openpal) +-install(TARGETS opendnp3 DESTINATION lib) ++ + set_target_properties(opendnp3 PROPERTIES FOLDER cpp/libs VERSION ${OPENDNP3_VERSION} SOVERSION ${OPENDNP3_MAJOR_VERSION}) + clang_format(opendnp3 EXCLUDES ".*/gen/.*" ".*/objects/.*") + clang_tidy(opendnp3) + ++write_basic_package_version_file(opendnp3-version.cmake VERSION ${OPENDNP3_VERSION} COMPATIBILITY ExactVersion) ++ ++set(PROJECT_NAME opendnp3) ++set(FIND_DEPENDS "find_dependency(openpal)") ++configure_package_config_file(opendnp3-config.cmake.in opendnp3-config.cmake ++ INSTALL_DESTINATION share/opendnp3 ++ PATH_VARS PROJECT_NAME FIND_DEPENDS ++) ++ ++install(FILES ${CMAKE_CURRENT_BINARY_DIR}/opendnp3-config.cmake DESTINATION share/opendnp3) ++ ++install( ++ TARGETS opendnp3 ++ EXPORT opendnp3-targets ++ DESTINATION lib ++) ++install( ++ EXPORT opendnp3-targets ++ DESTINATION share/opendnp3 ++) ++ + if(DNP3_DECODER) + file(GLOB_RECURSE dnp3decode_SRC ./cpp/libs/src/dnp3decode/*.cpp ./cpp/libs/src/dnp3decode/*.h ./cpp/libs/include/dnp3decode/*.h) + add_library(dnp3decode ${LIB_TYPE} ${dnp3decode_SRC}) +@@ -144,8 +178,7 @@ if(DNP3_TLS) + set(asiopal_link_libraries "${asiopal_link_libraries};${OPENSSL_LIBRARIES}") + endif() + +-target_link_libraries(asiopal ${asiopal_link_libraries}) +-install(TARGETS asiopal DESTINATION lib) ++target_link_libraries(asiopal PUBLIC ${asiopal_link_libraries}) + set_target_properties(asiopal PROPERTIES FOLDER cpp/libs VERSION ${OPENDNP3_VERSION} SOVERSION ${OPENDNP3_MAJOR_VERSION}) + if(FLOCK) + add_definitions(-DUSE_FLOCK) +@@ -153,6 +186,32 @@ endif() + clang_format(asiopal) + clang_tidy(asiopal) + ++install( ++ TARGETS asiopal ++ EXPORT asiopal-targets ++ DESTINATION lib ++) ++ ++write_basic_package_version_file(asiopal-version.cmake VERSION ${OPENDNP3_VERSION} COMPATIBILITY ExactVersion) ++ ++set(PROJECT_NAME asiopal) ++if (DNP3_TLS) ++ set(FIND_DEPENDS "find_dependency(openpal)\nfind_dependency(OpenSSL)") ++else() ++ set(FIND_DEPENDS "find_dependency(openpal)") ++endif() ++configure_package_config_file(opendnp3-config.cmake.in asiopal-config.cmake ++ INSTALL_DESTINATION share/asiopal ++ PATH_VARS PROJECT_NAME FIND_DEPENDS ++) ++ ++install(FILES ${CMAKE_CURRENT_BINARY_DIR}/asiopal-config.cmake DESTINATION share/asiopal) ++ ++install( ++ EXPORT asiopal-targets ++ DESTINATION share/asiopal ++) ++ + # ---- asiodnp3 library ---- + file(GLOB_RECURSE asiodnp3_HPP ./cpp/libs/src/asiodnp3/*.h ./cpp/libs/include/asiodnp3/*.h) + if(DNP3_TLS) +@@ -161,12 +220,33 @@ else() + file(GLOB asiodnp3_CPP ./cpp/libs/src/asiodnp3/*.cpp) + endif() + add_library(asiodnp3 ${LIB_TYPE} ${asiodnp3_HPP} ${asiodnp3_CPP}) +-target_link_libraries(asiodnp3 asiopal opendnp3) +-install(TARGETS asiodnp3 DESTINATION lib) ++target_link_libraries(asiodnp3 PUBLIC asiopal opendnp3) + set_target_properties(asiodnp3 PROPERTIES FOLDER cpp/libs VERSION ${OPENDNP3_VERSION} SOVERSION ${OPENDNP3_MAJOR_VERSION}) + clang_format(asiodnp3) + clang_tidy(asiodnp3) + ++install( ++ TARGETS asiodnp3 ++ EXPORT asiodnp3-targets ++ DESTINATION lib ++) ++ ++write_basic_package_version_file(asiopal-version.cmake VERSION ${OPENDNP3_VERSION} COMPATIBILITY ExactVersion) ++ ++set(PROJECT_NAME asiodnp3) ++set(FIND_DEPENDS "find_dependency(asiopal)\nfind_dependency(opendnp3)") ++configure_package_config_file(opendnp3-config.cmake.in asiodnp3-config.cmake ++ INSTALL_DESTINATION share/asiopal ++ PATH_VARS PROJECT_NAME FIND_DEPENDS ++) ++ ++install(FILES ${CMAKE_CURRENT_BINARY_DIR}/asiodnp3-config.cmake DESTINATION share/asiodnp3) ++ ++install( ++ EXPORT asiodnp3-targets ++ DESTINATION share/asiodnp3 ++) ++ + if(DNP3_JAVA) + file(GLOB_RECURSE opendnp3java_SRC ./java/cpp/*.h ./java/cpp/*.cpp) + add_library(opendnp3java SHARED ${opendnp3java_SRC}) diff --git a/ports/opendnp3/opendnp3-config.cmake.in b/ports/opendnp3/opendnp3-config.cmake.in new file mode 100644 index 000000000..79b2ef89e --- /dev/null +++ b/ports/opendnp3/opendnp3-config.cmake.in @@ -0,0 +1,22 @@ +# Copyright 2016 Proyectos y Sistemas de Mantenimiento SL (eProsima).
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+set(@PROJECT_NAME@_VERSION @PROJECT_VERSION@)
+
+@PACKAGE_INIT@
+
+include(CMakeFindDependencyMacro)
+@FIND_DEPENDS@
+
+include(${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@-targets.cmake)
\ No newline at end of file diff --git a/ports/opendnp3/portfile.cmake b/ports/opendnp3/portfile.cmake new file mode 100644 index 000000000..538f72639 --- /dev/null +++ b/ports/opendnp3/portfile.cmake @@ -0,0 +1,37 @@ +vcpkg_fail_port_install(ON_TARGET "uwp") + +if (VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" STATICLIBS) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO dnp3/opendnp3 + REF 2.3.2 + SHA512 41686b5c32234088a5af3c71769b0193deb10a95d623579508cc740f126f35c18796f761093cec12ead469f0088839a680cc7d137b2f762a80c1736d71c3d90a + HEAD_REF master + PATCHES export-cmake.patch +) + +file(COPY ${CURRENT_PORT_DIR}/opendnp3-config.cmake.in DESTINATION ${SOURCE_PATH}) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS -DSTATICLIBS=${STATICLIBS} -DDNP3_TLS=ON +) + +vcpkg_install_cmake() + +vcpkg_copy_pdbs() + +vcpkg_fixup_cmake_targets(CONFIG_PATH share/asiodnp3 TARGET_PATH share/asiodnp3) +vcpkg_fixup_cmake_targets(CONFIG_PATH share/asiopal TARGET_PATH share/asiopal) +vcpkg_fixup_cmake_targets(CONFIG_PATH share/opendnp3 TARGET_PATH share/opendnp3) +vcpkg_fixup_cmake_targets(CONFIG_PATH share/openpal TARGET_PATH share/openpal) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/openexr/CONTROL b/ports/openexr/CONTROL index 5fc8b52d6..7d8759237 100644 --- a/ports/openexr/CONTROL +++ b/ports/openexr/CONTROL @@ -1,5 +1,5 @@ Source: openexr -Version: 2.3.0-4 +Version: 2.3.0-5 Homepage: https://www.openexr.com/ Description: OpenEXR is a high dynamic-range (HDR) image file format developed by Industrial Light & Magic for use in computer imaging applications Build-Depends: zlib diff --git a/ports/openexr/FindOpenEXR.cmake b/ports/openexr/FindOpenEXR.cmake index 4b5b280a0..f036c742e 100644 --- a/ports/openexr/FindOpenEXR.cmake +++ b/ports/openexr/FindOpenEXR.cmake @@ -49,7 +49,7 @@ endif() if(NOT OpenEXR_IEXMATH_LIBRARY) find_library(OpenEXR_IEXMATH_LIBRARY_RELEASE NAMES IexMath-${OpenEXR_LIB_SUFFIX}) - find_library(OpenEXR_IEXMATH_LIBRARY_DEBUG NAMES IexMath-${OpenEXR_LIB_SUFFIX}d) + find_library(OpenEXR_IEXMATH_LIBRARY_DEBUG NAMES IexMath-${OpenEXR_LIB_SUFFIX}_d) select_library_configurations(OpenEXR_IEXMATH) endif() diff --git a/ports/openmvg/CONTROL b/ports/openmvg/CONTROL index 7e7384a19..7f883548d 100644 --- a/ports/openmvg/CONTROL +++ b/ports/openmvg/CONTROL @@ -1,5 +1,5 @@ Source: openmvg -Version: 1.4-6 +Version: 1.4-7 Description: open Multiple View Geometry library. Basis for 3D computer vision and Structure from Motion. Build-Depends: coinutils, clp, osi, liblemon, flann, eigen3, ceres, cereal, libjpeg-turbo, tiff, libpng, zlib, suitesparse diff --git a/ports/openmvg/fix-config-cmake.patch b/ports/openmvg/fix-config-cmake.patch new file mode 100644 index 000000000..f229502ce --- /dev/null +++ b/ports/openmvg/fix-config-cmake.patch @@ -0,0 +1,13 @@ +diff --git a/src/cmakeFindModules/OpenMVGConfig.cmake.in b/src/cmakeFindModules/OpenMVGConfig.cmake.in +index e7dfbfd..357a25c 100644 +--- a/src/cmakeFindModules/OpenMVGConfig.cmake.in ++++ b/src/cmakeFindModules/OpenMVGConfig.cmake.in +@@ -61,7 +61,7 @@ set(CMAKE_MODULE_PATH ${CURRENT_CONFIG_INSTALL_DIR}) + + # Build the absolute root install directory as a relative path + get_filename_component(CURRENT_ROOT_INSTALL_DIR +- ${CMAKE_MODULE_PATH}/../../../ ABSOLUTE) ++ ${CMAKE_MODULE_PATH}/../../ ABSOLUTE) + if (NOT EXISTS ${CURRENT_ROOT_INSTALL_DIR}) + OPENMVG_REPORT_NOT_FOUND( + "OpenMVG install root: ${CURRENT_ROOT_INSTALL_DIR}, " diff --git a/ports/openmvg/portfile.cmake b/ports/openmvg/portfile.cmake index 9f517c11f..6f4d5891f 100644 --- a/ports/openmvg/portfile.cmake +++ b/ports/openmvg/portfile.cmake @@ -1,5 +1,3 @@ -include(vcpkg_common_functions) - vcpkg_buildpath_length_warning(37) #the port produces some empty dlls when building shared libraries, since some components do not export anything, breaking the internal build itself @@ -12,6 +10,13 @@ vcpkg_from_github( SHA512 949cf3680375c87b06db0f4713c846422c98d1979d49e9db65761f63f6f3212f0fcd8425f23c6112f04fbbb90b241638c2fd9329bb6b8b612c1d073aac55759a PATCHES fixcmake.patch + fix-config-cmake.patch +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + openmp OpenMVG_USE_OPENMP + opencv OpenMVG_USE_OPENCV + opencv OpenMVG_USE_OCVSIFT ) set(ENABLE_OPENCV OFF) @@ -25,28 +30,28 @@ if("openmp" IN_LIST FEATURES) endif() # remove some deps to prevent conflict -file(REMOVE_RECURSE ${SOURCE_PATH}/src/third_party/ceres-solver) -file(REMOVE_RECURSE ${SOURCE_PATH}/src/third_party/cxsparse) -file(REMOVE_RECURSE ${SOURCE_PATH}/src/third_party/eigen) -file(REMOVE_RECURSE ${SOURCE_PATH}/src/third_party/flann) -file(REMOVE_RECURSE ${SOURCE_PATH}/src/third_party/jpeg) -file(REMOVE_RECURSE ${SOURCE_PATH}/src/third_party/lemon) -file(REMOVE_RECURSE ${SOURCE_PATH}/src/third_party/png) -file(REMOVE_RECURSE ${SOURCE_PATH}/src/third_party/tiff) -file(REMOVE_RECURSE ${SOURCE_PATH}/src/third_party/zlib) +file(REMOVE_RECURSE ${SOURCE_PATH}/src/third_party/ceres-solver + ${SOURCE_PATH}/src/third_party/cxsparse + ${SOURCE_PATH}/src/third_party/eigen + ${SOURCE_PATH}/src/third_party/flann + ${SOURCE_PATH}/src/third_party/jpeg + ${SOURCE_PATH}/src/third_party/lemon + ${SOURCE_PATH}/src/third_party/png + ${SOURCE_PATH}/src/third_party/tiff + ${SOURCE_PATH}/src/third_party/zlib) # remove some cmake modules to force using our configs -file(REMOVE_RECURSE ${SOURCE_PATH}/src/cmakeFindModules/FindEigen.cmake) -file(REMOVE_RECURSE ${SOURCE_PATH}/src/cmakeFindModules/FindLemon.cmake) -file(REMOVE_RECURSE ${SOURCE_PATH}/src/cmakeFindModules/FindFlann.cmake) -file(REMOVE_RECURSE ${SOURCE_PATH}/src/cmakeFindModules/FindCoinUtils.cmake) -file(REMOVE_RECURSE ${SOURCE_PATH}/src/cmakeFindModules/FindClp.cmake) -file(REMOVE_RECURSE ${SOURCE_PATH}/src/cmakeFindModules/FindOsi.cmake) +file(REMOVE_RECURSE ${SOURCE_PATH}/src/cmakeFindModules/FindEigen.cmake + ${SOURCE_PATH}/src/cmakeFindModules/FindLemon.cmake + ${SOURCE_PATH}/src/cmakeFindModules/FindFlann.cmake + ${SOURCE_PATH}/src/cmakeFindModules/FindCoinUtils.cmake + ${SOURCE_PATH}/src/cmakeFindModules/FindClp.cmake + ${SOURCE_PATH}/src/cmakeFindModules/FindOsi.cmake) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH}/src PREFER_NINJA - OPTIONS + OPTIONS ${FEATURE_OPTIONS} -DOpenMVG_BUILD_SHARED=OFF -DOpenMVG_BUILD_TESTS=OFF -DOpenMVG_BUILD_DOC=OFF @@ -55,9 +60,6 @@ vcpkg_configure_cmake( -DOpenMVG_BUILD_SOFTWARES=OFF -DOpenMVG_BUILD_GUI_SOFTWARES=OFF -DOpenMVG_BUILD_COVERAGE=OFF - -DOpenMVG_USE_OPENMP=${ENABLE_OPENMP} - -DOpenMVG_USE_OPENCV=${ENABLE_OPENCV} - -DOpenMVG_USE_OCVSIFT=${ENABLE_OPENCV} -DOpenMVG_USE_INTERNAL_CLP=OFF -DOpenMVG_USE_INTERNAL_COINUTILS=OFF -DOpenMVG_USE_INTERNAL_OSI=OFF @@ -70,8 +72,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_fixup_cmake_targets(CONFIG_PATH share/openMVG/cmake) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) #remove extra deprecated cmake target files left in unappropriate folders file(GLOB REMOVE_CMAKE ${CURRENT_PACKAGES_DIR}/lib/*.cmake) @@ -79,8 +80,8 @@ file(REMOVE_RECURSE ${REMOVE_CMAKE}) file(GLOB REMOVE_CMAKE ${CURRENT_PACKAGES_DIR}/debug/lib/*.cmake) file(REMOVE_RECURSE ${REMOVE_CMAKE}) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/openMVG/image/image_test) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/openMVG/exif/image_data) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/openMVG/image/image_test + ${CURRENT_PACKAGES_DIR}/include/openMVG/exif/image_data) if(OpenMVG_BUILD_SHARED) # release diff --git a/ports/openmvs/CONTROL b/ports/openmvs/CONTROL index 8efa8ff0a..067600b84 100644 --- a/ports/openmvs/CONTROL +++ b/ports/openmvs/CONTROL @@ -1,4 +1,4 @@ Source: openmvs -Version: 1.0-2 +Version: 1.0.1 Description: OpenMVS: open Multi-View Stereo reconstruction library Build-Depends: zlib, boost-iostreams, boost-program-options, boost-system, boost-serialization, eigen3, ceres, opencv, cgal[core], glew, glfw3, vcglib diff --git a/ports/openmvs/boost-1.71.patch b/ports/openmvs/boost-1.71.patch deleted file mode 100644 index 9f3ff50a7..000000000 --- a/ports/openmvs/boost-1.71.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/libs/Common/Types.h b/libs/Common/Types.h
-index aad57d1..ef21380 100644
---- a/libs/Common/Types.h
-+++ b/libs/Common/Types.h
-@@ -88,7 +88,7 @@
- #define BOOST_NO_EXCEPTIONS
- #endif
- #ifdef BOOST_NO_EXCEPTIONS
--namespace boost { void throw_exception(std::exception const&); }
-+#include <boost/throw_exception.hpp>
- #endif
- #define BOOST_NO_UNREACHABLE_RETURN_DETECTION
- // include headers that implement serialization support
diff --git a/ports/openmvs/glfw3_target_compat.patch b/ports/openmvs/glfw3_target_compat.patch deleted file mode 100644 index 85cbb5490..000000000 --- a/ports/openmvs/glfw3_target_compat.patch +++ /dev/null @@ -1,43 +0,0 @@ -diff --git a/apps/Viewer/CMakeLists.txt b/apps/Viewer/CMakeLists.txt -index f1690a6..78466cd 100644 ---- a/apps/Viewer/CMakeLists.txt -+++ b/apps/Viewer/CMakeLists.txt -@@ -16,28 +16,7 @@ else() - MESSAGE("-- Can't find GLEW. Continuing without it.") - RETURN() - endif() --if(CMAKE_COMPILER_IS_GNUCXX) -- FIND_PACKAGE(PkgConfig QUIET) -- pkg_search_module(GLFW QUIET glfw3) -- if(GLFW_FOUND) -- INCLUDE_DIRECTORIES(${GLFW_INCLUDE_DIRS}) -- ADD_DEFINITIONS(${GLFW_DEFINITIONS}) -- MESSAGE(STATUS "GLFW3 ${GLFW_VERSION} found (include: ${GLFW_INCLUDE_DIRS})") -- else() -- MESSAGE("-- Can't find GLFW3. Continuing without it.") -- RETURN() -- endif() --else() -- FIND_PACKAGE(glfw3 QUIET) -- if(glfw3_FOUND) -- INCLUDE_DIRECTORIES(${glfw3_INCLUDE_DIRS}) -- ADD_DEFINITIONS(${glfw3_DEFINITIONS}) -- MESSAGE(STATUS "GLFW3 ${glfw3_VERSION} found (include: ${glfw3_INCLUDE_DIRS})") -- else() -- MESSAGE("-- Can't find GLFW3. Continuing without it.") -- RETURN() -- endif() --endif() -+FIND_PACKAGE(glfw3 REQUIRED) - - # List sources files - FILE(GLOB PCH_C "Common.cpp") -@@ -54,7 +33,7 @@ FILE(GLOB LIBRARY_FILES_H "*.h" "*.inl") - LIST(REMOVE_ITEM LIBRARY_FILES_C ${PCH_C}) - SET(LIBRARY_FILES_C "${PCH_C};${LIBRARY_FILES_C}") - --cxx_executable_with_flags_no_pch(${VIEWER_NAME} "Apps" "${cxx_default}" "MVS;${OPENGL_LIBRARIES};${GLEW_LIBRARY};${GLFW_STATIC_LIBRARIES};GLEW::GLEW;${glfw3_LIBRARY};${GLFW3_LIBRARY};glfw" ${LIBRARY_FILES_C} ${LIBRARY_FILES_H}) -+cxx_executable_with_flags_no_pch(${VIEWER_NAME} "Apps" "${cxx_default}" "MVS;${OPENGL_LIBRARIES};${GLEW_LIBRARY};GLEW::GLEW;glfw" ${LIBRARY_FILES_C} ${LIBRARY_FILES_H}) - - # Manually set Common.h as the precompiled header - set_target_pch(${VIEWER_NAME} Common.h) diff --git a/ports/openmvs/portfile.cmake b/ports/openmvs/portfile.cmake index 6eb30f6f8..afdebda86 100644 --- a/ports/openmvs/portfile.cmake +++ b/ports/openmvs/portfile.cmake @@ -5,12 +5,9 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO cdcseacave/openMVS - REF v1.0 - SHA512 d5743660286068d2ec9e80b8cfdf1dd612d76f12f1f10c95d32bab55ae65032a200d820f2c76e4781068c61597e2533df8755fd5d9076d3aac9223134eb5b561 + REF 7110659a3f5181397bc2549cea15d5350cd25c9d + SHA512 e484a88e0040b69e489476ef20c06184d2dc2bf42452b965b4997a717c2d1f19ab7cd695563c4faacdb0ec8705d072bcfd568d7b3a32e4e8b8c632bcec57e15c HEAD_REF master - PATCHES - glfw3_target_compat.patch - boost-1.71.patch ) vcpkg_configure_cmake( diff --git a/ports/openssl-unix/CMakeLists.txt b/ports/openssl-unix/CMakeLists.txt index f9d94b1a2..c3203cb91 100644 --- a/ports/openssl-unix/CMakeLists.txt +++ b/ports/openssl-unix/CMakeLists.txt @@ -8,8 +8,8 @@ endif() if(CMAKE_SYSTEM_NAME STREQUAL "Android")
set(PLATFORM android)
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
- if(CMAKE_SYSTEM_PROCESSOR STREQUAL "AMD64")
- set(PLATFORM linux-generic64)
+ if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
+ set(PLATFORM linux-x86_64)
else()
set(PLATFORM linux-generic32)
endif()
@@ -119,7 +119,6 @@ add_custom_command( ${SHARED}
enable-static-engine
no-ssl2
- no-krb5
no-idea
no-bf
no-cast
@@ -134,20 +133,13 @@ add_custom_command( WORKING_DIRECTORY "${BUILDDIR}"
)
-add_custom_target(depend
- COMMAND ${ENV_COMMAND} "PATH=${MSYS_BIN_DIR}${PATH_VAR}"
- COMMAND "${MAKE}" links # depend MAKEDEPPROG=${CMAKE_C_COMPILER}
- VERBATIM
- WORKING_DIRECTORY "${BUILDDIR}"
- DEPENDS "${BUILDDIR}/Makefile"
-)
add_custom_target(build_libs ALL
COMMAND ${ENV_COMMAND} "PATH=${MSYS_BIN_DIR}${PATH_VAR}"
COMMAND "${CMAKE_COMMAND}" -E touch "${BUILDDIR}/krb5.h"
COMMAND "${MAKE}" build_libs
VERBATIM
WORKING_DIRECTORY "${BUILDDIR}"
- DEPENDS depend
+ DEPENDS "${BUILDDIR}/Makefile"
BYPRODUCTS ${INSTALL_LIBS}
)
diff --git a/ports/openssl-unix/CONTROL b/ports/openssl-unix/CONTROL index 873046ca8..b2a55c187 100644 --- a/ports/openssl-unix/CONTROL +++ b/ports/openssl-unix/CONTROL @@ -1,3 +1,3 @@ Source: openssl-unix -Version: 1.0.2s-1 +Version: 1.1.1d-1 Description: OpenSSL is an open source project that provides a robust, commercial-grade, and full-featured toolkit for the Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols. It is also a general-purpose cryptography library. diff --git a/ports/openssl-unix/portfile.cmake b/ports/openssl-unix/portfile.cmake index a5915f1b9..1c1bbae0c 100644 --- a/ports/openssl-unix/portfile.cmake +++ b/ports/openssl-unix/portfile.cmake @@ -13,22 +13,18 @@ endif() vcpkg_find_acquire_program(PERL) -set(OPENSSL_VERSION 1.0.2s) +set(OPENSSL_VERSION 1.1.1d) 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" + URLS "https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz" "https://www.openssl.org/source/old/1.1.1/openssl-${OPENSSL_VERSION}.tar.gz" FILENAME "openssl-${OPENSSL_VERSION}.tar.gz" - SHA512 9f745452c4f777df694158e95003cde78a2cf8199bc481a563ec36644664c3c1415a774779b9791dd18f2aeb57fa1721cb52b3db12d025955e970071d5b66d2a + SHA512 2bc9f528c27fe644308eb7603c992bac8740e9f0c3601a130af30c9ffebbf7e0f5c28b76a00bbb478bad40fbe89b4223a58d604001e1713da71ff4b7fe6a08a7 ) vcpkg_extract_source_archive_ex( OUT_SOURCE_PATH MASTER_COPY_SOURCE_PATH ARCHIVE ${OPENSSL_SOURCE_ARCHIVE} REF ${OPENSSL_VERSION} - PATCHES - ConfigureIncludeQuotesFix.patch - STRINGIFYPatch.patch - EmbedSymbolsInStaticLibsZ7.patch ) if(CMAKE_HOST_WIN32) diff --git a/ports/openssl-unix/vcpkg-cmake-wrapper.cmake b/ports/openssl-unix/vcpkg-cmake-wrapper.cmake index 82313bdab..044bc7b79 100644 --- a/ports/openssl-unix/vcpkg-cmake-wrapper.cmake +++ b/ports/openssl-unix/vcpkg-cmake-wrapper.cmake @@ -7,4 +7,12 @@ if(OPENSSL_FOUND) set_property(TARGET OpenSSL::Crypto APPEND PROPERTY INTERFACE_LINK_LIBRARIES "dl")
endif()
endif()
+ find_package(Threads REQUIRED)
+ find_package(ZLIB REQUIRED)
+ list(APPEND OPENSSL_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})
+ list(APPEND OPENSSL_LIBRARIES ${ZLIB_LIBRARIES})
+ target_link_libraries(OpenSSL::Crypto INTERFACE Threads::Threads)
+ target_link_libraries(OpenSSL::SSL INTERFACE Threads::Threads)
+ target_link_libraries(OpenSSL::Crypto INTERFACE ZLIB::ZLIB)
+ target_link_libraries(OpenSSL::SSL INTERFACE ZLIB::ZLIB)
endif()
diff --git a/ports/openssl-uwp/CONTROL b/ports/openssl-uwp/CONTROL index c11c10124..7327b57b1 100644 --- a/ports/openssl-uwp/CONTROL +++ b/ports/openssl-uwp/CONTROL @@ -1,3 +1,3 @@ Source: openssl-uwp -Version: 1.0.2r-1 +Version: 1.1.1d 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-uwp/EnableUWPSupport.patch b/ports/openssl-uwp/EnableUWPSupport.patch new file mode 100644 index 000000000..8ec26a6de --- /dev/null +++ b/ports/openssl-uwp/EnableUWPSupport.patch @@ -0,0 +1,175 @@ +diff --git a/Configurations/10-main.conf b/Configurations/10-main.conf +index 3c4299d264..99fcb1f713 100644 +--- a/Configurations/10-main.conf ++++ b/Configurations/10-main.conf +@@ -1287,7 +1287,7 @@ my %targets = ( + }, + "VC-WIN64I" => { + inherit_from => [ "VC-WIN64-common", asm("ia64_asm"), +- sub { $disabled{shared} ? () : "ia64_uplink" } ], ++ sub { $disabled{uplink} ? () : "ia64_uplink" } ], + AS => "ias", + ASFLAGS => "-d debug", + asoutflag => "-o ", +@@ -1299,7 +1299,7 @@ my %targets = ( + }, + "VC-WIN64A" => { + inherit_from => [ "VC-WIN64-common", asm("x86_64_asm"), +- sub { $disabled{shared} ? () : "x86_64_uplink" } ], ++ sub { $disabled{uplink} ? () : "x86_64_uplink" } ], + AS => sub { vc_win64a_info()->{AS} }, + ASFLAGS => sub { vc_win64a_info()->{ASFLAGS} }, + asoutflag => sub { vc_win64a_info()->{asoutflag} }, +@@ -1312,7 +1312,7 @@ my %targets = ( + }, + "VC-WIN32" => { + inherit_from => [ "VC-noCE-common", asm("x86_asm"), +- sub { $disabled{shared} ? () : "uplink_common" } ], ++ sub { $disabled{uplink} ? () : "uplink_common" } ], + CFLAGS => add("/WX"), + AS => sub { vc_win32_info()->{AS} }, + ASFLAGS => sub { vc_win32_info()->{ASFLAGS} }, +@@ -1375,7 +1375,7 @@ my %targets = ( + #### MinGW + "mingw" => { + inherit_from => [ "BASE_unix", asm("x86_asm"), +- sub { $disabled{shared} ? () : "x86_uplink" } ], ++ sub { $disabled{uplink} ? () : "x86_uplink" } ], + CC => "gcc", + CFLAGS => picker(default => "-Wall", + debug => "-g -O0", +diff --git a/Configurations/50-win-onecore.conf b/Configurations/50-win-onecore.conf +index d478f42b0f..e0fb70daca 100644 +--- a/Configurations/50-win-onecore.conf ++++ b/Configurations/50-win-onecore.conf +@@ -1,3 +1,4 @@ ++## -*- mode: perl; -*- + # Windows OneCore targets. + # + # OneCore is new API stability "contract" that transcends Desktop, IoT and +@@ -10,6 +11,25 @@ + # TODO: extend error handling to use ETW based eventing + # (Or rework whole error messaging) + ++my $UWP_info = {}; ++sub UWP_info { ++ unless (%$UWP_info) { ++ my $SDKver = `powershell -Command \"& {\$(Get-Item \\\"hklm:\\SOFTWARE\\WOW6432Node\\Microsoft\\Microsoft SDKs\\Windows\\\").GetValue(\\\"CurrentVersion\\\")}\"`; ++ $SDKver =~ s|\R$||; ++ my @SDKver_split = split(/\./, $SDKver); ++ # SDK version older than 10.0.17763 don't support our ASM builds ++ if ($SDKver_split[0] < 10 ++ || ($SDKver_split[0] == 10 ++ && $SDKver_split[1] == 0 ++ && $SDKver_split[2] < 17763)) { ++ $UWP_info->{disable} = [ 'asm' ]; ++ } else { ++ $UWP_info->{disable} = [ ]; ++ } ++ } ++ return $UWP_info; ++} ++ + my %targets = ( + "VC-WIN32-ONECORE" => { + inherit_from => [ "VC-WIN32" ], +@@ -61,4 +81,57 @@ my %targets = ( + ex_libs => "onecore.lib", + multilib => "-arm64", + }, ++ ++ # Universal Windows Platform (UWP) App Support ++ ++ # TODO ++ # ++ # The 'disable' attribute should have 'uplink'. ++ # however, these are checked in some 'inherit_from', which is processed ++ # very early, before the 'disable' attributes are seen. ++ # This is a problem that needs to be resolved in Configure first. ++ # ++ # But if you want to build library with Windows 10 Version 1809 SDK or ++ # earlier, the 'disable' attribute should also have 'asm'. ++ ++ "VC-WIN32-UWP" => { ++ inherit_from => [ "VC-WIN32-ONECORE" ], ++ lflags => add("/APPCONTAINER"), ++ defines => add("WINAPI_FAMILY=WINAPI_FAMILY_APP", ++ "_WIN32_WINNT=0x0A00"), ++ dso_scheme => "", ++ disable => sub { [ 'ui-console', 'stdio', 'async', 'uplink', ++ @{ UWP_info()->{disable} } ] }, ++ ex_libs => "WindowsApp.lib", ++ }, ++ "VC-WIN64A-UWP" => { ++ inherit_from => [ "VC-WIN64A-ONECORE" ], ++ lflags => add("/APPCONTAINER"), ++ defines => add("WINAPI_FAMILY=WINAPI_FAMILY_APP", ++ "_WIN32_WINNT=0x0A00"), ++ dso_scheme => "", ++ disable => sub { [ 'ui-console', 'stdio', 'async', 'uplink', ++ @{ UWP_info()->{disable} } ] }, ++ ex_libs => "WindowsApp.lib", ++ }, ++ "VC-WIN32-ARM-UWP" => { ++ inherit_from => [ "VC-WIN32-ARM" ], ++ lflags => add("/APPCONTAINER"), ++ defines => add("WINAPI_FAMILY=WINAPI_FAMILY_APP", ++ "_WIN32_WINNT=0x0A00"), ++ dso_scheme => "", ++ disable => sub { [ 'ui-console', 'stdio', 'async', 'uplink', ++ @{ UWP_info()->{disable} } ] }, ++ ex_libs => "WindowsApp.lib", ++ }, ++ "VC-WIN64-ARM-UWP" => { ++ inherit_from => [ "VC-WIN64-ARM" ], ++ lflags => add("/APPCONTAINER"), ++ defines => add("WINAPI_FAMILY=WINAPI_FAMILY_APP", ++ "_WIN32_WINNT=0x0A00"), ++ dso_scheme => "", ++ disable => sub { [ 'ui-console', 'stdio', 'async', 'uplink', ++ @{ UWP_info()->{disable} } ] }, ++ ex_libs => "WindowsApp.lib", ++ }, + ); +diff --git a/Configure b/Configure +index 5a699836f3..de45f1e299 100755 +--- a/Configure ++++ b/Configure +@@ -1,4 +1,5 @@ + #! /usr/bin/env perl ++#! /usr/bin/env perl + # -*- mode: perl; -*- + # Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. + # +@@ -407,6 +408,7 @@ my @disablables = ( + "ubsan", + "ui-console", + "unit-test", ++ "uplink", + "whirlpool", + "weak-ssl-ciphers", + "zlib", +@@ -479,7 +481,7 @@ my @disable_cascades = ( + + # Without position independent code, there can be no shared libraries or DSOs + "pic" => [ "shared" ], +- "shared" => [ "dynamic-engine" ], ++ "shared" => [ "dynamic-engine", "uplink" ], + "engine" => [ "afalgeng", "devcryptoeng" ], + + # no-autoalginit is only useful when building non-shared +diff --git a/INSTALL b/INSTALL +index 2119cbae9e..ee54e8c215 100644 +--- a/INSTALL ++++ b/INSTALL +@@ -560,6 +560,10 @@ + likely to complement configuration command line with + suitable compiler-specific option. + ++ no-uplink ++ Don't build support for UPLINK interface. ++ ++ + no-<prot> + Don't build support for negotiating the specified SSL/TLS + protocol (one of ssl, ssl3, tls, tls1, tls1_1, tls1_2, diff --git a/ports/openssl-uwp/portfile.cmake b/ports/openssl-uwp/portfile.cmake index 0a80bc326..c11763ee6 100644 --- a/ports/openssl-uwp/portfile.cmake +++ b/ports/openssl-uwp/portfile.cmake @@ -30,63 +30,166 @@ get_filename_component(JOM_EXE_PATH ${JOM} DIRECTORY) get_filename_component(PERL_EXE_PATH ${PERL} DIRECTORY) set(ENV{PATH} "$ENV{PATH};${PERL_EXE_PATH};${JOM_EXE_PATH}") -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO Microsoft/openssl - REF OpenSSL_1_0_2r_WinRT - SHA512 3045693fca4b042b69675f6164d8cc82106582cf31081d65a0adbd528f04e77fa48b3761f3be7bdf8ab962a093b28fec0ae6d7da02058f2b049f79b784c39c2e - HEAD_REF master - PATCHES - fix-uwp-configure-unicode.patch -) +set(OPENSSL_VERSION 1.1.1d) -file(REMOVE_RECURSE ${SOURCE_PATH}/tmp32dll) -file(REMOVE_RECURSE ${SOURCE_PATH}/out32dll) -file(REMOVE_RECURSE ${SOURCE_PATH}/inc32dll) +vcpkg_download_distfile(ARCHIVE + URLS "https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz" "https://www.openssl.org/source/old/1.1.1/openssl-${OPENSSL_VERSION}.tar.gz" + FILENAME "openssl-${OPENSSL_VERSION}.tar.gz" + SHA512 2bc9f528c27fe644308eb7603c992bac8740e9f0c3601a130af30c9ffebbf7e0f5c28b76a00bbb478bad40fbe89b4223a58d604001e1713da71ff4b7fe6a08a7 +) -file( - COPY ${CMAKE_CURRENT_LIST_DIR}/make-openssl.bat - DESTINATION ${SOURCE_PATH} +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + PATCHES + EnableUWPSupport.patch ) -message(STATUS "Build ${TARGET_TRIPLET}") -vcpkg_execute_required_process( - COMMAND ${SOURCE_PATH}/make-openssl.bat ${UWP_PLATFORM} - WORKING_DIRECTORY ${SOURCE_PATH} - LOGNAME make-openssl-${TARGET_TRIPLET} +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-unit-test + no-ssl2 + no-asm + no-uplink + -utf-8 + shared ) -message(STATUS "Build ${TARGET_TRIPLET} done") -file( - COPY ${SOURCE_PATH}/inc32/openssl - DESTINATION ${CURRENT_PACKAGES_DIR}/include +if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + set(OPENSSL_ARCH VC-WIN32-UWP) +elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + set(OPENSSL_ARCH VC-WIN64A-UWP) +elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") + set(OPENSSL_ARCH VC-WIN32-ARM-UWP) +elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + set(OPENSSL_ARCH VC-WIN64-ARM-UWP) +else() + message(FATAL_ERROR "Unsupported target architecture: ${VCPKG_TARGET_ARCHITECTURE}") +endif() + +set(OPENSSL_MAKEFILE "makefile") + +file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg) + + +if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + + # Copy openssl sources. + message(STATUS "Copying openssl release source files...") + file(GLOB OPENSSL_SOURCE_FILES ${SOURCE_PATH}/*) + foreach(SOURCE_FILE ${OPENSSL_SOURCE_FILES}) + file(COPY ${SOURCE_FILE} DESTINATION "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") + endforeach() + message(STATUS "Copying openssl release source files... done") + set(SOURCE_PATH_RELEASE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") + + set(OPENSSLDIR_RELEASE ${CURRENT_PACKAGES_DIR}) + + message(STATUS "Configure ${TARGET_TRIPLET}-rel") + 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 + ) + 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} build_libs + 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_dev + WORKING_DIRECTORY ${SOURCE_PATH_RELEASE} + LOGNAME build-${TARGET_TRIPLET}-rel-1) + + message(STATUS "Build ${TARGET_TRIPLET}-rel done") +endif() + + +if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + # Copy openssl sources. + message(STATUS "Copying openssl debug source files...") + file(GLOB OPENSSL_SOURCE_FILES ${SOURCE_PATH}/*) + foreach(SOURCE_FILE ${OPENSSL_SOURCE_FILES}) + file(COPY ${SOURCE_FILE} DESTINATION "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") + endforeach() + message(STATUS "Copying openssl debug source files... done") + set(SOURCE_PATH_DEBUG "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") + + set(OPENSSLDIR_DEBUG ${CURRENT_PACKAGES_DIR}/debug) + + message(STATUS "Configure ${TARGET_TRIPLET}-dbg") + vcpkg_execute_required_process( + COMMAND ${CONFIGURE_COMMAND} debug-${OPENSSL_ARCH} "--prefix=${OPENSSLDIR_DEBUG}" "--openssldir=${OPENSSLDIR_DEBUG}" -FS + WORKING_DIRECTORY ${SOURCE_PATH_DEBUG} + LOGNAME configure-perl-${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} build_libs + 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_dev + WORKING_DIRECTORY ${SOURCE_PATH_DEBUG} + LOGNAME build-${TARGET_TRIPLET}-dbg-1) + + message(STATUS "Build ${TARGET_TRIPLET}-dbg done") +endif() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/certs) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/private) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/engines-1_1) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/certs) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/engines-1_1) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/private) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + + + +file(REMOVE + ${CURRENT_PACKAGES_DIR}/bin/openssl.exe + ${CURRENT_PACKAGES_DIR}/debug/bin/openssl.exe + ${CURRENT_PACKAGES_DIR}/debug/openssl.cnf + ${CURRENT_PACKAGES_DIR}/openssl.cnf + ${CURRENT_PACKAGES_DIR}/ct_log_list.cnf + ${CURRENT_PACKAGES_DIR}/ct_log_list.cnf.dist + ${CURRENT_PACKAGES_DIR}/openssl.cnf.dist + ${CURRENT_PACKAGES_DIR}/debug/ct_log_list.cnf + ${CURRENT_PACKAGES_DIR}/debug/ct_log_list.cnf.dist + ${CURRENT_PACKAGES_DIR}/debug/openssl.cnf.dist ) -file(INSTALL - ${SOURCE_PATH}/out32dll/libeay32.dll - ${SOURCE_PATH}/out32dll/libeay32.pdb - ${SOURCE_PATH}/out32dll/ssleay32.dll - ${SOURCE_PATH}/out32dll/ssleay32.pdb - DESTINATION ${CURRENT_PACKAGES_DIR}/bin) - -file(INSTALL - ${SOURCE_PATH}/out32dll/libeay32.lib - ${SOURCE_PATH}/out32dll/ssleay32.lib - DESTINATION ${CURRENT_PACKAGES_DIR}/lib) - -file(INSTALL - ${SOURCE_PATH}/out32dll/libeay32.dll - ${SOURCE_PATH}/out32dll/libeay32.pdb - ${SOURCE_PATH}/out32dll/ssleay32.dll - ${SOURCE_PATH}/out32dll/ssleay32.pdb - DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) - -file(INSTALL - ${SOURCE_PATH}/out32dll/libeay32.lib - ${SOURCE_PATH}/out32dll/ssleay32.lib - DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +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 ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) vcpkg_test_cmake(PACKAGE_NAME OpenSSL MODULE) diff --git a/ports/openssl-windows/CONTROL b/ports/openssl-windows/CONTROL index eb1d910c8..18f2afc5e 100644 --- a/ports/openssl-windows/CONTROL +++ b/ports/openssl-windows/CONTROL @@ -1,3 +1,3 @@ Source: openssl-windows -Version: 1.0.2s-2 +Version: 1.1.1d 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/portfile.cmake b/ports/openssl-windows/portfile.cmake index 22dfe8274..f8319d2fd 100644 --- a/ports/openssl-windows/portfile.cmake +++ b/ports/openssl-windows/portfile.cmake @@ -12,26 +12,20 @@ endif() vcpkg_find_acquire_program(PERL) -set(OPENSSL_VERSION 1.0.2s) +set(OPENSSL_VERSION 1.1.1d) get_filename_component(PERL_EXE_PATH ${PERL} DIRECTORY) set(ENV{PATH} "$ENV{PATH};${PERL_EXE_PATH}") vcpkg_download_distfile(ARCHIVE - URLS "https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz" "https://www.openssl.org/source/old/1.0.2/openssl-${OPENSSL_VERSION}.tar.gz" + URLS "https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz" "https://www.openssl.org/source/old/1.1.1/openssl-${OPENSSL_VERSION}.tar.gz" FILENAME "openssl-${OPENSSL_VERSION}.tar.gz" - SHA512 9f745452c4f777df694158e95003cde78a2cf8199bc481a563ec36644664c3c1415a774779b9791dd18f2aeb57fa1721cb52b3db12d025955e970071d5b66d2a + SHA512 2bc9f528c27fe644308eb7603c992bac8740e9f0c3601a130af30c9ffebbf7e0f5c28b76a00bbb478bad40fbe89b4223a58d604001e1713da71ff4b7fe6a08a7 ) vcpkg_extract_source_archive_ex( OUT_SOURCE_PATH SOURCE_PATH ARCHIVE ${ARCHIVE} - PATCHES - ConfigureIncludeQuotesFix.patch - STRINGIFYPatch.patch - EnableWinARM32.patch - EmbedSymbolsInStaticLibsZ7.patch - EnableWinARM64.patch ) vcpkg_find_acquire_program(NASM) @@ -40,42 +34,32 @@ set(ENV{PATH} "${NASM_EXE_PATH};$ENV{PATH}") vcpkg_find_acquire_program(JOM) +set(OPENSSL_SHARED no-shared) +if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + set(OPENSSL_SHARED shared) +endif() + set(CONFIGURE_COMMAND ${PERL} Configure enable-static-engine enable-capieng no-ssl2 -utf-8 + ${OPENSSL_SHARED} ) 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") elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") - set(OPENSSL_ARCH VC-WIN32) - set(OPENSSL_DO "ms\\do_ms.bat") - set(CONFIGURE_COMMAND ${CONFIGURE_COMMAND} - no-asm - -D_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE - ) + set(OPENSSL_ARCH VC-WIN32-ARM) elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") - set(OPENSSL_ARCH VC-WIN32) - set(OPENSSL_DO "ms\\do_ms.bat") - set(CONFIGURE_COMMAND ${CONFIGURE_COMMAND} - no-asm - -D_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE - ) + set(OPENSSL_ARCH VC-WIN64-ARM) 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() +set(OPENSSL_MAKEFILE "makefile") file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg) @@ -99,11 +83,6 @@ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") 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") @@ -143,11 +122,6 @@ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") 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") @@ -166,11 +140,25 @@ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") message(STATUS "Build ${TARGET_TRIPLET}-dbg done") endif() - +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/certs) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/private) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/engines-1_1) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/certs) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/engines-1_1) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/private) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + + + file(REMOVE + ${CURRENT_PACKAGES_DIR}/ct_log_list.cnf + ${CURRENT_PACKAGES_DIR}/ct_log_list.cnf.dist + ${CURRENT_PACKAGES_DIR}/openssl.cnf.dist ${CURRENT_PACKAGES_DIR}/debug/bin/openssl.exe + ${CURRENT_PACKAGES_DIR}/debug/ct_log_list.cnf + ${CURRENT_PACKAGES_DIR}/debug/ct_log_list.cnf.dist ${CURRENT_PACKAGES_DIR}/debug/openssl.cnf + ${CURRENT_PACKAGES_DIR}/debug/openssl.cnf.dist ) file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/openssl/) diff --git a/ports/openvdb/0002-fix-cmake-modules.patch b/ports/openvdb/0002-fix-cmake-modules.patch index 7b36161c5..d758e5abf 100644 --- a/ports/openvdb/0002-fix-cmake-modules.patch +++ b/ports/openvdb/0002-fix-cmake-modules.patch @@ -1,184 +1,28 @@ diff --git a/cmake/FindBlosc.cmake b/cmake/FindBlosc.cmake -index e8b57a2..61ba83b 100644 +index ae84240..5630b6b 100644 --- a/cmake/FindBlosc.cmake +++ b/cmake/FindBlosc.cmake -@@ -1,4 +1,4 @@ --# Copyright (c) 2012-2019 DreamWorks Animation LLC -+# Copyright (c) 2012-2016 DreamWorks Animation LLC - # - # All rights reserved. This software is distributed under the - # Mozilla Public License 2.0 ( http://www.mozilla.org/MPL/2.0/ ) -@@ -24,190 +24,51 @@ - # IN NO EVENT SHALL THE COPYRIGHT HOLDERS' AND CONTRIBUTORS' AGGREGATE - # LIABILITY FOR ALL CLAIMS REGARDLESS OF THEIR BASIS EXCEED US$250.00. - # --#[=======================================================================[.rst: +@@ -86,7 +86,7 @@ may be provided to tell this module where to look. + Paths appended to all include and lib searches. --FindBlosc ----------- -- --Find Blosc include dirs and libraries -- --Use this module by invoking find_package with the form:: -- -- find_package(Blosc -- [version] [EXACT] # Minimum or EXACT version e.g. 1.5.0 -- [REQUIRED] # Fail with error if Blosc is not found -- ) -- --IMPORTED Targets --^^^^^^^^^^^^^^^^ -- --``Blosc::blosc`` -- This module defines IMPORTED target Blosc::Blosc, if Blosc has been found. -- --Result Variables --^^^^^^^^^^^^^^^^ -- --This will define the following variables: -- --``Blosc_FOUND`` -- True if the system has the Blosc library. --``Blosc_VERSION`` -- The version of the Blosc library which was found. --``Blosc_INCLUDE_DIRS`` -- Include directories needed to use Blosc. --``Blosc_LIBRARIES`` -- Libraries needed to link to Blosc. --``Blosc_LIBRARY_DIRS`` -- Blosc library directories. -- --Cache Variables --^^^^^^^^^^^^^^^ -- --The following cache variables may also be set: -- --``Blosc_INCLUDE_DIR`` -- The directory containing ``blosc.h``. --``Blosc_LIBRARY`` -- The path to the Blosc library. -- --Hints --^^^^^ -- --Instead of explicitly setting the cache variables, the following variables --may be provided to tell this module where to look. -- --``BLOSC_ROOT`` -- Preferred installation prefix. --``BLOSC_INCLUDEDIR`` -- Preferred include directory e.g. <prefix>/include --``BLOSC_LIBRARYDIR`` -- Preferred library directory e.g. <prefix>/lib --``SYSTEM_LIBRARY_PATHS`` -- Paths appended to all include and lib searches. -- --#]=======================================================================] -- --mark_as_advanced( -- Blosc_INCLUDE_DIR -- Blosc_LIBRARY --) -- --# Append BLOSC_ROOT or $ENV{BLOSC_ROOT} if set (prioritize the direct cmake var) --set(_BLOSC_ROOT_SEARCH_DIR "") -- --if(BLOSC_ROOT) -- list(APPEND _BLOSC_ROOT_SEARCH_DIR ${BLOSC_ROOT}) --else() -- set(_ENV_BLOSC_ROOT $ENV{BLOSC_ROOT}) -- if(_ENV_BLOSC_ROOT) -- list(APPEND _BLOSC_ROOT_SEARCH_DIR ${_ENV_BLOSC_ROOT}) -- endif() --endif() -- --# ------------------------------------------------------------------------ --# Search for blosc include DIR --# ------------------------------------------------------------------------ -- --set(_BLOSC_INCLUDE_SEARCH_DIRS "") --list(APPEND _BLOSC_INCLUDE_SEARCH_DIRS -- ${BLOSC_INCLUDEDIR} -- ${_BLOSC_ROOT_SEARCH_DIR} -- ${PC_Blosc_INCLUDE_DIRS} -- ${SYSTEM_LIBRARY_PATHS} --) -+# -*- cmake -*- -+# - Find Blosc -+# -+# Author : Nicholas Yue yue.nicholas@gmail.com -+# -+# BLOSC_FOUND set if Blosc is found. -+# BLOSC_INCLUDE_DIR Blosc's include directory -+# BLOSC_LIBRARYDIR Blosc's library directory -+# BLOSC_LIBRARIES all Blosc libraries - --# Look for a standard blosc header file. --find_path(Blosc_INCLUDE_DIR blosc.h -- NO_DEFAULT_PATH -- PATHS ${_BLOSC_INCLUDE_SEARCH_DIRS} -- PATH_SUFFIXES include --) + #]=======================================================================] +- ++if (0) + mark_as_advanced( + Blosc_INCLUDE_DIR + Blosc_LIBRARY +@@ -211,3 +211,30 @@ if(Blosc_FOUND) + elseif(Blosc_FIND_REQUIRED) + message(FATAL_ERROR "Unable to find Blosc") + endif() ++else() +FIND_PACKAGE ( PackageHandleStandardArgs ) - --if(EXISTS "${Blosc_INCLUDE_DIR}/blosc.h") -- file(STRINGS "${Blosc_INCLUDE_DIR}/blosc.h" -- _blosc_version_major_string REGEX "#define BLOSC_VERSION_MAJOR +[0-9]+ " -- ) -- string(REGEX REPLACE "#define BLOSC_VERSION_MAJOR +([0-9]+).*$" "\\1" -- _blosc_version_major_string "${_blosc_version_major_string}" -- ) -- string(STRIP "${_blosc_version_major_string}" Blosc_VERSION_MAJOR) +FIND_PATH( BLOSC_LOCATION include/blosc.h) - -- file(STRINGS "${Blosc_INCLUDE_DIR}/blosc.h" -- _blosc_version_minor_string REGEX "#define BLOSC_VERSION_MINOR +[0-9]+ " +FIND_PACKAGE_HANDLE_STANDARD_ARGS ( Blosc + REQUIRED_VARS BLOSC_LOCATION - ) -- string(REGEX REPLACE "#define BLOSC_VERSION_MINOR +([0-9]+).*$" "\\1" -- _blosc_version_minor_string "${_blosc_version_minor_string}" -- ) -- string(STRIP "${_blosc_version_minor_string}" Blosc_VERSION_MINOR) -- -- unset(_blosc_version_major_string) -- unset(_blosc_version_minor_string) -- -- set(Blosc_VERSION ${Blosc_VERSION_MAJOR}.${Blosc_VERSION_MINOR}) --endif() -- --# ------------------------------------------------------------------------ --# Search for blosc lib DIR --# ------------------------------------------------------------------------ - --set(_BLOSC_LIBRARYDIR_SEARCH_DIRS "") --list(APPEND _BLOSC_LIBRARYDIR_SEARCH_DIRS -- ${BLOSC_LIBRARYDIR} -- ${_BLOSC_ROOT_SEARCH_DIR} -- ${PC_Blosc_LIBRARY_DIRS} -- ${SYSTEM_LIBRARY_PATHS} --) ++ ) +IF ( BLOSC_FOUND ) - --# Static library setup --if(UNIX AND BLOSC_USE_STATIC_LIBS) -- set(_BLOSC_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES}) -- set(CMAKE_FIND_LIBRARY_SUFFIXES ".a") --endif() -+# SET ( BLOSC_LIBRARYDIR ${BLOSC_LOCATION}/lib -+# CACHE STRING "Blosc library directories") - --set(BLOSC_PATH_SUFFIXES -- lib64 -- lib --) -+ SET ( _blosc_library_name "blosc" ) - --find_library(Blosc_LIBRARY blosc -- NO_DEFAULT_PATH -- PATHS ${_BLOSC_LIBRARYDIR_SEARCH_DIRS} -- PATH_SUFFIXES ${BLOSC_PATH_SUFFIXES} --) ++SET ( _blosc_library_name "blosc" ) + # Static library setup + IF (Blosc_USE_STATIC_LIBS) + SET(CMAKE_FIND_LIBRARY_SUFFIXES_BACKUP ${CMAKE_FIND_LIBRARY_SUFFIXES}) @@ -188,391 +32,40 @@ index e8b57a2..61ba83b 100644 + SET(CMAKE_FIND_LIBRARY_SUFFIXES ".a") + ENDIF () + ENDIF() - --if(UNIX AND BLOSC_USE_STATIC_LIBS) -- set(CMAKE_FIND_LIBRARY_SUFFIXES ${_BLOSC_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES}) -- unset(_BLOSC_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES) --endif() -- --# ------------------------------------------------------------------------ --# Cache and set Blosc_FOUND --# ------------------------------------------------------------------------ -- --include(FindPackageHandleStandardArgs) --find_package_handle_standard_args(Blosc -- FOUND_VAR Blosc_FOUND -- REQUIRED_VARS -- Blosc_LIBRARY -- Blosc_INCLUDE_DIR -- VERSION_VAR Blosc_VERSION --) + FIND_LIBRARY ( BLOSC_blosc_LIBRARY ${_blosc_library_name} + NO_SYSTEM_ENVIRONMENT_PATH + ) - --if(Blosc_FOUND) -- set(Blosc_LIBRARIES ${Blosc_LIBRARY}) -- set(Blosc_INCLUDE_DIRS ${Blosc_INCLUDE_DIR}) -- set(Blosc_DEFINITIONS ${PC_Blosc_CFLAGS_OTHER}) + # Static library tear down + IF (Blosc_USE_STATIC_LIBS) + SET( CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES_BACKUP} ) + ENDIF() - -- get_filename_component(Blosc_LIBRARY_DIRS ${Blosc_LIBRARY} DIRECTORY) + SET( BLOSC_INCLUDE_DIR "${BLOSC_LOCATION}/include" CACHE STRING "Blosc include directory" ) - -- if(NOT TARGET Blosc::blosc) -- add_library(Blosc::blosc UNKNOWN IMPORTED) -- set_target_properties(Blosc::blosc PROPERTIES -- IMPORTED_LOCATION "${Blosc_LIBRARIES}" -- INTERFACE_COMPILE_DEFINITIONS "${Blosc_DEFINITIONS}" -- INTERFACE_INCLUDE_DIRECTORIES "${Blosc_INCLUDE_DIRS}" -- ) -- endif() --elseif(Blosc_FIND_REQUIRED) -- message(FATAL_ERROR "Unable to find Blosc") --endif() +ENDIF ( BLOSC_FOUND ) ++endif() +\ No newline at end of file diff --git a/cmake/FindIlmBase.cmake b/cmake/FindIlmBase.cmake -index 7f71a72..bb14fb4 100644 +index c58083e..438fc83 100644 --- a/cmake/FindIlmBase.cmake +++ b/cmake/FindIlmBase.cmake -@@ -1,4 +1,4 @@ --# Copyright (c) 2012-2019 DreamWorks Animation LLC -+# Copyright (c) 2012-2016 DreamWorks Animation LLC - # - # All rights reserved. This software is distributed under the - # Mozilla Public License 2.0 ( http://www.mozilla.org/MPL/2.0/ ) -@@ -24,309 +24,162 @@ - # IN NO EVENT SHALL THE COPYRIGHT HOLDERS' AND CONTRIBUTORS' AGGREGATE - # LIABILITY FOR ALL CLAIMS REGARDLESS OF THEIR BASIS EXCEED US$250.00. - # --#[=======================================================================[.rst: - --FindIlmBase ------------- -- --Find IlmBase include dirs and libraries -- --Use this module by invoking find_package with the form:: -- -- find_package(IlmBase -- [version] [EXACT] # Minimum or EXACT version -- [REQUIRED] # Fail with error if IlmBase is not found -- [COMPONENTS <libs>...] # IlmBase libraries by their canonical name -- # e.g. "Half" for "libHalf" -- ) -- --IMPORTED Targets --^^^^^^^^^^^^^^^^ -- --``IlmBase::Half`` -- The Half library target. --``IlmBase::Iex`` -- The Iex library target. --``IlmBase::IexMath`` -- The IexMath library target. --``IlmBase::IlmThread`` -- The IlmThread library target. --``IlmBase::Imath`` -- The Imath library target. -- --Result Variables --^^^^^^^^^^^^^^^^ -- --This will define the following variables: -- --``IlmBase_FOUND`` -- True if the system has the IlmBase library. --``IlmBase_VERSION`` -- The version of the IlmBase library which was found. --``IlmBase_INCLUDE_DIRS`` -- Include directories needed to use IlmBase. --``IlmBase_LIBRARIES`` -- Libraries needed to link to IlmBase. --``IlmBase_LIBRARY_DIRS`` -- IlmBase library directories. --``IlmBase_{COMPONENT}_FOUND`` -- True if the system has the named IlmBase component. -- --Cache Variables --^^^^^^^^^^^^^^^ -- --The following cache variables may also be set: -- --``IlmBase_INCLUDE_DIR`` -- The directory containing ``IlmBase/config-auto.h``. --``IlmBase_{COMPONENT}_LIBRARY`` -- Individual component libraries for IlmBase --``IlmBase_{COMPONENT}_DLL`` -- Individual component dlls for IlmBase on Windows. -- --Hints --^^^^^ -- --Instead of explicitly setting the cache variables, the following variables --may be provided to tell this module where to look. -- --``ILMBASE_ROOT`` -- Preferred installation prefix. --``ILMBASE_INCLUDEDIR`` -- Preferred include directory e.g. <prefix>/include --``ILMBASE_LIBRARYDIR`` -- Preferred library directory e.g. <prefix>/lib --``SYSTEM_LIBRARY_PATHS`` -- Paths appended to all include and lib searches. -- --#]=======================================================================] -- --# Support new if() IN_LIST operator --if(POLICY CMP0057) -- cmake_policy(SET CMP0057 NEW) --endif() -- --mark_as_advanced( -- IlmBase_INCLUDE_DIR -- IlmBase_LIBRARY --) -- --set(_ILMBASE_COMPONENT_LIST -- Half -- Iex -- IexMath -- IlmThread -- Imath --) -- --if(IlmBase_FIND_COMPONENTS) -- set(ILMBASE_COMPONENTS_PROVIDED TRUE) -- set(_IGNORED_COMPONENTS "") -- foreach(COMPONENT ${IlmBase_FIND_COMPONENTS}) -- if(NOT ${COMPONENT} IN_LIST _ILMBASE_COMPONENT_LIST) -- list(APPEND _IGNORED_COMPONENTS ${COMPONENT}) -- endif() -- endforeach() -- -- if(_IGNORED_COMPONENTS) -- message(STATUS "Ignoring unknown components of IlmBase:") -- foreach(COMPONENT ${_IGNORED_COMPONENTS}) -- message(STATUS " ${COMPONENT}") -- endforeach() -- list(REMOVE_ITEM IlmBase_FIND_COMPONENTS ${_IGNORED_COMPONENTS}) -- endif() --else() -- set(ILMBASE_COMPONENTS_PROVIDED FALSE) -- set(IlmBase_FIND_COMPONENTS ${_ILMBASE_COMPONENT_LIST}) --endif() -- --# Append ILMBASE_ROOT or $ENV{ILMBASE_ROOT} if set (prioritize the direct cmake var) --set(_ILMBASE_ROOT_SEARCH_DIR "") -- --if(ILMBASE_ROOT) -- list(APPEND _ILMBASE_ROOT_SEARCH_DIR ${ILMBASE_ROOT}) --else() -- set(_ENV_ILMBASE_ROOT $ENV{ILMBASE_ROOT}) -- if(_ENV_ILMBASE_ROOT) -- list(APPEND _ILMBASE_ROOT_SEARCH_DIR ${_ENV_ILMBASE_ROOT}) -- endif() --endif() -- --# ------------------------------------------------------------------------ --# Search for IlmBase include DIR --# ------------------------------------------------------------------------ -- --set(_ILMBASE_INCLUDE_SEARCH_DIRS "") --list(APPEND _ILMBASE_INCLUDE_SEARCH_DIRS -- ${ILMBASE_INCLUDEDIR} -- ${_ILMBASE_ROOT_SEARCH_DIR} -- ${PC_IlmBase_INCLUDEDIR} -- ${SYSTEM_LIBRARY_PATHS} --) -- --# Look for a standard IlmBase header file. --find_path(IlmBase_INCLUDE_DIR IlmBaseConfig.h -- NO_DEFAULT_PATH -- PATHS ${_ILMBASE_INCLUDE_SEARCH_DIRS} -- PATH_SUFFIXES include/OpenEXR OpenEXR --) -- --if(EXISTS "${IlmBase_INCLUDE_DIR}/IlmBaseConfig.h") -- # Get the ILMBASE version information from the config header -- file(STRINGS "${IlmBase_INCLUDE_DIR}/IlmBaseConfig.h" -- _ilmbase_version_major_string REGEX "#define ILMBASE_VERSION_MAJOR " -- ) -- string(REGEX REPLACE "#define ILMBASE_VERSION_MAJOR" "" -- _ilmbase_version_major_string "${_ilmbase_version_major_string}" -- ) -- string(STRIP "${_ilmbase_version_major_string}" IlmBase_VERSION_MAJOR) -- -- file(STRINGS "${IlmBase_INCLUDE_DIR}/IlmBaseConfig.h" -- _ilmbase_version_minor_string REGEX "#define ILMBASE_VERSION_MINOR " -- ) -- string(REGEX REPLACE "#define ILMBASE_VERSION_MINOR" "" -- _ilmbase_version_minor_string "${_ilmbase_version_minor_string}" -- ) -- string(STRIP "${_ilmbase_version_minor_string}" IlmBase_VERSION_MINOR) -- -- unset(_ilmbase_version_major_string) -- unset(_ilmbase_version_minor_string) -- -- set(IlmBase_VERSION ${IlmBase_VERSION_MAJOR}.${IlmBase_VERSION_MINOR}) --endif() -- --# ------------------------------------------------------------------------ --# Search for ILMBASE lib DIR --# ------------------------------------------------------------------------ -- --set(_ILMBASE_LIBRARYDIR_SEARCH_DIRS "") -- --# Append to _ILMBASE_LIBRARYDIR_SEARCH_DIRS in priority order -- --list(APPEND _ILMBASE_LIBRARYDIR_SEARCH_DIRS -- ${ILMBASE_LIBRARYDIR} -- ${_ILMBASE_ROOT_SEARCH_DIR} -- ${PC_IlmBase_LIBDIR} -- ${SYSTEM_LIBRARY_PATHS} --) -- --# Build suffix directories -- --set(ILMBASE_PATH_SUFFIXES -- lib64 -- lib --) -- --if(UNIX) -- list(INSERT ILMBASE_PATH_SUFFIXES 0 lib/x86_64-linux-gnu) --endif() -- --set(_ILMBASE_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES}) -- --# library suffix handling --if(WIN32) -- list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES -- "-${IlmBase_VERSION_MAJOR}_${IlmBase_VERSION_MINOR}.lib" -- ) --else() -- if(ILMBASE_USE_STATIC_LIBS) -- list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES -- "-${IlmBase_VERSION_MAJOR}_${IlmBase_VERSION_MINOR}.a" -- ) -- else() -- if(APPLE) -- list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES -- "-${IlmBase_VERSION_MAJOR}_${IlmBase_VERSION_MINOR}.dylib" -- ) -- else() -- list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES -- "-${IlmBase_VERSION_MAJOR}_${IlmBase_VERSION_MINOR}.so" -- ) -- endif() -- endif() --endif() -- --set(IlmBase_LIB_COMPONENTS "") -- --foreach(COMPONENT ${IlmBase_FIND_COMPONENTS}) -- find_library(IlmBase_${COMPONENT}_LIBRARY ${COMPONENT} -- NO_DEFAULT_PATH -- PATHS ${_ILMBASE_LIBRARYDIR_SEARCH_DIRS} -- PATH_SUFFIXES ${ILMBASE_PATH_SUFFIXES} -- ) -- list(APPEND IlmBase_LIB_COMPONENTS ${IlmBase_${COMPONENT}_LIBRARY}) -- -- if(WIN32 AND NOT ILMBASE_USE_STATIC_LIBS) -- set(_ILMBASE_TMP ${CMAKE_FIND_LIBRARY_SUFFIXES}) -- set(CMAKE_FIND_LIBRARY_SUFFIXES ".dll") -- find_library(IlmBase_${COMPONENT}_DLL ${COMPONENT} -- NO_DEFAULT_PATH -- PATHS ${_ILMBASE_LIBRARYDIR_SEARCH_DIRS} -- PATH_SUFFIXES bin -- ) -- set(CMAKE_FIND_LIBRARY_SUFFIXES ${_ILMBASE_TMP}) -- unset(_ILMBASE_TMP) -- endif() -- -- if(IlmBase_${COMPONENT}_LIBRARY) -- set(IlmBase_${COMPONENT}_FOUND TRUE) -- else() -- set(IlmBase_${COMPONENT}_FOUND FALSE) -- endif() --endforeach() -- --# reset lib suffix -- --set(CMAKE_FIND_LIBRARY_SUFFIXES ${_ILMBASE_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES}) --unset(_ILMBASE_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES) -- --# ------------------------------------------------------------------------ --# Cache and set ILMBASE_FOUND --# ------------------------------------------------------------------------ -- --include(FindPackageHandleStandardArgs) --find_package_handle_standard_args(IlmBase -- FOUND_VAR IlmBase_FOUND -- REQUIRED_VARS -- IlmBase_INCLUDE_DIR -- IlmBase_LIB_COMPONENTS -- VERSION_VAR IlmBase_VERSION -- HANDLE_COMPONENTS --) -+#-*-cmake-*- -+# - Find ILMBase -+# -+# Author : Nicholas Yue yue.nicholas@gmail.com -+# -+# This auxiliary CMake file helps in find the ILMBASE headers and libraries -+# -+# ILMBASE_FOUND set if ILMBASE is found. -+# ILMBASE_INCLUDE_DIR ILMBASE's include directory -+# ILMBASE_LIBRARYDIR ILMBASE's include directory -+# Ilmbase_HALF_LIBRARY ILMBASE's Half libraries -+# Ilmbase_IEX_LIBRARY ILMBASE's Iex libraries -+# Ilmbase_IEXMATH_LIBRARY ILMBASE's IexMath libraries -+# Ilmbase_ILMTHREAD_LIBRARY ILMBASE's IlmThread libraries -+# Ilmbase_IMATH_LIBRARY ILMBASE's Imath libraries +@@ -100,7 +100,7 @@ may be provided to tell this module where to look. + Paths appended to all include and lib searches. --if(IlmBase_FOUND) -- set(IlmBase_LIBRARIES ${IlmBase_LIB_COMPONENTS}) + #]=======================================================================] +- ++if (0) + # Support new if() IN_LIST operator + if(POLICY CMP0057) + cmake_policy(SET CMP0057 NEW) +@@ -330,3 +330,144 @@ if(IlmBase_FOUND) + elseif(IlmBase_FIND_REQUIRED) + message(FATAL_ERROR "Unable to find IlmBase") + endif() ++else() +FIND_PACKAGE ( PackageHandleStandardArgs ) - -- # We have to add both include and include/OpenEXR to the include -- # path in case OpenEXR and IlmBase are installed separately +FIND_PATH ( ILMBASE_LOCATION include/OpenEXR/IlmBaseConfig.h) - -- set(IlmBase_INCLUDE_DIRS) -- list(APPEND IlmBase_INCLUDE_DIRS -- ${IlmBase_INCLUDE_DIR}/../ -- ${IlmBase_INCLUDE_DIR} +FIND_PACKAGE_HANDLE_STANDARD_ARGS ( ILMBase + REQUIRED_VARS ILMBASE_LOCATION - ) -- set(IlmBase_DEFINITIONS ${PC_IlmBase_CFLAGS_OTHER}) -- -- set(IlmBase_LIBRARY_DIRS "") -- foreach(LIB ${IlmBase_LIB_COMPONENTS}) -- get_filename_component(_ILMBASE_LIBDIR ${LIB} DIRECTORY) -- list(APPEND IlmBase_LIBRARY_DIRS ${_ILMBASE_LIBDIR}) -- endforeach() -- list(REMOVE_DUPLICATES IlmBase_LIBRARY_DIRS) -- -- # Configure imported targets -- -- foreach(COMPONENT ${IlmBase_FIND_COMPONENTS}) -- if(NOT TARGET IlmBase::${COMPONENT}) -- add_library(IlmBase::${COMPONENT} UNKNOWN IMPORTED) -- set_target_properties(IlmBase::${COMPONENT} PROPERTIES -- IMPORTED_LOCATION "${IlmBase_${COMPONENT}_LIBRARY}" -- INTERFACE_COMPILE_OPTIONS "${IlmBase_DEFINITIONS}" -- INTERFACE_INCLUDE_DIRECTORIES "${IlmBase_INCLUDE_DIRS}" -- ) -- endif() -- endforeach() - --elseif(IlmBase_FIND_REQUIRED) -- message(FATAL_ERROR "Unable to find IlmBase") --endif() ++ ) +OPTION ( ILMBASE_NAMESPACE_VERSIONING "Namespace versioning of libraries" ON ) + +IF ( ILMBASE_FOUND ) @@ -707,335 +200,26 @@ index 7f71a72..bb14fb4 100644 +ELSE ( ILMBASE_FOUND ) + MESSAGE ( FATAL_ERROR "Unable to find ILMBase, ILMBASE_ROOT = $ENV{ILMBASE_ROOT}") +ENDIF ( ILMBASE_FOUND ) ++endif() +\ No newline at end of file diff --git a/cmake/FindOpenEXR.cmake b/cmake/FindOpenEXR.cmake -index 2f771ad..a381c6d 100644 +index 98bd53d..c3b449e 100644 --- a/cmake/FindOpenEXR.cmake +++ b/cmake/FindOpenEXR.cmake -@@ -1,324 +1,87 @@ --# Copyright (c) 2012-2019 DreamWorks Animation LLC --# --# All rights reserved. This software is distributed under the --# Mozilla Public License 2.0 ( http://www.mozilla.org/MPL/2.0/ ) --# --# Redistributions of source code must retain the above copyright --# and license notice and the following restrictions and disclaimer. --# --# * Neither the name of DreamWorks Animation nor the names of --# its contributors may be used to endorse or promote products derived --# from this software without specific prior written permission. --# --# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS --# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT --# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR --# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT --# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY 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. --# IN NO EVENT SHALL THE COPYRIGHT HOLDERS' AND CONTRIBUTORS' AGGREGATE --# LIABILITY FOR ALL CLAIMS REGARDLESS OF THEIR BASIS EXCEED US$250.00. --# --#[=======================================================================[.rst: -- --FindOpenEXR ------------- -- --Find OpenEXR include dirs and libraries -- --Use this module by invoking find_package with the form:: -- -- find_package(OpenEXR -- [version] [EXACT] # Minimum or EXACT version -- [REQUIRED] # Fail with error if OpenEXR is not found -- [COMPONENTS <libs>...] # OpenEXR libraries by their canonical name -- # e.g. "IlmImf" for "libIlmImf" -- ) -- --IMPORTED Targets --^^^^^^^^^^^^^^^^ -- --``OpenEXR::IlmImf`` -- The IlmImf library target. --``OpenEXR::IlmImfUtil`` -- The IlmImfUtil library target. -- --Result Variables --^^^^^^^^^^^^^^^^ -- --This will define the following variables: -- --``OpenEXR_FOUND`` -- True if the system has the OpenEXR library. --``OpenEXR_VERSION`` -- The version of the OpenEXR library which was found. --``OpenEXR_INCLUDE_DIRS`` -- Include directories needed to use OpenEXR. --``OpenEXR_LIBRARIES`` -- Libraries needed to link to OpenEXR. --``OpenEXR_LIBRARY_DIRS`` -- OpenEXR library directories. --``OpenEXR_DEFINITIONS`` -- Definitions to use when compiling code that uses OpenEXR. --``OpenEXR_{COMPONENT}_FOUND`` -- True if the system has the named OpenEXR component. -- --Cache Variables --^^^^^^^^^^^^^^^ -- --The following cache variables may also be set: -- --``OpenEXR_INCLUDE_DIR`` -- The directory containing ``OpenEXR/config-auto.h``. --``OpenEXR_{COMPONENT}_LIBRARY`` -- Individual component libraries for OpenEXR --``OpenEXR_{COMPONENT}_DLL`` -- Individual component dlls for OpenEXR on Windows. -- --Hints --^^^^^ -- --Instead of explicitly setting the cache variables, the following variables --may be provided to tell this module where to look. -- --``OPENEXR_ROOT`` -- Preferred installation prefix. --``OPENEXR_INCLUDEDIR`` -- Preferred include directory e.g. <prefix>/include --``OPENEXR_LIBRARYDIR`` -- Preferred library directory e.g. <prefix>/lib --``SYSTEM_LIBRARY_PATHS`` -- Paths appended to all include and lib searches. -- --#]=======================================================================] -- --# Support new if() IN_LIST operator --if(POLICY CMP0057) -- cmake_policy(SET CMP0057 NEW) --endif() -- --mark_as_advanced( -- OpenEXR_INCLUDE_DIR -- OpenEXR_LIBRARY --) -- --set(_OPENEXR_COMPONENT_LIST -- IlmImf -- IlmImfUtil --) -- --if(OpenEXR_FIND_COMPONENTS) -- set(OPENEXR_COMPONENTS_PROVIDED TRUE) -- set(_IGNORED_COMPONENTS "") -- foreach(COMPONENT ${OpenEXR_FIND_COMPONENTS}) -- if(NOT ${COMPONENT} IN_LIST _OPENEXR_COMPONENT_LIST) -- list(APPEND _IGNORED_COMPONENTS ${COMPONENT}) -- endif() -- endforeach() -- -- if(_IGNORED_COMPONENTS) -- message(STATUS "Ignoring unknown components of OpenEXR:") -- foreach(COMPONENT ${_IGNORED_COMPONENTS}) -- message(STATUS " ${COMPONENT}") -- endforeach() -- list(REMOVE_ITEM OpenEXR_FIND_COMPONENTS ${_IGNORED_COMPONENTS}) -- endif() --else() -- set(OPENEXR_COMPONENTS_PROVIDED FALSE) -- set(OpenEXR_FIND_COMPONENTS ${_OPENEXR_COMPONENT_LIST}) --endif() -- --# Append OPENEXR_ROOT or $ENV{OPENEXR_ROOT} if set (prioritize the direct cmake var) --set(_OPENEXR_ROOT_SEARCH_DIR "") -- --if(OPENEXR_ROOT) -- list(APPEND _OPENEXR_ROOT_SEARCH_DIR ${OPENEXR_ROOT}) --else() -- set(_ENV_OPENEXR_ROOT $ENV{OPENEXR_ROOT}) -- if(_ENV_OPENEXR_ROOT) -- list(APPEND _OPENEXR_ROOT_SEARCH_DIR ${_ENV_OPENEXR_ROOT}) -- endif() --endif() -- --# ------------------------------------------------------------------------ --# Search for OpenEXR include DIR --# ------------------------------------------------------------------------ -- --set(_OPENEXR_INCLUDE_SEARCH_DIRS "") --list(APPEND _OPENEXR_INCLUDE_SEARCH_DIRS -- ${OPENEXR_INCLUDEDIR} -- ${_OPENEXR_ROOT_SEARCH_DIR} -- ${PC_OpenEXR_INCLUDEDIR} -- ${SYSTEM_LIBRARY_PATHS} --) -- --# Look for a standard OpenEXR header file. --find_path(OpenEXR_INCLUDE_DIR OpenEXRConfig.h -- NO_DEFAULT_PATH -- PATHS ${_OPENEXR_INCLUDE_SEARCH_DIRS} -- PATH_SUFFIXES include/OpenEXR OpenEXR --) -- --if(EXISTS "${OpenEXR_INCLUDE_DIR}/OpenEXRConfig.h") -- # Get the EXR version information from the config header -- file(STRINGS "${OpenEXR_INCLUDE_DIR}/OpenEXRConfig.h" -- _openexr_version_major_string REGEX "#define OPENEXR_VERSION_MAJOR " -- ) -- string(REGEX REPLACE "#define OPENEXR_VERSION_MAJOR" "" -- _openexr_version_major_string "${_openexr_version_major_string}" -- ) -- string(STRIP "${_openexr_version_major_string}" OpenEXR_VERSION_MAJOR) -- -- file(STRINGS "${OpenEXR_INCLUDE_DIR}/OpenEXRConfig.h" -- _openexr_version_minor_string REGEX "#define OPENEXR_VERSION_MINOR " -- ) -- string(REGEX REPLACE "#define OPENEXR_VERSION_MINOR" "" -- _openexr_version_minor_string "${_openexr_version_minor_string}" -- ) -- string(STRIP "${_openexr_version_minor_string}" OpenEXR_VERSION_MINOR) -- -- unset(_openexr_version_major_string) -- unset(_openexr_version_minor_string) -- -- set(OpenEXR_VERSION ${OpenEXR_VERSION_MAJOR}.${OpenEXR_VERSION_MINOR}) --endif() -- --# ------------------------------------------------------------------------ --# Search for OPENEXR lib DIR --# ------------------------------------------------------------------------ -- --set(_OPENEXR_LIBRARYDIR_SEARCH_DIRS "") -- --# Append to _OPENEXR_LIBRARYDIR_SEARCH_DIRS in priority order -- --list(APPEND _OPENEXR_LIBRARYDIR_SEARCH_DIRS -- ${OPENEXR_LIBRARYDIR} -- ${_OPENEXR_ROOT_SEARCH_DIR} -- ${PC_OpenEXR_LIBDIR} -- ${SYSTEM_LIBRARY_PATHS} --) -- --# Build suffix directories -- --set(OPENEXR_PATH_SUFFIXES -- lib64 -- lib --) -- --if(UNIX ) -- list(INSERT OPENEXR_PATH_SUFFIXES 0 lib/x86_64-linux-gnu) --endif() -- --set(_OPENEXR_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES}) -- --# library suffix handling --if(WIN32) -- list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES -- "-${OpenEXR_VERSION_MAJOR}_${OpenEXR_VERSION_MINOR}.lib" -- ) --else() -- if(OPENEXR_USE_STATIC_LIBS) -- list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES -- "-${OpenEXR_VERSION_MAJOR}_${OpenEXR_VERSION_MINOR}.a" -- ) -- else() -- if(APPLE) -- list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES -- "-${OpenEXR_VERSION_MAJOR}_${OpenEXR_VERSION_MINOR}.dylib" -- ) -- else() -- list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES -- "-${OpenEXR_VERSION_MAJOR}_${OpenEXR_VERSION_MINOR}.so" -- ) -- endif() -- endif() --endif() -- --set(OpenEXR_LIB_COMPONENTS "") -- --foreach(COMPONENT ${OpenEXR_FIND_COMPONENTS}) -- find_library(OpenEXR_${COMPONENT}_LIBRARY ${COMPONENT} -- NO_DEFAULT_PATH -- PATHS ${_OPENEXR_LIBRARYDIR_SEARCH_DIRS} -- PATH_SUFFIXES ${OPENEXR_PATH_SUFFIXES} -- ) -- list(APPEND OpenEXR_LIB_COMPONENTS ${OpenEXR_${COMPONENT}_LIBRARY}) -- -- if(WIN32 AND NOT OPENEXR_USE_STATIC_LIBS) -- set(_OPENEXR_TMP ${CMAKE_FIND_LIBRARY_SUFFIXES}) -- set(CMAKE_FIND_LIBRARY_SUFFIXES ".dll") -- find_library(OpenEXR_${COMPONENT}_DLL ${COMPONENT} -- NO_DEFAULT_PATH -- PATHS ${_OPENEXR_LIBRARYDIR_SEARCH_DIRS} -- PATH_SUFFIXES bin -- ) -- set(CMAKE_FIND_LIBRARY_SUFFIXES ${_OPENEXR_TMP}) -- unset(_OPENEXR_TMP) -- endif() -- -- if(OpenEXR_${COMPONENT}_LIBRARY) -- set(OpenEXR_${COMPONENT}_FOUND TRUE) -- else() -- set(OpenEXR_${COMPONENT}_FOUND FALSE) -- endif() --endforeach() -- --# reset lib suffix -- --set(CMAKE_FIND_LIBRARY_SUFFIXES ${_OPENEXR_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES}) --unset(_OPENEXR_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES) -- --# ------------------------------------------------------------------------ --# Cache and set OPENEXR_FOUND --# ------------------------------------------------------------------------ -- --include(FindPackageHandleStandardArgs) --find_package_handle_standard_args(OpenEXR -- FOUND_VAR OpenEXR_FOUND -- REQUIRED_VARS -- OpenEXR_INCLUDE_DIR -- OpenEXR_LIB_COMPONENTS -- VERSION_VAR OpenEXR_VERSION -- HANDLE_COMPONENTS --) -- --if(OpenEXR_FOUND) -- set(OpenEXR_LIBRARIES ${OpenEXR_LIB_COMPONENTS}) -- -- # We have to add both include and include/OpenEXR to the include -- # path in case OpenEXR and IlmBase are installed separately -- -- set(OpenEXR_INCLUDE_DIRS) -- list(APPEND OpenEXR_INCLUDE_DIRS -- ${OpenEXR_INCLUDE_DIR}/../ -- ${OpenEXR_INCLUDE_DIR} -- ) -- set(OpenEXR_DEFINITIONS ${PC_OpenEXR_CFLAGS_OTHER}) -- -- set(OpenEXR_LIBRARY_DIRS "") -- foreach(LIB ${OpenEXR_LIB_COMPONENTS}) -- get_filename_component(_OPENEXR_LIBDIR ${LIB} DIRECTORY) -- list(APPEND OpenEXR_LIBRARY_DIRS ${_OPENEXR_LIBDIR}) -- endforeach() -- list(REMOVE_DUPLICATES OpenEXR_LIBRARY_DIRS) -- -- # Configure imported target -- -- foreach(COMPONENT ${OpenEXR_FIND_COMPONENTS}) -- if(NOT TARGET OpenEXR::${COMPONENT}) -- add_library(OpenEXR::${COMPONENT} UNKNOWN IMPORTED) -- set_target_properties(OpenEXR::${COMPONENT} PROPERTIES -- IMPORTED_LOCATION "${OpenEXR_${COMPONENT}_LIBRARY}" -- INTERFACE_COMPILE_OPTIONS "${OpenEXR_DEFINITIONS}" -- INTERFACE_INCLUDE_DIRECTORIES "${OpenEXR_INCLUDE_DIRS}" -- ) -- endif() -- endforeach() --elseif(OpenEXR_FIND_REQUIRED) -- message(FATAL_ERROR "Unable to find OpenEXR") --endif() +@@ -96,7 +96,7 @@ may be provided to tell this module where to look. + Paths appended to all include and lib searches. + + #]=======================================================================] +- ++if (0) + # Support new if() IN_LIST operator + if(POLICY CMP0057) + cmake_policy(SET CMP0057 NEW) +@@ -322,3 +322,92 @@ if(OpenEXR_FOUND) + elseif(OpenEXR_FIND_REQUIRED) + message(FATAL_ERROR "Unable to find OpenEXR") + endif() ++else() +include(FindPackageHandleStandardArgs) + +find_path(OpenEXR_INCLUDE_DIRS OpenEXR/OpenEXRConfig.h) @@ -1123,3 +307,5 @@ index 2f771ad..a381c6d 100644 +if(OpenEXR_FOUND) + set(OPENEXR_FOUND 1) +endif() ++endif() +\ No newline at end of file diff --git a/ports/openvdb/0003-fix-cmake.patch b/ports/openvdb/0003-fix-cmake.patch index b70a4756f..b25bdbd08 100644 --- a/ports/openvdb/0003-fix-cmake.patch +++ b/ports/openvdb/0003-fix-cmake.patch @@ -1,8 +1,33 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 580b353..d40418c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -274,7 +274,6 @@ if(OPENVDB_INSTALL_CMAKE_MODULES) + cmake/FindLog4cplus.cmake + cmake/FindOpenEXR.cmake + cmake/FindOpenVDB.cmake +- cmake/FindTBB.cmake + cmake/OpenVDBGLFW3Setup.cmake + cmake/OpenVDBHoudiniSetup.cmake + cmake/OpenVDBMayaSetup.cmake +diff --git a/cmake/FindOpenVDB.cmake b/cmake/FindOpenVDB.cmake +index dd9b0b3..36ec0d0 100644 +--- a/cmake/FindOpenVDB.cmake ++++ b/cmake/FindOpenVDB.cmake +@@ -310,7 +310,7 @@ endif() + # Add standard dependencies + + find_package(IlmBase REQUIRED COMPONENTS Half) +-find_package(TBB REQUIRED COMPONENTS tbb) ++find_package(TBB CONFIG REQUIRED) + find_package(ZLIB REQUIRED) + find_package(Boost REQUIRED COMPONENTS iostreams system) + diff --git a/openvdb/CMakeLists.txt b/openvdb/CMakeLists.txt -index b84d3e6..524a59e 100644 +index 89301bd..e363a13 100644 --- a/openvdb/CMakeLists.txt +++ b/openvdb/CMakeLists.txt -@@ -71,13 +71,13 @@ message(STATUS "----------------------------------------------------") +@@ -71,16 +71,10 @@ message(STATUS "----------------------------------------------------") # Collect and configure lib dependencies if(USE_EXR) @@ -12,15 +37,30 @@ index b84d3e6..524a59e 100644 + find_package(OpenEXR REQUIRED) else() - find_package(IlmBase ${MINIMUM_ILMBASE_VERSION} REQUIRED COMPONENTS Half) +-endif() +- +-find_package(TBB ${MINIMUM_TBB_VERSION} REQUIRED COMPONENTS tbb) +-if(${Tbb_VERSION} VERSION_LESS FUTURE_MINIMUM_TBB_VERSION) +- message(DEPRECATION "Support for TBB versions < ${FUTURE_MINIMUM_TBB_VERSION} " +- "is deprecated and will be removed.") + find_package(IlmBase REQUIRED COMPONENTS Half) endif() --find_package(TBB ${MINIMUM_TBB_VERSION} REQUIRED COMPONENTS tbb) -+find_package(TBB CONFIG REQUIRED) find_package(ZLIB ${MINIMUM_ZLIB_VERSION} REQUIRED) +@@ -117,10 +111,10 @@ if(CONCURRENT_MALLOC STREQUAL "Jemalloc") + message(WARNING "Unable to find Jemalloc, attempting to fall back to TBB malloc. + It is recommended to use Jemalloc for optimum performance." + ) +- find_package(TBB ${MINIMUM_TBB_VERSION} REQUIRED COMPONENTS tbbmalloc tbbmalloc_proxy) ++ find_package(TBB CONFIG REQUIRED) + endif() + elseif(CONCURRENT_MALLOC STREQUAL "Tbbmalloc") +- find_package(TBB ${MINIMUM_TBB_VERSION} REQUIRED COMPONENTS tbbmalloc tbbmalloc_proxy) ++ find_package(TBB CONFIG REQUIRED) + endif() - if(USE_LOG4CPLUS) -@@ -115,15 +115,15 @@ endif() + # Set deps. Note that the order here is important. If we're building against +@@ -132,15 +126,15 @@ endif() set(OPENVDB_CORE_DEPENDENT_LIBS Boost::iostreams Boost::system @@ -41,7 +81,7 @@ index b84d3e6..524a59e 100644 ) endif() -@@ -135,7 +135,7 @@ endif() +@@ -152,7 +146,7 @@ endif() # See FindOpenVDB.cmake if(USE_BLOSC) @@ -50,7 +90,7 @@ index b84d3e6..524a59e 100644 endif() list(APPEND OPENVDB_CORE_DEPENDENT_LIBS -@@ -160,7 +160,11 @@ endif() +@@ -187,7 +181,11 @@ endif() # @todo Should be target definitions if(WIN32) @@ -63,7 +103,7 @@ index b84d3e6..524a59e 100644 endif() ##### Core library configuration -@@ -374,6 +378,7 @@ list(APPEND OPENVDB_CORE_PRIVATE_DEFINES "-DOPENVDB_PRIVATE") +@@ -404,6 +402,7 @@ list(APPEND OPENVDB_CORE_PRIVATE_DEFINES "-DOPENVDB_PRIVATE") if(USE_BLOSC) list(APPEND OPENVDB_CORE_PRIVATE_DEFINES "-DOPENVDB_USE_BLOSC") endif() @@ -72,7 +112,7 @@ index b84d3e6..524a59e 100644 # Public defines diff --git a/openvdb/cmd/CMakeLists.txt b/openvdb/cmd/CMakeLists.txt -index 124bc3c..d58b3fe 100644 +index 57fbec0..d817044 100644 --- a/openvdb/cmd/CMakeLists.txt +++ b/openvdb/cmd/CMakeLists.txt @@ -155,9 +155,9 @@ if(OPENVDB_BUILD_VDB_RENDER) diff --git a/ports/openvdb/CONTROL b/ports/openvdb/CONTROL index 5a49417d1..ab9540980 100644 --- a/ports/openvdb/CONTROL +++ b/ports/openvdb/CONTROL @@ -1,5 +1,5 @@ Source: openvdb -Version: 6.1.0 +Version: 6.2.1 Build-Depends: boost-ptr-container, openexr, tbb, blosc, boost-iostreams, boost-system, boost-thread, boost-date-time, boost-any, boost-uuid, boost-interprocess, ilmbase Homepage: https://github.com/dreamworksanimation/openvdb Description: Sparse volume data structure and tools diff --git a/ports/openvdb/portfile.cmake b/ports/openvdb/portfile.cmake index 1d837fcf9..dd09fbb40 100644 --- a/ports/openvdb/portfile.cmake +++ b/ports/openvdb/portfile.cmake @@ -1,10 +1,8 @@ -include(vcpkg_common_functions) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO AcademySoftwareFoundation/openvdb - REF v6.1.0 - SHA512 99ebbb50104ef87792ab73989e8714c4f283fb02d04c3033126b5f0d927ff7bbdebe35c8214ded841692941d8ed8ae551fd6d1bf90ad7dc07bedc3b38b9c4b38 + REF aebaf8d95be5e57fd33949281ec357db4a576c2e # v6.2.1 + SHA512 e5cf03e77ed0600252cb97aa4bbf9468345ad037a3053626900bd8233e89720f981f0706e5103c2d33ea9c246ba1cf695af68e60d395e5be90e655f2e127db9b HEAD_REF master PATCHES 0001-remove-pkgconfig.patch @@ -12,6 +10,8 @@ vcpkg_from_github( 0003-fix-cmake.patch ) +file(REMOVE ${SOURCE_PATH}/cmake/FindTBB.cmake) + if (VCPKG_LIBRARY_LINKAGE STREQUAL static) set(OPENVDB_STATIC ON) set(OPENVDB_SHARED OFF) @@ -24,7 +24,7 @@ if ("tools" IN_LIST FEATURES) if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) set(OPENVDB_BUILD_TOOLS ON) else() - message(ERROR "Unable to build tools if static libraries are required") + message(FATAL_ERROR "Unable to build tools if static libraries are required") endif() endif() @@ -69,4 +69,4 @@ if (OPENVDB_BUILD_TOOLS) endif() # Handle copyright -file(INSTALL ${SOURCE_PATH}/openvdb/COPYRIGHT DESTINATION ${CURRENT_PACKAGES_DIR}/share/openvdb RENAME copyright) +file(INSTALL ${SOURCE_PATH}/openvdb/COPYRIGHT DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/openvpn3/CMakeLists.txt b/ports/openvpn3/CMakeLists.txt index 70ec99858..58514cbb0 100644 --- a/ports/openvpn3/CMakeLists.txt +++ b/ports/openvpn3/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.0)
+cmake_minimum_required(VERSION 3.5)
project(openvpncli CXX)
find_path(ASIO_HPP asio.hpp)
@@ -12,10 +12,13 @@ if(WIN32) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /bigobj")
endif()
-add_definitions(-DNOMINMAX -DUSE_ASIO -DUSE_MBEDTLS)
+add_definitions(-DNOMINMAX -DUSE_ASIO -DUSE_MBEDTLS -D_WIN32_WINNT=0x0600)
+if(LINUX)
+ add_compile_options(-include bits/endian.h)
+endif()
add_library(ovpncli client/ovpncli.cpp)
-target_link_libraries(ovpncli PRIVATE Iphlpapi.lib ${MBEDTLS_LIB} ${MBEDCRYPTO_LIB} ${MBEDX509_LIB})
+target_link_libraries(ovpncli PRIVATE Iphlpapi.lib Wininet.lib Setupapi.lib Cfgmgr32.lib Rpcrt4.lib Fwpuclnt.lib Wtsapi32.lib ${MBEDTLS_LIB} ${MBEDCRYPTO_LIB} ${MBEDX509_LIB})
install(
TARGETS ovpncli
@@ -26,5 +29,6 @@ install( if(BUILD_TOOL)
add_executable(cli test/ovpncli/cli.cpp)
- target_link_libraries(cli PRIVATE ovpncli)
+ target_compile_definitions(cli PRIVATE -DTAP_WIN_COMPONENT_ID=tap0901)
+ target_link_libraries(cli PRIVATE ovpncli)
endif()
diff --git a/ports/openvpn3/CONTROL b/ports/openvpn3/CONTROL index 3b8899f18..7ec063918 100644 --- a/ports/openvpn3/CONTROL +++ b/ports/openvpn3/CONTROL @@ -1,4 +1,4 @@ Source: openvpn3 -Version: 2018-03-21-1 +Version: 3.4.1-1 Build-Depends: asio, tap-windows6 (windows), mbedtls Description: a C++ class library that implements the functionality of an OpenVPN client, and is protocol-compatible with the OpenVPN 2.x branch. diff --git a/ports/openvpn3/portfile.cmake b/ports/openvpn3/portfile.cmake index aede361dd..fefa2cb52 100644 --- a/ports/openvpn3/portfile.cmake +++ b/ports/openvpn3/portfile.cmake @@ -5,8 +5,8 @@ set(VCPKG_LIBRARY_LINKAGE static) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO OpenVPN/openvpn3 - REF 3d5dd9ee3b4182032044d775de5401fc6a7a63ae - SHA512 6a8ed20662efa576c57f38fb9579c5808f745d44e8cd6a84055bec10a58ede5d27e207a842f79ac6a2f7d986494fbd2415f9d59e2b23bd38e45c68546a227697 + REF release/3.4.1 + SHA512 2d0a7d2d48047c969ba1cb49b34d51c85dd82ae97296d7c096ead13a8e7cc69fa3908262228e29d93f60b7273814d8ef5a402a5d401cd7f91370868d5d308678 HEAD_REF master ) diff --git a/ports/orc/0005-disable-tzdata.patch b/ports/orc/0005-disable-tzdata.patch new file mode 100644 index 000000000..4b81fd2a4 --- /dev/null +++ b/ports/orc/0005-disable-tzdata.patch @@ -0,0 +1,31 @@ +diff --git a/c++/test/CMakeLists.txt b/c++/test/CMakeLists.txt +index 0a04aaf..795f5c9 100644 +--- a/c++/test/CMakeLists.txt ++++ b/c++/test/CMakeLists.txt +@@ -64,6 +64,7 @@ target_link_libraries (create-test-files + protobuf + ) + ++if (ENABLE_TEST) + if (TEST_VALGRIND_MEMCHECK) + add_test (orc-test + valgrind --tool=memcheck --leak-check=full --error-exitcode=1 ./orc-test) +@@ -78,3 +79,4 @@ if (WIN32) + ENVIRONMENT "TZDIR=${TZDATA_DIR}" + ) + endif () ++endif() +\ No newline at end of file +diff --git a/cmake_modules/ThirdpartyToolchain.cmake b/cmake_modules/ThirdpartyToolchain.cmake +index c816cdc..16075f2 100644 +--- a/cmake_modules/ThirdpartyToolchain.cmake ++++ b/cmake_modules/ThirdpartyToolchain.cmake +@@ -157,7 +157,7 @@ endif () + # ---------------------------------------------------------------------- + # IANA - Time Zone Database + +-if (WIN32) ++if (WIN32 AND TEST_VALGRIND_MEMCHECK) + ExternalProject_Add(tzdata_ep + URL "ftp://cygwin.osuosl.org/pub/cygwin/noarch/release/tzdata/tzdata-2019b-1.tar.xz" + URL_HASH MD5=17D8AB346BB1009D4EB35BC08040E51D diff --git a/ports/orc/CONTROL b/ports/orc/CONTROL index cb359deba..f31ff2d6a 100644 --- a/ports/orc/CONTROL +++ b/ports/orc/CONTROL @@ -1,5 +1,5 @@ Source: orc -Version: 1.5.6-1 +Version: 1.5.7 Homepage: https://orc.apache.org/ Build-Depends: zlib, protobuf, lz4, snappy, zstd, gtest Description: The smallest, fastest columnar storage for Hadoop workloads. diff --git a/ports/orc/no-werror.patch b/ports/orc/no-werror.patch deleted file mode 100644 index d2572612f..000000000 --- a/ports/orc/no-werror.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 4484e373..87b5ed41 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -81,9 +81,9 @@ if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") - set (WARN_FLAGS "${WARN_FLAGS} -Wno-covered-switch-default") - set (WARN_FLAGS "${WARN_FLAGS} -Wno-missing-noreturn -Wno-unknown-pragmas") - set (WARN_FLAGS "${WARN_FLAGS} -Wno-gnu-zero-variadic-macro-arguments") -- set (WARN_FLAGS "${WARN_FLAGS} -Wconversion -Werror") -+ set (WARN_FLAGS "${WARN_FLAGS} -Wconversion") - elseif (CMAKE_CXX_COMPILER_ID STREQUAL "GNU") -- set (WARN_FLAGS "-Wall -Wno-unknown-pragmas -Wconversion -Werror") -+ set (WARN_FLAGS "-Wall -Wno-unknown-pragmas -Wconversion") - if (CMAKE_CXX_COMPILER_VERSION STREQUAL "" OR - CMAKE_CXX_COMPILER_VERSION VERSION_LESS "4.7") - set (CXX11_FLAGS "-std=c++0x") diff --git a/ports/orc/portfile.cmake b/ports/orc/portfile.cmake index b3f52729f..e55f79812 100644 --- a/ports/orc/portfile.cmake +++ b/ports/orc/portfile.cmake @@ -1,15 +1,13 @@ -include(vcpkg_common_functions) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO apache/orc - REF 8a8e471f6a7064e9538374374e57c9e5b4be520d - SHA512 c10d6f56965abde585607473142cedea25e2085147e5c66e1991cbbb313543a919d93f9a830c76ae1331f97fafe4e9a47157062b05d80746869bc3f73772e3bc + REF 61e9d008d06a4f9291ee62737fbfd0e34f9b20d5 # rel/release-1.5.7 + SHA512 0c19bc91629bd5b201542e57de9eb1d6cc09fae507fb07a5ad589a631cb78957d32d888840f393c9e4ee0c60bc2ba534107eb97c31d80cd6e487df346fb719f7 HEAD_REF master PATCHES 0003-dependencies-from-vcpkg.patch 0004-update-tzdata.patch - no-werror.patch + 0005-disable-tzdata.patch ) file(REMOVE "${SOURCE_PATH}/cmake_modules/FindGTest.cmake") @@ -35,15 +33,18 @@ vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS - -DBUILD_TOOLS=${BUILD_TOOLS} - -DBUILD_CPP_TESTS=OFF - -DBUILD_JAVA=OFF - -DINSTALL_VENDORED_LIBS=OFF - -DBUILD_LIBHDFSPP=OFF - -DPROTOBUF_EXECUTABLE:FILEPATH=${PROTOBUF_EXECUTABLE} + -DBUILD_TOOLS=${BUILD_TOOLS} + -DBUILD_CPP_TESTS=OFF + -DBUILD_JAVA=OFF + -DINSTALL_VENDORED_LIBS=OFF + -DBUILD_LIBHDFSPP=OFF + -DPROTOBUF_EXECUTABLE:FILEPATH=${PROTOBUF_EXECUTABLE} + -DSTOP_BUILD_ON_WARNING=OFF + -DENABLE_TEST=OFF ) vcpkg_install_cmake() +vcpkg_copy_pdbs() file(GLOB TOOLS ${CURRENT_PACKAGES_DIR}/bin/orc-*) if(TOOLS) @@ -59,8 +60,6 @@ endif() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/orc RENAME copyright) - -vcpkg_copy_pdbs() file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/otl/CONTROL b/ports/otl/CONTROL index 89430bbdc..a3b23e718 100644 --- a/ports/otl/CONTROL +++ b/ports/otl/CONTROL @@ -1,4 +1,4 @@ Source: otl -Version: 4.0.447 +Version: 4.0.451 Description: Oracle, Odbc and DB2-CLI Template Library Homepage: http://otl.sourceforge.net/ diff --git a/ports/otl/portfile.cmake b/ports/otl/portfile.cmake index 3b3be860f..c01c60f9d 100644 --- a/ports/otl/portfile.cmake +++ b/ports/otl/portfile.cmake @@ -1,9 +1,9 @@ -include(vcpkg_common_functions) +set(OTL_VERSION 40451) vcpkg_download_distfile(ARCHIVE - URLS "http://otl.sourceforge.net/otlv4_h2.zip" - FILENAME "otlv4_h2-4.0.447.zip" - SHA512 07663442272a327a7d9154f6e817c0166ed254cfe3b9d043762179e96180a70d3ba4b3762e5ef1ebdb18492e3425467c9ddad3a2c68aa93bb7d51d54e9712008 + URLS "http://otl.sourceforge.net/otlv4_${OTL_VERSION}.zip" + FILENAME "otlv4_${OTL_VERSION}.zip" + SHA512 add1e54fae20175461d5f09cbe324e98b6f6a3839356136811109cf3251ca96541c101816870c6cc15d7611ad6bf9d576ac8dfce4274419b30866955c5892d15 ) vcpkg_extract_source_archive_ex( @@ -12,5 +12,10 @@ vcpkg_extract_source_archive_ex( NO_REMOVE_ONE_LEVEL ) -file(INSTALL ${SOURCE_PATH}/otlv4.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/otl) -file(INSTALL ${SOURCE_PATH}/otlv4.h DESTINATION ${CURRENT_PACKAGES_DIR}/share/otl RENAME copyright) +file(INSTALL "${SOURCE_PATH}/otlv${OTL_VERSION}.h" + DESTINATION "${CURRENT_PACKAGES_DIR}/include/${PORT}" + RENAME otlv4.h) + +file(INSTALL "${SOURCE_PATH}/otlv${OTL_VERSION}.h" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" + RENAME copyright) diff --git a/ports/pango/CMakeLists.txt b/ports/pango/CMakeLists.txt index f0e6d85e7..a505a5b65 100644 --- a/ports/pango/CMakeLists.txt +++ b/ports/pango/CMakeLists.txt @@ -118,7 +118,7 @@ pango_add_module(pangowin32 pango/pangowin32-fontcache.c pango/pangowin32-fontmap.c pango/pangowin32-shape.c) -target_link_libraries(pangowin32 usp10 pango) +target_link_libraries(pangowin32 usp10 pango gdi32) endif() pango_add_module(pangoft2 diff --git a/ports/pango/CONTROL b/ports/pango/CONTROL index c221c1e37..62220dbef 100644 --- a/ports/pango/CONTROL +++ b/ports/pango/CONTROL @@ -1,5 +1,5 @@ -Source: pango
-Version: 1.40.11-4
-Homepage: https://ftp.gnome.org/pub/GNOME/sources/pango/
-Description: Text and font handling library.
-Build-Depends: glib, gettext, cairo, fontconfig, freetype, harfbuzz[glib] (!(windows&static))
+Source: pango +Version: 1.40.11-5 +Homepage: https://ftp.gnome.org/pub/GNOME/sources/pango/ +Description: Text and font handling library. +Build-Depends: glib, gettext, cairo, fontconfig, freetype, harfbuzz[glib] (!(windows&static)) diff --git a/ports/pango/portfile.cmake b/ports/pango/portfile.cmake index 926efd98d..699343fdc 100644 --- a/ports/pango/portfile.cmake +++ b/ports/pango/portfile.cmake @@ -1,29 +1,29 @@ -include(vcpkg_common_functions)
-
-set(PANGO_VERSION 1.40.11)
-vcpkg_download_distfile(ARCHIVE
- URLS "http://ftp.gnome.org/pub/GNOME/sources/pango/1.40/pango-${PANGO_VERSION}.tar.xz"
- FILENAME "pango-${PANGO_VERSION}.tar.xz"
- SHA512 e4ac40f8da9c326e1e4dfaf4b1d2070601b17f88f5a12991a9a8bbc58bb08640404e2a794a5c68c5ebb2e7e80d9c186d4b26cd417bb63a23f024ef8a38bb152a)
-
-vcpkg_extract_source_archive_ex(
- OUT_SOURCE_PATH SOURCE_PATH
- ARCHIVE ${ARCHIVE}
- REF ${PANGO_VERSION}
- PATCHES 0001-fix-static-symbols-export.diff
-)
-file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
-file(COPY ${CMAKE_CURRENT_LIST_DIR}/config.h.unix DESTINATION ${SOURCE_PATH})
-
-vcpkg_configure_cmake(
- SOURCE_PATH ${SOURCE_PATH}
- PREFER_NINJA
- OPTIONS_DEBUG
- -DPANGO_SKIP_HEADERS=ON
-)
-
-vcpkg_install_cmake()
-vcpkg_copy_pdbs()
-
-file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/pango)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/pango/COPYING ${CURRENT_PACKAGES_DIR}/share/pango/copyright)
+include(vcpkg_common_functions) + +set(PANGO_VERSION 1.40.11) +vcpkg_download_distfile(ARCHIVE + URLS "http://ftp.gnome.org/pub/GNOME/sources/pango/1.40/pango-${PANGO_VERSION}.tar.xz" + FILENAME "pango-${PANGO_VERSION}.tar.xz" + SHA512 e4ac40f8da9c326e1e4dfaf4b1d2070601b17f88f5a12991a9a8bbc58bb08640404e2a794a5c68c5ebb2e7e80d9c186d4b26cd417bb63a23f024ef8a38bb152a) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + REF ${PANGO_VERSION} + PATCHES 0001-fix-static-symbols-export.diff +) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/config.h.unix DESTINATION ${SOURCE_PATH}) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS_DEBUG + -DPANGO_SKIP_HEADERS=ON +) + +vcpkg_install_cmake() +vcpkg_copy_pdbs() + +file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/pango) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/pango/COPYING ${CURRENT_PACKAGES_DIR}/share/pango/copyright) diff --git a/ports/parallel-hashmap/CONTROL b/ports/parallel-hashmap/CONTROL index 9fc7cfec7..0796d2258 100644 --- a/ports/parallel-hashmap/CONTROL +++ b/ports/parallel-hashmap/CONTROL @@ -1,3 +1,3 @@ Source: parallel-hashmap -Version: 1.24 +Version: 1.30 Description: A header-only, very fast and memory-friendly family of C++ hash maps. diff --git a/ports/parallel-hashmap/portfile.cmake b/ports/parallel-hashmap/portfile.cmake index bd747784d..0c06b3a22 100644 --- a/ports/parallel-hashmap/portfile.cmake +++ b/ports/parallel-hashmap/portfile.cmake @@ -4,8 +4,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO greg7mdp/parallel-hashmap - REF 1.24 - SHA512 1d5ad02651fc64ab7dcddfee21cc97055828a881c2933fde34d3de19af20ae4b92fb631918b382c3bffed81335752690555aa03d7b204f8c6d7230f8a22d6718 + REF 1.30 + SHA512 5c2f4d1f50a6dc17bd763243412786056d5ecc4ec801ac5fe5bacbf0e6abe30e17347f3e4a22c12dc293e74843920cbc9b19ec3f1a048f8a3f58626457cba32a HEAD_REF master ) diff --git a/ports/parallelstl/CONTROL b/ports/parallelstl/CONTROL index 6361e1bd9..de0c81a04 100644 --- a/ports/parallelstl/CONTROL +++ b/ports/parallelstl/CONTROL @@ -1,5 +1,5 @@ Source: parallelstl
-Version: 20190522-1
+Version: 20191218
Homepage: https://github.com/intel/parallelstl
Description: Parallel STL is an implementation of the C++ standard library algorithms with support for execution policies, as specified in ISO/IEC 14882:2017 standard, commonly called C++17.
Build-Depends: tbb
\ No newline at end of file diff --git a/ports/parallelstl/fix-cmakelist.patch b/ports/parallelstl/fix-cmakelist.patch new file mode 100644 index 000000000..01a2c2271 --- /dev/null +++ b/ports/parallelstl/fix-cmakelist.patch @@ -0,0 +1,32 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 878b212..caa3cba 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -44,7 +44,7 @@ add_library(pstl::ParallelSTL ALIAS ParallelSTL)
+ if (PARALLELSTL_USE_PARALLEL_POLICIES)
+ message(STATUS "Using Parallel Policies")
+ if (PARALLELSTL_BACKEND STREQUAL "tbb")
+- find_package(TBB 2018 REQUIRED tbb OPTIONAL_COMPONENTS tbbmalloc)
++ find_package(TBB CONFIG REQUIRED tbb OPTIONAL_COMPONENTS tbbmalloc)
+ message(STATUS "Parallel STL uses TBB ${TBB_VERSION} (interface version: ${TBB_INTERFACE_VERSION})")
+ target_link_libraries(ParallelSTL INTERFACE TBB::tbb)
+ else()
+@@ -64,8 +64,7 @@ target_include_directories(ParallelSTL
+ INTERFACE
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/stdlib>
+- $<INSTALL_INTERFACE:include>
+- $<INSTALL_INTERFACE:stdlib>)
++ $<INSTALL_INTERFACE:include>)
+
+ target_compile_features(ParallelSTL
+ INTERFACE
+@@ -100,6 +99,8 @@ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/ParallelSTLConfig.cmake"
+ DESTINATION lib/cmake/ParallelSTL)
+ install(DIRECTORY include/pstl
+ DESTINATION include)
++file(GLOB STDLIB_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/stdlib/pstl/*)
++install(FILES ${STDLIB_HEADERS} DESTINATION include/pstl)
+
+ add_custom_target(install-pstl
+ COMMAND "${CMAKE_COMMAND}" -P "${PROJECT_BINARY_DIR}/cmake_install.cmake" -DCOMPONENT=ParallelSTL)
diff --git a/ports/parallelstl/fix-install-header.patch b/ports/parallelstl/fix-install-header.patch deleted file mode 100644 index cf2e11618..000000000 --- a/ports/parallelstl/fix-install-header.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt
-index c20a5c3..1ba8583 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -74,3 +74,6 @@ configure_file(
-
- export(TARGETS ParallelSTL NAMESPACE pstl:: FILE ParallelSTLTargets.cmake)
- export(PACKAGE ParallelSTL)
-+
-+#Install headers
-+install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include DESTINATION include)
-\ No newline at end of file
diff --git a/ports/parallelstl/portfile.cmake b/ports/parallelstl/portfile.cmake index 8c906fee2..8d0558d49 100644 --- a/ports/parallelstl/portfile.cmake +++ b/ports/parallelstl/portfile.cmake @@ -1,12 +1,11 @@ -include(vcpkg_common_functions)
-
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
- REPO intel/parallelstl
- REF 20190522
- SHA512 ad1b820ff4c2ce45ea3d6069dc8d5219449baca44d0bce86482aca247db7a4191e2bce10ab8365056ca278322809fdbb096519436e850cf95f2bb98fa7bc1ab1
+ REPO intel/parallelstl #20191218
+ REF 37761e15f62c03b7eb179db64ef930a69f33dfac
+ SHA512 dc8c875f692043b6f10ce7faf034e07536978537ea2a3d545be499cfa047f0c362c5109eb744a41dc0c92bd0fc56d98505183444bd376aeb257c9204480e6668
HEAD_REF master
- PATCHES fix-install-header.patch
+ PATCHES
+ fix-cmakelist.patch
)
vcpkg_configure_cmake(
@@ -18,10 +17,12 @@ vcpkg_configure_cmake( vcpkg_install_cmake()
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/ParallelSTL)
+
vcpkg_copy_pdbs()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib)
# Handle copyright
-file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright)
\ No newline at end of file +file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
\ No newline at end of file diff --git a/ports/pdal/CONTROL b/ports/pdal/CONTROL index 9dbec2ab9..d105decf5 100644 --- a/ports/pdal/CONTROL +++ b/ports/pdal/CONTROL @@ -1,4 +1,4 @@ Source: pdal
-Version: 1.7.1-6
+Version: 1.7.1-8
Description: PDAL - Point Data Abstraction Library is a library for manipulating point cloud data.
-Build-Depends: gdal, geos, jsoncpp, libgeotiff, laszip
+Build-Depends: gdal, geos, jsoncpp, libgeotiff, laszip, boost-system, boost-filesystem
diff --git a/ports/pdal/fix-dependency.patch b/ports/pdal/fix-dependency.patch new file mode 100644 index 000000000..f7351c950 --- /dev/null +++ b/ports/pdal/fix-dependency.patch @@ -0,0 +1,228 @@ +diff --git a/cmake/geos.cmake b/cmake/geos.cmake +index 90b79d9..4e144a6 100644 +--- a/cmake/geos.cmake ++++ b/cmake/geos.cmake +@@ -1,7 +1,11 @@ + # + # GEOS (required) + # +-find_package(GEOS QUIET 3.3) ++include(SelectLibraryConfigurations) ++find_library(GEOS_LIBRARY_RELEASE NAMES geos_c libgeos_c) ++find_library(GEOS_LIBRARY_DEBUG NAMES geos_cd libgeos_cd) ++select_library_configurations(GEOS) ++find_path(GEOS_INCLUDE_DIR geos_c.h) + set_package_properties(GEOS PROPERTIES TYPE REQUIRED + PURPOSE "Provides general purpose geometry support") + +diff --git a/cmake/modules/FindPostgreSQL.cmake b/cmake/modules/FindPostgreSQL.cmake +index 8178418..31b54d6 100644 +--- a/cmake/modules/FindPostgreSQL.cmake ++++ b/cmake/modules/FindPostgreSQL.cmake +@@ -80,4 +80,11 @@ find_package_handle_standard_args(PostgreSQL + POSTGRESQL_LIBRARIES + POSTGRESQL_VERSION) + +-mark_as_advanced(POSTGRESQL_INCLUDE_DIR POSTGRESQL_LIBRARIES) ++include (CMakeFindDependencyMacro) ++find_package(OpenSSL REQUIRED) ++set(POSTGRESQL_LIBRARIES ${POSTGRESQL_LIBRARIES} OpenSSL::SSL OpenSSL::Crypto) ++if (WIN32) ++ set(POSTGRESQL_LIBRARIES ${POSTGRESQL_LIBRARIES} Secur32) ++endif() ++ ++mark_as_advanced(POSTGRESQL_INCLUDE_DIR POSTGRESQL_LIBRARIES) +\ No newline at end of file +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 42cca1e..43b0ced 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -174,7 +174,6 @@ if (WITH_TESTS) + add_subdirectory(test) + endif() + add_subdirectory(dimbuilder) +-add_subdirectory(vendor/pdalboost) + add_subdirectory(vendor/arbiter) + add_subdirectory(vendor/kazhdan) + if (NOT PDAL_HAVE_JSONCPP) +diff --git a/PDALConfig.cmake.in b/PDALConfig.cmake.in +index ea695cf..21b66a1 100644 +--- a/PDALConfig.cmake.in ++++ b/PDALConfig.cmake.in +@@ -18,6 +18,7 @@ endforeach(_dir) + include(CMakeFindDependencyMacro) + find_dependency(GeoTIFF) + find_dependency(CURL) ++find_dependency(Boost COMPONENTS system filesystem) + include("${CMAKE_CURRENT_LIST_DIR}/PDALTargets.cmake") + + if (WIN32) +diff --git a/pdal/util/CMakeLists.txt b/pdal/util/CMakeLists.txt +index 19a2dd1..d498080 100644 +--- a/pdal/util/CMakeLists.txt ++++ b/pdal/util/CMakeLists.txt +@@ -8,6 +8,8 @@ endif() + + include(${PDAL_CMAKE_DIR}/execinfo.cmake) + ++find_package(Boost COMPONENTS system filesystem REQUIRED) ++ + set(PDAL_UTIL_SOURCES + "${PDAL_UTIL_DIR}/Bounds.cpp" + "${PDAL_UTIL_DIR}/Charbuf.cpp" +@@ -16,14 +18,14 @@ set(PDAL_UTIL_SOURCES + "${PDAL_UTIL_DIR}/Utils.cpp" + ) + +-PDAL_ADD_FREE_LIBRARY(${PDAL_UTIL_LIB_NAME} SHARED ${PDAL_UTIL_SOURCES}) ++PDAL_ADD_FREE_LIBRARY(${PDAL_UTIL_LIB_NAME} ${PDAL_UTIL_SOURCES}) + target_link_libraries(${PDAL_UTIL_LIB_NAME} + PRIVATE + ${EXECINFO_LIBRARY} +- ${PDAL_BOOST_LIB_NAME} ++ PUBLIC ++ Boost::system ++ Boost::filesystem + ) +-target_include_directories(${PDAL_UTIL_LIB_NAME} PRIVATE +- ${PDAL_VENDOR_DIR}/pdalboost) + + if (UNIX AND NOT APPLE) + target_link_libraries(${PDAL_UTIL_LIB_NAME} +diff --git a/pdal/util/FileUtils.cpp b/pdal/util/FileUtils.cpp +index 7679f22..b18b674 100644 +--- a/pdal/util/FileUtils.cpp ++++ b/pdal/util/FileUtils.cpp +@@ -124,19 +124,19 @@ std::ostream *createFile(std::string const& name, bool asBinary) + bool directoryExists(const std::string& dirname) + { + //ABELL - Seems we should be calling is_directory +- return pdalboost::filesystem::exists(dirname); ++ return boost::filesystem::exists(dirname); + } + + + bool createDirectory(const std::string& dirname) + { +- return pdalboost::filesystem::create_directory(dirname); ++ return boost::filesystem::create_directory(dirname); + } + + + void deleteDirectory(const std::string& dirname) + { +- pdalboost::filesystem::remove_all(dirname); ++ boost::filesystem::remove_all(dirname); + } + + +@@ -146,15 +146,15 @@ std::vector<std::string> directoryList(const std::string& dir) + + try + { +- pdalboost::filesystem::directory_iterator it(dir); +- pdalboost::filesystem::directory_iterator end; ++ boost::filesystem::directory_iterator it(dir); ++ boost::filesystem::directory_iterator end; + while (it != end) + { + files.push_back(it->path().string()); + it++; + } + } +- catch (pdalboost::filesystem::filesystem_error) ++ catch (boost::filesystem::filesystem_error) + { + files.clear(); + } +@@ -194,13 +194,13 @@ void closeFile(std::istream* in) + + bool deleteFile(const std::string& file) + { +- return pdalboost::filesystem::remove(file); ++ return boost::filesystem::remove(file); + } + + + void renameFile(const std::string& dest, const std::string& src) + { +- pdalboost::filesystem::rename(src, dest); ++ boost::filesystem::rename(src, dest); + } + + +@@ -211,9 +211,9 @@ bool fileExists(const std::string& name) + + try + { +- return pdalboost::filesystem::exists(name); ++ return boost::filesystem::exists(name); + } +- catch (pdalboost::filesystem::filesystem_error) ++ catch (boost::filesystem::filesystem_error) + { + } + return false; +@@ -222,7 +222,7 @@ bool fileExists(const std::string& name) + + uintmax_t fileSize(const std::string& file) + { +- return pdalboost::filesystem::file_size(file); ++ return boost::filesystem::file_size(file); + } + + +@@ -243,7 +243,7 @@ std::string readFileIntoString(const std::string& filename) + + std::string getcwd() + { +- const pdalboost::filesystem::path p = pdalboost::filesystem::current_path(); ++ const boost::filesystem::path p = boost::filesystem::current_path(); + return addTrailingSlash(p.string()); + } + +@@ -271,7 +271,7 @@ std::string toAbsolutePath(const std::string& filename) + // otherwise, make it absolute (relative to current working dir) and return that + std::string toAbsolutePath(const std::string& filename) + { +- return pdalboost::filesystem::absolute(filename).string(); ++ return boost::filesystem::absolute(filename).string(); + } + + +@@ -283,7 +283,7 @@ std::string toAbsolutePath(const std::string& filename) + std::string toAbsolutePath(const std::string& filename, const std::string base) + { + const std::string newbase = toAbsolutePath(base); +- return pdalboost::filesystem::absolute(filename, newbase).string(); ++ return boost::filesystem::absolute(filename, newbase).string(); + } + + std::string getFilename(const std::string& path) +@@ -304,8 +304,8 @@ std::string getFilename(const std::string& path) + // Get the directory part of a filename. + std::string getDirectory(const std::string& path) + { +- const pdalboost::filesystem::path dir = +- pdalboost::filesystem::path(path).parent_path(); ++ const boost::filesystem::path dir = ++ boost::filesystem::path(path).parent_path(); + return addTrailingSlash(dir.string()); + } + +@@ -326,13 +326,13 @@ std::string stem(const std::string& path) + // Determine if the path represents a directory. + bool isDirectory(const std::string& path) + { +- return pdalboost::filesystem::is_directory(path); ++ return boost::filesystem::is_directory(path); + } + + // Determine if the path is an absolute path + bool isAbsolutePath(const std::string& path) + { +- return pdalboost::filesystem::path(path).is_absolute(); ++ return boost::filesystem::path(path).is_absolute(); + } + + diff --git a/ports/pdal/libpq.patch b/ports/pdal/libpq.patch new file mode 100644 index 000000000..3aac2188c --- /dev/null +++ b/ports/pdal/libpq.patch @@ -0,0 +1,33 @@ +diff --git a/cmake/postgres.cmake b/cmake/postgres.cmake +index 0dad71069..32fdae2f8 100644 +--- a/cmake/postgres.cmake ++++ b/cmake/postgres.cmake +@@ -7,3 +7,27 @@ find_package(PostgreSQL REQUIRED) + mark_as_advanced(CLEAR POSTGRESQL_INCLUDE_DIR) + mark_as_advanced(CLEAR POSTGRESQL_LIBRARIES) + include_directories(${POSTGRESQL_INCLUDE_DIR}) ++ ++include(SelectLibraryConfigurations) ++ ++find_library(PostgreSQLCommon_LIBRARY_DEBUG ++NAMES libpgcommond pgcommond pgcommon libpgcommon ++NAMES_PER_DIR ++) ++find_library(PostgreSQLCommon_LIBRARY_RELEASE ++NAMES pgcommon libpgcommon ++NAMES_PER_DIR ++) ++select_library_configurations(PostgreSQLCommon) ++ ++find_library(PostgreSQLPort_LIBRARY_DEBUG ++NAMES pgportd libpgportd pgport libpgport ++NAMES_PER_DIR ++) ++find_library(PostgreSQLPort_LIBRARY_RELEASE ++NAMES pgport libpgport ++NAMES_PER_DIR ++) ++select_library_configurations(PostgreSQLPort) ++ ++list(APPEND POSTGRESQL_LIBRARIES ${PostgreSQLPort_LIBRARIES} ${PostgreSQLCommon_LIBRARIES}) +\ No newline at end of file diff --git a/ports/pdal/portfile.cmake b/ports/pdal/portfile.cmake index 6961199a7..ef792f3a0 100644 --- a/ports/pdal/portfile.cmake +++ b/ports/pdal/portfile.cmake @@ -1,5 +1,3 @@ -include(vcpkg_common_functions) - set(PDAL_VERSION_STR "1.7.1") vcpkg_download_distfile(ARCHIVE @@ -16,6 +14,8 @@ vcpkg_extract_source_archive_ex( 0002-no-source-dir-writes.patch 0003-fix-copy-vendor.patch PDALConfig.patch + fix-dependency.patch + libpq.patch ) file(REMOVE "${SOURCE_PATH}/pdal/gitsha.cpp") @@ -52,11 +52,6 @@ vcpkg_install_cmake(ADD_BIN_TO_PATH) vcpkg_fixup_cmake_targets(CONFIG_PATH lib/pdal/cmake) vcpkg_copy_pdbs() -# Install copyright -file(INSTALL ${SOURCE_PATH}/LICENSE.txt - DESTINATION ${CURRENT_PACKAGES_DIR}/share/pdal RENAME copyright -) - # Install PDAL executable file(GLOB _pdal_apps ${CURRENT_PACKAGES_DIR}/bin/*.exe) file(COPY ${_pdal_apps} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/pdal) @@ -81,3 +76,5 @@ else() file(GLOB _pdal_apps ${CURRENT_PACKAGES_DIR}/debug/bin/*.exe) file(REMOVE ${_pdal_apps}) endif() + +file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/pdcurses/CONTROL b/ports/pdcurses/CONTROL index 928000072..59ad72513 100644 --- a/ports/pdcurses/CONTROL +++ b/ports/pdcurses/CONTROL @@ -1,4 +1,4 @@ Source: pdcurses -Version: 3.8-1 +Version: 3.8-2 Homepage: https://sourceforge.net/projects/pdcurses/ Description: Public Domain Curses - a curses library for environments that don't fit the termcap/terminfo model. diff --git a/ports/pdcurses/portfile.cmake b/ports/pdcurses/portfile.cmake index a1c76fda3..98ceaee26 100644 --- a/ports/pdcurses/portfile.cmake +++ b/ports/pdcurses/portfile.cmake @@ -1,9 +1,5 @@ +vcpkg_check_linkage(ONLY_DYNAMIC_CRT) -if(NOT VCPKG_CRT_LINKAGE STREQUAL "dynamic") - message(FATAL_ERROR "PDCurses only supports dynamic CRT linkage") -endif() - -include(vcpkg_common_functions) find_program(NMAKE nmake) vcpkg_from_github( @@ -51,20 +47,27 @@ vcpkg_execute_required_process( message(STATUS "Build ${TARGET_TRIPLET}-dbg done") file ( - COPY ${PDC_PDCLIB}.lib + INSTALL ${PDC_PDCLIB}.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib ) if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") file ( - COPY ${PDC_PDCLIB}.dll + INSTALL ${PDC_PDCLIB}.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin ) endif() file( - COPY ${SOURCE_PATH}/curses.h ${SOURCE_PATH}/panel.h + INSTALL ${SOURCE_PATH}/curses.h ${SOURCE_PATH}/panel.h DESTINATION ${CURRENT_PACKAGES_DIR}/include ) + +if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + file(READ ${CURRENT_PACKAGES_DIR}/include/curses.h _contents) + string(REPLACE "#ifdef PDC_DLL_BUILD" "#if 1" _contents "${_contents}") + file(WRITE ${CURRENT_PACKAGES_DIR}/include/curses.h "${_contents}") +endif() + file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/pdcurses RENAME copyright) -vcpkg_copy_pdbs() +vcpkg_copy_pdbs()
\ No newline at end of file diff --git a/ports/pfring/CONTROL b/ports/pfring/CONTROL new file mode 100644 index 000000000..57c5b7ccf --- /dev/null +++ b/ports/pfring/CONTROL @@ -0,0 +1,4 @@ +Source: pfring
+Version: 2019-10-17
+Homepage: https://github.com/ntop/PF_RING
+Description: PF_RINGâ„¢ is a Linux kernel module and user-space framework that allows you to process packets at high-rates while providing you a consistent API for packet processing applications.
diff --git a/ports/pfring/portfile.cmake b/ports/pfring/portfile.cmake new file mode 100644 index 000000000..6d0ad5181 --- /dev/null +++ b/ports/pfring/portfile.cmake @@ -0,0 +1,57 @@ +vcpkg_fail_port_install(MESSAGE "${PORT} currently only supports Linux and Mac platforms" ON_TARGET "Windows")
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO ntop/PF_RING
+ REF 582fa09bc58411cfe6f27facd7e6438924f779d2
+ SHA512 78dd2d2f9df259483196905f80a904534632a835f742d1f8b3ad645ea80f2dad78356960a2b35e2678525786a7344fa248b708bd3f86101c43fb36c7abc05598
+ HEAD_REF dev
+)
+
+vcpkg_configure_make(
+ SOURCE_PATH ${SOURCE_PATH}
+ SKIP_CONFIGURE
+)
+
+vcpkg_build_make()
+vcpkg_copy_pdbs()
+
+# Install manually because pfring cannot set prefix
+if (NOT CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE STREQUAL debug)
+ set(PFRING_OBJ_DIR ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg)
+
+ if (CMAKE_BUILD_TYPE STREQUAL debug)
+ file(GLOB_RECURSE PFRING_KO_FILES "${PFRING_OBJ_DIR}/*.ko")
+ file(INSTALL ${PFRING_KO_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/share/${PORT})
+
+ file(INSTALL ${SOURCE_PATH}/userland/lib/pfring.h DESTINATION ${CURRENT_PACKAGES_DIR}/debug/include)
+ endif()
+
+ file(GLOB_RECURSE PFRING_LIBS "${PFRING_OBJ_DIR}/*${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}")
+ file(INSTALL ${PFRING_LIBS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
+
+ if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ file(GLOB_RECURSE PFRING_DLLS "${PFRING_OBJ_DIR}/*${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}")
+ file(INSTALL ${PFRING_DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
+ endif()
+endif()
+
+if (NOT CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE STREQUAL release)
+ set(PFRING_OBJ_DIR ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel)
+
+ file(GLOB_RECURSE PFRING_KO_FILES "${PFRING_OBJ_DIR}/*.ko")
+ file(INSTALL ${PFRING_KO_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
+
+ file(GLOB_RECURSE PFRING_LIBS "${PFRING_OBJ_DIR}/*${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}")
+ file(INSTALL ${PFRING_LIBS} DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
+
+ if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ file(GLOB_RECURSE PFRING_DLLS "${PFRING_OBJ_DIR}/*${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}")
+ file(INSTALL ${PFRING_DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/bin)
+ endif()
+
+ file(INSTALL ${SOURCE_PATH}/userland/lib/pfring.h DESTINATION ${CURRENT_PACKAGES_DIR}/include)
+endif()
+
+#Handle copyright
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/pixman/CONTROL b/ports/pixman/CONTROL index 9fca34201..d081eaacf 100644 --- a/ports/pixman/CONTROL +++ b/ports/pixman/CONTROL @@ -1,4 +1,4 @@ Source: pixman -Version: 0.38.0-4 +Version: 0.38.4-1 Homepage: https://www.cairographics.org/releases Description: Pixman is a low-level software library for pixel manipulation, providing features such as image compositing and trapezoid rasterization. diff --git a/ports/pixman/portfile.cmake b/ports/pixman/portfile.cmake index 649bee489..6e4f2f626 100644 --- a/ports/pixman/portfile.cmake +++ b/ports/pixman/portfile.cmake @@ -2,11 +2,11 @@ include(vcpkg_common_functions) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -set(PIXMAN_VERSION 0.38.0) +set(PIXMAN_VERSION 0.38.4) vcpkg_download_distfile(ARCHIVE URLS "https://www.cairographics.org/releases/pixman-${PIXMAN_VERSION}.tar.gz" FILENAME "pixman-${PIXMAN_VERSION}.tar.gz" - SHA512 1b0205dbe9d9185c68813ce577a889f3c83e83fbd9955c3a72d411c3b476e6be93fc246b5b6ef4ee17e2bb8eb6fb5559e01dff7feb6a6c4c6314f980e960d690 + SHA512 b66dc23c0bc7327cb90085cbc14ccf96ad58001a927f23af24e0258ca13f32d4255535862f1efcf00e9e723410aa9f51edf26fb01c8cde49379d1225acf7b5af ) vcpkg_extract_source_archive_ex( OUT_SOURCE_PATH SOURCE_PATH diff --git a/ports/pmdk/CONTROL b/ports/pmdk/CONTROL index a96dad85f..c2e5bed30 100644 --- a/ports/pmdk/CONTROL +++ b/ports/pmdk/CONTROL @@ -1,4 +1,4 @@ Source: pmdk -Version: 1.7 +Version: 1.7-1 Homepage: https://github.com/pmem/pmdk Description: Persistent Memory Development Kit diff --git a/ports/pmdk/portfile.cmake b/ports/pmdk/portfile.cmake index 5635bcff7..e8f1c309e 100644 --- a/ports/pmdk/portfile.cmake +++ b/ports/pmdk/portfile.cmake @@ -1,12 +1,6 @@ -include(vcpkg_common_functions) - vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY ONLY_DYNAMIC_CRT) -if (TRIPLET_SYSTEM_ARCH MATCHES "arm") - message(FATAL_ERROR "ARM is currently not supported") -elseif (TRIPLET_SYSTEM_ARCH MATCHES "x86") - message(FATAL_ERROR "x86 is not supported. Please use pmdk:x64-windows instead.") -endif() +vcpkg_fail_port_install(ON_ARCH "arm" "x86") set(PMDK_VERSION "1.7") @@ -16,6 +10,8 @@ vcpkg_from_github( REF bc5e309485df61c452d08367e4b13ba9dfed5071 #Commit id corresponding to the version 1.7 SHA512 15bee6a046746e4ab7e827bb36685bc5d9cdffdbc68ba86eb71e2c4bd84eb4fed4586c09174257bfd87ea178c8ee9865a8824842d7d1df67e0ae79ff80cf650e HEAD_REF master + PATCHES + remove-non-ascii-character.patch ) # Build only the selected projects @@ -59,6 +55,4 @@ vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/pmdk) vcpkg_copy_pdbs() -# Handle copyright -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/pmdk) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/pmdk/LICENSE ${CURRENT_PACKAGES_DIR}/share/pmdk/copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/pmdk/remove-non-ascii-character.patch b/ports/pmdk/remove-non-ascii-character.patch new file mode 100644 index 000000000..a133bee95 --- /dev/null +++ b/ports/pmdk/remove-non-ascii-character.patch @@ -0,0 +1,17 @@ +diff --git a/src/libpmemobj/critnib.c b/src/libpmemobj/critnib.c
+index 41fec79..f201dbd 100644
+--- a/src/libpmemobj/critnib.c
++++ b/src/libpmemobj/critnib.c
+@@ -360,9 +360,9 @@ alloc_leaf(struct critnib *__restrict c)
+ * crinib_insert -- write a key:value pair to the critnib structure
+ *
+ * Returns:
+- * • 0 on success
+- * • EEXIST if such a key already exists
+- * • ENOMEM if we're out of memory
++ * 0 on success
++ * EEXIST if such a key already exists
++ * ENOMEM if we're out of memory
+ *
+ * Takes a global write lock but doesn't stall any readers.
+ */
diff --git a/ports/portaudio/CONTROL b/ports/portaudio/CONTROL index 2337719bd..c6a562625 100644 --- a/ports/portaudio/CONTROL +++ b/ports/portaudio/CONTROL @@ -1,4 +1,4 @@ Source: portaudio
-Version: 2019-09-30
+Version: 2019-11-5
Homepage: https://app.assembla.com/spaces/portaudio/wiki
Description: PortAudio Portable Cross-platform Audio I/O API PortAudio is a free, cross-platform, open-source, audio I/O library. It lets you write simple audio programs in 'C' or C++ that will compile and run on many platforms including Windows, Macintosh OS X, and Unix (OSS/ALSA). It is intended to promote the exchange of audio software between developers on different platforms. Many applications use PortAudio for Audio I/O.
\ No newline at end of file diff --git a/ports/portaudio/fix-include.patch b/ports/portaudio/fix-include.patch new file mode 100644 index 000000000..4003959f7 --- /dev/null +++ b/ports/portaudio/fix-include.patch @@ -0,0 +1,22 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 1024016..7e6ea20 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -365,7 +365,7 @@ IF(PA_BUILD_SHARED)
+ ADD_LIBRARY(portaudio SHARED ${PA_INCLUDES} ${PA_COMMON_INCLUDES} ${PA_SOURCES} ${PA_NON_UNICODE_SOURCES} ${PA_EXTRA_SHARED_SOURCES})
+ SET_PROPERTY(TARGET portaudio APPEND_STRING PROPERTY COMPILE_DEFINITIONS ${PA_PRIVATE_COMPILE_DEFINITIONS})
+ TARGET_INCLUDE_DIRECTORIES(portaudio PRIVATE ${PA_PRIVATE_INCLUDE_PATHS})
+- TARGET_INCLUDE_DIRECTORIES(portaudio PUBLIC "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>")
++ TARGET_INCLUDE_DIRECTORIES(portaudio PUBLIC "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>" "$<INSTALL_INTERFACE:include>")
+ TARGET_LINK_LIBRARIES(portaudio ${PA_LIBRARY_DEPENDENCIES})
+ ENDIF()
+
+@@ -374,7 +374,7 @@ IF(PA_BUILD_STATIC)
+ ADD_LIBRARY(portaudio_static STATIC ${PA_INCLUDES} ${PA_COMMON_INCLUDES} ${PA_SOURCES} ${PA_NON_UNICODE_SOURCES})
+ SET_PROPERTY(TARGET portaudio_static APPEND_STRING PROPERTY COMPILE_DEFINITIONS ${PA_PRIVATE_COMPILE_DEFINITIONS})
+ TARGET_INCLUDE_DIRECTORIES(portaudio_static PRIVATE ${PA_PRIVATE_INCLUDE_PATHS})
+- TARGET_INCLUDE_DIRECTORIES(portaudio_static PUBLIC "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>")
++ TARGET_INCLUDE_DIRECTORIES(portaudio_static PUBLIC "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>" "$<INSTALL_INTERFACE:include>")
+ TARGET_LINK_LIBRARIES(portaudio_static ${PA_LIBRARY_DEPENDENCIES})
+ IF(NOT PA_LIBNAME_ADD_SUFFIX)
+ SET_PROPERTY(TARGET portaudio_static PROPERTY OUTPUT_NAME portaudio)
diff --git a/ports/portaudio/fix-library-can-not-be-found.patch b/ports/portaudio/fix-library-can-not-be-found.patch new file mode 100644 index 000000000..93353d7ee --- /dev/null +++ b/ports/portaudio/fix-library-can-not-be-found.patch @@ -0,0 +1,16 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 1024016..266e6d5 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -352,11 +352,6 @@ ENDIF()
+ # embedded builds this is not an issue as they will only build the configuration
+ # used in the host application.
+ MARK_AS_ADVANCED(PA_LIBNAME_ADD_SUFFIX)
+-IF(MSVC AND PA_BUILD_STATIC AND PA_BUILD_SHARED AND NOT PA_LIBNAME_ADD_SUFFIX)
+- MESSAGE(WARNING "Building both shared and static libraries, and avoiding the suffix _static will lead to a name conflict")
+- SET(PA_LIBNAME_ADD_SUFFIX ON CACHE BOOL "Forcing use of suffix _static to avoid name conflict between static and import library" FORCE)
+- MESSAGE(WARNING "PA_LIBNAME_ADD_SUFFIX was set to ON")
+-ENDIF()
+
+ SET(PA_TARGETS "")
+
diff --git a/ports/portaudio/portfile.cmake b/ports/portaudio/portfile.cmake index ea356d5ae..329e75b11 100644 --- a/ports/portaudio/portfile.cmake +++ b/ports/portaudio/portfile.cmake @@ -1,9 +1,10 @@ -include(vcpkg_common_functions)
-
vcpkg_from_git(
OUT_SOURCE_PATH SOURCE_PATH
URL https://git.assembla.com/portaudio.git
REF c5d2c51bd6fe354d0ee1119ba932bfebd3ebfacc
+ PATCHES
+ fix-library-can-not-be-found.patch
+ fix-include.patch
)
# NOTE: the ASIO backend will be built automatically if the ASIO-SDK is provided
@@ -17,35 +18,19 @@ vcpkg_configure_cmake( -DPA_USE_WDMKS=ON
-DPA_USE_WMME=ON
-DPA_ENABLE_DEBUG_OUTPUT:BOOL=ON
+ -DPA_LIBNAME_ADD_SUFFIX=OFF
)
vcpkg_install_cmake()
-
-# Remove static builds from dynamic builds and otherwise
-# Remove x86 and x64 from resulting files
-if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
- if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
- file (REMOVE ${CURRENT_PACKAGES_DIR}/lib/portaudio_static_${VCPKG_TARGET_ARCHITECTURE}.lib)
- file (REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/portaudio_static_${VCPKG_TARGET_ARCHITECTURE}.lib)
-
- file (RENAME ${CURRENT_PACKAGES_DIR}/lib/portaudio_${VCPKG_TARGET_ARCHITECTURE}.lib ${CURRENT_PACKAGES_DIR}/lib/portaudio.lib)
- file (RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/portaudio_${VCPKG_TARGET_ARCHITECTURE}.lib ${CURRENT_PACKAGES_DIR}/debug/lib/portaudio.lib)
- else ()
- file (RENAME ${CURRENT_PACKAGES_DIR}/lib/portaudio_static_${VCPKG_TARGET_ARCHITECTURE}.lib ${CURRENT_PACKAGES_DIR}/lib/portaudio.lib)
- file (RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/portaudio_static_${VCPKG_TARGET_ARCHITECTURE}.lib ${CURRENT_PACKAGES_DIR}/debug/lib/portaudio.lib)
- file (REMOVE ${CURRENT_PACKAGES_DIR}/lib/portaudio_${VCPKG_TARGET_ARCHITECTURE}.lib)
- file (REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin)
- file (REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/portaudio_${VCPKG_TARGET_ARCHITECTURE}.lib)
- file (REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin)
- endif ()
-endif ()
-
vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT})
vcpkg_copy_pdbs()
-# Handle copyright
-file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/portaudio)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/portaudio/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/portaudio/copyright)
-
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
\ No newline at end of file +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
+endif()
+
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/portaudio RENAME copyright)
\ No newline at end of file diff --git a/ports/ppconsul/CONTROL b/ports/ppconsul/CONTROL index cc122ecf6..4902c1f07 100644 --- a/ports/ppconsul/CONTROL +++ b/ports/ppconsul/CONTROL @@ -1,5 +1,5 @@ Source: ppconsul -Version: 0.3-1 +Version: 0.4 Homepage: https://github.com/oliora/ppconsul Description: A C++ client library for Consul. Consul is a distributed tool for discovering and configuring services in your infrastructure. Build-Depends: boost-core, boost-variant, curl[openssl], json11 diff --git a/ports/ppconsul/cmake_build.patch b/ports/ppconsul/cmake_build.patch index 95c795743..a66c8e1d9 100644 --- a/ports/ppconsul/cmake_build.patch +++ b/ports/ppconsul/cmake_build.patch @@ -56,7 +56,7 @@ index d747100..966c7e2 100644 source_group(${PROJECT_NAME} FILES ${SOURCES})
diff --git a/src/s11n.h b/src/s11n.h
-index 962a1ac..6ab7f3b 100644
+index c317834..3cb03c4 100644
--- a/src/s11n.h
+++ b/src/s11n.h
@@ -6,7 +6,7 @@
@@ -66,5 +66,5 @@ index 962a1ac..6ab7f3b 100644 -#include <json11/json11.hpp>
+#include <json11.hpp>
#include <vector>
+ #include <chrono>
#include <set>
- #include <map>
diff --git a/ports/ppconsul/portfile.cmake b/ports/ppconsul/portfile.cmake index a1290019f..60da089e6 100644 --- a/ports/ppconsul/portfile.cmake +++ b/ports/ppconsul/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO oliora/ppconsul - REF fd3a22eba03a49623832a8f8c990fee499e3f8fb - SHA512 098f2fa0fdc3f219f5958d0d5b2a620231e3cd94dc3110cfbedb87e787e8402a7b0294f7ffa4fcb4169b0428b4f65376b621e5840706ff7cc8f02ac7fc1d7757 + REF a3285a630ff46423701da28c6029c8d097e7430c + SHA512 9910d802c3cc296680274b3aad78f68885b7e0b30d0f196f31a3e5f056a9ddab2a03c7cc28028050922a2463155ea326b8531c69f2a4e286ca70ea1f9a9f6971 HEAD_REF master PATCHES "cmake_build.patch" ) diff --git a/ports/proj4/CONTROL b/ports/proj4/CONTROL index f4db51a33..0bcabb5a6 100644 --- a/ports/proj4/CONTROL +++ b/ports/proj4/CONTROL @@ -1,5 +1,5 @@ Source: proj4 -Version: 6.2.0-1 +Version: 6.2.1-2 Homepage: https://github.com/OSGeo/PROJ Description: PROJ.4 library for cartographic projections Build-Depends: sqlite3[core] diff --git a/ports/proj4/disable-export-for-static-lib.patch b/ports/proj4/disable-export-for-static-lib.patch new file mode 100644 index 000000000..f9bd086ca --- /dev/null +++ b/ports/proj4/disable-export-for-static-lib.patch @@ -0,0 +1,26 @@ +diff --git a/src/geodesic.h b/src/geodesic.h +index 11484ec7..479a9462 100644 +--- a/src/geodesic.h ++++ b/src/geodesic.h +@@ -158,7 +158,7 @@ + GEODESIC_VERSION_PATCH) + + #ifndef GEOD_DLL +-#if defined(_MSC_VER) ++#if defined(_MSC_VER) && defined(PROJ_MSVC_DLL_EXPORT) + #define GEOD_DLL __declspec(dllexport) + #elif defined(__GNUC__) + #define GEOD_DLL __attribute__ ((visibility("default"))) +diff --git a/src/lib_proj.cmake b/src/lib_proj.cmake +index bad60324..2e90f98f 100644 +--- a/src/lib_proj.cmake ++++ b/src/lib_proj.cmake +@@ -443,7 +443,7 @@ endif() + include_directories(${SQLITE3_INCLUDE_DIR}) + target_link_libraries(${PROJ_CORE_TARGET} ${SQLITE3_LIBRARY}) + +-if(MSVC) ++if(MSVC AND BUILD_LIBPROJ_SHARED) + target_compile_definitions(${PROJ_CORE_TARGET} + PRIVATE PROJ_MSVC_DLL_EXPORT=1) + endif() diff --git a/ports/proj4/fix-sqlite-dependency-export.patch b/ports/proj4/fix-sqlite-dependency-export.patch index a7f051699..774d1acfd 100644 --- a/ports/proj4/fix-sqlite-dependency-export.patch +++ b/ports/proj4/fix-sqlite-dependency-export.patch @@ -1,13 +1,13 @@ diff --git a/src/lib_proj.cmake b/src/lib_proj.cmake -index 5a0a807..f7bfffd 100644 +index 2e90f98f..dc171e91 100644 --- a/src/lib_proj.cmake +++ b/src/lib_proj.cmake -@@ -439,7 +439,7 @@ if(USE_THREAD AND Threads_FOUND AND CMAKE_USE_PTHREADS_INIT) +@@ -441,7 +441,7 @@ if(USE_THREAD AND Threads_FOUND AND CMAKE_USE_PTHREADS_INIT) endif() include_directories(${SQLITE3_INCLUDE_DIR}) -target_link_libraries(${PROJ_CORE_TARGET} ${SQLITE3_LIBRARY}) +target_link_libraries(${PROJ_CORE_TARGET} PUBLIC ${SQLITE3_LIBRARY}) - if(MSVC) + if(MSVC AND BUILD_LIBPROJ_SHARED) target_compile_definitions(${PROJ_CORE_TARGET} diff --git a/ports/proj4/portfile.cmake b/ports/proj4/portfile.cmake index a34e29da4..dc91d41a5 100644 --- a/ports/proj4/portfile.cmake +++ b/ports/proj4/portfile.cmake @@ -1,13 +1,13 @@ -include(vcpkg_common_functions) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO OSGeo/PROJ - REF 6.2.0 - SHA512 035c138e1a7794760652906daaf3c8a42cb6431ad9062a42ec2f8d721ead25394407fdd52560c5f1fc8668a0167459fdbe47c6392de23c1474304ea26b8a3a33 + REF 6.2.1 + SHA512 43f0356a1f4df871e09a738fb8ac386c0fbe543b35c3c1b9c9685469ca7a2a540427edb9b17d4c010c06a4818d17d0421dfcdca9af9d091854da71690fddfbf3 HEAD_REF master PATCHES fix-sqlite3-bin.patch + disable-export-namespace.patch + disable-export-for-static-lib.patch disable-projdb-with-arm-uwp.patch fix-win-output-name.patch fix-sqlite-dependency-export.patch @@ -28,12 +28,12 @@ if ("database" IN_LIST FEATURES) if (VCPKG_TARGET_IS_WINDOWS) set(BIN_SUFFIX .exe) if (VCPKG_TARGET_ARCHITECTURE STREQUAL arm) - if (NOT EXISTS ${CURRENT_INSTALLED_DIR}/../x86-windows/tools/sqlite3-bin.exe) + if (NOT EXISTS ${CURRENT_INSTALLED_DIR}/../x86-windows/tools/sqlite3.exe) message(FATAL_ERROR "Proj4 database need to install sqlite3[tool]:x86-windows first.") endif() set(SQLITE3_BIN_PATH ${CURRENT_INSTALLED_DIR}/../x86-windows/tools) elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL arm64 OR (VCPKG_TARGET_ARCHITECTURE STREQUAL x64 AND VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)) - if (NOT EXISTS ${CURRENT_INSTALLED_DIR}/../x64-windows/tools/sqlite3-bin.exe) + if (NOT EXISTS ${CURRENT_INSTALLED_DIR}/../x64-windows/tools/sqlite3.exe) message(FATAL_ERROR "Proj4 database need to install sqlite3[tool]:x64-windows first.") endif() set(SQLITE3_BIN_PATH ${CURRENT_INSTALLED_DIR}/../x64-windows/tools) @@ -61,7 +61,7 @@ vcpkg_configure_cmake( -DBUILD_PROJ=OFF -DBUILD_PROJINFO=OFF -DPROJ_TESTS=OFF - -DEXE_SQLITE3=${SQLITE3_BIN_PATH}/sqlite3-bin${BIN_SUFFIX} + -DEXE_SQLITE3=${SQLITE3_BIN_PATH}/sqlite3${BIN_SUFFIX} ) vcpkg_install_cmake() @@ -70,4 +70,4 @@ vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/proj4) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/proj4 RENAME copyright) +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/prometheus-cpp/CONTROL b/ports/prometheus-cpp/CONTROL index 341af0e8c..290038bd0 100644 --- a/ports/prometheus-cpp/CONTROL +++ b/ports/prometheus-cpp/CONTROL @@ -1,5 +1,5 @@ Source: prometheus-cpp -Version: 0.7.0 +Version: 0.8.0 Description: Prometheus Client Library for Modern C++ Default-Features: compression, pull diff --git a/ports/prometheus-cpp/portfile.cmake b/ports/prometheus-cpp/portfile.cmake index 20f58c8a2..add7064cc 100644 --- a/ports/prometheus-cpp/portfile.cmake +++ b/ports/prometheus-cpp/portfile.cmake @@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO jupp0r/prometheus-cpp - REF v0.7.0 - SHA512 ff946585e24d84596e851f838b42566512fe368f164254d309b2aa3bda770c5442b6eeb880055351f89e0e2d0b581fddb5b0e70dd5b2a15370e508c4aabbcb1c + REF v0.8.0 + SHA512 23cb0de4022f6a05e58aff37f36a499d062849c34772994fc69887a72462591553c7098492f18a8a86b5c31e70a0b93813a7cb7e5adb1974897e9f38053f543a HEAD_REF master ) diff --git a/ports/protobuf-c/CONTROL b/ports/protobuf-c/CONTROL new file mode 100644 index 000000000..dce11fd90 --- /dev/null +++ b/ports/protobuf-c/CONTROL @@ -0,0 +1,12 @@ +Source: protobuf-c
+Version: 1.3.2
+Homepage: https://github.com/protobuf-c/protobuf-c
+Description: This is protobuf-c, a C implementation of the Google Protocol Buffers data serialization format.
+Build-Depends: protobuf
+
+Feature: tools
+Description: build tools.
+
+Feature: test
+Description: build test project.
+Build-Depends: protobuf[tools]
\ No newline at end of file diff --git a/ports/protobuf-c/fix-features.patch b/ports/protobuf-c/fix-features.patch new file mode 100644 index 000000000..89b2dd432 --- /dev/null +++ b/ports/protobuf-c/fix-features.patch @@ -0,0 +1,62 @@ +diff --git a/build-cmake/CMakeLists.txt b/build-cmake/CMakeLists.txt +index bc1728f..7c6a04d 100644 +--- a/build-cmake/CMakeLists.txt ++++ b/build-cmake/CMakeLists.txt +@@ -61,11 +61,15 @@ if (MSVC AND MSVC_STATIC_BUILD) + endif(${flag_var} MATCHES "/MD") + endforeach(flag_var) + endif (MSVC AND MSVC_STATIC_BUILD) ++ ++IF(WITH_TOOLS) + FILE(GLOB PROTOC_GEN_C_SRC ${MAIN_DIR}/protoc-c/*.h ${MAIN_DIR}/protoc-c/*.cc ) + ADD_EXECUTABLE(protoc-gen-c ${PROTOC_GEN_C_SRC}) + + TARGET_LINK_LIBRARIES(protoc-gen-c ${PROTOBUF_PROTOC_LIBRARY} ${PROTOBUF_LIBRARY}) ++ENDIF() + ++IF(WITH_TEST AND WITH_TOOLS) + IF(CMAKE_HOST_UNIX) + ADD_CUSTOM_COMMAND(TARGET ${PROJECT_NAME} POST_BUILD + COMMAND ln -sf protoc-gen-c protoc-c +@@ -79,8 +83,6 @@ FUNCTION(GENERATE_TEST_SOURCES PROTO_FILE SRC HDR) + DEPENDS protoc-gen-c) + ENDFUNCTION() + +- +-IF(CMAKE_BUILD_TYPE MATCHES Debug) + ENABLE_TESTING() + + GENERATE_TEST_SOURCES(${TEST_DIR}/test.proto t/test.pb-c.c t/test.pb-c.h) +@@ -126,17 +128,17 @@ GENERATE_TEST_SOURCES(${TEST_DIR}/test-proto3.proto t/test-proto3.pb-c.c t/test- + ADD_EXECUTABLE(test-generated-code3 ${TEST_DIR}/generated-code/test-generated-code.c t/test-proto3.pb-c.c t/test-proto3.pb-c.h) + TARGET_COMPILE_DEFINITIONS(test-generated-code3 PUBLIC -DPROTO3) + TARGET_LINK_LIBRARIES(test-generated-code3 protobuf-c) +- + ENDIF() + +-INSTALL(TARGETS protoc-gen-c protobuf-c RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib) +-INSTALL(FILES ${MAIN_DIR}/protobuf-c/protobuf-c.h DESTINATION include/protobuf-c) +-INSTALL(FILES ${MAIN_DIR}/protobuf-c/protobuf-c.h DESTINATION include) ++IF (WITH_TOOLS) ++INSTALL(TARGETS protoc-gen-c RUNTIME DESTINATION tools LIBRARY DESTINATION lib ARCHIVE DESTINATION lib) ++ENDIF() + + IF(CMAKE_HOST_UNIX) + INSTALL(CODE "EXECUTE_PROCESS (COMMAND ln -sf protoc-gen-c protoc-c WORKING_DIRECTORY ${CMAKE_INSTALL_PREFIX}/bin)") + ENDIF() + ++IF (WITH_TEST) + INCLUDE(Dart) + + SET(DART_TESTING_TIMEOUT 5) +@@ -147,5 +149,10 @@ ADD_TEST(test-issue220 test-issue220) + ADD_TEST(test-issue251 test-issue251) + ADD_TEST(test-version test-version) + ++ENDIF() ++ ++INSTALL(TARGETS protobuf-c RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib) ++INSTALL(FILES ${MAIN_DIR}/protobuf-c/protobuf-c.h DESTINATION include/protobuf-c) ++INSTALL(FILES ${MAIN_DIR}/protobuf-c/protobuf-c.h DESTINATION include) + + INCLUDE(CPack) diff --git a/ports/protobuf-c/portfile.cmake b/ports/protobuf-c/portfile.cmake new file mode 100644 index 000000000..ec3bcba72 --- /dev/null +++ b/ports/protobuf-c/portfile.cmake @@ -0,0 +1,30 @@ +vcpkg_fail_port_install(MESSAGE "${PORT} currently only supports Linux platform" ON_TARGET "Windows")
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO protobuf-c/protobuf-c
+ REF 1390409f4ee4e26d0635310995b516eb702c3f9e #1.3.2
+ SHA512 5c60883c4ef064c641875bfe7f89bf255a29dd20b5e0be5878cbaec03f2efd1f926c3e40dc0090cb172b8eef227fddafe86051f08edb3e1c26d0bd6aca673e41
+ HEAD_REF master
+ PATCHES fix-features.patch
+)
+
+vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+ tools WITH_TOOLS
+ test WITH_TEST
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}/build-cmake
+ PREFER_NINJA
+ DISABLE_PARALLEL_CONFIGURE
+ OPTIONS ${FEATURE_OPTIONS}
+)
+
+vcpkg_install_cmake()
+
+# Include files should not be duplicated into the /debug/include directory.
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
\ No newline at end of file diff --git a/ports/protobuf/CONTROL b/ports/protobuf/CONTROL index b0fd79627..6f9eb1d85 100644 --- a/ports/protobuf/CONTROL +++ b/ports/protobuf/CONTROL @@ -1,5 +1,5 @@ Source: protobuf -Version: 3.10.0 +Version: 3.11.2 Homepage: https://github.com/google/protobuf Description: Protocol Buffers - Google's data interchange format diff --git a/ports/protobuf/portfile.cmake b/ports/protobuf/portfile.cmake index 0e149a3b2..1d595bf09 100644 --- a/ports/protobuf/portfile.cmake +++ b/ports/protobuf/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO protocolbuffers/protobuf - REF v3.10.0 - SHA512 0dcba6d21486fdc162f57119754b47b4a2fb605af878d5b96a32df55895321535cffb5b804566fd90ee7c36e20106d0cd4f5d9f3c652dc9c4dfca96be41a1977 + REF v3.11.2 + SHA512 8319c1e003e5fc64e91b512de016ec1cf10265b294d3b4beea60856beaeb02b4d7682343c74b2c12b0f6d4d6258451af9b9d72bcb4b495293b7637da21030c8f HEAD_REF master PATCHES fix-uwp.patch diff --git a/ports/proxygen/CONTROL b/ports/proxygen/CONTROL new file mode 100644 index 000000000..86c5b5b7e --- /dev/null +++ b/ports/proxygen/CONTROL @@ -0,0 +1,5 @@ +Source: proxygen
+Version: 2019.10.21.00
+Homepage: https://github.com/facebook/proxygen
+Description: It comprises the core C++ HTTP abstractions used at Facebook.
+Build-Depends: folly, fizz, wangle, zstd, zlib, openssl, boost-iostreams, boost-context, boost-date-time, boost-filesystem, boost-program-options, boost-regex, boost-system, boost-thread
\ No newline at end of file diff --git a/ports/proxygen/fix-tools-path.patch b/ports/proxygen/fix-tools-path.patch new file mode 100644 index 000000000..2e6ab171a --- /dev/null +++ b/ports/proxygen/fix-tools-path.patch @@ -0,0 +1,49 @@ +diff --git a/proxygen/httpserver/CMakeLists.txt b/proxygen/httpserver/CMakeLists.txt +index 40046e5..ab53b06 100644 +--- a/proxygen/httpserver/CMakeLists.txt ++++ b/proxygen/httpserver/CMakeLists.txt +@@ -45,7 +45,7 @@ target_link_libraries( + install( + TARGETS proxygen_push + EXPORT proxygen-exports +- DESTINATION bin ++ DESTINATION tools + ) + + add_executable(proxygen_proxy +@@ -66,7 +66,7 @@ target_link_libraries( + install( + TARGETS proxygen_proxy + EXPORT proxygen-exports +- DESTINATION bin ++ DESTINATION tools + ) + + add_executable(proxygen_static +@@ -87,7 +87,7 @@ target_link_libraries( + install( + TARGETS proxygen_static + EXPORT proxygen-exports +- DESTINATION bin ++ DESTINATION tools + ) + + add_executable(proxygen_echo +@@ -108,7 +108,7 @@ target_link_libraries( + install( + TARGETS proxygen_echo + EXPORT proxygen-exports +- DESTINATION bin ++ DESTINATION tools + ) + + if (BUILD_QUIC) +@@ -140,7 +140,7 @@ if (BUILD_QUIC) + install( + TARGETS hq + EXPORT proxygen-exports +- DESTINATION bin ++ DESTINATION tools + ) + endif() + diff --git a/ports/proxygen/portfile.cmake b/ports/proxygen/portfile.cmake new file mode 100644 index 000000000..8624ea48a --- /dev/null +++ b/ports/proxygen/portfile.cmake @@ -0,0 +1,39 @@ +vcpkg_fail_port_install(ON_TARGET "Windows")
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO facebook/proxygen
+ REF ac8a0f520b1d5fb91cd3f3ef681d4b37053b09f0 #v2019.10.21.00
+ SHA512 2a76fed7cf9947e1096b36d25fe7886c06655fa2faf6d4829fd07c682efdf2bd9003a4c9e4772a4ccfd72df81e7066df736d2330a5edf0e836da30dcc81d3b5f
+ HEAD_REF master
+ PATCHES fix-tools-path.patch
+)
+
+vcpkg_find_acquire_program(PYTHON3)
+get_filename_component(PYTHON3_PATH ${PYTHON3} DIRECTORY)
+vcpkg_add_to_path(${PYTHON3_PATH})
+
+if (VCPKG_TARGET_IS_WINDOWS)
+ vcpkg_find_acquire_program(GPERF)
+ get_filename_component(GPERF_PATH ${GPERF} DIRECTORY)
+ vcpkg_add_to_path(${GPERF_PATH})
+else()
+ # gperf only have windows package in vcpkg now.
+ if (NOT EXISTS /usr/bin/gperf)
+ message(FATAL_ERROR "proxygen requires gperf, these can be installed on Ubuntu systems via apt-get install gperf.")
+ endif()
+endif()
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+)
+
+vcpkg_install_cmake()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/proxygen)
+vcpkg_copy_pdbs()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+#Handle copyright
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/proxywrapper/CONTROL b/ports/proxywrapper/CONTROL new file mode 100644 index 000000000..c982b2c5b --- /dev/null +++ b/ports/proxywrapper/CONTROL @@ -0,0 +1,5 @@ +Source: proxywrapper
+Version: 1.0.0
+Description: Provides a standalone wrapper around the libproxy library.
+Homepage: https://github.com/microsoft/proxy-wrapper
+Build-Depends: libproxy
diff --git a/ports/proxywrapper/fix-find-libproxy.patch b/ports/proxywrapper/fix-find-libproxy.patch new file mode 100644 index 000000000..aeb45b98d --- /dev/null +++ b/ports/proxywrapper/fix-find-libproxy.patch @@ -0,0 +1,20 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 5a867a4..3ba85fa 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -5,11 +5,12 @@ project(proxywrapper)
+
+ include(GNUInstallDirs)
+
+-find_library(proxy REQUIRED)
++find_package(libproxy REQUIRED)
+
+-add_library(proxywrapper SHARED ProxyWrapper.cpp)
++add_library(proxywrapper ProxyWrapper.cpp)
+
+-target_link_libraries(proxywrapper proxy)
++target_link_libraries(proxywrapper PRIVATE ${LIBPROXY_LIBRARIES})
++target_include_directories(proxywrapper PRIVATE ${LIBPROXY_INCLUDE_DIR})
+
+ install(TARGETS proxywrapper EXPORT proxywrapper DESTINATION ${CMAKE_INSTALL_LIBDIR})
+
diff --git a/ports/proxywrapper/fix-macos-build.patch b/ports/proxywrapper/fix-macos-build.patch new file mode 100644 index 000000000..8bdaeac56 --- /dev/null +++ b/ports/proxywrapper/fix-macos-build.patch @@ -0,0 +1,15 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 3ba85fa..f18fd1e 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,7 +1,9 @@
+
+ cmake_minimum_required(VERSION 3.8)
+
+-project(proxywrapper)
++project(proxywrapper C CXX)
++
++set(CMAKE_CXX_STANDARD 11)
+
+ include(GNUInstallDirs)
+
diff --git a/ports/proxywrapper/portfile.cmake b/ports/proxywrapper/portfile.cmake new file mode 100644 index 000000000..048a9f995 --- /dev/null +++ b/ports/proxywrapper/portfile.cmake @@ -0,0 +1,23 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO microsoft/proxy-wrapper
+ REF b113aa0a284508ce0c2878febf9073d1f03b59dc
+ SHA512 9793ec8b9cc0467c88d850ea51a96a0fdc3c3027cc5b7fd9f5d0362d7fd559e909f19a4eaca6554a9316d6e3a86bb5f541034ca9ce2fb8797fb2e5bdff42b0de
+ HEAD_REF master
+ PATCHES
+ fix-find-libproxy.patch
+ fix-macos-build.patch
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+)
+
+vcpkg_install_cmake()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+file(INSTALL ${SOURCE_PATH}/license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
+
diff --git a/ports/ptex/CONTROL b/ports/ptex/CONTROL index 069f2e628..823988f85 100644 --- a/ports/ptex/CONTROL +++ b/ports/ptex/CONTROL @@ -1,5 +1,5 @@ Source: ptex -Version: 2.3.2 +Version: 2.3.2-1 Homepage: https://github.com/wdas/ptex Description: Per-Face Texture Mapping for Production Rendering. Build-Depends: zlib diff --git a/ports/ptex/fix-config.cmake.patch b/ports/ptex/fix-config.cmake.patch new file mode 100644 index 000000000..d635d4e05 --- /dev/null +++ b/ports/ptex/fix-config.cmake.patch @@ -0,0 +1,18 @@ +diff --git a/src/build/ptex-config.cmake b/src/build/ptex-config.cmake
+index f95df9e..2d3f58f 100644
+--- a/src/build/ptex-config.cmake
++++ b/src/build/ptex-config.cmake
+@@ -1,11 +1,11 @@
+ @PACKAGE_INIT@
+
++include(CMakeFindDependencyMacro)
+ include("${CMAKE_CURRENT_LIST_DIR}/ptex-version.cmake")
+ include("${CMAKE_CURRENT_LIST_DIR}/ptex-exports.cmake")
+
+ # Provide PkgConfig::ZLIB to downstream dependents
+-find_package(PkgConfig REQUIRED)
+-pkg_checK_modules(Ptex_ZLIB REQUIRED zlib IMPORTED_TARGET)
++find_dependency(ZLIB REQUIRED)
+
+ set_and_check(Ptex_DIR @PACKAGE_CMAKE_INSTALL_PREFIX@)
+ set_and_check(Ptex_LIBRARY_DIRS @PACKAGE_CMAKE_INSTALL_LIBDIR@)
diff --git a/ports/ptex/portfile.cmake b/ports/ptex/portfile.cmake index 94a626a34..933364097 100644 --- a/ports/ptex/portfile.cmake +++ b/ports/ptex/portfile.cmake @@ -1,8 +1,4 @@ -include(vcpkg_common_functions) - -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore) - message(FATAL_ERROR "UWP build not supported") -endif() +vcpkg_fail_port_install(ON_TARGET "uwp") set(PTEX_VER 2.3.2) @@ -12,7 +8,9 @@ vcpkg_from_github( REF 1b8bc985a71143317ae9e4969fa08e164da7c2e5 SHA512 37f2df9ec195f3d69d9526d0dea6a93ef49d69287bfae6ccd9671477491502ea760ed14e3b206b4f488831ab728dc749847b7d176c9b8439fb58b0a0466fe6c5 HEAD_REF master - PATCHES ${CMAKE_CURRENT_LIST_DIR}/fix-build.patch + PATCHES + fix-build.patch + fix-config.cmake.patch ) if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) @@ -47,5 +45,5 @@ foreach(HEADER PtexHalf.h Ptexture.h) endforeach() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) -file(COPY ${SOURCE_PATH}/src/doc/license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/ptex) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/ptex/license.txt ${CURRENT_PACKAGES_DIR}/share/ptex/copyright) +# Handle copyright +file(INSTALL ${SOURCE_PATH}/src/doc/license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/python3/portfile.cmake b/ports/python3/portfile.cmake index c31eb313a..3a22d25b7 100644 --- a/ports/python3/portfile.cmake +++ b/ports/python3/portfile.cmake @@ -42,33 +42,45 @@ if (VCPKG_TARGET_IS_WINDOWS) file(GLOB HEADERS ${SOURCE_PATH}/Include/*.h) file(COPY ${HEADERS} ${SOURCE_PATH}/PC/pyconfig.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}) - file(COPY ${SOURCE_PATH}/Lib DESTINATION ${CURRENT_PACKAGES_DIR}/share/python${PYTHON_VERSION_MAJOR}) - file(COPY ${SOURCE_PATH}/PCBuild/${OUT_DIR}/python${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR}.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib) - file(COPY ${SOURCE_PATH}/PCBuild/${OUT_DIR}/python${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR}_d.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) + + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + file(COPY ${SOURCE_PATH}/PCBuild/${OUT_DIR}/python${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR}_d.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) + endif() if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) file(COPY ${SOURCE_PATH}/PCBuild/${OUT_DIR}/python${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR}.dll DESTINATION ${CURRENT_PACKAGES_DIR}/bin) - file(COPY ${SOURCE_PATH}/PCBuild/${OUT_DIR}/python${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR}_d.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) + + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + file(COPY ${SOURCE_PATH}/PCBuild/${OUT_DIR}/python${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR}_d.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) + endif() + + endif() + + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + vcpkg_copy_pdbs() endif() - - vcpkg_copy_pdbs() - # Handle copyright file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/python${PYTHON_VERSION_MAJOR}) file(RENAME ${CURRENT_PACKAGES_DIR}/share/python${PYTHON_VERSION_MAJOR}/LICENSE ${CURRENT_PACKAGES_DIR}/share/python${PYTHON_VERSION_MAJOR}/copyright) + elseif (VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_OSX) - set(SOURCE_PATH_DEBUG "${TEMP_SOURCE_PATH}-${TARGET_TRIPLET}-debug") + + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + set(SOURCE_PATH_DEBUG "${TEMP_SOURCE_PATH}-${TARGET_TRIPLET}-debug") + endif() + set(SOURCE_PATH_RELEASE "${TEMP_SOURCE_PATH}-${TARGET_TRIPLET}-release") - file(REMOVE_RECURSE ${SOURCE_PATH_RELEASE}) file(GLOB FILES ${TEMP_SOURCE_PATH}/*) file(COPY ${FILES} DESTINATION ${SOURCE_PATH_RELEASE}) - - file(REMOVE_RECURSE ${SOURCE_PATH_DEBUG}) - file(RENAME "${TEMP_SOURCE_PATH}" ${SOURCE_PATH_DEBUG}) - + + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + file(REMOVE_RECURSE ${SOURCE_PATH_DEBUG}) + file(RENAME "${TEMP_SOURCE_PATH}" ${SOURCE_PATH_DEBUG}) + endif() + find_program(MAKE make) if (NOT MAKE) message(FATAL_ERROR "MAKE not found") @@ -97,6 +109,7 @@ elseif (VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_OSX) endif() message(STATUS "Building ${TARGET_TRIPLET}-rel") + vcpkg_execute_build_process( COMMAND make -j ${VCPKG_CONCURRENCY} NO_PARALLEL_COMMAND make @@ -113,14 +126,13 @@ elseif (VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_OSX) file(GLOB HEADERS ${OUT_PATH_RELEASE}/include/*) file(COPY ${HEADERS} DESTINATION ${CURRENT_PACKAGES_DIR}/include) - file(GLOB LIBS ${OUT_PATH_RELEASE}/lib/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/*) file(COPY ${LIBS} DESTINATION ${CURRENT_PACKAGES_DIR}/share/python${PYTHON_VERSION_MAJOR}/Lib) - file(GLOB LIBS ${OUT_PATH_RELEASE}/lib/pkgconfig/*) file(COPY ${LIBS} DESTINATION ${CURRENT_PACKAGES_DIR}/share/python${PYTHON_VERSION_MAJOR}) file(COPY ${OUT_PATH_RELEASE}/lib/libpython${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}m.a DESTINATION ${CURRENT_PACKAGES_DIR}/lib) message(STATUS "Installing ${TARGET_TRIPLET}-rel done") + endif() if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") @@ -130,6 +142,7 @@ elseif (VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_OSX) message(STATUS "Configuring ${TARGET_TRIPLET}-dbg") set(OUT_PATH_DEBUG ${SOURCE_PATH_DEBUG}/../../make-build-${TARGET_TRIPLET}-debug) file(MAKE_DIRECTORY ${OUT_PATH_DEBUG}) + if(VCPKG_TARGET_IS_OSX) vcpkg_execute_build_process( COMMAND "${SOURCE_PATH_DEBUG}/configure" --with-pydebug --prefix=${OUT_PATH_DEBUG} --with-openssl=${CURRENT_INSTALLED_DIR}/debug "CPPFLAGS=-I${CURRENT_INSTALLED_DIR}/include -framework CoreFoundation" "LDFLAGS=-L${CURRENT_INSTALLED_DIR}/debug/lib" "LIBS=-liconv" @@ -161,9 +174,10 @@ elseif (VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_OSX) file(COPY ${OUT_PATH_DEBUG}/lib/libpython${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}dm.a DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) message(STATUS "Installing ${TARGET_TRIPLET}-dbg done") + endif() - # Handle copyright file(COPY ${SOURCE_PATH_RELEASE}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/python${PYTHON_VERSION_MAJOR}) file(RENAME ${CURRENT_PACKAGES_DIR}/share/python${PYTHON_VERSION_MAJOR}/LICENSE ${CURRENT_PACKAGES_DIR}/share/python${PYTHON_VERSION_MAJOR}/copyright) + endif() diff --git a/ports/qcustomplot/CONTROL b/ports/qcustomplot/CONTROL index 4b8223844..90eb89b22 100644 --- a/ports/qcustomplot/CONTROL +++ b/ports/qcustomplot/CONTROL @@ -1,4 +1,4 @@ Source: qcustomplot
-Version: 2.0.1-1
+Version: 2.0.1-3
Description: QCustomPlot is a Qt C++ widget for plotting and data visualization.
Build-Depends: qt5-base
diff --git a/ports/qcustomplot/portfile.cmake b/ports/qcustomplot/portfile.cmake index d35c67d01..ba153e79a 100644 --- a/ports/qcustomplot/portfile.cmake +++ b/ports/qcustomplot/portfile.cmake @@ -24,46 +24,16 @@ vcpkg_configure_qmake(SOURCE_PATH ${SOURCE_PATH}/qcustomplot-sharedlib/sharedlib-compilation/sharedlib-compilation.pro
)
-vcpkg_build_qmake(
+vcpkg_install_qmake(
RELEASE_TARGETS release-all
DEBUG_TARGETS debug-all
)
-set(DEBUG_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg")
-set(RELEASE_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel")
-
# Install header file
file(INSTALL ${SOURCE_PATH}/qcustomplot.h
DESTINATION ${CURRENT_PACKAGES_DIR}/include
)
-# Install module files
-macro(_install_module_file source_dir target_dir filename_regex)
- file(GLOB _files ${source_dir}/*)
- list(FILTER _files INCLUDE REGEX ${filename_regex})
- file(INSTALL ${_files} DESTINATION ${target_dir})
-endmacro()
-
-_install_module_file(${DEBUG_DIR}/debug
- ${CURRENT_PACKAGES_DIR}/debug/lib
- "qcustomplotd[2]*\.(lib|a)$")
-
-_install_module_file(${RELEASE_DIR}/release
- ${CURRENT_PACKAGES_DIR}/lib
- "qcustomplot[2]*\.(lib|a)$")
-
-if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
- file(INSTALL
- ${DEBUG_DIR}/debug/qcustomplotd2.dll
- DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin
- )
-
- file(INSTALL
- ${RELEASE_DIR}/release/qcustomplot2.dll
- DESTINATION ${CURRENT_PACKAGES_DIR}/bin
- )
-endif()
-
vcpkg_copy_pdbs()
# Handle copyright
diff --git a/ports/qhull/CONTROL b/ports/qhull/CONTROL index 67812997b..e27ef1af2 100644 --- a/ports/qhull/CONTROL +++ b/ports/qhull/CONTROL @@ -1,4 +1,4 @@ Source: qhull -Version: 7.3.2-1 +Version: 7.3.2-2 Homepage: https://github.com/qhull/qhull Description: computes the convex hull, Delaunay triangulation, Voronoi diagram diff --git a/ports/qhull/mac-fix.patch b/ports/qhull/mac-fix.patch new file mode 100644 index 000000000..9af0a1c7e --- /dev/null +++ b/ports/qhull/mac-fix.patch @@ -0,0 +1,37 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 07d3da2..14df8e9 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -626,18 +626,18 @@ install(TARGETS ${qhull_TARGETS_INSTALL} EXPORT QhullTargets + include(CMakePackageConfigHelpers) + + write_basic_package_version_file( +- "${CMAKE_CURRENT_BINARY_DIR}/Qhull/QhullConfigVersion.cmake" ++ "${CMAKE_CURRENT_BINARY_DIR}/QhullExport/QhullConfigVersion.cmake" + VERSION ${qhull_VERSION} + COMPATIBILITY AnyNewerVersion + ) + + export(EXPORT QhullTargets +- FILE "${CMAKE_CURRENT_BINARY_DIR}/Qhull/QhullTargets.cmake" ++ FILE "${CMAKE_CURRENT_BINARY_DIR}/QhullExport/QhullTargets.cmake" + NAMESPACE Qhull:: + ) + + configure_file(${PROJECT_SOURCE_DIR}/build/config.cmake.in +- "${CMAKE_CURRENT_BINARY_DIR}/Qhull/QhullConfig.cmake" ++ "${CMAKE_CURRENT_BINARY_DIR}/QhullExport/QhullConfig.cmake" + @ONLY + ) + +@@ -652,8 +652,8 @@ install(EXPORT QhullTargets + ) + install( + FILES +- "${CMAKE_CURRENT_BINARY_DIR}/Qhull/QhullConfig.cmake" +- "${CMAKE_CURRENT_BINARY_DIR}/Qhull/QhullConfigVersion.cmake" ++ "${CMAKE_CURRENT_BINARY_DIR}/QhullExport/QhullConfig.cmake" ++ "${CMAKE_CURRENT_BINARY_DIR}/QhullExport/QhullConfigVersion.cmake" + DESTINATION + ${ConfigPackageLocation} + COMPONENT diff --git a/ports/qhull/portfile.cmake b/ports/qhull/portfile.cmake index ade241dc8..779206415 100644 --- a/ports/qhull/portfile.cmake +++ b/ports/qhull/portfile.cmake @@ -6,7 +6,9 @@ vcpkg_from_github( REF v7.3.2 # Qhull 2019.1 SHA512 aea2c70179de10f648aba960129a3b9a3fe309a0eb085bdb86f697e3d4b214570c241e88d4f0b4d2974137759ee7086452d0a3957c4b2a256708402fb3c9eb3d HEAD_REF master - PATCHES uwp.patch + PATCHES + uwp.patch + mac-fix.patch ) if(${TARGET_TRIPLET} STREQUAL "x64-windows-static") # workaround for visual studio toolset regression LNK1201 (remove if solved) diff --git a/ports/qpid-proton/portfile.cmake b/ports/qpid-proton/portfile.cmake index 53aebeb0c..9fa76cd0c 100644 --- a/ports/qpid-proton/portfile.cmake +++ b/ports/qpid-proton/portfile.cmake @@ -2,13 +2,13 @@ include(vcpkg_common_functions) vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) -vcpkg_find_acquire_program(PYTHON2) +vcpkg_find_acquire_program(PYTHON3) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO apache/qpid-proton - REF 0.28.0 - SHA512 dc253218a076ea56d64e0aaeb6ef9e7345bb9ac700c58b8ea6cb9b3c79d66b0667bcc62cbb45f9ce3455fa8f97b7dfb1c2096d269d1b5b9c5c650ef61a126cfe + REF 0.29.0 + SHA512 81ed701b15c12259164212a39b64b9843e3db4d084d3c270fad2e1de21bc055426dcb767ff4b5a3f2e7f7ea1245acd908d04420b71bd8b24265dda8073f364a2 HEAD_REF next ) @@ -16,7 +16,11 @@ vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS - -DPYTHON_EXECUTABLE=${PYTHON2} + -DPYTHON_EXECUTABLE=${PYTHON3} + -DLIB_SUFFIX= + -DBUILD_GO=no + -DBUILD_RUBY=no + -DBUILD_PYTHON=no -DENABLE_JSONCPP=ON -DCMAKE_DISABLE_FIND_PACKAGE_CyrusSASL=ON ) @@ -40,4 +44,8 @@ file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/LICENSE.txt file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/pkgconfig) +file(REMOVE ${CURRENT_PACKAGES_DIR}/share/qpid-proton/CMakeLists.txt) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share/qpid-proton/tests) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share/qpid-proton/examples) diff --git a/ports/qscintilla/CONTROL b/ports/qscintilla/CONTROL index 3e8d82c92..de1622354 100644 --- a/ports/qscintilla/CONTROL +++ b/ports/qscintilla/CONTROL @@ -1,5 +1,5 @@ Source: qscintilla -Version: 2.10-9 +Version: 2.10-11 Homepage: https://sourceforge.net/projects/pyqt Description: QScintilla is a port to Qt of the Scintilla editing component. Features syntax highlighting, code-completion and much more (Barebone build without python bindings (missing dependeny PyQt) and without QtDesigner plugin) Build-Depends: qt5-base, qt5-macextras (osx), qt5-winextras (windows) diff --git a/ports/qscintilla/portfile.cmake b/ports/qscintilla/portfile.cmake index d979f3135..d34d5517c 100644 --- a/ports/qscintilla/portfile.cmake +++ b/ports/qscintilla/portfile.cmake @@ -19,10 +19,6 @@ vcpkg_add_to_path(PREPEND ${PYTHON_PATH}) vcpkg_add_to_path(${CURRENT_INSTALLED_DIR}/bin) vcpkg_add_to_path(${CURRENT_INSTALLED_DIR}/debug/bin) -#Store build paths -set(DEBUG_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") -set(RELEASE_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") - vcpkg_configure_qmake( SOURCE_PATH ${SOURCE_PATH}/Qt4Qt5 OPTIONS @@ -32,31 +28,17 @@ vcpkg_configure_qmake( ) if(VCPKG_TARGET_IS_WINDOWS) - vcpkg_build_qmake( + vcpkg_install_qmake( RELEASE_TARGETS release DEBUG_TARGETS debug ) else() - vcpkg_build_qmake() + vcpkg_install_qmake() endif() file(GLOB HEADER_FILES ${SOURCE_PATH}/Qt4Qt5/Qsci/*) file(COPY ${HEADER_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include/Qsci) -if(VCPKG_TARGET_IS_WINDOWS) - configure_file(${RELEASE_DIR}/release/qscintilla2_qt5.lib ${CURRENT_PACKAGES_DIR}/lib/qscintilla2.lib COPYONLY) - configure_file(${DEBUG_DIR}/debug/qscintilla2_qt5.lib ${CURRENT_PACKAGES_DIR}/debug/lib/qscintilla2.lib COPYONLY) - - if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - file(COPY ${RELEASE_DIR}/release/qscintilla2_qt5.dll DESTINATION ${CURRENT_PACKAGES_DIR}/bin) - file(COPY ${DEBUG_DIR}/debug/qscintilla2_qt5.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) - endif() -elseif(VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_OSX) - configure_file(${RELEASE_DIR}/libqscintilla2_qt5.a ${CURRENT_PACKAGES_DIR}/lib/libqscintilla2.a COPYONLY) - configure_file(${DEBUG_DIR}/libqscintilla2_qt5.a ${CURRENT_PACKAGES_DIR}/debug/lib/libqscintilla2.a COPYONLY) -endif() - - vcpkg_copy_pdbs() # Handle copyright diff --git a/ports/qt5-base/CONTROL b/ports/qt5-base/CONTROL index 8c0cc6c5a..ac926522b 100644 --- a/ports/qt5-base/CONTROL +++ b/ports/qt5-base/CONTROL @@ -1,8 +1,8 @@ -Source: qt5-base
-Version: 5.12.5-1
-Homepage: https://www.qt.io/
-Description: Qt5 Application Framework Base Module. Includes Core, GUI, Widgets, Networking, SQL, Concurrent and other essential qt components.
-Build-Depends: zlib, libjpeg-turbo, libpng, freetype, pcre2, harfbuzz, sqlite3, libpq, double-conversion, openssl
-
-Feature: latest
-Description: Build latest qt version (5.13.1) instead of LTS
\ No newline at end of file +Source: qt5-base +Version: 5.12.5-8 +Homepage: https://www.qt.io/ +Description: Qt5 Application Framework Base Module. Includes Core, GUI, Widgets, Networking, SQL, Concurrent and other essential qt components. +Build-Depends: zlib, libjpeg-turbo, libpng, freetype, pcre2, harfbuzz, sqlite3, libpq, double-conversion, openssl, angle (!windows), egl-registry, icu (!uwp), fontconfig (!windows) + +Feature: latest +Description: Build latest qt version (5.13.1) instead of LTS diff --git a/ports/qt5-base/cmake/qt_fix_cmake.cmake b/ports/qt5-base/cmake/qt_fix_cmake.cmake index 6da5deb8e..f435566c6 100644 --- a/ports/qt5-base/cmake/qt_fix_cmake.cmake +++ b/ports/qt5-base/cmake/qt_fix_cmake.cmake @@ -13,7 +13,13 @@ function(qt_fix_cmake PACKAGE_DIR_TO_FIX PORT_TO_FIX) LOGNAME fix-cmake
)
endif()
-
+ if(EXISTS ${PACKAGE_DIR_TO_FIX}/share/cmake)
+ vcpkg_execute_required_process(
+ COMMAND ${PYTHON2} ${CURRENT_INSTALLED_DIR}/share/qt5/fixcmake.py ${PORT_TO_FIX}
+ WORKING_DIRECTORY ${PACKAGE_DIR_TO_FIX}/share/cmake
+ LOGNAME fix-cmake
+ )
+ endif()
#Install cmake files
if(EXISTS ${PACKAGE_DIR_TO_FIX}/lib/cmake)
file(MAKE_DIRECTORY ${PACKAGE_DIR_TO_FIX}/share)
diff --git a/ports/qt5-base/fixcmake.py b/ports/qt5-base/fixcmake.py index afb127560..6f677327c 100644 --- a/ports/qt5-base/fixcmake.py +++ b/ports/qt5-base/fixcmake.py @@ -13,40 +13,45 @@ tooldir="/tools/"+port+"/bin/" for f in files: openedfile = open(f, "r") builder = "" - dllpattern = re.compile("_install_prefix}/bin/Qt5.*d+(.dll|.so)") - libpattern = re.compile("_install_prefix}/lib/Qt5.*d+(.lib|.a)") + dllpatterndebug = re.compile("_install_prefix}/bin/Qt5.*d+(.dll|.so)") + libpatterndebug = re.compile("_install_prefix}/lib/Qt5.*d+(.lib|.a)") exepattern = re.compile("_install_prefix}/bin/[a-z]+(.exe|)") toolexepattern = re.compile("_install_prefix}/tools/qt5/bin/[a-z]+(.exe|)") tooldllpattern = re.compile("_install_prefix}/tools/qt5/bin/Qt5.*d+(.dll|.so)") + populatepluginpattern = re.compile("_populate_[^_]+_plugin_properties\([^ ]+ RELEASE") + populatetargetpattern = re.compile("_populate_[^_]+_target_properties\(RELEASE ") for line in openedfile: if "_install_prefix}/tools/qt5/${LIB_LOCATION}" in line: builder += " if (${Configuration} STREQUAL \"RELEASE\")" builder += "\n " + line.replace("/tools/qt5/bin", "/bin/") - builder += " else()" - builder += "\n " + line.replace("/tools/qt5/debug/bin", "/debug/bin/") + builder += " else()" #This requires a release and debug build since Qt will check that the file exists! + #It would be better to use an elseif here with a EXISTS check but that requires a more complicated regex to build the complete filepath since each module uses its own _(qtmodule)_install_prefix + #so single configuration builds of Qt are currently not supported. Thus => + #TODO: Make single configuration builds of Qt work correctly! + builder += "\n " + line.replace("/tools/qt5/debug/bin", "/debug/bin/") builder += " endif()\n" elif "_install_prefix}/bin/${LIB_LOCATION}" in line: builder += " if (${Configuration} STREQUAL \"RELEASE\")" builder += "\n " + line - builder += " else()" - builder += "\n " + line.replace("/bin/", "/debug/bin/") + builder += " else()" #This requires a release and debug build! + builder += "\n " + line.replace("/bin/", "/debug/bin/") builder += " endif()\n" elif "_install_prefix}/lib/${LIB_LOCATION}" in line: builder += " if (${Configuration} STREQUAL \"RELEASE\")" builder += "\n " + line - builder += " else()" + builder += " else()" #This requires a release and debug build! builder += "\n " + line.replace("/lib/", "/debug/lib/") builder += " endif()\n" elif "_install_prefix}/lib/${IMPLIB_LOCATION}" in line: builder += " if (${Configuration} STREQUAL \"RELEASE\")" builder += "\n " + line - builder += " else()" + builder += " else()" #This requires a release and debug build! builder += "\n " + line.replace("/lib/", "/debug/lib/") builder += " endif()\n" elif "_install_prefix}/plugins/${PLUGIN_LOCATION}" in line: builder += " if (${Configuration} STREQUAL \"RELEASE\")" builder += "\n " + line - builder += " else()" + builder += " else()" #This requires a release and debug build! builder += "\n " + line.replace("/plugins/", "/debug/plugins/") builder += " endif()\n" elif "_install_prefix}/lib/qtmaind.lib" in line: @@ -60,9 +65,15 @@ for f in files: builder += " set_target_properties(Qt5::WinMain PROPERTIES\n" builder += " IMPORTED_LOCATION_DEBUG ${imported_location_debug}\n" builder += " )\n" - elif dllpattern.search(line) != None: + elif populatepluginpattern.search(line) != None: + builder += line + builder += line.replace("RELEASE", "DEBUG").replace(".dll", "d.dll").replace(".lib", "d.lib") + elif populatetargetpattern.search(line) != None: + builder += line + builder += line.replace("RELEASE", "DEBUG").replace(".dll", "d.dll").replace(".lib", "d.lib") + elif dllpatterndebug.search(line) != None: builder += line.replace("/bin/", "/debug/bin/") - elif libpattern.search(line) != None: + elif libpatterndebug.search(line) != None: builder += line.replace("/lib/", "/debug/lib/") elif tooldllpattern.search(line) != None: builder += line.replace("/tools/qt5/bin", "/debug/bin/") diff --git a/ports/qt5-base/patches/gui_configure.patch b/ports/qt5-base/patches/gui_configure.patch index 31c29dbeb..7a283dc62 100644 --- a/ports/qt5-base/patches/gui_configure.patch +++ b/ports/qt5-base/patches/gui_configure.patch @@ -14,3 +14,16 @@ index c51e3ceee..7f7e206b6 100644 ], "use": [ { "lib": "zlib", "condition": "features.system-zlib" } +@@ -262,7 +262,10 @@ + "headers": "fontconfig/fontconfig.h", + "sources": [ +- { "type": "pkgConfig", "args": "fontconfig" }, ++ { "type": "pkgConfig", "args": "breakfontconfig" }, +- { "type": "freetype", "libs": "-lfontconfig" } ++ { "type": "freetype", "libs": "-lbreakautofind" }, ++ { "libs": "-lfontconfig -lexpat" }, ++ { "libs": "-llibfontconfig -llibexpat" }, ++ "-lfontconfig" + ], + "use": "freetype" + }, diff --git a/ports/qt5-base/patches/icu.patch b/ports/qt5-base/patches/icu.patch new file mode 100644 index 000000000..16c13b0c3 --- /dev/null +++ b/ports/qt5-base/patches/icu.patch @@ -0,0 +1,24 @@ +diff --git a/src/corelib/configure.json b/src/corelib/configure.json +index de8d26a12..068b80c51 100644 +--- a/src/corelib/configure.json ++++ b/src/corelib/configure.json +@@ -106,13 +106,17 @@ + "headers": [ "unicode/utypes.h", "unicode/ucol.h", "unicode/ustring.h" ], + "sources": [ + { ++ "libs": "", + "builds": { +- "debug": "-lsicuind -lsicuucd -lsicudtd", +- "release": "-lsicuin -lsicuuc -lsicudt" ++ "debug": "-licuind -licuucd -licudtd", ++ "release": "-licuin -licuuc -licudt" + }, + "condition": "config.win32 && !features.shared" + }, ++ { "libs": "-licuind -licuucd -licudtd", "condition": "config.win32 && !features.shared"}, ++ { "libs": "-licuin -licuuc -licudt", "condition": "config.win32 && !features.shared"}, + { "libs": "-licuin -licuuc -licudt", "condition": "config.win32 && features.shared" }, ++ { "libs": "-licuind -licuucd -licudtd", "condition": "config.win32 && features.shared" }, + { "libs": "-licui18n -licuuc -licudata", "condition": "!config.win32" } + ], + "use": [ diff --git a/ports/qt5-base/portfile.cmake b/ports/qt5-base/portfile.cmake index 4deb298c1..443d462e1 100644 --- a/ports/qt5-base/portfile.cmake +++ b/ports/qt5-base/portfile.cmake @@ -1,5 +1,11 @@ vcpkg_buildpath_length_warning(37) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + option(QT_OPENSSL_LINK "Link against OpenSSL at compile-time." ON) +else() + option(QT_OPENSSL_LINK "Link against OpenSSL at compile-time." OFF) +endif() + list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}) list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/cmake) @@ -31,7 +37,8 @@ qt_download_submodule( OUT_SOURCE_PATH SOURCE_PATH patches/winmain_pro.patch #Moves qtmain to manual-link patches/windows_prf.patch #fixes the qtmain dependency due to the above move patches/qt_app.patch #Moves the target location of qt5 host apps to always install into the host dir. - patches/gui_configure.patch #Patches the gui configure.json to break freetype autodetection because it does not include its dependencies. + patches/gui_configure.patch #Patches the gui configure.json to break freetype/fontconfig autodetection because it does not include its dependencies. + patches/icu.patch #Help configure find static icu builds in vcpkg on windows #patches/static_opengl.patch #Use this patch if you really want to statically link angle on windows (e.g. using -opengl es2 and -static). #Be carefull since it requires definining _GDI32_ for all dependent projects due to redefinition errors in the #the windows supplied gl.h header and the angle gl.h otherwise. @@ -61,7 +68,7 @@ set(CORE_OPTIONS # ENV ANGLE_DIR to external angle source dir. (Will always be compiled with Qt) #-optimized-tools #-force-debug-info - #-verbose + -verbose ) ## 3rd Party Libs @@ -73,7 +80,13 @@ list(APPEND CORE_OPTIONS -system-pcre -system-doubleconversion -system-sqlite - -system-harfbuzz) + -system-harfbuzz + -icu + -no-angle) # Qt does not need to build angle. VCPKG will build angle! + +if(QT_OPENSSL_LINK) + list(APPEND CORE_OPTIONS -openssl-linked) +endif() find_library(ZLIB_RELEASE NAMES z zlib PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) find_library(ZLIB_DEBUG NAMES z zlib zd zlibd PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) @@ -93,6 +106,35 @@ find_library(HARFBUZZ_RELEASE NAMES harfbuzz PATHS "${CURRENT_INSTALLED_DIR}/lib find_library(HARFBUZZ_DEBUG NAMES harfbuzz PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) find_library(SQLITE_RELEASE NAMES sqlite3 PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) # Depends on openssl and zlib(linux) find_library(SQLITE_DEBUG NAMES sqlite3 sqlite3d PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) + +find_library(ICUUC_RELEASE NAMES icuuc libicuuc PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) +find_library(ICUUC_DEBUG NAMES icuucd libicuucd icuuc libicuuc PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) +find_library(ICUTU_RELEASE NAMES icutu libicutu PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) +find_library(ICUTU_DEBUG NAMES icutud libicutud icutu libicutu PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) + +# Was installed in WSL but not on CI machine +# find_library(ICULX_RELEASE NAMES iculx libiculx PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) +# find_library(ICULX_DEBUG NAMES iculxd libiculxd iculx libiculx PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) + +find_library(ICUIO_RELEASE NAMES icuio libicuio PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) +find_library(ICUIO_DEBUG NAMES icuiod libicuiod icuio libicuio PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) +find_library(ICUIN_RELEASE NAMES icui18n libicui18n icuin PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) +find_library(ICUIN_DEBUG NAMES icui18nd libicui18nd icui18n libicui18n icuin icuind PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) +find_library(ICUDATA_RELEASE NAMES icudata libicudata icudt PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) +find_library(ICUDATA_DEBUG NAMES icudatad libicudatad icudata libicudata icudtd PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) +set(ICU_RELEASE "${ICUIN_RELEASE} ${ICUTU_RELEASE} ${ICULX_RELEASE} ${ICUUC_RELEASE} ${ICUIO_RELEASE} ${ICUDATA_RELEASE}") +set(ICU_DEBUG "${ICUIN_DEBUG} ${ICUTU_DEBUG} ${ICULX_DEBUG} ${ICUUC_DEBUG} ${ICUIO_DEBUG} ${ICUDATA_DEBUG}") +if(VCPKG_TARGET_IS_WINDOWS) + set(ICU_RELEASE "${ICU_RELEASE} Advapi32.lib") + set(ICU_DEBUG "${ICU_DEBUG} Advapi32.lib" ) +endif() + + +find_library(FONTCONFIG_RELEASE NAMES fontconfig PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) +find_library(FONTCONFIG_DEBUG NAMES fontconfig PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) +find_library(EXPAT_RELEASE NAMES expat PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) +find_library(EXPAT_DEBUG NAMES expat PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) + #Dependent libraries find_library(BZ2_RELEASE bz2 PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) find_library(BZ2_DEBUG bz2 bz2d PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) @@ -107,8 +149,9 @@ set(RELEASE_OPTIONS "LIBPNG_LIBS=${LIBPNG_RELEASE} ${ZLIB_RELEASE}" "PCRE2_LIBS=${PCRE2_RELEASE}" "FREETYPE_LIBS=${FREETYPE_RELEASE} ${BZ2_RELEASE} ${LIBPNG_RELEASE} ${ZLIB_RELEASE}" + "ICU_LIBS=${ICU_RELEASE}" "QMAKE_LIBS_PRIVATE+=${BZ2_RELEASE}" - "QMAKE_LIBS_PRIVATE+=${LIBPNG_RELEASE}" + "QMAKE_LIBS_PRIVATE+=${LIBPNG_RELEASE}" ) set(DEBUG_OPTIONS "LIBJPEG_LIBS=${JPEG_DEBUG}" @@ -116,6 +159,7 @@ set(DEBUG_OPTIONS "LIBPNG_LIBS=${LIBPNG_DEBUG} ${ZLIB_DEBUG}" "PCRE2_LIBS=${PCRE2_DEBUG}" "FREETYPE_LIBS=${FREETYPE_DEBUG} ${BZ2_DEBUG} ${LIBPNG_DEBUG} ${ZLIB_DEBUG}" + "ICU_LIBS=${ICU_DEBUG}" "QMAKE_LIBS_PRIVATE+=${BZ2_DEBUG}" "QMAKE_LIBS_PRIVATE+=${LIBPNG_DEBUG}" ) @@ -134,14 +178,17 @@ if(VCPKG_TARGET_IS_WINDOWS) "PSQL_LIBS=${PSQL_RELEASE} ${SSL_RELEASE} ${EAY_RELEASE} ws2_32.lib secur32.lib advapi32.lib shell32.lib crypt32.lib user32.lib gdi32.lib" "SQLITE_LIBS=${SQLITE_RELEASE}" "HARFBUZZ_LIBS=${HARFBUZZ_RELEASE}" + "OPENSSL_LIBS=${SSL_RELEASE} ${EAY_RELEASE} ws2_32.lib secur32.lib advapi32.lib shell32.lib crypt32.lib user32.lib gdi32.lib" ) list(APPEND DEBUG_OPTIONS "PSQL_LIBS=${PSQL_DEBUG} ${SSL_DEBUG} ${EAY_DEBUG} ws2_32.lib secur32.lib advapi32.lib shell32.lib crypt32.lib user32.lib gdi32.lib" "SQLITE_LIBS=${SQLITE_DEBUG}" "HARFBUZZ_LIBS=${HARFBUZZ_DEBUG}" + "OPENSSL_LIBS=${SSL_DEBUG} ${EAY_DEBUG} ws2_32.lib secur32.lib advapi32.lib shell32.lib crypt32.lib user32.lib gdi32.lib" ) elseif(VCPKG_TARGET_IS_LINUX) + list(APPEND CORE_OPTIONS -fontconfig) if (NOT EXISTS "/usr/include/GL/glu.h") message(FATAL_ERROR "qt5 requires libgl1-mesa-dev and libglu1-mesa-dev, please use your distribution's package manager to install them.\nExample: \"apt-get install libgl1-mesa-dev libglu1-mesa-dev\"") endif() @@ -149,13 +196,18 @@ elseif(VCPKG_TARGET_IS_LINUX) "PSQL_LIBS=${PSQL_RELEASE} ${SSL_RELEASE} ${EAY_RELEASE} -ldl -lpthread" "SQLITE_LIBS=${SQLITE_RELEASE} -ldl -lpthread" "HARFBUZZ_LIBS=${HARFBUZZ_RELEASE}" + "OPENSSL_LIBS=${SSL_RELEASE} ${EAY_RELEASE} -ldl -lpthread" + "FONTCONFIG_LIBS=${FONTCONFIG_RELEASE} ${FREETYPE_RELEASE} ${EXPAT_RELEASE}" ) list(APPEND DEBUG_OPTIONS "PSQL_LIBS=${PSQL_DEBUG} ${SSL_DEBUG} ${EAY_DEBUG} -ldl -lpthread" "SQLITE_LIBS=${SQLITE_DEBUG} -ldl -lpthread" "HARFBUZZ_LIBS=${HARFBUZZ_DEBUG}" + "OPENSSL_LIBS=${SSL_DEBUG} ${EAY_DEBUG} -ldl -lpthread" + "FONTCONFIG_LIBS=${FONTCONFIG_DEBUG} ${FREETYPE_DEBUG} ${EXPAT_DEBUG}" ) elseif(VCPKG_TARGET_IS_OSX) + list(APPEND CORE_OPTIONS -fontconfig) if(DEFINED VCPKG_OSX_DEPLOYMENT_TARGET) set(ENV{QMAKE_MACOSX_DEPLOYMENT_TARGET} ${VCPKG_OSX_DEPLOYMENT_TARGET}) else() @@ -182,11 +234,15 @@ elseif(VCPKG_TARGET_IS_OSX) "PSQL_LIBS=${PSQL_RELEASE} ${SSL_RELEASE} ${EAY_RELEASE} -ldl -lpthread" "SQLITE_LIBS=${SQLITE_RELEASE} -ldl -lpthread" "HARFBUZZ_LIBS=${HARFBUZZ_RELEASE} -framework ApplicationServices" + "OPENSSL_LIBS=${SSL_RELEASE} ${EAY_RELEASE} -ldl -lpthread" + "FONTCONFIG_LIBS=${FONTCONFIG_RELEASE} ${FREETYPE_RELEASE} ${EXPAT_RELEASE}" ) list(APPEND DEBUG_OPTIONS "PSQL_LIBS=${PSQL_DEBUG} ${SSL_DEBUG} ${EAY_DEBUG} -ldl -lpthread" "SQLITE_LIBS=${SQLITE_DEBUG} -ldl -lpthread" "HARFBUZZ_LIBS=${HARFBUZZ_DEBUG} -framework ApplicationServices" + "OPENSSL_LIBS=${SSL_DEBUG} ${EAY_DEBUG} -ldl -lpthread" + "FONTCONFIG_LIBS=${FONTCONFIG_DEBUG} ${FREETYPE_DEBUG} ${EXPAT_DEBUG}" ) endif() @@ -233,11 +289,13 @@ else() #This needs a new VCPKG policy. if(VCPKG_TARGET_IS_WINDOWS AND ${VCPKG_LIBRARY_LINKAGE} MATCHES "static") # Move angle dll libraries message(STATUS "Moving ANGLE dlls from /bin to /tools/qt5-angle/bin. In static builds dlls are not allowed in /bin") - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/qt5-angle) - file(RENAME ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/tools/qt5-angle/bin) - if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/bin) - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/qt5-angle/debug) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/bin ${CURRENT_PACKAGES_DIR}/tools/qt5-angle/debug/bin) + if(EXISTS "${CURRENT_PACKAGES_DIR}/bin") + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/qt5-angle) + file(RENAME ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/tools/qt5-angle/bin) + if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/bin) + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/qt5-angle/debug) + file(RENAME ${CURRENT_PACKAGES_DIR}/debug/bin ${CURRENT_PACKAGES_DIR}/tools/qt5-angle/debug/bin) + endif() endif() endif() @@ -282,4 +340,4 @@ if(QT_BUILD_LATEST) DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5 ) -endif()
\ No newline at end of file +endif() diff --git a/ports/qt5-base/qtdeploy.ps1 b/ports/qt5-base/qtdeploy.ps1 index c751e891e..2372801a7 100644 --- a/ports/qt5-base/qtdeploy.ps1 +++ b/ports/qt5-base/qtdeploy.ps1 @@ -44,10 +44,10 @@ function deployPluginsIfQt([string]$targetBinaryDir, [string]$QtPluginsDir, [str deployPlugins "styles" } elseif ($targetBinaryName -match "Qt5Networkd?.dll") { deployPlugins "bearer" - if (Test-Path "$binDir\libeay32.dll") + if (Test-Path "$binDir\libcrypto-1_1.dll") { - deployBinary "$targetBinaryDir" "$binDir" "libeay32.dll" - deployBinary "$targetBinaryDir" "$binDir" "ssleay32.dll" + deployBinary "$targetBinaryDir" "$binDir" "libcrypto-1_1.dll" + deployBinary "$targetBinaryDir" "$binDir" "libssl-1_1.dll" } } elseif ($targetBinaryName -match "Qt5Sqld?.dll") { deployPlugins "sqldrivers" @@ -69,7 +69,7 @@ function deployPluginsIfQt([string]$targetBinaryDir, [string]$QtPluginsDir, [str } } } elseif ($targetBinaryName -match "Qt5Quickd?.dll") { - foreach ($a in @("Qt5QuickControls2", "Qt5QuickControls2d", "Qt5QuickTemplates2", "Qt5QuickTemplates2d")) + foreach ($a in @("Qt5QuickControls2", "Qt5QuickControls2d", "Qt5QuickShapes", "Qt5QuickShapesd", "Qt5QuickTemplates2", "Qt5QuickTemplates2d")) { if (Test-Path "$binDir\$a.dll") { diff --git a/ports/qt5-base/vcpkg-cmake-wrapper.cmake b/ports/qt5-base/vcpkg-cmake-wrapper.cmake index 81a434ffd..1f048e327 100644 --- a/ports/qt5-base/vcpkg-cmake-wrapper.cmake +++ b/ports/qt5-base/vcpkg-cmake-wrapper.cmake @@ -2,10 +2,16 @@ _find_package(${ARGS}) function(add_qt_library _target) foreach(_lib IN LISTS ARGN) - find_library(${_lib}_LIBRARY_DEBUG NAMES ${_lib}d PATH_SUFFIXES debug/plugins/platforms) - find_library(${_lib}_LIBRARY_RELEASE NAMES ${_lib} PATH_SUFFIXES plugins/platforms) - set_property(TARGET ${_target} APPEND PROPERTY INTERFACE_LINK_LIBRARIES - \$<\$<NOT:\$<CONFIG:DEBUG>>:${${_lib}_LIBRARY_RELEASE}>\$<\$<CONFIG:DEBUG>:${${_lib}_LIBRARY_DEBUG}>) + #The fact that we are within this file means we are using the VCPKG toolchain. Has such we only need to search in VCPKG paths! + find_library(${_lib}_LIBRARY_DEBUG NAMES ${_lib}d ${_lib} NAMES_PER_DIR PATH_SUFFIXES lib plugins/platforms PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug" NO_DEFAULT_PATH) + find_library(${_lib}_LIBRARY_RELEASE NAMES ${_lib} NAMES_PER_DIR PATH_SUFFIXES lib plugins/platforms PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}" NO_DEFAULT_PATH) + if(${_lib}_LIBRARY_RELEASE) + list(APPEND interface_lib \$<\$<NOT:\$<CONFIG:DEBUG>>:${${_lib}_LIBRARY_RELEASE}>) + endif() + if(${_lib}_LIBRARY_DEBUG) + list(APPEND interface_lib \$<\$<CONFIG:DEBUG>:${${_lib}_LIBRARY_DEBUG}>) + endif() + set_property(TARGET ${_target} APPEND PROPERTY INTERFACE_LINK_LIBRARIES ${interface_lib}) endforeach() endfunction() @@ -23,12 +29,14 @@ if("${_target_type}" STREQUAL "STATIC_LIBRARY") set_property(TARGET Qt5::Core APPEND PROPERTY INTERFACE_LINK_LIBRARIES ZLIB::ZLIB JPEG::JPEG PNG::PNG Freetype::Freetype sqlite3 harfbuzz::harfbuzz - double-conversion::double-conversion OpenSSL::SSL OpenSSL::Crypto + double-conversion::double-conversion OpenSSL::SSL OpenSSL::Crypto PostgreSQL::PostgreSQL ) add_qt_library(Qt5::Core pcre2-16 - libpq + icuin icui18n + icutu icuuc icuio + icudt icudata Qt5ThemeSupport Qt5EventDispatcherSupport Qt5PlatformCompositorSupport @@ -39,7 +47,11 @@ if("${_target_type}" STREQUAL "STATIC_LIBRARY") Netapi32.lib Ws2_32.lib Mincore.lib Winmm.lib Iphlpapi.lib Wtsapi32.lib Dwmapi.lib Imm32.lib) add_qt_library(Qt5::Core Qt5WindowsUIAutomationSupport qwindows qdirect2d) - + elseif(UNIX AND NOT APPLE) + add_qt_library(Qt5::Core + Qt5GraphicsSupport + Qt5ClipboardSupport + Qt5AccessibilitySupport) elseif(APPLE) set_property(TARGET Qt5::Core APPEND PROPERTY INTERFACE_LINK_LIBRARIES "-weak_framework DiskArbitration" "-weak_framework IOKit" "-weak_framework Foundation" "-weak_framework CoreServices" diff --git a/ports/qt5-graphicaleffects/CONTROL b/ports/qt5-graphicaleffects/CONTROL index 12cfc4775..111dfd7b4 100644 --- a/ports/qt5-graphicaleffects/CONTROL +++ b/ports/qt5-graphicaleffects/CONTROL @@ -1,4 +1,4 @@ Source: qt5-graphicaleffects
-Version: 5.12.5
+Version: 5.12.5-1
Description: Qt5 GraphicalEffects Module.
Build-Depends: qt5-base, qt5-declarative
diff --git a/ports/qt5-imageformats/CONTROL b/ports/qt5-imageformats/CONTROL index 1fe00cbdc..24108f974 100644 --- a/ports/qt5-imageformats/CONTROL +++ b/ports/qt5-imageformats/CONTROL @@ -1,4 +1,4 @@ Source: qt5-imageformats
-Version: 5.12.5-1
+Version: 5.12.5-2
Description: Qt5 Image Formats Module - Plugins for additional image formats: TIFF, MNG, TGA, WBMP
-Build-Depends: qt5-base, tiff, libwebp
+Build-Depends: qt5-base, tiff, libwebp, jasper
diff --git a/ports/qt5-imageformats/portfile.cmake b/ports/qt5-imageformats/portfile.cmake index ad7f37070..f7ce7466e 100644 --- a/ports/qt5-imageformats/portfile.cmake +++ b/ports/qt5-imageformats/portfile.cmake @@ -5,11 +5,18 @@ include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake) list(APPEND CORE_OPTIONS -system-tiff -system-webp + -jasper + -no-mng # must be explicitly disabled to not automatically pick up mng -verbose) - + find_library(TIFF_RELEASE NAMES tiff PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) # Depends on lzma find_library(TIFF_DEBUG NAMES tiffd PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) +find_library(JASPER_RELEASE NAMES jasper PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) +find_library(JASPER_DEBUG NAMES jasperd jasper libjasperd libjasper PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) +find_library(FREEGLUT_RELEASE NAMES freeglut glut PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) +find_library(FREEGLUT_DEBUG NAMES freeglutd freeglut glutd glut PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) + find_library(WEBP_RELEASE NAMES webp PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) find_library(WEBP_DEBUG NAMES webpd webp PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) find_library(WEBPDEMUX_RELEASE NAMES webpdemux PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) @@ -22,7 +29,9 @@ find_library(LZMA_RELEASE lzma PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_P find_library(LZMA_DEBUG lzmad lzma PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) set(OPT_REL "TIFF_LIBS=${TIFF_RELEASE} ${LZMA_RELEASE}" - "WEBP_LIBS=${WEBP_RELEASE} ${WEBPDEMUX_RELEASE}") + "WEBP_LIBS=${WEBP_RELEASE} ${WEBPDEMUX_RELEASE}" + "JASPER_LIBS=${JASPER_RELEASE} ${FREEGLUT_RELEASE}") # This will still fail if LIBWEBP is installed with all available features due to the missing additional dependencies set(OPT_DBG "TIFF_LIBS=${TIFF_DEBUG} ${LZMA_DEBUG}" - "WEBP_LIBS=${WEBP_DEBUG} ${WEBPDEMUX_DEBUG}") + "WEBP_LIBS=${WEBP_DEBUG} ${WEBPDEMUX_DEBUG}" + "JASPER_LIBS=${JASPER_DEBUG} ${FREEGLUT_DEBUG}") qt_submodule_installation(BUILD_OPTIONS ${CORE_OPTIONS} BUILD_OPTIONS_RELEASE ${OPT_REL} BUILD_OPTIONS_DEBUG ${OPT_DBG})
\ No newline at end of file diff --git a/ports/qt5-tools/CONTROL b/ports/qt5-tools/CONTROL index ad3c67bc5..bfa94474c 100644 --- a/ports/qt5-tools/CONTROL +++ b/ports/qt5-tools/CONTROL @@ -1,4 +1,4 @@ Source: qt5-tools
-Version: 5.12.5-2
+Version: 5.12.5-3
Description: Qt5 Tools Module; Includes deployment tools and helpers, Qt Designer, Assistant, and other applications
Build-Depends: qt5-base, qt5-declarative, qt5-activeqt (windows)
diff --git a/ports/qt5-tools/portfile.cmake b/ports/qt5-tools/portfile.cmake index 214726759..fdbfa8d8e 100644 --- a/ports/qt5-tools/portfile.cmake +++ b/ports/qt5-tools/portfile.cmake @@ -1,2 +1,5 @@ include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake) -qt_submodule_installation()
\ No newline at end of file +qt_submodule_installation() +if(EXISTS "${CURRENT_INSTALLED_DIR}/plugins/platforms/qminimal${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}") + file(INSTALL "${CURRENT_INSTALLED_DIR}/plugins/platforms/qminimal${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin/plugins/platforms") +endif()
\ No newline at end of file diff --git a/ports/qt5-xmlpatterns/CONTROL b/ports/qt5-xmlpatterns/CONTROL index 6e7b3d711..15a676498 100644 --- a/ports/qt5-xmlpatterns/CONTROL +++ b/ports/qt5-xmlpatterns/CONTROL @@ -1,4 +1,4 @@ Source: qt5-xmlpatterns
-Version: 5.12.5
+Version: 5.12.5-1
Description: Qt5 XML Patterns Module - Support for XPath, XQuery, XSLT and XML schema validation
Build-Depends: qt5-base, qt5-declarative
diff --git a/ports/qt5-xmlpatterns/portfile.cmake b/ports/qt5-xmlpatterns/portfile.cmake index 214726759..fdbfa8d8e 100644 --- a/ports/qt5-xmlpatterns/portfile.cmake +++ b/ports/qt5-xmlpatterns/portfile.cmake @@ -1,2 +1,5 @@ include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake) -qt_submodule_installation()
\ No newline at end of file +qt_submodule_installation() +if(EXISTS "${CURRENT_INSTALLED_DIR}/plugins/platforms/qminimal${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}") + file(INSTALL "${CURRENT_INSTALLED_DIR}/plugins/platforms/qminimal${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin/plugins/platforms") +endif()
\ No newline at end of file diff --git a/ports/quickfix/CONTROL b/ports/quickfix/CONTROL index 243a18fee..03989a169 100644 --- a/ports/quickfix/CONTROL +++ b/ports/quickfix/CONTROL @@ -1,5 +1,5 @@ Source: quickfix -Version: 1.15.1-1 +Version: 1.15.1-3 Build-Depends: openssl Homepage: https://github.com/quickfix/quickfix Description: QuickFIX is a free and open source implementation of the FIX protocol. diff --git a/ports/quickfix/fix_wsl_symlink_error.patch b/ports/quickfix/fix_wsl_symlink_error.patch new file mode 100644 index 000000000..ce6465a4e --- /dev/null +++ b/ports/quickfix/fix_wsl_symlink_error.patch @@ -0,0 +1,15 @@ +diff --git a/cmake/QuickfixPrebuildSetup.cmake b/cmake/QuickfixPrebuildSetup.cmake +index 9e53126ec..1c3368fcb 100644 +--- a/cmake/QuickfixPrebuildSetup.cmake ++++ b/cmake/QuickfixPrebuildSetup.cmake +@@ -3,8 +3,9 @@ + if (NOT WIN32) + add_custom_target(QUICKFIX_HEADERS_LINK ALL + COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_SOURCE_DIR}/include/ +- COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_SOURCE_DIR}/src/C++ ${CMAKE_SOURCE_DIR}/include/quickfix ++ #COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_SOURCE_DIR}/src/C++ ${CMAKE_SOURCE_DIR}/include/quickfix + ) ++ include_directories(${CMAKE_SOURCE_DIR}/src/C++) + else() + add_custom_target(QUICKFIX_HEADERS_COPY ALL + COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_SOURCE_DIR}/include/ diff --git a/ports/quickfix/portfile.cmake b/ports/quickfix/portfile.cmake index e560bed94..6af17a211 100644 --- a/ports/quickfix/portfile.cmake +++ b/ports/quickfix/portfile.cmake @@ -9,6 +9,7 @@ vcpkg_from_github( SHA512 6c3dc53f25932c9b7516ab9228f634511ae0f399719f87f0ec2b38c380c0a7d1c808f0f9a14a70a063e1956118550d1121222283a9139f23cd4f8f038f595f70 HEAD_REF master PATCHES 00001-fix-build.patch + fix_wsl_symlink_error.patch ) file(GLOB_RECURSE SRC_FILES RELATIVE ${SOURCE_PATH} diff --git a/ports/qwt/CONTROL b/ports/qwt/CONTROL index 62235f3c3..639036550 100644 --- a/ports/qwt/CONTROL +++ b/ports/qwt/CONTROL @@ -1,5 +1,5 @@ Source: qwt -Version: 6.1.3-8 +Version: 6.1.3-10 Homepage: https://sourceforge.net/projects/qwt Description: Qt widgets library for technical applications Build-Depends: qt5-base, qt5-svg, qt5-tools diff --git a/ports/qwt/portfile.cmake b/ports/qwt/portfile.cmake index ca5762d42..dce59e8e5 100644 --- a/ports/qwt/portfile.cmake +++ b/ports/qwt/portfile.cmake @@ -12,52 +12,28 @@ vcpkg_extract_source_archive_ex( PATCHES fix-dynamic-static.patch ) -set(DEBUG_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") -set(RELEASE_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") - vcpkg_configure_qmake( SOURCE_PATH ${SOURCE_PATH} OPTIONS CONFIG+=${VCPKG_LIBRARY_LINKAGE} ) -if (CMAKE_HOST_WIN32) - vcpkg_build_qmake( +if (VCPKG_TARGET_IS_WINDOWS) + vcpkg_install_qmake( RELEASE_TARGETS sub-src-release_ordered DEBUG_TARGETS sub-src-debug_ordered ) -elseif (CMAKE_HOST_UNIX OR CMAKE_HOST_APPLE) # Build in UNIX - vcpkg_build_qmake( +else () + vcpkg_install_qmake( RELEASE_TARGETS sub-src-all-ordered DEBUG_TARGETS sub-src-all-ordered ) endif() -#Set the correct install directory to packages -foreach(MAKEFILE ${RELEASE_MAKEFILES} ${DEBUG_MAKEFILES}) - vcpkg_replace_string(${MAKEFILE} "(INSTALL_ROOT)${INSTALLED_DIR_WITHOUT_DRIVE}" "(INSTALL_ROOT)${PACKAGES_DIR_WITHOUT_DRIVE}") -endforeach() - #Install the header files file(GLOB HEADER_FILES ${SOURCE_PATH}/src/*.h) file(INSTALL ${HEADER_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include/qwt) -#Install the module files -if (CMAKE_HOST_WIN32) - file(INSTALL ${RELEASE_DIR}/lib/qwt.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib) - file(INSTALL ${DEBUG_DIR}/lib/qwtd.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) - - if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - file(INSTALL ${RELEASE_DIR}/lib/qwt.dll DESTINATION ${CURRENT_PACKAGES_DIR}/bin) - file(INSTALL ${DEBUG_DIR}/lib/qwtd.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) - endif() - vcpkg_copy_pdbs() -elseif (CMAKE_HOST_UNIX OR CMAKE_HOST_APPLE) # Build in UNIX - file(INSTALL ${RELEASE_DIR}/lib/libqwt.a DESTINATION ${CURRENT_PACKAGES_DIR}/lib) - file(INSTALL ${DEBUG_DIR}/lib/libqwt.a DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) -endif() - - # Handle copyright file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/qwt) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/qwt/COPYING ${CURRENT_PACKAGES_DIR}/share/qwt/copyright)
\ No newline at end of file +file(RENAME ${CURRENT_PACKAGES_DIR}/share/qwt/COPYING ${CURRENT_PACKAGES_DIR}/share/qwt/copyright) diff --git a/ports/rapidstring/CONTROL b/ports/rapidstring/CONTROL deleted file mode 100644 index e88c40ec2..000000000 --- a/ports/rapidstring/CONTROL +++ /dev/null @@ -1,3 +0,0 @@ -Source: rapidstring
-Version: 2018-08-03
-Description: rapidstring is maybe the fastest string library ever written in ANSI C.
diff --git a/ports/rapidstring/fix-cmake-install.patch b/ports/rapidstring/fix-cmake-install.patch deleted file mode 100644 index 624a71d2b..000000000 --- a/ports/rapidstring/fix-cmake-install.patch +++ /dev/null @@ -1,34 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 8543256..8ebce9c 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1,15 +1,26 @@ - cmake_minimum_required(VERSION 3.8 FATAL_ERROR) - project(rapidstring LANGUAGES C VERSION 0.1.0) - add_library(rapidstring INTERFACE) --target_include_directories(rapidstring INTERFACE include) -+target_include_directories(rapidstring INTERFACE -+ $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include> -+ $<INSTALL_INTERFACE:include>) - - include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/utility.cmake) - - # TODO: Installation. -+install(FILES include/rapidstring.h DESTINATION include) -+ -+install(TARGETS rapidstring EXPORT rapidstringConfig) -+ -+install(EXPORT rapidstringConfig -+ FILE unofficial-rapidstringConfig.cmake -+ NAMESPACE unofficial::rapidstring:: -+ DESTINATION share/cmake/rapidstring -+ PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ) - - if(BUILD_TESTING) - enable_testing() - endif() - --add_subdirectory(test) --add_subdirectory(benchmark) -+#add_subdirectory(test) -+#add_subdirectory(benchmark) diff --git a/ports/rapidstring/portfile.cmake b/ports/rapidstring/portfile.cmake deleted file mode 100644 index 2bce2d015..000000000 --- a/ports/rapidstring/portfile.cmake +++ /dev/null @@ -1,27 +0,0 @@ -include(vcpkg_common_functions)
-
-vcpkg_from_github(
- OUT_SOURCE_PATH SOURCE_PATH
- REPO boyerjohn/rapidstring
- REF ee433955c1e9cacfaecbf53c0a13318ab5825bd4
- SHA512 89e0656323d53dc3c47ba24ad9a032445b0985f21aaace05ea5bdbfb0ade5291193ac06145faf5984bcdff67c2a07a500109ce938174dbf1339fea2d79a6bd10
- HEAD_REF master
- PATCHES
- fix-cmake-install.patch
-)
-
-vcpkg_configure_cmake(
- SOURCE_PATH ${SOURCE_PATH}
- PREFER_NINJA
- OPTIONS
- -DBUILD_TESTING=OFF
-)
-
-vcpkg_install_cmake()
-
-vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/rapidstring TARGET_PATH share/unofficial-rapidstring)
-
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug)
-
-# Handle copyright
-configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/rapidstring/copyright COPYONLY)
diff --git a/ports/realsense2/CONTROL b/ports/realsense2/CONTROL index a1be471fb..f55d97d0b 100644 --- a/ports/realsense2/CONTROL +++ b/ports/realsense2/CONTROL @@ -1,5 +1,5 @@ Source: realsense2 -Version: 2.22.0-2 +Version: 2.30.0 Homepage: https://github.com/IntelRealSense/librealsense Description: Intel® RealSense™ SDK 2.0 is a cross-platform library for Intel® RealSense™ depth cameras (D400 series and the SR300). diff --git a/ports/realsense2/fix-dependency-glfw3.patch b/ports/realsense2/fix-dependency-glfw3.patch index 3d6ff52b9..c11a5cdd1 100644 --- a/ports/realsense2/fix-dependency-glfw3.patch +++ b/ports/realsense2/fix-dependency-glfw3.patch @@ -1,13 +1,13 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 2da00e0..09f3eba 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -52,7 +52,7 @@ option(BUILD_CV_KINFU_EXAMPLE "Build OpenCV KinectFusion example" OFF)
- add_subdirectory(wrappers)
-
- if (BUILD_EXAMPLES AND BUILD_GLSL_EXTENSIONS)
-- find_package(glfw3 3.3 QUIET)
-+ find_package(glfw3 CONFIG REQUIRED)
- if(NOT TARGET glfw)
- message(STATUS "GLFW 3.3 not found; using internal version")
- set(GLFW_INSTALL ON)
+diff --git a/CMakeLists.txt b/CMakeLists.txt +index 16ced1b..ef1b158 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -69,7 +69,7 @@ include(CMake/install_config.cmake) + add_subdirectory(wrappers) + + if (BUILD_EXAMPLES AND BUILD_GLSL_EXTENSIONS) +- find_package(glfw3 3.3 QUIET) ++ find_package(glfw3 CONFIG REQUIRED) + if(NOT TARGET glfw) + message(STATUS "GLFW 3.3 not found; using internal version") + set(GLFW_INSTALL ON CACHE BOOL "" FORCE) diff --git a/ports/realsense2/portfile.cmake b/ports/realsense2/portfile.cmake index 560a2a52e..92b37a385 100644 --- a/ports/realsense2/portfile.cmake +++ b/ports/realsense2/portfile.cmake @@ -1,11 +1,9 @@ -include(vcpkg_common_functions) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO IntelRealSense/librealsense - REF v2.22.0 - SHA512 7595780c1955a2d4a91df5b70ab6366c672f389bc3d2dcb9f2e78a2ea1fc875c65f878103df483205e17f62dfd024ee5f7ccb15afc5d18978d3c25aa071652ab - HEAD_REF development + REF 9f99fa9a509555f85bffc15ce27531aaa6db6f7e#v2.30.0 + SHA512 72d9e0b48a6cd0b056b6d039487431d0097e5151930a2dbb072d09a13fccee1f166ca339fe7f0ab4aae1edc5669de5e8336f0b6d87d1c4ea01ec0c5d4032c728 + HEAD_REF master PATCHES fix_openni2.patch fix-dependency-glfw3.patch diff --git a/ports/redis-plus-plus/CONTROL b/ports/redis-plus-plus/CONTROL new file mode 100644 index 000000000..7e5d3e196 --- /dev/null +++ b/ports/redis-plus-plus/CONTROL @@ -0,0 +1,5 @@ +Source: redis-plus-plus +Version: 1.1.1 +Homepage: https://github.com/sewenew/redis-plus-plus +Description: This is a C++ client for Redis. It's based on hiredis, and written in C++ 11. +Build-Depends: hiredis
\ No newline at end of file diff --git a/ports/redis-plus-plus/disable-build-test.patch b/ports/redis-plus-plus/disable-build-test.patch new file mode 100644 index 000000000..a180250e1 --- /dev/null +++ b/ports/redis-plus-plus/disable-build-test.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt
+index fb160b5..6235d89 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -34,7 +34,7 @@ set_target_properties(${SHARED_LIB} PROPERTIES OUTPUT_NAME ${PROJECT_NAME})
+ set_target_properties(${STATIC_LIB} PROPERTIES CLEAN_DIRECT_OUTPUT 1)
+ set_target_properties(${SHARED_LIB} PROPERTIES CLEAN_DIRECT_OUTPUT 1)
+
+-add_subdirectory(test)
++#add_subdirectory(test)
+
+ # Install static lib.
+ install(TARGETS ${STATIC_LIB}
diff --git a/ports/redis-plus-plus/portfile.cmake b/ports/redis-plus-plus/portfile.cmake new file mode 100644 index 000000000..8eba51a38 --- /dev/null +++ b/ports/redis-plus-plus/portfile.cmake @@ -0,0 +1,24 @@ +vcpkg_fail_port_install(ON_TARGET "Windows") + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO sewenew/redis-plus-plus + REF d35267580568517f09bdf70cb582e5284c25401a + SHA512 f065b97d438772300e30485a7550bc0fff00005f1056cf9c23216ea388fa088303869ccf2eaa70ee8b06cc0fc2406c9c6faddd5ad08759ee2d0665ac91761914 + HEAD_REF master + PATCHES disable-build-test.patch +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJIA +) + +vcpkg_install_cmake() + +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright )
\ No newline at end of file diff --git a/ports/reproc/CONTROL b/ports/reproc/CONTROL index 4ae48295e..974e0616e 100644 --- a/ports/reproc/CONTROL +++ b/ports/reproc/CONTROL @@ -1,3 +1,4 @@ Source: reproc -Version: 9.0.0 +Version: 10.0.3 Description: Cross-platform (C99/C++11) process library +Homepage: https://github.com/DaanDeMeyer/reproc diff --git a/ports/reproc/portfile.cmake b/ports/reproc/portfile.cmake index 0d6aefced..97b196042 100644 --- a/ports/reproc/portfile.cmake +++ b/ports/reproc/portfile.cmake @@ -1,10 +1,8 @@ -include(vcpkg_common_functions) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO DaanDeMeyer/reproc - REF v9.0.0 - SHA512 c9ab8c459f4cdf2b740edd461eefa2972a068078999ab97efff4473f1fae4dd774d00ea56cb33bdf883f78eb8d8b73aa721d35dd77e016b047cf4c9dadfee72b + REF v10.0.3 + SHA512 6d102962fbfb61b239d243fd38f7519c28cf7098e2e1a2bfd19035fa7152f4dcc51875683c76c1fa7274b786dde4b90873ae4a1eb6e5d9e485e6614ab06bf0d2 HEAD_REF master ) @@ -12,20 +10,24 @@ vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS - -DREPROC++=ON + -DREPROCXX=ON -DREPROC_INSTALL_PKGCONFIG=OFF + -DREPROC_INSTALL_CMAKECONFIGDIR=share ) vcpkg_install_cmake() -file(GLOB REPROC_CMAKE_FILES ${CURRENT_PACKAGES_DIR}/lib/cmake/reproc++/*) -file(INSTALL ${REPROC_CMAKE_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/share/reproc++) -file(INSTALL ${CURRENT_PACKAGES_DIR}/debug/lib/cmake/reproc++/reproc++-targets-debug.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/reproc++) -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/reproc) - -# Debug file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -# Handle License -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/reproc) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/reproc/LICENSE ${CURRENT_PACKAGES_DIR}/share/reproc/copyright) +foreach(TARGET reproc reprocxx) + vcpkg_fixup_cmake_targets( + CONFIG_PATH share/${TARGET} + TARGET_PATH share/${TARGET} + ) +endforeach() + +file( + INSTALL ${SOURCE_PATH}/LICENSE + DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} + RENAME copyright +) diff --git a/ports/restinio/CONTROL b/ports/restinio/CONTROL index debd0ea60..14a167491 100644 --- a/ports/restinio/CONTROL +++ b/ports/restinio/CONTROL @@ -1,4 +1,6 @@ Source: restinio -Version: 0.6.0.1 +Version: 0.6.2 Description: A header-only C++14 library that gives you an embedded HTTP/Websocket server targeted primarily for asynchronous processing of HTTP-requests. Build-Depends: asio, fmt, http-parser +Homepage: https://github.com/stiffstream/restinio + diff --git a/ports/restinio/portfile.cmake b/ports/restinio/portfile.cmake index 1b1b96255..bb1efd49c 100644 --- a/ports/restinio/portfile.cmake +++ b/ports/restinio/portfile.cmake @@ -1,10 +1,8 @@ -include(vcpkg_common_functions)
-
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO stiffstream/restinio
- REF v.0.6.0.1
- SHA512 7f992034b15bd29568b3b5579ccbc1f38b252f92fef605cf3ee8334f4aa1ae46720aeb7c99db8edad298893f1e1c01e0c4d8980c426828a5da3339caaf84eaf7
+ REF 086c07eb4aaa59997489e5431d6279211347061a # v.0.6.2
+ SHA512 28cf20331749ca5dee75cd318d7b08ea6b7e26e8e59fde2de182683c0a3861e3a6f1957605cd61bf09e2ba9f05a04f08fabcbb140d73ffe72d8b5235b4df7746
)
vcpkg_configure_cmake(
@@ -18,5 +16,5 @@ vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/restinio) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib ${CURRENT_PACKAGES_DIR}/debug)
# Handle copyright
-file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/restinio)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/restinio/LICENSE ${CURRENT_PACKAGES_DIR}/share/restinio/copyright)
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
+
diff --git a/ports/rttr/CONTROL b/ports/rttr/CONTROL index 739492784..60a2a1a8d 100644 --- a/ports/rttr/CONTROL +++ b/ports/rttr/CONTROL @@ -1,4 +1,5 @@ Source: rttr
-Version: 0.9.6-1
+Version: 0.9.6-2
Homepage: https://github.com/rttrorg/rttr
Description: an easy and intuitive way to use reflection in C++
+Build-Depends: rapidjson
diff --git a/ports/rttr/Fix-depends.patch b/ports/rttr/Fix-depends.patch new file mode 100644 index 000000000..8357a47c2 --- /dev/null +++ b/ports/rttr/Fix-depends.patch @@ -0,0 +1,14 @@ +diff --git a/CMake/3rd_party_libs.cmake b/CMake/3rd_party_libs.cmake +index dca5071..4dd4471 100644 +--- a/CMake/3rd_party_libs.cmake ++++ b/CMake/3rd_party_libs.cmake +@@ -51,7 +51,8 @@ if (BUILD_BENCHMARKS) + find_package(Threads REQUIRED) + endif() + +-set(RAPID_JSON_DIR ${RTTR_3RD_PARTY_DIR}/rapidjson-1.1.0) ++find_package(RapidJSON CONFIG REQUIRED) ++set(RAPID_JSON_DIR ${RAPIDJSON_INCLUDE_DIRS}) + set(NONIUS_DIR ${RTTR_3RD_PARTY_DIR}/nonius-1.1.2) + + # Prepare "Catch" library for other executables diff --git a/ports/rttr/portfile.cmake b/ports/rttr/portfile.cmake index cb3bfe68c..56700768b 100644 --- a/ports/rttr/portfile.cmake +++ b/ports/rttr/portfile.cmake @@ -1,5 +1,3 @@ -include(vcpkg_common_functions) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO rttrorg/rttr @@ -8,7 +6,8 @@ vcpkg_from_github( HEAD_REF master PATCHES fix-directory-output.patch - remove-owner-read-perms.patch + Fix-depends.patch + remove-owner-read-perms.patch ) #Handle static lib @@ -43,8 +42,7 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL static) endif() #Handle copyright -file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/rttr) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/rttr/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/rttr/copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share diff --git a/ports/sdl1/CONTROL b/ports/sdl1/CONTROL index 071725f3e..808fef451 100644 --- a/ports/sdl1/CONTROL +++ b/ports/sdl1/CONTROL @@ -1,3 +1,3 @@ Source: sdl1 -Version: 1.2.15-8 +Version: 1.2.15-9 Description: Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D. diff --git a/ports/sdl1/SDL1_2017.sln b/ports/sdl1/SDL1_2017.sln index a255cb6aa..ff6de0860 100644 --- a/ports/sdl1/SDL1_2017.sln +++ b/ports/sdl1/SDL1_2017.sln @@ -8,34 +8,49 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SDLmain", "SDLmain\SDLmain. EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|ARM64 = Debug|ARM64
Debug|Win32 = Debug|Win32
Debug|x64 = Debug|x64
+ Release_NoSTDIO|ARM64 = Release_NoSTDIO|ARM64
Release_NoSTDIO|Win32 = Release_NoSTDIO|Win32
Release_NoSTDIO|x64 = Release_NoSTDIO|x64
+ Release|ARM64 = Release|ARM64
Release|Win32 = Release|Win32
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Debug|ARM64.ActiveCfg = Debug|ARM64
+ {81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Debug|ARM64.Build.0 = Debug|ARM64
{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Debug|Win32.ActiveCfg = Debug|Win32
{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Debug|Win32.Build.0 = Debug|Win32
{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Debug|x64.ActiveCfg = Debug|x64
{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Debug|x64.Build.0 = Debug|x64
+ {81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Release_NoSTDIO|ARM64.ActiveCfg = Release|ARM64
+ {81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Release_NoSTDIO|ARM64.Build.0 = Release|ARM64
{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Release_NoSTDIO|Win32.ActiveCfg = Release|Win32
{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Release_NoSTDIO|Win32.Build.0 = Release|Win32
{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Release_NoSTDIO|x64.ActiveCfg = Release|x64
{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Release_NoSTDIO|x64.Build.0 = Release|x64
+ {81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Release|ARM64.ActiveCfg = Release|ARM64
+ {81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Release|ARM64.Build.0 = Release|ARM64
{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Release|Win32.ActiveCfg = Release|Win32
{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Release|Win32.Build.0 = Release|Win32
{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Release|x64.ActiveCfg = Release|x64
{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Release|x64.Build.0 = Release|x64
+ {DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Debug|ARM64.ActiveCfg = Debug|ARM64
+ {DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Debug|ARM64.Build.0 = Debug|ARM64
{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Debug|Win32.ActiveCfg = Debug|Win32
{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Debug|Win32.Build.0 = Debug|Win32
{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Debug|x64.ActiveCfg = Debug|x64
{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Debug|x64.Build.0 = Debug|x64
+ {DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Release_NoSTDIO|ARM64.ActiveCfg = Release_NoSTDIO|ARM64
+ {DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Release_NoSTDIO|ARM64.Build.0 = Release_NoSTDIO|ARM64
{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Release_NoSTDIO|Win32.ActiveCfg = Release_NoSTDIO|Win32
{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Release_NoSTDIO|Win32.Build.0 = Release_NoSTDIO|Win32
{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Release_NoSTDIO|x64.ActiveCfg = Release_NoSTDIO|x64
{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Release_NoSTDIO|x64.Build.0 = Release_NoSTDIO|x64
+ {DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Release|ARM64.ActiveCfg = Release|ARM64
+ {DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Release|ARM64.Build.0 = Release|ARM64
{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Release|Win32.ActiveCfg = Release|Win32
{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Release|Win32.Build.0 = Release|Win32
{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Release|x64.ActiveCfg = Release|x64
diff --git a/ports/sdl1/SDL_dynamic.vcxproj b/ports/sdl1/SDL_dynamic.vcxproj index a1ba60760..f6c3873f2 100644 --- a/ports/sdl1/SDL_dynamic.vcxproj +++ b/ports/sdl1/SDL_dynamic.vcxproj @@ -1,6 +1,10 @@ <?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|ARM64">
+ <Configuration>Debug</Configuration>
+ <Platform>ARM64</Platform>
+ </ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
@@ -9,6 +13,10 @@ <Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
+ <ProjectConfiguration Include="Release|ARM64">
+ <Configuration>Release</Configuration>
+ <Platform>ARM64</Platform>
+ </ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
@@ -38,11 +46,21 @@ <PlatformToolset>v141</PlatformToolset>
<UseOfMfc>false</UseOfMfc>
</PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <PlatformToolset>v141</PlatformToolset>
+ <UseOfMfc>false</UseOfMfc>
+ </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v141</PlatformToolset>
<UseOfMfc>false</UseOfMfc>
</PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <PlatformToolset>v141</PlatformToolset>
+ <UseOfMfc>false</UseOfMfc>
+ </PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
@@ -58,10 +76,18 @@ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC70.props" />
</ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC70.props" />
+ </ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC70.props" />
</ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC70.props" />
+ </ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>15.0.27924.0</_ProjectFileVersion>
@@ -76,6 +102,11 @@ <IntDir>$(Platform)\$(Configuration)\</IntDir>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
+ <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
+ <IntDir>$(Platform)\$(Configuration)\</IntDir>
+ <LinkIncremental>true</LinkIncremental>
+ </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>$(SolutionDir)$(Configuration)\</OutDir>
<IntDir>$(Configuration)\</IntDir>
@@ -86,6 +117,11 @@ <IntDir>$(Platform)\$(Configuration)\</IntDir>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
+ <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
+ <IntDir>$(Platform)\$(Configuration)\</IntDir>
+ <LinkIncremental>false</LinkIncremental>
+ </PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Midl>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
@@ -160,6 +196,42 @@ <CLRUnmanagedCodeCheck>false</CLRUnmanagedCodeCheck>
</Link>
</ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
+ <Midl>
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MkTypLibCompatible>true</MkTypLibCompatible>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <TypeLibraryName>.\Debug/SDL.tlb</TypeLibraryName>
+ </Midl>
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>$(ProjectDir)\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_DEBUG;_WINDOWS;_WIN32_WINNT=0x0400;WINDOWS_IGNORE_PACKING_MISMATCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <BufferSecurityCheck>false</BufferSecurityCheck>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <PrecompiledHeaderOutputFile>.\Debug/SDL.pch</PrecompiledHeaderOutputFile>
+ <WarningLevel>Level3</WarningLevel>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ <CompileAs>Default</CompileAs>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <Culture>0x0409</Culture>
+ </ResourceCompile>
+ <Link>
+ <AdditionalDependencies>winmm.lib;dxguid.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>.\Debug/SDL.dll</OutputFile>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <ProgramDatabaseFile>.\Debug/SDL.pdb</ProgramDatabaseFile>
+ <SubSystem>Windows</SubSystem>
+ <CLRUnmanagedCodeCheck>false</CLRUnmanagedCodeCheck>
+ </Link>
+ </ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Midl>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
@@ -234,6 +306,42 @@ <TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
+ <Midl>
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MkTypLibCompatible>true</MkTypLibCompatible>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <TypeLibraryName>.\Release/SDL.tlb</TypeLibraryName>
+ </Midl>
+ <ClCompile>
+ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
+ <IntrinsicFunctions>false</IntrinsicFunctions>
+ <AdditionalIncludeDirectories>$(ProjectDir)\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;NDEBUG;_WINDOWS;_WIN32_WINNT=0x0400;WINDOWS_IGNORE_PACKING_MISMATCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <StringPooling>true</StringPooling>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <BufferSecurityCheck>false</BufferSecurityCheck>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <PrecompiledHeaderOutputFile>.\Release/SDL.pch</PrecompiledHeaderOutputFile>
+ <WarningLevel>Level3</WarningLevel>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <CompileAs>Default</CompileAs>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <Culture>0x0409</Culture>
+ </ResourceCompile>
+ <Link>
+ <AdditionalDependencies>winmm.lib;dxguid.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>.\Release/SDL.dll</OutputFile>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
+ <ProgramDatabaseFile>.\Release/SDL.pdb</ProgramDatabaseFile>
+ <SubSystem>Windows</SubSystem>
+ </Link>
+ </ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\src\audio\disk\SDL_diskaudio.c" />
<ClCompile Include="..\..\src\audio\dummy\SDL_dummyaudio.c" />
diff --git a/ports/sdl1/SDLmain_dynamic.vcxproj b/ports/sdl1/SDLmain_dynamic.vcxproj index 228045d41..dd4c89a67 100644 --- a/ports/sdl1/SDLmain_dynamic.vcxproj +++ b/ports/sdl1/SDLmain_dynamic.vcxproj @@ -1,6 +1,10 @@ <?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|ARM64">
+ <Configuration>Debug</Configuration>
+ <Platform>ARM64</Platform>
+ </ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
@@ -9,6 +13,10 @@ <Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
+ <ProjectConfiguration Include="Release_NoSTDIO|ARM64">
+ <Configuration>Release_NoSTDIO</Configuration>
+ <Platform>ARM64</Platform>
+ </ProjectConfiguration>
<ProjectConfiguration Include="Release_NoSTDIO|Win32">
<Configuration>Release_NoSTDIO</Configuration>
<Platform>Win32</Platform>
@@ -17,6 +25,10 @@ <Configuration>Release_NoSTDIO</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
+ <ProjectConfiguration Include="Release|ARM64">
+ <Configuration>Release</Configuration>
+ <Platform>ARM64</Platform>
+ </ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
@@ -50,16 +62,31 @@ <PlatformToolset>v141</PlatformToolset>
<UseOfMfc>false</UseOfMfc>
</PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <PlatformToolset>v141</PlatformToolset>
+ <UseOfMfc>false</UseOfMfc>
+ </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_NoSTDIO|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v141</PlatformToolset>
<UseOfMfc>false</UseOfMfc>
</PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_NoSTDIO|ARM64'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <PlatformToolset>v141</PlatformToolset>
+ <UseOfMfc>false</UseOfMfc>
+ </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v141</PlatformToolset>
<UseOfMfc>false</UseOfMfc>
</PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <PlatformToolset>v141</PlatformToolset>
+ <UseOfMfc>false</UseOfMfc>
+ </PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
@@ -79,14 +106,26 @@ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC70.props" />
</ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC70.props" />
+ </ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_NoSTDIO|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC70.props" />
</ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_NoSTDIO|ARM64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC70.props" />
+ </ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC70.props" />
</ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC70.props" />
+ </ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>15.0.27924.0</_ProjectFileVersion>
@@ -99,6 +138,10 @@ <OutDir>$(Platform)\$(Configuration)\</OutDir>
<IntDir>$(Platform)\$(Configuration)\</IntDir>
</PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
+ <OutDir>$(Platform)\$(Configuration)\</OutDir>
+ <IntDir>$(Platform)\$(Configuration)\</IntDir>
+ </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_NoSTDIO|Win32'">
<OutDir>.\Release_NOSTDIO\</OutDir>
<IntDir>.\Release_NOSTDIO\</IntDir>
@@ -107,6 +150,10 @@ <OutDir>$(Platform)\$(Configuration)\</OutDir>
<IntDir>$(Platform)\$(Configuration)\</IntDir>
</PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_NoSTDIO|ARM64'">
+ <OutDir>$(Platform)\$(Configuration)\</OutDir>
+ <IntDir>$(Platform)\$(Configuration)\</IntDir>
+ </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<OutDir>.\Debug\</OutDir>
<IntDir>.\Debug\</IntDir>
@@ -115,6 +162,10 @@ <OutDir>$(Platform)\$(Configuration)\</OutDir>
<IntDir>$(Platform)\$(Configuration)\</IntDir>
</PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
+ <OutDir>$(Platform)\$(Configuration)\</OutDir>
+ <IntDir>$(Platform)\$(Configuration)\</IntDir>
+ </PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
@@ -146,6 +197,22 @@ <CompileAs>Default</CompileAs>
</ClCompile>
</ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
+ <Midl />
+ <ClCompile>
+ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
+ <AdditionalIncludeDirectories>..\..\include;..\..\include\SDL;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <StringPooling>true</StringPooling>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <PrecompiledHeaderOutputFile>.\Release/SDLmain.pch</PrecompiledHeaderOutputFile>
+ <WarningLevel>Level3</WarningLevel>
+ <CompileAs>Default</CompileAs>
+ </ClCompile>
+ </ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_NoSTDIO|Win32'">
<ClCompile>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
@@ -177,6 +244,22 @@ <CompileAs>Default</CompileAs>
</ClCompile>
</ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_NoSTDIO|ARM64'">
+ <Midl />
+ <ClCompile>
+ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
+ <AdditionalIncludeDirectories>..\..\include;..\..\include\SDL;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;WIN32;NDEBUG;_WINDOWS;NO_STDIO_REDIRECT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <StringPooling>true</StringPooling>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <PrecompiledHeaderOutputFile>.\Release_NOSTDIO/SDLmain.pch</PrecompiledHeaderOutputFile>
+ <WarningLevel>Level3</WarningLevel>
+ <CompileAs>Default</CompileAs>
+ </ClCompile>
+ </ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
@@ -206,6 +289,21 @@ <CompileAs>Default</CompileAs>
</ClCompile>
</ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
+ <Midl />
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>..\..\include;..\..\include\SDL;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <PrecompiledHeaderOutputFile>.\Debug/SDLmain.pch</PrecompiledHeaderOutputFile>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>OldStyle</DebugInformationFormat>
+ <CompileAs>Default</CompileAs>
+ </ClCompile>
+ </ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\Src\Main\Win32\SDL_win32_main.c" />
</ItemGroup>
diff --git a/ports/sdl1/portfile.cmake b/ports/sdl1/portfile.cmake index e68e00e6d..5344df168 100644 --- a/ports/sdl1/portfile.cmake +++ b/ports/sdl1/portfile.cmake @@ -1,5 +1,3 @@ -include(vcpkg_common_functions) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO SDL-Mirror/SDL @@ -53,62 +51,36 @@ if (VCPKG_TARGET_IS_WINDOWS) file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/SDLmain.lib ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link/SDLmaind.lib) endif() else() - find_program(autoreconf autoreconf) - if (NOT autoreconf OR NOT EXISTS "/usr/share/doc/libgles2/copyright") - message(FATAL_ERROR "autoreconf and libgles2-mesa-dev must be installed before libepoxy can build. Install them with \"apt-get dh-autoreconf libgles2-mesa-dev\".") - endif() + message("libgles2-mesa-dev must be installed before sdl1 can build. Install it with \"apt install libgles2-mesa-dev\".") - find_program(MAKE make) - if (NOT MAKE) - message(FATAL_ERROR "MAKE not found") + if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + set(BUILD_SHARED yes) + set(BUILD_STATIC no) + else() + set(BUILD_SHARED no) + set(BUILD_STATIC yes) endif() file(REMOVE_RECURSE ${SOURCE_PATH}/m4) file(MAKE_DIRECTORY ${SOURCE_PATH}/m4) - vcpkg_execute_required_process( - COMMAND "./autogen.sh" - WORKING_DIRECTORY ${SOURCE_PATH} - LOGNAME autoreconf-${TARGET_TRIPLET} - ) - - message(STATUS "Configuring ${TARGET_TRIPLET}") - set(OUT_PATH_RELEASE ${CURRENT_BUILDTREES_DIR}/make-build-${TARGET_TRIPLET}-release) - - file(REMOVE_RECURSE ${OUT_PATH_RELEASE}) - file(MAKE_DIRECTORY ${OUT_PATH_RELEASE}) - - vcpkg_execute_required_process( - COMMAND "./configure" --prefix=${OUT_PATH_RELEASE} - WORKING_DIRECTORY ${SOURCE_PATH} - LOGNAME config-${TARGET_TRIPLET} - ) - - message(STATUS "Building ${TARGET_TRIPLET}") - vcpkg_execute_build_process( - COMMAND "make -j ${VCPKG_CONCURRENCY}" - NO_PARALLEL_COMMAND "make" - WORKING_DIRECTORY "${SOURCE_PATH}" - LOGNAME "build-${TARGET_TRIPLET}-release" - ) - - message(STATUS "Installing ${TARGET_TRIPLET}") - vcpkg_execute_required_process( - COMMAND "make install" - WORKING_DIRECTORY "${SOURCE_PATH}" - LOGNAME "install-${TARGET_TRIPLET}-release" + vcpkg_configure_make( + SOURCE_PATH ${SOURCE_PATH} + NO_DEBUG + PRERUN_SHELL autogen.sh + OPTIONS + --enable-shared=${BUILD_SHARED} + --enable-static=${BUILD_STATIC} ) - file(INSTALL ${OUT_PATH_RELEASE}/include DESTINATION ${CURRENT_PACKAGES_DIR}) - file(INSTALL ${OUT_PATH_RELEASE}/lib DESTINATION ${CURRENT_PACKAGES_DIR}) - file(INSTALL ${OUT_PATH_RELEASE}/share DESTINATION ${CURRENT_PACKAGES_DIR}) + vcpkg_install_make() - file(GLOB DYNAMIC_LIBS ${CURRENT_PACKAGES_DIR}/lib *.so*) - - if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - file(COPY ${DYNAMIC_LIBS} DESTINATION ${CURRENT_PACKAGES_DIR}/bin) - endif() - file(REMOVE ${DYNAMIC_LIBS}) + file(GLOB SDL1_TOOLS "${CURRENT_PACKAGES_DIR}/bin/*") + foreach (SDL1_TOOL ${SDL1_TOOLS}) + file(COPY ${SDL1_TOOL} DESTINATION ${CURRENT_PACKAGES_DIR}/tools) + file(REMOVE ${SDL1_TOOL}) + endforeach() + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin) file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) endif()
\ No newline at end of file diff --git a/ports/sdl2-gfx/CMakeLists.txt b/ports/sdl2-gfx/CMakeLists.txt index 1a63d7f8b..cceab96cf 100644 --- a/ports/sdl2-gfx/CMakeLists.txt +++ b/ports/sdl2-gfx/CMakeLists.txt @@ -1,5 +1,7 @@ cmake_minimum_required(VERSION 3.0) -project(SDL2_GFX C) +project(SDL2_gfx VERSION 1.0.4 LANGUAGES C) + +set(CONFIG_NAME "sdl2-gfx") find_path(SDL_INCLUDE_DIR SDL2/SDL.h) find_package(SDL2 CONFIG REQUIRED) @@ -10,21 +12,40 @@ if(BUILD_SHARED_LIBS) list(APPEND SDL_GFX_DEFINES DLL_EXPORT) endif() -add_library(SDL2_gfx +add_library(${PROJECT_NAME} SDL2_framerate.c SDL2_gfxPrimitives.c SDL2_imageFilter.c SDL2_rotozoom.c) -target_compile_definitions(SDL2_gfx PRIVATE ${SDL_GFX_DEFINES}) -target_include_directories(SDL2_gfx PRIVATE ${SDL_INCLUDE_DIR}/SDL2) -target_link_libraries(SDL2_gfx PRIVATE SDL2::SDL2) +target_include_directories(${PROJECT_NAME} PUBLIC + $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}> + $<INSTALL_INTERFACE:include> + $<INSTALL_INTERFACE:include/SDL2> +) + +target_compile_definitions(${PROJECT_NAME} PRIVATE ${SDL_GFX_DEFINES}) +target_include_directories(${PROJECT_NAME} PRIVATE ${SDL_INCLUDE_DIR}/SDL2) +target_link_libraries(${PROJECT_NAME} PRIVATE SDL2::SDL2) -install(TARGETS SDL2_gfx +install(TARGETS ${PROJECT_NAME} + EXPORT ${PROJECT_NAME} RUNTIME DESTINATION bin ARCHIVE DESTINATION lib LIBRARY DESTINATION lib) +install(EXPORT ${PROJECT_NAME} + FILE ${CONFIG_NAME}-targets.cmake + NAMESPACE SDL2:: + DESTINATION share/${CONFIG_NAME}/ +) +file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}-config.cmake +"include(CMakeFindDependencyMacro) +find_dependency(SDL2 CONFIG) +include(\${CMAKE_CURRENT_LIST_DIR}/${CONFIG_NAME}-targets.cmake)" +) +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}-config.cmake DESTINATION share/${CONFIG_NAME}) + if(NOT SDL_GFX_SKIP_HEADERS) install(FILES SDL2_framerate.h SDL2_gfxPrimitives.h SDL2_imageFilter.h SDL2_rotozoom.h SDL2_gfxPrimitives_font.h DESTINATION include/SDL2) endif() diff --git a/ports/sdl2-gfx/CONTROL b/ports/sdl2-gfx/CONTROL index 8b4af0e61..de1005b47 100644 --- a/ports/sdl2-gfx/CONTROL +++ b/ports/sdl2-gfx/CONTROL @@ -1,4 +1,4 @@ Source: sdl2-gfx -Version: 1.0.4-2 +Version: 1.0.4-4 Build-Depends: sdl2 Description: Graphics primitives (line, circle, rectangle etc.) with AA support, rotozoomer and other drawing related support functions wrapped up in a C based add-on library for the Simple Direct Media (SDL) cross-platform API layer. diff --git a/ports/sdl2-gfx/portfile.cmake b/ports/sdl2-gfx/portfile.cmake index ce83fd21e..f547c1edd 100644 --- a/ports/sdl2-gfx/portfile.cmake +++ b/ports/sdl2-gfx/portfile.cmake @@ -23,6 +23,7 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() +vcpkg_fixup_cmake_targets() # Handle copyright file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/sdl2-gfx) diff --git a/ports/sdl2pp/CONTROL b/ports/sdl2pp/CONTROL index 6a3f7c509..112140537 100644 --- a/ports/sdl2pp/CONTROL +++ b/ports/sdl2pp/CONTROL @@ -1,5 +1,5 @@ Source: sdl2pp -Version: 0.16.0-1 +Version: 0.16.0-2 Description: C++11 bindings/wrapper for SDL2 Homepage: https://sdl2pp.amdmi3.ru Build-Depends: sdl2, sdl2-mixer, sdl2-image, sdl2-ttf diff --git a/ports/sdl2pp/find-debug-libs.patch b/ports/sdl2pp/find-debug-libs.patch deleted file mode 100644 index 282324345..000000000 --- a/ports/sdl2pp/find-debug-libs.patch +++ /dev/null @@ -1,54 +0,0 @@ -diff --git a/cmake/FindSDL2.cmake b/cmake/FindSDL2.cmake
-index 8b2addb..4def5f3 100644
---- a/cmake/FindSDL2.cmake
-+++ b/cmake/FindSDL2.cmake
-@@ -8,8 +8,8 @@
-
- FIND_PATH(SDL2_INCLUDE_DIR NAMES SDL.h PATH_SUFFIXES SDL2)
-
--FIND_LIBRARY(SDL2_LIBRARY NAMES SDL2)
--FIND_LIBRARY(SDL2MAIN_LIBRARY NAMES SDL2main)
-+FIND_LIBRARY(SDL2_LIBRARY NAMES SDL2d SDL2)
-+FIND_LIBRARY(SDL2MAIN_LIBRARY NAMES SDL2maind SDL2main)
-
- INCLUDE(FindPackageHandleStandardArgs)
-
-diff --git a/cmake/FindSDL2_image.cmake b/cmake/FindSDL2_image.cmake
-index 88adb3f..d6e829d 100644
---- a/cmake/FindSDL2_image.cmake
-+++ b/cmake/FindSDL2_image.cmake
-@@ -8,7 +8,7 @@
-
- FIND_PATH(SDL2_IMAGE_INCLUDE_DIR NAMES SDL_image.h PATH_SUFFIXES SDL2)
-
--FIND_LIBRARY(SDL2_IMAGE_LIBRARY NAMES SDL2_image)
-+FIND_LIBRARY(SDL2_IMAGE_LIBRARY NAMES SDL2_imaged SDL2_image)
-
- INCLUDE(FindPackageHandleStandardArgs)
-
-diff --git a/cmake/FindSDL2_mixer.cmake b/cmake/FindSDL2_mixer.cmake
-index ef5748b..c2dbbde 100644
---- a/cmake/FindSDL2_mixer.cmake
-+++ b/cmake/FindSDL2_mixer.cmake
-@@ -8,7 +8,7 @@
-
- FIND_PATH(SDL2_MIXER_INCLUDE_DIR NAMES SDL_mixer.h PATH_SUFFIXES SDL2)
-
--FIND_LIBRARY(SDL2_MIXER_LIBRARY NAMES SDL2_mixer)
-+FIND_LIBRARY(SDL2_MIXER_LIBRARY NAMES SDL2_mixerd SDL2_mixer)
-
- INCLUDE(FindPackageHandleStandardArgs)
-
-diff --git a/cmake/FindSDL2_ttf.cmake b/cmake/FindSDL2_ttf.cmake
-index b480d55..9fb65b9 100644
---- a/cmake/FindSDL2_ttf.cmake
-+++ b/cmake/FindSDL2_ttf.cmake
-@@ -8,7 +8,7 @@
-
- FIND_PATH(SDL2_TTF_INCLUDE_DIR NAMES SDL_ttf.h PATH_SUFFIXES SDL2)
-
--FIND_LIBRARY(SDL2_TTF_LIBRARY NAMES SDL2_ttf)
-+FIND_LIBRARY(SDL2_TTF_LIBRARY NAMES SDL2_ttfd SDL2_ttf)
-
- INCLUDE(FindPackageHandleStandardArgs)
-
diff --git a/ports/sdl2pp/fix-dependencies.patch b/ports/sdl2pp/fix-dependencies.patch new file mode 100644 index 000000000..ba4f6b9ce --- /dev/null +++ b/ports/sdl2pp/fix-dependencies.patch @@ -0,0 +1,82 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2a02376..ecd34d5 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -27,11 +27,15 @@ ENDIF(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR) + + # depends + FIND_PACKAGE(SDL2 REQUIRED) +-SET(SDL2_ALL_INCLUDE_DIRS ${SDL2_INCLUDE_DIR}) +-SET(SDL2_ALL_LIBRARIES ${SDL2_LIBRARY}) ++SET(SDL2_ALL_INCLUDE_DIRS ) ++IF (BUILD_SHARED_LIBS) ++ SET(SDL2_ALL_LIBRARIES SDL2::SDL2) ++ELSE() ++ SET(SDL2_ALL_LIBRARIES SDL2::SDL2-static) ++ENDIF() + SET(SDL2_ALL_PKGCONFIG_MODULES sdl2) +-SET(SDL2PP_EXTRA_LIBRARIES ${SDL2MAIN_LIBRARY}) +-SET(SDL2PP_EXTRA_PKGCONFIG_LIBRARIES ${SDL2MAIN_LIBRARY}) ++SET(SDL2PP_EXTRA_LIBRARIES SDL2::SDL2main) ++SET(SDL2PP_EXTRA_PKGCONFIG_LIBRARIES SDL2::SDL2main) + + IF(MINGW) + SET(MINGW32_LIBRARY "mingw32" CACHE STRING "mingw32 library") +@@ -40,27 +44,27 @@ IF(MINGW) + ENDIF(MINGW) + + IF(SDL2PP_WITH_IMAGE) +- FIND_PACKAGE(SDL2_image REQUIRED) +- SET(SDL2_ALL_INCLUDE_DIRS ${SDL2_ALL_INCLUDE_DIRS} ${SDL2_IMAGE_INCLUDE_DIR}) +- SET(SDL2_ALL_LIBRARIES ${SDL2_ALL_LIBRARIES} ${SDL2_IMAGE_LIBRARY}) ++ FIND_PACKAGE(sdl2-image CONFIG REQUIRED) ++ SET(SDL2_ALL_INCLUDE_DIRS ${SDL2_ALL_INCLUDE_DIRS}) ++ SET(SDL2_ALL_LIBRARIES ${SDL2_ALL_LIBRARIES} SDL2::SDL2_image) + SET(SDL2_ALL_PKGCONFIG_MODULES "${SDL2_ALL_PKGCONFIG_MODULES} SDL2_image") + ELSE(SDL2PP_WITH_IMAGE) + MESSAGE(STATUS "SDL2_image support disabled") + ENDIF(SDL2PP_WITH_IMAGE) + + IF(SDL2PP_WITH_TTF) +- FIND_PACKAGE(SDL2_ttf REQUIRED) +- SET(SDL2_ALL_INCLUDE_DIRS ${SDL2_ALL_INCLUDE_DIRS} ${SDL2_TTF_INCLUDE_DIR}) +- SET(SDL2_ALL_LIBRARIES ${SDL2_ALL_LIBRARIES} ${SDL2_TTF_LIBRARY}) ++ FIND_PACKAGE(sdl2-ttf CONFIG REQUIRED) ++ SET(SDL2_ALL_INCLUDE_DIRS ${SDL2_ALL_INCLUDE_DIRS}) ++ SET(SDL2_ALL_LIBRARIES ${SDL2_ALL_LIBRARIES} SDL2::SDL2_ttf) + SET(SDL2_ALL_PKGCONFIG_MODULES "${SDL2_ALL_PKGCONFIG_MODULES} SDL2_ttf") + ELSE(SDL2PP_WITH_TTF) + MESSAGE(STATUS "SDL2_ttf support disabled") + ENDIF(SDL2PP_WITH_TTF) + + IF(SDL2PP_WITH_MIXER) +- FIND_PACKAGE(SDL2_mixer REQUIRED) +- SET(SDL2_ALL_INCLUDE_DIRS ${SDL2_ALL_INCLUDE_DIRS} ${SDL2_MIXER_INCLUDE_DIR}) +- SET(SDL2_ALL_LIBRARIES ${SDL2_ALL_LIBRARIES} ${SDL2_MIXER_LIBRARY}) ++ FIND_PACKAGE(sdl2-mixer CONFIG REQUIRED) ++ SET(SDL2_ALL_INCLUDE_DIRS ${SDL2_ALL_INCLUDE_DIRS}) ++ SET(SDL2_ALL_LIBRARIES ${SDL2_ALL_LIBRARIES} SDL2::SDL2_mixer) + SET(SDL2_ALL_PKGCONFIG_MODULES "${SDL2_ALL_PKGCONFIG_MODULES} SDL2_mixer") + ELSE(SDL2PP_WITH_MIXER) + MESSAGE(STATUS "SDL2_mixer support disabled") +@@ -94,7 +98,6 @@ ELSE(MSVC) + #APPEND_CXX_FLAG_IF_SUPPORTED(-Wno-padded SDL2PP_WARNINGS) + ENDIF(MSVC) + +-LIST(REMOVE_DUPLICATES SDL2_ALL_INCLUDE_DIRS) + + INCLUDE_DIRECTORIES(BEFORE ${PROJECT_SOURCE_DIR}) + INCLUDE_DIRECTORIES(SYSTEM ${SDL2_ALL_INCLUDE_DIRS}) +@@ -217,10 +220,10 @@ IF(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR) + OPTION(SDL2PP_STATIC "Build static library instead of shared one" OFF) + + # library +- IF(SDL2PP_STATIC) ++ IF(0) + ADD_LIBRARY(SDL2pp STATIC ${LIBRARY_SOURCES} ${LIBRARY_HEADERS}) + ELSE(SDL2PP_STATIC) +- ADD_LIBRARY(SDL2pp SHARED ${LIBRARY_SOURCES} ${LIBRARY_HEADERS}) ++ ADD_LIBRARY(SDL2pp ${LIBRARY_SOURCES} ${LIBRARY_HEADERS}) + TARGET_LINK_LIBRARIES(SDL2pp ${SDL2_ALL_LIBRARIES}) + SET_TARGET_PROPERTIES(SDL2pp PROPERTIES VERSION 8.3.0 SOVERSION 8) + ENDIF(SDL2PP_STATIC) diff --git a/ports/sdl2pp/portfile.cmake b/ports/sdl2pp/portfile.cmake index 7fbaf9c69..3d843a651 100644 --- a/ports/sdl2pp/portfile.cmake +++ b/ports/sdl2pp/portfile.cmake @@ -1,11 +1,16 @@ -include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libSDL2pp/libSDL2pp REF 0.16.0 SHA512 36603a0b1c3ba9294fffa5368357866e5689ceed9743352ff52c096d8b0070cc3f8708a5e837c10c871b410b6bda3ed7e8e3b95cb9afc136d91afb035cde6361 HEAD_REF master - PATCHES "${CMAKE_CURRENT_LIST_DIR}/find-debug-libs.patch" + PATCHES fix-dependencies.patch +) + +file(REMOVE ${SOURCE_PATH}/cmake/FindSDL2.cmake + ${SOURCE_PATH}/cmake/FindSDL2_image.cmake + ${SOURCE_PATH}/cmake/FindSDL2_mixer.cmake + ${SOURCE_PATH}/cmake/FindSDL2_ttf.cmake ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" SDL2PP_STATIC) @@ -21,8 +26,8 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -# Handle copyright -file(INSTALL ${SOURCE_PATH}/COPYING.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/sdl2pp RENAME copyright) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/COPYING.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
\ No newline at end of file diff --git a/ports/sfgui/001-fix-corefoundation-link.patch b/ports/sfgui/001-fix-corefoundation-link.patch new file mode 100644 index 000000000..e3c80bcf3 --- /dev/null +++ b/ports/sfgui/001-fix-corefoundation-link.patch @@ -0,0 +1,23 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c0af720..774e2d8 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -107,16 +107,8 @@ if( WIN32 ) + set( LIB_PATH "lib" ) + elseif( APPLE ) + find_library( COREFOUNDATION_LIBRARY CoreFoundation ) +- mark_as_advanced( COREFOUNDATION_LIBRARY ) +- +- add_library( CoreFoundation SHARED IMPORTED ) +- set_target_properties( +- CoreFoundation PROPERTIES +- IMPORTED_LOCATION "${COREFOUNDATION_LIBRARY}" +- INTERFACE_INCLUDE_DIRECTORIES "/System/Library/Frameworks/CoreFoundation.framework/Headers" +- ) +- +- target_link_libraries( ${TARGET} PUBLIC CoreFoundation ) ++ ++ target_link_libraries( ${TARGET} PUBLIC ${COREFOUNDATION_LIBRARY} ) + set( SHARE_PATH "${CMAKE_INSTALL_PREFIX}/share/SFGUI" ) + set( LIB_PATH "lib" ) + elseif( "${CMAKE_SYSTEM_NAME}" MATCHES "Linux" ) diff --git a/ports/sfgui/CONTROL b/ports/sfgui/CONTROL index 944b8df2c..b53bac2af 100644 --- a/ports/sfgui/CONTROL +++ b/ports/sfgui/CONTROL @@ -1,5 +1,5 @@ Source: sfgui -Version: 0.4.0-2 +Version: 0.4.0-3 Homepage: https://github.com/TankOs/SFGUI Description: simple and fast graphical user interface library Build-Depends: sfml diff --git a/ports/sfgui/portfile.cmake b/ports/sfgui/portfile.cmake index 9ab01a19e..3e1fada8e 100644 --- a/ports/sfgui/portfile.cmake +++ b/ports/sfgui/portfile.cmake @@ -6,6 +6,8 @@ vcpkg_from_github( REF 0.4.0 SHA512 15456c6080b7095bcdcec08489b2b91b5cfc36cdf3c0b645b305072e7e835837eb4f95b59371ff176630b2b7ae51da475d8ea0bde5ff7fc0ba74c463bf5f54cf HEAD_REF master + PATCHES + "001-fix-corefoundation-link.patch" ) file(REMOVE ${SOURCE_PATH}/cmake/Modules/FindSFML.cmake) diff --git a/ports/simdjson/CONTROL b/ports/simdjson/CONTROL index df8c5deba..14f70df1c 100644 --- a/ports/simdjson/CONTROL +++ b/ports/simdjson/CONTROL @@ -1,4 +1,4 @@ Source: simdjson
-Version: 2019-08-05
+Version: 2019-12-27
Description: A extremely fast JSON library that can parse gigabytes of JSON per second
Homepage: https://github.com/lemire/simdjson
diff --git a/ports/simdjson/no_benchmark.patch b/ports/simdjson/no_benchmark.patch new file mode 100644 index 000000000..74c40fd74 --- /dev/null +++ b/ports/simdjson/no_benchmark.patch @@ -0,0 +1,20 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 9668819..cf5e89f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -51,7 +51,6 @@ include(include/CMakeLists.txt) + add_subdirectory(src) + add_subdirectory(tools) + add_subdirectory(tests) +-add_subdirectory(benchmark) + + # for fuzzing, read the comments in the fuzz/CMakeLists.txt file + option(ENABLE_FUZZING "enable building the fuzzers" ON) +@@ -73,5 +72,3 @@ set(CPACK_RPM_PACKAGE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE") + set(CPACK_SOURCE_GENERATOR "TGZ;ZIP") + + include(CPack) +- +- +-- +2.20.1.windows.1 diff --git a/ports/simdjson/portfile.cmake b/ports/simdjson/portfile.cmake index a5eea7b68..c8f3b67ec 100644 --- a/ports/simdjson/portfile.cmake +++ b/ports/simdjson/portfile.cmake @@ -1,18 +1,13 @@ -include(vcpkg_common_functions)
-
# https://github.com/Microsoft/vcpkg/issues/5418#issuecomment-470519894
-if(TARGET_TRIPLET MATCHES "^(x86|arm-)")
- message(FATAL_ERROR "simdjson doesn't support x86 or 32-bit ARM architecture.")
-elseif(TARGET_TRIPLET MATCHES "^arm64")
- message(FATAL_ERROR "simdjson doesn't support ARM64 architecture currently.")
-endif()
+vcpkg_fail_port_install(ON_ARCH "arm" "arm64" "x86")
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO lemire/simdjson
- REF d9a0e2b8f441c20ad46276fdb8ce24f2aebdc07b
- SHA512 05523c59b95485b93646370ac1ef9f80a72351a5bfe76797c5bbbf249bedd81b962dad19040a7eaac80744aaec18be9bec1120da44a9a1e4328e68b3d671bdaf
+ REF 4da06830f1389c8cd33171f5ab3558e79f0ece04
+ SHA512 ffb11ee91f97d975fba2946653c9c847565933380f94e334d15e627f77a7a750702c539ca55d17e077b2ed0a79006f56a3b9a202d888bb7e2e3f0484237cb537
HEAD_REF master
+ PATCHES ${CMAKE_CURRENT_LIST_DIR}/no_benchmark.patch
)
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" SIMDJSON_BUILD_STATIC)
@@ -37,7 +32,4 @@ file(REMOVE_RECURSE )
# Handle copyright
-configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY)
-
-# CMake integration test
-vcpkg_test_cmake(PACKAGE_NAME ${PORT})
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/simpleini/CONTROL b/ports/simpleini/CONTROL index 589928579..0b51f5268 100644 --- a/ports/simpleini/CONTROL +++ b/ports/simpleini/CONTROL @@ -1,3 +1,4 @@ Source: simpleini
-Version: 2018-08-31-2
+Version: 2018-08-31-4
+Homepage: https://github.com/brofield/simpleini
Description: Cross-platform C++ library providing a simple API to read and write INI-style configuration files
diff --git a/ports/simpleini/portfile.cmake b/ports/simpleini/portfile.cmake index 806729908..46f1d2562 100644 --- a/ports/simpleini/portfile.cmake +++ b/ports/simpleini/portfile.cmake @@ -1,6 +1,4 @@ # header-only library
-include(vcpkg_common_functions)
-
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO brofield/simpleini
@@ -9,6 +7,14 @@ vcpkg_from_github( HEAD_REF master
)
-file(COPY ${SOURCE_PATH}/Simpleini.h DESTINATION ${CURRENT_PACKAGES_DIR}/include)
+# Install codes
+set(SIMPLEINI_SOURCE ${SOURCE_PATH}/SimpleIni.h
+ ${SOURCE_PATH}/ConvertUTF.h
+ ${SOURCE_PATH}/ConvertUTF.c
+)
+
+file(INSTALL ${SIMPLEINI_SOURCE} DESTINATION ${CURRENT_PACKAGES_DIR}/include)
+# Install sample
+file(INSTALL ${SOURCE_PATH}/snippets.cpp DESTINATION ${CURRENT_PACKAGES_DIR}/share/sample)
-file(INSTALL ${SOURCE_PATH}/LICENCE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/simpleini RENAME copyright)
+file(INSTALL ${SOURCE_PATH}/LICENCE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/slikenet/CONTROL b/ports/slikenet/CONTROL index f43c31256..d3f350570 100644 --- a/ports/slikenet/CONTROL +++ b/ports/slikenet/CONTROL @@ -1,5 +1,5 @@ Source: slikenet -Version: 2019-10-22 +Version: 2019-10-22_1 Homepage: https://github.com/SLikeSoft/SLikeNet Description: SLikeNetT is an Open Source/Free Software cross-platform network engine written in C++ and specifially designed for games (and applications which have comparable requirements on a network engine like games) building upon the discontinued RakNet network engine which had more than 13 years of active development. Build-Depends: openssl diff --git a/ports/slikenet/portfile.cmake b/ports/slikenet/portfile.cmake index da57e055d..d1c037a2b 100644 --- a/ports/slikenet/portfile.cmake +++ b/ports/slikenet/portfile.cmake @@ -9,6 +9,8 @@ vcpkg_from_github( PATCHES fix-install.patch ) +#Uses an outdated OpenSSL version and is in an experimental namespace any way. As such we delete it here +file(REMOVE_RECURSE "${SOURCE_PATH}/Source/src/crypto" "${SOURCE_PATH}/Source/include/slikenet/crypto") if (VCPKG_LIBRARY_LINKAGE STREQUAL "static") set(SLIKENET_ENABLE_STATIC TRUE) diff --git a/ports/soci/0001-Deduce-reference-in-boost-fusion-for_each.patch b/ports/soci/0001-Deduce-reference-in-boost-fusion-for_each.patch deleted file mode 100644 index cab358512..000000000 --- a/ports/soci/0001-Deduce-reference-in-boost-fusion-for_each.patch +++ /dev/null @@ -1,75 +0,0 @@ -From 5c3b1e0a61d83d7a3c70fb882c7e0918777f0e00 Mon Sep 17 00:00:00 2001 -From: Andrei Lebedev <lebdron@gmail.com> -Date: Sun, 5 May 2019 19:52:01 +0300 -Subject: [PATCH] Deduce reference in boost::fusion::for_each - -Signed-off-by: Andrei Lebedev <lebdron@gmail.com> ---- - include/soci/bind-values.h | 27 +++++++++++++++++++++++---- - 1 file changed, 23 insertions(+), 4 deletions(-) - -diff --git a/include/soci/bind-values.h b/include/soci/bind-values.h -index eee416e..e84fb0e 100644 ---- a/include/soci/bind-values.h -+++ b/include/soci/bind-values.h -@@ -13,6 +13,13 @@ - #ifdef SOCI_HAVE_BOOST - # include <boost/fusion/algorithm/iteration/for_each.hpp> - # include <boost/mpl/bool.hpp> -+# include <boost/version.hpp> -+ -+# if BOOST_VERSION >= 106800 -+# define SOCI_BOOST_FUSION_FOREACH_REFERENCE & -+# else -+# define SOCI_BOOST_FUSION_FOREACH_REFERENCE -+# endif - #endif // SOCI_HAVE_BOOST - #include <vector> - -@@ -83,13 +90,19 @@ private: - template <typename T, typename Indicator> - void exchange_(use_container<T, Indicator> const &uc, boost::mpl::true_ * /* fusion sequence */) - { -- boost::fusion::for_each(uc.t, use_sequence<T, Indicator>(*this, uc.ind)); -+ use_sequence<T, Indicator> f(*this, uc.ind); -+ boost::fusion::for_each<T, -+ use_sequence<T, Indicator> -+ SOCI_BOOST_FUSION_FOREACH_REFERENCE>(uc.t, f); - } - - template <typename T> - void exchange_(use_container<T, details::no_indicator> const &uc, boost::mpl::true_ * /* fusion sequence */) - { -- boost::fusion::for_each(uc.t, use_sequence<T, details::no_indicator>(*this)); -+ use_sequence<T, details::no_indicator> f(*this); -+ boost::fusion::for_each<T, -+ use_sequence<T, details::no_indicator> -+ SOCI_BOOST_FUSION_FOREACH_REFERENCE>(uc.t, f); - } - - #endif // SOCI_HAVE_BOOST -@@ -173,13 +186,19 @@ private: - template <typename T, typename Indicator> - void exchange_(into_container<T, Indicator> const &ic, boost::mpl::true_ * /* fusion sequence */) - { -- boost::fusion::for_each(ic.t, into_sequence<T, Indicator>(*this, ic.ind)); -+ into_sequence<T, Indicator> f(*this, ic.ind); -+ boost::fusion::for_each<T, -+ into_sequence<T, Indicator> -+ SOCI_BOOST_FUSION_FOREACH_REFERENCE>(ic.t, f); - } - - template <typename T> - void exchange_(into_container<T, details::no_indicator> const &ic, boost::mpl::true_ * /* fusion sequence */) - { -- boost::fusion::for_each(ic.t, into_sequence<T, details::no_indicator>(*this)); -+ into_sequence<T, details::no_indicator> f(*this); -+ boost::fusion::for_each<T, -+ into_sequence<T, details::no_indicator> -+ SOCI_BOOST_FUSION_FOREACH_REFERENCE>(ic.t, f); - } - #endif // SOCI_HAVE_BOOST - --- -2.20.1.windows.1 - diff --git a/ports/soci/0002-Find-PostgreSQL-debug-library.patch b/ports/soci/0002-Find-PostgreSQL-debug-library.patch deleted file mode 100644 index fef23b751..000000000 --- a/ports/soci/0002-Find-PostgreSQL-debug-library.patch +++ /dev/null @@ -1,62 +0,0 @@ -From f1fa9cc84e67c9f28f651b926f55f93d60bbb963 Mon Sep 17 00:00:00 2001 -From: Andrei Lebedev <lebdron@gmail.com> -Date: Sun, 5 May 2019 21:22:49 +0300 -Subject: [PATCH] Find PostgreSQL debug library - -Signed-off-by: Andrei Lebedev <lebdron@gmail.com> ---- - cmake/modules/FindPostgreSQL.cmake | 31 +++++++++++++++++++----------- - 1 file changed, 20 insertions(+), 11 deletions(-) - -diff --git a/cmake/modules/FindPostgreSQL.cmake b/cmake/modules/FindPostgreSQL.cmake -index 48937e2..e2e557b 100644 ---- a/cmake/modules/FindPostgreSQL.cmake -+++ b/cmake/modules/FindPostgreSQL.cmake -@@ -124,16 +124,21 @@ if ( WIN32 ) - set (POSTGRESQL_LIBRARY_TO_FIND ${POSTGRESQL_LIB_PREFIX}${POSTGRESQL_LIBRARY_TO_FIND}) - endif() - --find_library(POSTGRESQL_LIBRARY -- NAMES ${POSTGRESQL_LIBRARY_TO_FIND} -- PATHS -- ${POSTGRESQL_ROOT_DIRECTORIES} -- PATH_SUFFIXES -- lib -- ${POSTGRESQL_LIBRARY_ADDITIONAL_SEARCH_SUFFIXES} -- # Help the user find it if we cannot. -- DOC "The ${POSTGRESQL_LIBRARY_DIR_MESSAGE}" --) -+function(__postgresql_find_library _name) -+ find_library(${_name} -+ NAMES ${ARGN} -+ PATHS -+ ${POSTGRESQL_ROOT_DIRECTORIES} -+ PATH_SUFFIXES -+ lib -+ ${POSTGRESQL_LIBRARY_ADDITIONAL_SEARCH_SUFFIXES} -+ # Help the user find it if we cannot. -+ DOC "The ${POSTGRESQL_LIBRARY_DIR_MESSAGE}" -+ ) -+endfunction() -+ -+__postgresql_find_library(POSTGRESQL_LIBRARY ${POSTGRESQL_LIBRARY_TO_FIND}) -+__postgresql_find_library(POSTGRESQL_LIBRARY_DEBUG ${POSTGRESQL_LIBRARY_TO_FIND}d) - get_filename_component(POSTGRESQL_LIBRARY_DIR ${POSTGRESQL_LIBRARY} PATH) - - if (POSTGRESQL_INCLUDE_DIR) -@@ -169,7 +174,11 @@ set(POSTGRESQL_FOUND ${POSTGRESQL_FOUND}) - if(POSTGRESQL_FOUND) - set(POSTGRESQL_INCLUDE_DIRS ${POSTGRESQL_INCLUDE_DIR}) - set(POSTGRESQL_LIBRARY_DIRS ${POSTGRESQL_LIBRARY_DIR}) -- set(POSTGRESQL_LIBRARIES ${POSTGRESQL_LIBRARY}) -+ if(POSTGRESQL_LIBRARY AND POSTGRESQL_LIBRARY_DEBUG) -+ set(POSTGRESQL_LIBRARIES optimized ${POSTGRESQL_LIBRARY} debug ${POSTGRESQL_LIBRARY_DEBUG}) -+ else() -+ set(POSTGRESQL_LIBRARIES ${POSTGRESQL_LIBRARY}) -+ endif() - set(POSTGRESQL_VERSION ${POSTGRESQL_VERSION_STRING}) - endif() - --- -2.20.1.windows.1 - diff --git a/ports/soci/CONTROL b/ports/soci/CONTROL index 224e3de64..2aa095191 100644 --- a/ports/soci/CONTROL +++ b/ports/soci/CONTROL @@ -1,5 +1,5 @@ Source: soci -Version: 3.2.3-4 +Version: 4.0.0 Homepage: https://github.com/SOCI/soci Description: SOCI database access library diff --git a/ports/soci/portfile.cmake b/ports/soci/portfile.cmake index b70e43d3c..9ba44d8bf 100644 --- a/ports/soci/portfile.cmake +++ b/ports/soci/portfile.cmake @@ -2,11 +2,9 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO SOCI/soci - REF c15b178a44b99ed3ff7fd953837fb97f6314abb7 - SHA512 037c44f29e80b5ec57046606b4672088917d469e9d2254e3e15253e170026cf0fe17e4f79a4b01df22fe7032708ca87354b1560d9880d4d165cdef869c3c6081 + REF 3742c894ab8ba5fd51b6a156980e8b34db0f3063 #version 4.0.0 commit on 2019.11.10 + SHA512 27950230d104bdc0ab8e439a69c59d1b157df373adc863a22c8332b8bb896c2a6e3028f8343bb36b42bf9ab2a2312375e20cbdeca7f497f0bb1424a4733f0c9c HEAD_REF master - PATCHES "${CMAKE_CURRENT_LIST_DIR}/0001-Deduce-reference-in-boost-fusion-for_each.patch" - "${CMAKE_CURRENT_LIST_DIR}/0002-Find-PostgreSQL-debug-library.patch" ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" SOCI_DYNAMIC) @@ -47,11 +45,11 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() +vcpkg_fixup_cmake_targets(CONFIG_PATH cmake TARGET_PATH share/SOCI) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/cmake ${CURRENT_PACKAGES_DIR}/debug/cmake ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) # Handle copyright -file(COPY ${SOURCE_PATH}/LICENSE_1_0.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/soci) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/soci/LICENSE_1_0.txt ${CURRENT_PACKAGES_DIR}/share/soci/copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE_1_0.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) vcpkg_copy_pdbs() diff --git a/ports/spdlog/CONTROL b/ports/spdlog/CONTROL index 0864d7858..4c27da425 100644 --- a/ports/spdlog/CONTROL +++ b/ports/spdlog/CONTROL @@ -1,5 +1,5 @@ Source: spdlog -Version: 1.3.1-2 +Version: 1.4.2 Homepage: https://github.com/gabime/spdlog Description: Very fast, header only, C++ logging library Build-Depends: fmt diff --git a/ports/spdlog/disable-master-project-check.patch b/ports/spdlog/disable-master-project-check.patch index 69f5882da..f39ec120a 100644 --- a/ports/spdlog/disable-master-project-check.patch +++ b/ports/spdlog/disable-master-project-check.patch @@ -1,17 +1,19 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index e1d9656..f8cb60c 100644 +index 12320fb..70f611b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -46,9 +46,9 @@ add_library(spdlog::spdlog ALIAS spdlog) +@@ -33,13 +33,7 @@ set(CMAKE_CXX_EXTENSIONS OFF) + # Set SPDLOG_MASTER_PROJECT to ON if we are building spdlog + #--------------------------------------------------------------------------------------- + # Check if spdlog is being used directly or via add_subdirectory, but allow overriding +-if (NOT DEFINED SPDLOG_MASTER_PROJECT) +- if (CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR) +- set(SPDLOG_MASTER_PROJECT ON) +- else() +- set(SPDLOG_MASTER_PROJECT OFF) +- endif() +-endif () ++set(SPDLOG_MASTER_PROJECT OFF) - # Check if spdlog is being used directly or via add_subdirectory - set(SPDLOG_MASTER_PROJECT OFF) --if (CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR) -- set(SPDLOG_MASTER_PROJECT ON) --endif() -+#if (CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR) -+# set(SPDLOG_MASTER_PROJECT ON) -+#endif() - - option(SPDLOG_BUILD_EXAMPLES "Build examples" ${SPDLOG_MASTER_PROJECT}) - option(SPDLOG_BUILD_BENCH "Build benchmarks" ${SPDLOG_MASTER_PROJECT}) + # build shared option + if(NOT WIN32) diff --git a/ports/spdlog/fix-error-4275.patch b/ports/spdlog/fix-error-4275.patch new file mode 100644 index 000000000..4d1d8ee7d --- /dev/null +++ b/ports/spdlog/fix-error-4275.patch @@ -0,0 +1,15 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index cd17178..c9910e1 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -126,6 +126,10 @@ if(SPDLOG_FMT_EXTERNAL) + + target_compile_definitions(spdlog_header_only INTERFACE SPDLOG_FMT_EXTERNAL) + target_link_libraries(spdlog_header_only INTERFACE fmt::fmt) ++ ++ if (WIN32) ++ target_compile_options(spdlog PRIVATE /wd4275) ++ endif() + + set(PKG_CONFIG_REQUIRES fmt) # add dependecy to pkg-config + endif() diff --git a/ports/spdlog/fix-feature-export.patch b/ports/spdlog/fix-feature-export.patch index ad1239fd7..51dbd8473 100644 --- a/ports/spdlog/fix-feature-export.patch +++ b/ports/spdlog/fix-feature-export.patch @@ -1,9 +1,9 @@ diff --git a/bench/CMakeLists.txt b/bench/CMakeLists.txt -index 3c4a3f9..3bc3813 100644 +index d087cf6..86483db 100644 --- a/bench/CMakeLists.txt +++ b/bench/CMakeLists.txt -@@ -46,3 +46,8 @@ add_executable(formatter-bench formatter-bench.cpp) - target_link_libraries(formatter-bench PRIVATE benchmark::benchmark spdlog::spdlog Threads::Threads) +@@ -26,3 +26,8 @@ add_executable(formatter-bench formatter-bench.cpp) + target_link_libraries(formatter-bench PRIVATE benchmark::benchmark spdlog::spdlog) file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/logs") + diff --git a/ports/spdlog/fix-uwp.patch b/ports/spdlog/fix-uwp.patch new file mode 100644 index 000000000..42811122b --- /dev/null +++ b/ports/spdlog/fix-uwp.patch @@ -0,0 +1,26 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 35425db..28c555a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -128,7 +128,7 @@ if(SPDLOG_FMT_EXTERNAL) + target_link_libraries(spdlog_header_only INTERFACE fmt::fmt) + + if (WIN32) +- target_compile_options(spdlog PRIVATE /wd4275) ++ target_compile_options(spdlog PRIVATE /wd4275 /wd4100) + endif() + + set(PKG_CONFIG_REQUIRES fmt) # add dependecy to pkg-config +diff --git a/include/spdlog/details/os-inl.h b/include/spdlog/details/os-inl.h +index f436b0d..82f3510 100644 +--- a/include/spdlog/details/os-inl.h ++++ b/include/spdlog/details/os-inl.h +@@ -128,7 +128,7 @@ SPDLOG_INLINE void prevent_child_fd(FILE *f) + { + + #ifdef _WIN32 +-#if !defined(__cplusplus_winrt) ++#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM) + auto file_handle = reinterpret_cast<HANDLE>(_get_osfhandle(_fileno(f))); + if (!::SetHandleInformation(file_handle, HANDLE_FLAG_INHERIT, 0)) + SPDLOG_THROW(spdlog_ex("SetHandleInformation failed", errno)); diff --git a/ports/spdlog/portfile.cmake b/ports/spdlog/portfile.cmake index d25f78712..0bbad6d61 100644 --- a/ports/spdlog/portfile.cmake +++ b/ports/spdlog/portfile.cmake @@ -1,15 +1,14 @@ -#header-only library -include(vcpkg_common_functions) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO gabime/spdlog - REF v1.3.1 - SHA512 a851a44b6384f493dd312ae0a611d068af46bbfe8daf1c2f61f13d8836a3801f41b339074fbe8da8e428131c82fa5c4a9e3320a55cbdd4b7aff8bb349dfff7dd + REF 1549ff12f1aa61ffc4d9a8727c519034724392a0 #v1.4.2 + SHA512 c159aea475baecad0a5a9eef965856203c96aa855b0480e82d751bcc050c6e08bb0aa458544da061f5d744e17dcd27bd9b6e31a62d502834f02d3591f29febec HEAD_REF v1.x PATCHES disable-master-project-check.patch fix-feature-export.patch + fix-error-4275.patch + fix-uwp.patch ) set(SPDLOG_USE_BENCHMARK OFF) @@ -23,6 +22,7 @@ vcpkg_configure_cmake( OPTIONS -DSPDLOG_FMT_EXTERNAL=ON -DSPDLOG_BUILD_BENCH=${SPDLOG_USE_BENCHMARK} + -DSPDLOG_INSTALL=ON ) vcpkg_install_cmake() @@ -35,9 +35,6 @@ endif() vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib) - # use vcpkg-provided fmt library (see also option SPDLOG_FMT_EXTERNAL above) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/spdlog/fmt/bundled) @@ -51,7 +48,9 @@ vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/include/spdlog/fmt/ostr.h "#if 0 // !defined(SPDLOG_FMT_EXTERNAL)" ) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/spdlog + ${CURRENT_PACKAGES_DIR}/debug/lib/spdlog + ${CURRENT_PACKAGES_DIR}/debug/include) # Handle copyright -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/spdlog) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/spdlog/LICENSE ${CURRENT_PACKAGES_DIR}/share/spdlog/copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/sqlite3/CONTROL b/ports/sqlite3/CONTROL index 3418b867e..046612e1c 100644 --- a/ports/sqlite3/CONTROL +++ b/ports/sqlite3/CONTROL @@ -1,5 +1,5 @@ Source: sqlite3 -Version: 3.30.1-1 +Version: 3.30.1-2 Homepage: https://sqlite.org/ Description: SQLite is a software library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine. diff --git a/ports/sqlite3/portfile.cmake b/ports/sqlite3/portfile.cmake index 2cb778aad..e46036667 100644 --- a/ports/sqlite3/portfile.cmake +++ b/ports/sqlite3/portfile.cmake @@ -1,5 +1,3 @@ -include(vcpkg_common_functions)
-
set(SQLITE_VERSION 3300100)
set(SQLITE_HASH 030b53fe684e0fb8e9747b1f160e5e875807eabb0763caff66fe949ee6aa92f26f409b9b25034d8d1f5cee554a99e56a2bb92129287b0fe0671409babe9d18ea )
@@ -18,16 +16,15 @@ vcpkg_extract_source_archive_ex( file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
-set(SQLITE3_SKIP_TOOLS ON)
-if("tool" IN_LIST FEATURES)
- set(SQLITE3_SKIP_TOOLS OFF)
-endif()
+vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+ INVERTED_FEATURES
+ tool SQLITE3_SKIP_TOOLS
+)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
- OPTIONS
- -DSQLITE3_SKIP_TOOLS=${SQLITE3_SKIP_TOOLS}
+ OPTIONS ${FEATURE_OPTIONS}
OPTIONS_DEBUG
-DSQLITE3_SKIP_TOOLS=ON
)
@@ -37,11 +34,15 @@ vcpkg_fixup_cmake_targets() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
+if(NOT SQLITE3_SKIP_TOOLS AND EXISTS ${CURRENT_PACKAGES_DIR}/tools/sqlite3-bin${VCPKG_HOST_EXECUTABLE_SUFFIX})
+ file(RENAME ${CURRENT_PACKAGES_DIR}/tools/sqlite3-bin${VCPKG_HOST_EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/sqlite3${VCPKG_HOST_EXECUTABLE_SUFFIX})
+endif()
+
configure_file(
${CMAKE_CURRENT_LIST_DIR}/sqlite3-config.in.cmake
${CURRENT_PACKAGES_DIR}/share/sqlite3/sqlite3-config.cmake
@ONLY
)
-file(WRITE ${CURRENT_PACKAGES_DIR}/share/sqlite3/copyright "SQLite is in the Public Domain.\nhttp://www.sqlite.org/copyright.html\n")
-vcpkg_copy_pdbs()
+file(WRITE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright "SQLite is in the Public Domain.\nhttp://www.sqlite.org/copyright.html\n")
+vcpkg_copy_pdbs()
\ No newline at end of file diff --git a/ports/sqlpp11/CONTROL b/ports/sqlpp11/CONTROL index 92e303dec..0d4e6ae9c 100644 --- a/ports/sqlpp11/CONTROL +++ b/ports/sqlpp11/CONTROL @@ -1,4 +1,4 @@ Source: sqlpp11
-Version: 0.58-2
+Version: 0.58-3
Description: A type safe embedded domain specific language for SQL queries and results in C++.
Build-Depends: date
diff --git a/ports/sqlpp11/ddl2cpp_path.patch b/ports/sqlpp11/ddl2cpp_path.patch new file mode 100644 index 000000000..b3c16570b --- /dev/null +++ b/ports/sqlpp11/ddl2cpp_path.patch @@ -0,0 +1,13 @@ +diff --git a/cmake/Sqlpp11Config.cmake b/cmake/Sqlpp11Config.cmake +index 720fef2..d8f93b8 100644 +--- a/cmake/Sqlpp11Config.cmake ++++ b/cmake/Sqlpp11Config.cmake +@@ -34,7 +34,7 @@ include("${CMAKE_CURRENT_LIST_DIR}/Sqlpp11Targets.cmake") + if(TARGET sqlpp11::ddl2cpp) + message(FATAL_ERROR "Target sqlpp11::ddl2cpp already defined") + endif() +-get_filename_component(sqlpp11_ddl2cpp_location "${CMAKE_CURRENT_LIST_DIR}/../../../bin/sqlpp11-ddl2cpp" REALPATH) ++get_filename_component(sqlpp11_ddl2cpp_location "${CMAKE_CURRENT_LIST_DIR}/../../scripts/sqlpp11-ddl2cpp" REALPATH) + if(NOT EXISTS "${sqlpp11_ddl2cpp_location}") + message(FATAL_ERROR "The imported target sqlpp11::ddl2cpp references the file '${sqlpp11_ddl2cpp_location}' but this file does not exists.") + endif() diff --git a/ports/sqlpp11/portfile.cmake b/ports/sqlpp11/portfile.cmake index dbc502382..596df3977 100644 --- a/ports/sqlpp11/portfile.cmake +++ b/ports/sqlpp11/portfile.cmake @@ -6,6 +6,7 @@ vcpkg_from_github( REF 0.58
SHA512 c391e72638a748e0e25b53176dc371ba468bc14bdcb6dda2f2418c4ab4d620ebc5507ee284ff81c3104888d0d959703c6c91b55ccd69a8641b07dcb20cd56209
HEAD_REF master
+ PATCHES ddl2cpp_path.patch )
# Use sqlpp11's own build process, skipping tests
@@ -15,11 +16,12 @@ vcpkg_configure_cmake( OPTIONS
-DENABLE_TESTS:BOOL=OFF
)
-
+ vcpkg_install_cmake()
# Move CMake config files to the right place
-vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake)
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/Sqlpp11 TARGET_PATH share/sqlpp11) + # Delete redundant and unnecessary directories
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib)
diff --git a/ports/stlab/CONTROL b/ports/stlab/CONTROL index 6a289c531..86d31f6c7 100644 --- a/ports/stlab/CONTROL +++ b/ports/stlab/CONTROL @@ -1,6 +1,6 @@ Source: stlab
-Version: 1.4.1-1
+Version: 1.5.1
Description:
- stlab is the ongoing work of what was Adobe’s Software Technology Lab.
+ stlab is the ongoing work of what was Adobe Software Technology Lab.
The Concurrency library provides futures and channels, high level constructs for implementing algorithms that eases the use of multiple CPU cores while minimizing contention. This library solves several problems of the C++11 and C++17 TS futures.
Build-Depends: boost-variant (osx)
\ No newline at end of file diff --git a/ports/stlab/dont-require-testing.patch b/ports/stlab/dont-require-testing.patch deleted file mode 100644 index f5c2106e7..000000000 --- a/ports/stlab/dont-require-testing.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt
-index d058bbe..260d940 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -123,8 +123,7 @@ if ( stlab.testing OR stlab.boost_variant OR stlab.boost_optional )
- endif()
- endif()
-
--
-- if(NOT TARGET Boost::unit_test_framework)
-+ if (stlab.testing AND NOT TARGET Boost::unit_test_framework)
- message(FATAL_ERROR "Could not find Boost unit test framework.")
- endif()
-
diff --git a/ports/stlab/portfile.cmake b/ports/stlab/portfile.cmake index 2bcb7d102..84dbdd8ad 100644 --- a/ports/stlab/portfile.cmake +++ b/ports/stlab/portfile.cmake @@ -1,12 +1,9 @@ -include(vcpkg_common_functions)
-
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO stlab/libraries
- REF v1.4.1
- SHA512 e9da6f2c570397842f5e73a681f49c5a77977fda430ec730eed6f19d04161172829b7f1adcafd416f0a3f35ea8717ca14e9b935b5ec8fa423e4951c3ba961c7a
- HEAD_REF develop
- PATCHES dont-require-testing.patch
+ REF 328ef2b423df2aadc7c932bb8d6408406714bf37 # v1.5.1
+ SHA512 d9b89db678b838f9f835a5905ea81b6981cf7481c92635521967d15fc1a2e6e6f7564a7faee6242869295a3ee3179a07cad9c65cc496fb3e009277c2dbcaa6b0
+ HEAD_REF develop
)
vcpkg_configure_cmake(
@@ -17,10 +14,11 @@ vcpkg_configure_cmake( )
vcpkg_install_cmake()
+vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/stlab)
+vcpkg_copy_pdbs()
# cleanup
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/cmake/stlab ${CURRENT_PACKAGES_DIR}/share/stlab)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/share/cmake)
# handle copyright
-file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/stlab RENAME copyright)
\ No newline at end of file +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
\ No newline at end of file diff --git a/ports/tabulate/CONTROL b/ports/tabulate/CONTROL new file mode 100644 index 000000000..85dc7adef --- /dev/null +++ b/ports/tabulate/CONTROL @@ -0,0 +1,4 @@ +Source: tabulate
+Version: 2019-01-06
+Description: Table maker for modern C++
+Homepage: https://github.com/p-ranav/tabulate
diff --git a/ports/tabulate/portfile.cmake b/ports/tabulate/portfile.cmake new file mode 100644 index 000000000..284dc218a --- /dev/null +++ b/ports/tabulate/portfile.cmake @@ -0,0 +1,26 @@ +# header-only library
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO p-ranav/tabulate
+ REF 8f7a31b58806384b755858fe5e69593f9f216ed0
+ SHA512 33a51617d363f9e8eed2153f60c5a087ed84edaeb21a0bc779d0af6228d4d7deb211e03c1eb7c8d56ac538de6a1cc0b641d219b4ff95d277f3daa7762f64a8f6
+ HEAD_REF master
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -Dtabulate_BUILD_TESTS=OFF
+ -DSAMPLES=OFF
+)
+
+vcpkg_install_cmake()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT})
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib)
+
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
+file(INSTALL ${SOURCE_PATH}/LICENSE.termcolor DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
diff --git a/ports/tbb/CMakeLists.txt b/ports/tbb/CMakeLists.txt index 7216e3474..6d41b1555 100644 --- a/ports/tbb/CMakeLists.txt +++ b/ports/tbb/CMakeLists.txt @@ -7,7 +7,11 @@ include(${CMAKE_CURRENT_BINARY_DIR}/src/cmake/TBBBuild.cmake REQUIRED) if(NOT BUILD_SHARED_LIBS)
set(TBB_STATIC_INCLUDE extra_inc=big_iron.inc)
endif()
-tbb_build(TBB_ROOT ${CMAKE_CURRENT_BINARY_DIR}/src MAKE_ARGS ${TBB_STATIC_INCLUDE})
+if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
+ set(FORWARD_SDK_ROOT "SDKROOT=${CMAKE_OSX_SYSROOT}")
+endif()
+
+tbb_build(TBB_ROOT ${CMAKE_CURRENT_BINARY_DIR}/src MAKE_ARGS ${TBB_STATIC_INCLUDE} ${FORWARD_SDK_ROOT})
set(SUBDIR ${CMAKE_CURRENT_BINARY_DIR}/tbb_cmake_build/tbb_cmake_build_subdir)
if(CMAKE_BUILD_TYPE STREQUAL "Release")
diff --git a/ports/tbb/CONTROL b/ports/tbb/CONTROL index da29e4879..5e5699f95 100644 --- a/ports/tbb/CONTROL +++ b/ports/tbb/CONTROL @@ -1,4 +1,4 @@ Source: tbb -Version: 2019_U8-1 +Version: 2019_U8-3 Homepage: https://github.com/01org/tbb Description: Intel's Threading Building Blocks. diff --git a/ports/tbb/portfile.cmake b/ports/tbb/portfile.cmake index 1d543b317..faa7e2c70 100644 --- a/ports/tbb/portfile.cmake +++ b/ports/tbb/portfile.cmake @@ -1,12 +1,12 @@ -include(vcpkg_common_functions) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO intel/tbb REF 4bdba61bafc6ba2d636f31564f1de5702d365cf7 SHA512 0b00c9deefdac5dc1f4fbae314e91eb3513b54b47ff6dec08ed2460486fc7d211ab36d6130e5787bfd50523cb613c65f03f9217d967292ca9056e2d3f5010bf8 HEAD_REF tbb_2019 - PATCHES fix-static-build.patch + PATCHES + fix-static-build.patch + terminate-when-buildtool-notfound.patch ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) @@ -115,9 +115,6 @@ string(REPLACE string(REPLACE "SHARED IMPORTED)" "UNKNOWN IMPORTED)" _contents "${_contents}") file(WRITE ${CURRENT_PACKAGES_DIR}/share/tbb/TBBConfig.cmake "${_contents}") +file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/tbb) # Handle copyright -file(COPY ${SOURCE_PATH}/LICENSE ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/tbb) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/tbb/LICENSE ${CURRENT_PACKAGES_DIR}/share/tbb/copyright) - -vcpkg_test_cmake(PACKAGE_NAME TBB) -# +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/tbb/terminate-when-buildtool-notfound.patch b/ports/tbb/terminate-when-buildtool-notfound.patch new file mode 100644 index 000000000..9599b48cd --- /dev/null +++ b/ports/tbb/terminate-when-buildtool-notfound.patch @@ -0,0 +1,13 @@ +diff --git a/cmake/TBBBuild.cmake b/cmake/TBBBuild.cmake +index a2222e3..756d85c 100644 +--- a/cmake/TBBBuild.cmake ++++ b/cmake/TBBBuild.cmake +@@ -158,7 +158,7 @@ function(tbb_build) + mark_as_advanced(TBB_MAKE_TOOL) + + if (NOT TBB_MAKE_TOOL) +- message(STATUS "Intel TBB can not be built: required make-tool (${make_tool_name}) was not found") ++ message(FATAL_ERROR "Intel TBB can not be built: required make-tool (${make_tool_name}) was not found") + set(${tbb_build_CONFIG_DIR} ${tbb_build_CONFIG_DIR}-NOTFOUND PARENT_SCOPE) + return() + endif() diff --git a/ports/tesseract/CONTROL b/ports/tesseract/CONTROL index 775452089..c8470401f 100644 --- a/ports/tesseract/CONTROL +++ b/ports/tesseract/CONTROL @@ -1,5 +1,5 @@ Source: tesseract -Version: 4.1.0-3 +Version: 4.1.0-4 Homepage: https://github.com/tesseract-ocr/tesseract Description: An OCR Engine that was developed at HP Labs between 1985 and 1995... and now at Google. Build-Depends: leptonica diff --git a/ports/tesseract/fix-text2image.patch b/ports/tesseract/fix-text2image.patch index a4ff21d6b..e4d83347f 100644 --- a/ports/tesseract/fix-text2image.patch +++ b/ports/tesseract/fix-text2image.patch @@ -1,64 +1,105 @@ -diff --git a/src/training/CMakeLists.txt b/src/training/CMakeLists.txt -index 8fd96a9..ef258e1 100644 ---- a/src/training/CMakeLists.txt -+++ b/src/training/CMakeLists.txt -@@ -253,7 +253,7 @@ if (NOT CPPAN_BUILD) - find_package(PkgConfig) - endif() - --if (PKG_CONFIG_FOUND OR CPPAN_BUILD) -+if (1) - - if (PKG_CONFIG_FOUND) - pkg_check_modules(Pango REQUIRED pango) -@@ -261,8 +261,35 @@ pkg_check_modules(Cairo REQUIRED cairo) - pkg_check_modules(PangoFt2 REQUIRED pangoft2) - pkg_check_modules(PangoCairo REQUIRED pangocairo) - pkg_check_modules(FontConfig REQUIRED fontconfig) --endif() -+else() -+find_library(Glib_LIBRARY_RELEASE NAMES glib-2.0) -+find_library(Glib_LIBRARY_DEBUG NAMES glib-2.0) -+select_library_configurations(Glib) -+ -+find_library(GObject_LIBRARY_RELEASE NAMES gobject-2.0) -+find_library(GObject_LIBRARY_DEBUG NAMES gobject-2.0) -+select_library_configurations(GObject) -+ -+find_library(Pango_LIBRARY_RELEASE NAMES pango-1.0) -+find_library(Pango_LIBRARY_DEBUG NAMES pango-1.0) -+select_library_configurations(Pango) -+ -+find_library(Cairo_LIBRARY_RELEASE NAMES cairo) -+find_library(Cairo_LIBRARY_DEBUG NAMES cairod) -+select_library_configurations(Cairo) - -+find_library(FontConfig_LIBRARY_RELEASE NAMES fontconfig) -+find_library(FontConfig_LIBRARY_DEBUG NAMES fontconfig) -+select_library_configurations(FontConfig) -+ -+find_library(PangoFt2_LIBRARY_RELEASE NAMES pangoft2-1.0) -+find_library(PangoFt2_LIBRARY_DEBUG NAMES pangoft2-1.0) -+select_library_configurations(PangoFt2) -+ -+find_library(PangoCairo_LIBRARY_RELEASE NAMES pangocairo-1.0) -+find_library(PangoCairo_LIBRARY_DEBUG NAMES pangocairo-1.0) -+select_library_configurations(PangoCairo) -+endif() - set(text2image_src - text2image.cpp - boxchar.cpp -@@ -285,10 +312,12 @@ set(text2image_src - - add_executable (text2image ${text2image_src}) - target_link_libraries (text2image unicharset_training) --if (PKG_CONFIG_FOUND) -+if (1) - target_include_directories (text2image BEFORE PRIVATE ${Cairo_INCLUDE_DIRS} ${Pango_INCLUDE_DIRS}) - target_compile_definitions (text2image PRIVATE -DPANGO_ENABLE_ENGINE) - target_link_libraries (text2image -+ ${GObject_LIBRARIES} -+ ${Glib_LIBRARIES} - ${Pango_LIBRARIES} - ${Cairo_LIBRARIES} - ${PangoCairo_LIBRARIES} +diff --git a/src/training/CMakeLists.txt b/src/training/CMakeLists.txt
+index 8fd96a9..186341e 100644
+--- a/src/training/CMakeLists.txt
++++ b/src/training/CMakeLists.txt
+@@ -52,7 +52,7 @@ endif()
+ # experimental
+
+ if (NOT CPPAN_BUILD)
+- find_package(ICU COMPONENTS uc i18n)
++ find_package(ICU REQUIRED COMPONENTS i18n uc)
+ endif()
+
+ ########################################
+@@ -187,6 +187,9 @@ set(unicharset_training_src
+
+ )
+ add_library (unicharset_training ${unicharset_training_src})
++if(UNIX)
++ list(APPEND ICU_LIBRARIES ${CMAKE_DL_LIBS})
++endif()
+ if (NOT CPPAN_BUILD)
+ target_link_libraries (unicharset_training common_training ${ICU_LIBRARIES})
+ else()
+@@ -253,16 +256,27 @@ if (NOT CPPAN_BUILD)
+ find_package(PkgConfig)
+ endif()
+
+-if (PKG_CONFIG_FOUND OR CPPAN_BUILD)
+-
+-if (PKG_CONFIG_FOUND)
+-pkg_check_modules(Pango REQUIRED pango)
+-pkg_check_modules(Cairo REQUIRED cairo)
+-pkg_check_modules(PangoFt2 REQUIRED pangoft2)
+-pkg_check_modules(PangoCairo REQUIRED pangocairo)
+-pkg_check_modules(FontConfig REQUIRED fontconfig)
++find_package(unofficial-cairo CONFIG REQUIRED)
++find_package(unofficial-glib CONFIG REQUIRED)
++find_package(unofficial-gettext CONFIG REQUIRED)
++find_package(unofficial-fontconfig CONFIG REQUIRED)
++find_package(Freetype REQUIRED)
++if(UNIX OR BUILD_SHARED_LIBS)
++ find_package(harfbuzz CONFIG REQUIRED)
+ endif()
+
++find_library(Pango_LIBRARY_RELEASE NAMES pango-1.0)
++find_library(Pango_LIBRARY_DEBUG NAMES pango-1.0)
++select_library_configurations(Pango)
++
++find_library(PangoFt2_LIBRARY_RELEASE NAMES pangoft2-1.0)
++find_library(PangoFt2_LIBRARY_DEBUG NAMES pangoft2-1.0)
++select_library_configurations(PangoFt2)
++
++find_library(PangoCairo_LIBRARY_RELEASE NAMES pangocairo-1.0)
++find_library(PangoCairo_LIBRARY_DEBUG NAMES pangocairo-1.0)
++select_library_configurations(PangoCairo)
++
+ set(text2image_src
+ text2image.cpp
+ boxchar.cpp
+@@ -285,16 +299,34 @@ set(text2image_src
+
+ add_executable (text2image ${text2image_src})
+ target_link_libraries (text2image unicharset_training)
+-if (PKG_CONFIG_FOUND)
++
+ target_include_directories (text2image BEFORE PRIVATE ${Cairo_INCLUDE_DIRS} ${Pango_INCLUDE_DIRS})
+ target_compile_definitions (text2image PRIVATE -DPANGO_ENABLE_ENGINE)
+-target_link_libraries (text2image
++if(UNIX OR BUILD_SHARED_LIBS)
++ target_link_libraries (text2image
++ ${PangoCairo_LIBRARIES}
++ ${PangoFt2_LIBRARIES}
+ ${Pango_LIBRARIES}
+ ${Cairo_LIBRARIES}
++ harfbuzz::harfbuzz
++ Freetype::Freetype
++ unofficial::glib::gio unofficial::glib::glib unofficial::glib::gmodule unofficial::glib::gobject
++ unofficial::cairo::cairo unofficial::cairo::cairo-gobject
++ unofficial::gettext::libintl
++ unofficial::fontconfig::fontconfig
++)
++else()
++ target_link_libraries (text2image
+ ${PangoCairo_LIBRARIES}
+ ${PangoFt2_LIBRARIES}
+ ${FontConfig_LIBRARIES}
+-)
++ ${Pango_LIBRARIES}
++ Freetype::Freetype
++ unofficial::glib::gio unofficial::glib::glib unofficial::glib::gmodule unofficial::glib::gobject
++ unofficial::cairo::cairo unofficial::cairo::cairo-gobject
++ unofficial::gettext::libintl
++ unofficial::fontconfig::fontconfig
++ )
+ endif()
+ if (CPPAN_BUILD)
+ target_link_libraries (text2image pvt.cppan.demo.gnome.pango.pangocairo)
+@@ -302,7 +334,6 @@ endif()
+ project_group (text2image "Training Tools")
+ install (TARGETS text2image RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib)
+
+-endif()
+ endif(ICU_FOUND)
+
+ ###############################################################################
diff --git a/ports/tesseract/portfile.cmake b/ports/tesseract/portfile.cmake index 08f581cfe..f25e02715 100644 --- a/ports/tesseract/portfile.cmake +++ b/ports/tesseract/portfile.cmake @@ -1,5 +1,3 @@ -include(vcpkg_common_functions) - vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( @@ -26,7 +24,7 @@ if("training_tools" IN_LIST FEATURES) else() list(APPEND OPTIONS_LIST -DBUILD_TRAINING_TOOLS=OFF) endif() -if("independed_architecture" IN_LIST FEATURES) +if("cpu_independed" IN_LIST FEATURES) list(APPEND OPTIONS_LIST -DTARGET_ARCHITECTURE=none) else() list(APPEND OPTIONS_LIST -DTARGET_ARCHITECTURE=auto) @@ -82,9 +80,6 @@ vcpkg_copy_pdbs() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/pkgconfig) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig) # Handle copyright -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/tesseract) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/tesseract/LICENSE ${CURRENT_PACKAGES_DIR}/share/tesseract/copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
\ No newline at end of file diff --git a/ports/tfhe/CONTROL b/ports/tfhe/CONTROL new file mode 100644 index 000000000..514e5fbee --- /dev/null +++ b/ports/tfhe/CONTROL @@ -0,0 +1,4 @@ +Source: tfhe
+Version: 1.0.1-1
+Homepage: https://github.com/tfhe/tfhe
+Description: TFHE is open-source software distributed under the terms of the Apache 2.0 license.
diff --git a/ports/tfhe/mac-fix.patch b/ports/tfhe/mac-fix.patch new file mode 100644 index 000000000..20161feb5 --- /dev/null +++ b/ports/tfhe/mac-fix.patch @@ -0,0 +1,13 @@ +diff --git a/src/libtfhe/fft_processors/nayuki/fft_processor_nayuki.cpp b/src/libtfhe/fft_processors/nayuki/fft_processor_nayuki.cpp +index 26de3f0..422c7f6 100644 +--- a/src/libtfhe/fft_processors/nayuki/fft_processor_nayuki.cpp ++++ b/src/libtfhe/fft_processors/nayuki/fft_processor_nayuki.cpp +@@ -12,7 +12,7 @@ FFT_Processor_nayuki::FFT_Processor_nayuki(const int N): _2N(2*N),N(N),Ns2(N/2) + tables_reverse = fft_init_reverse(_2N); + omegaxminus1 = (cplx*) malloc(sizeof(cplx) * _2N); + for (int x=0; x<_2N; x++) { +- omegaxminus1[x]=cos(x*M_PI/N)-1. + sin(x*M_PI/N) * 1i; ++ omegaxminus1[x]=cplx(cos(x*M_PI/N)-1., sin(x*M_PI/N)); // instead of cos(x*M_PI/N)-1. + sin(x*M_PI/N) * 1i + //exp(i.x.pi/N)-1 + } + } diff --git a/ports/tfhe/portfile.cmake b/ports/tfhe/portfile.cmake new file mode 100644 index 000000000..aa98703eb --- /dev/null +++ b/ports/tfhe/portfile.cmake @@ -0,0 +1,23 @@ +vcpkg_fail_port_install(MESSAGE "${PORT} currently only supports Unix" ON_TARGET "Windows")
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO tfhe/tfhe
+ REF v1.0.1
+ SHA512 1d625eb00bf6a36fd86cfad8e1763d7030dd73d68f2422d1678f51352708e9275f0ce69c23fb0d9fec30fba00e1ca4a3df29fb4fc6dfe3b7f16e0d350aa7f170
+ HEAD_REF master
+ PATCHES
+ mac-fix.patch
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}/src
+ PREFER_NINJA
+)
+
+vcpkg_install_cmake()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
\ No newline at end of file diff --git a/ports/tgui/CONTROL b/ports/tgui/CONTROL index 3c1f18e1a..49cbb2c0b 100644 --- a/ports/tgui/CONTROL +++ b/ports/tgui/CONTROL @@ -1,5 +1,5 @@ Source: tgui
-Version: 0.8.5
+Version: 0.8.6
Description: TGUI is an easy to use, cross-platform, C++ GUI for SFML.
Build-Depends: sfml
diff --git a/ports/tgui/portfile.cmake b/ports/tgui/portfile.cmake index dd326c9ae..33e3dd9bf 100644 --- a/ports/tgui/portfile.cmake +++ b/ports/tgui/portfile.cmake @@ -1,10 +1,8 @@ -include(vcpkg_common_functions)
-
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO texus/TGUI
- REF v0.8.5
- SHA512 36d8c29f246ca4d79d791f0368441762de0609d5cc0e507520ae0648ed3dc0bf47891582f283de241892bf9810f4d5049df46f566916d0bfffc383319d953002
+ REF 017d7d694212fc08c8755b0ad5c2365cee8f68e0 # v0.8.6
+ SHA512 e764bf4f71c36a67cf7d6528513bfee43896ce7aff0ba96b8b43e22b688824bc00ce85b80e771b09c539456546a92b7a21c3ceda31308e77683df73681fb1fb4
HEAD_REF 0.8
)
@@ -54,8 +52,8 @@ if(BUILD_GUI_BUILDER) endif()
endif()
-file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share)
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/TGUI/nanosvg")
# Handle copyright
-file(RENAME "${CURRENT_PACKAGES_DIR}/share/tgui/license.txt" "${CURRENT_PACKAGES_DIR}/share/tgui/copyright")
+file(INSTALL "${SOURCE_PATH}/license.txt" DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/tiff/CONTROL b/ports/tiff/CONTROL index 7cf6005dc..270455ca2 100644 --- a/ports/tiff/CONTROL +++ b/ports/tiff/CONTROL @@ -1,5 +1,8 @@ Source: tiff -Version: 4.0.10-7 +Version: 4.0.10-8 Build-Depends: zlib, libjpeg-turbo, liblzma Homepage: https://download.osgeo.org/libtiff Description: A library that supports the manipulation of TIFF image files + +Feature: tool +Description: Build tools diff --git a/ports/tiff/portfile.cmake b/ports/tiff/portfile.cmake index 373ceac7c..d09aa10ef 100644 --- a/ports/tiff/portfile.cmake +++ b/ports/tiff/portfile.cmake @@ -21,11 +21,15 @@ if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64" OR VCPKG_TARGET_ARCHITECTURE STREQ set (TIFF_CXX_TARGET -Dcxx=OFF) endif() +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + tool BUILD_TOOLS +) + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS - -DBUILD_TOOLS=OFF + ${FEATURE_OPTIONS} -DBUILD_DOCS=OFF -DBUILD_CONTRIB=OFF -DBUILD_TESTS=OFF @@ -50,4 +54,16 @@ file(REMOVE_RECURSE file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/tiff) file(INSTALL ${SOURCE_PATH}/COPYRIGHT DESTINATION ${CURRENT_PACKAGES_DIR}/share/tiff RENAME copyright) +if ("tool" IN_LIST FEATURES) + file(GLOB TIFF_TOOLS ${CURRENT_PACKAGES_DIR}/bin/*.exe) + file(INSTALL ${TIFF_TOOLS} DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}") + file(REMOVE ${TIFF_TOOLS}) + file(GLOB TIFF_TOOLS ${CURRENT_PACKAGES_DIR}/debug/bin/*.exe) + file(REMOVE ${TIFF_TOOLS}) + + if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) + endif() +endif() + vcpkg_copy_pdbs() diff --git a/ports/tinyobjloader/CONTROL b/ports/tinyobjloader/CONTROL index 4dc5eebb2..8785e862b 100644 --- a/ports/tinyobjloader/CONTROL +++ b/ports/tinyobjloader/CONTROL @@ -1,3 +1,7 @@ Source: tinyobjloader
-Version: 1.0.7-1
+Version: 2.0.0-rc2
Description: Tiny but powerful single file wavefront obj loader
+
+Feature: double
+Description: enable double(64bit) precision
+
diff --git a/ports/tinyobjloader/portfile.cmake b/ports/tinyobjloader/portfile.cmake index 7b8741d34..87b606946 100644 --- a/ports/tinyobjloader/portfile.cmake +++ b/ports/tinyobjloader/portfile.cmake @@ -5,16 +5,22 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO syoyo/tinyobjloader - REF v1.0.7 - SHA512 e88554ead20354da443489e1b6576b328e92b2e6665071df9b6473b38c34c036dbffb6655330e970c01ccf7f99bbd4f9f5418ce48a14239576ec5e0513256637 + REF v2.0.0-rc2 + SHA512 936f7897a87fe00d474231ad5f69816da127f14296c3591144c26c6058bd11ea1490c2db6b8c4a8adf629ae148423705d0c4020f4ed034921f0f2f711498f3bb HEAD_REF master ) +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + double TINYOBJLOADER_USE_DOUBLE +) + vcpkg_configure_cmake( SOURCE_PATH "${SOURCE_PATH}" PREFER_NINJA OPTIONS -DCMAKE_INSTALL_DOCDIR:STRING=share/tinyobjloader + # FEATURES + ${FEATURE_OPTIONS} ) vcpkg_install_cmake() diff --git a/ports/umock-c/CONTROL b/ports/umock-c/CONTROL index f57166a5d..3ef51001e 100644 --- a/ports/umock-c/CONTROL +++ b/ports/umock-c/CONTROL @@ -1,5 +1,8 @@ Source: umock-c -Version: 2019-10-07.2 +Version: 2019-11-27.1 Description: A pure C mocking library Build-Depends: azure-macro-utils-c +Feature: public-preview +Description: A pure C mocking library (public-preview) +Build-Depends: azure-macro-utils-c[public-preview] diff --git a/ports/umock-c/portfile.cmake b/ports/umock-c/portfile.cmake index 5110b841c..5b6d6b32e 100644 --- a/ports/umock-c/portfile.cmake +++ b/ports/umock-c/portfile.cmake @@ -2,13 +2,23 @@ include(vcpkg_common_functions) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO Azure/umock-c - REF 87d2214384c886a1e2406ac0756a0b3786add8da - SHA512 230b6c79a8346727bbc124d1aefaa14da8ecd82b2a56d68b3d2511b8efa5931872da440137a5d266835ba8c5193b83b4bc5ee85abb5242d07904a0706727926c - HEAD_REF master -) +if("public-preview" IN_LIST FEATURES) + vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Azure/umock-c + REF 87d2214384c886a1e2406ac0756a0b3786add8da + SHA512 230b6c79a8346727bbc124d1aefaa14da8ecd82b2a56d68b3d2511b8efa5931872da440137a5d266835ba8c5193b83b4bc5ee85abb5242d07904a0706727926c + HEAD_REF master + ) +else() + vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Azure/umock-c + REF 87d2214384c886a1e2406ac0756a0b3786add8da + SHA512 230b6c79a8346727bbc124d1aefaa14da8ecd82b2a56d68b3d2511b8efa5931872da440137a5d266835ba8c5193b83b4bc5ee85abb5242d07904a0706727926c + HEAD_REF master + ) +endif() vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} diff --git a/ports/usockets/CONTROL b/ports/usockets/CONTROL index 69db6dce9..771d212bb 100644 --- a/ports/usockets/CONTROL +++ b/ports/usockets/CONTROL @@ -1,4 +1,4 @@ Source: usockets -Version: 0.3.1 +Version: 0.3.4 Build-Depends:libuv Description: Miniscule cross-platform eventing, networking & crypto for async applications
\ No newline at end of file diff --git a/ports/usockets/portfile.cmake b/ports/usockets/portfile.cmake index c5b92f84f..3440dd2fd 100644 --- a/ports/usockets/portfile.cmake +++ b/ports/usockets/portfile.cmake @@ -1,14 +1,12 @@ -include(vcpkg_common_functions) - -IF (NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") +IF (NOT VCPKG_TARGET_IS_LINUX) set(USE_LIBUV ON) EndIF () vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO uNetworking/uSockets - REF v0.3.1 - SHA512 f02b72844fb87acbf435d86a89e55244e45e047b049f36bda8e89c9ddeba8d7e6432008d33d33771faec60dcca60a3e3bfa3918c3af08ba80741e09df62c91fd + REF 5ff9a6db51e480db149fac1db232dbd9d1d6d543 #v0.3.4 + SHA512 053dd8b06977616859ab09bbbd5b7f800936b5b3e673c71752ef1ca1dfb5bae464e21dd8dba36ac47b946bf469419828d2c5e1bfcb1061582d3fd2ded79c05d8 HEAD_REF master ) @@ -28,7 +26,6 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/usockets) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/usockets/LICENSE ${CURRENT_PACKAGES_DIR}/share/usockets/copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) vcpkg_copy_pdbs()
\ No newline at end of file diff --git a/ports/uvatlas/CONTROL b/ports/uvatlas/CONTROL index 972c6741b..0c0cb84b3 100644 --- a/ports/uvatlas/CONTROL +++ b/ports/uvatlas/CONTROL @@ -1,4 +1,4 @@ Source: uvatlas
-Version: apr2019
+Version: dec2019
Homepage: https://github.com/Microsoft/UVAtlas
Description: UVAtlas isochart texture atlas
\ No newline at end of file diff --git a/ports/uvatlas/portfile.cmake b/ports/uvatlas/portfile.cmake index df0d322b3..deabb42d7 100644 --- a/ports/uvatlas/portfile.cmake +++ b/ports/uvatlas/portfile.cmake @@ -1,16 +1,14 @@ -include(vcpkg_common_functions) - vcpkg_check_linkage(ONLY_STATIC_LIBRARY ONLY_DYNAMIC_CRT) -if(VCPKG_CMAKE_SYSTEM_NAME) +if(NOT VCPKG_TARGET_IS_WINDOWS) message(FATAL_ERROR "UVAtlas only supports Windows Desktop") endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Microsoft/UVAtlas - REF 8309d95904d3a8f3559d73e07f3a0472f161c28b - SHA512 e0031812824f179dffdec487b2e70fc80748a722c4bccf67a7e0bd865700b6e61e1f14160557a1a797a84a9e7cc559f5e66bd8cabd5da4728ee479e4247d9aa2 + REF 1a0a756e5ee4bc764ee89b1e30e6b73b24d2eb55 #dec2019 + SHA512 810f320d51c11b79f211711d066873d4d082d88e0fdb662a15e105a05028b6e536f159730269865965b7eb33d8cdccb4622c5d945ab67df3e005569cb6df6e59 HEAD_REF master ) @@ -48,5 +46,4 @@ file(INSTALL DESTINATION ${CURRENT_PACKAGES_DIR}/tools/uvatlas/) # Handle copyright -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/uvatlas) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/uvatlas/LICENSE ${CURRENT_PACKAGES_DIR}/share/uvatlas/copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/uwebsockets/CONTROL b/ports/uwebsockets/CONTROL index aab615564..a56b0eefd 100644 --- a/ports/uwebsockets/CONTROL +++ b/ports/uwebsockets/CONTROL @@ -1,5 +1,5 @@ Source: uwebsockets -Version: 0.15.7 +Version: 0.17.0a4 Build-Depends: zlib, usockets Homepage: https://github.com/uWebSockets/uWebSockets -Description: Simple, secure & standards compliant web I/O for the most demanding of applications +Description: Simple, secure & standards compliant web I/O for the most demanding of applications
\ No newline at end of file diff --git a/ports/uwebsockets/portfile.cmake b/ports/uwebsockets/portfile.cmake index 350cc2f1a..e8e718c06 100644 --- a/ports/uwebsockets/portfile.cmake +++ b/ports/uwebsockets/portfile.cmake @@ -1,16 +1,12 @@ -include(vcpkg_common_functions) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO uNetworking/uWebSockets - REF bc6ea664b17fb3736e1330e908aee00c4f3a750b - SHA512 a629c0a3d6ca3c6e7681cb8632076940c81de1493e1fcdfb7cdfb7eab4c4a05ccf3b5d53c4c325548e770176ce36fb4e67f212f65713d2dacb679da570930380 + REF 736e50bdc86e000effcf5068013bd838ddd87291 #v0.17.0a4 + SHA512 feade724c6f262d4f47cb0f1fd993419a8e56cd13a35c367f8de7040138fe0020d0edf366c40e62f17435ba546af4540d9cd87f0974c59dddda490ec06c042a9 HEAD_REF master ) file(COPY ${SOURCE_PATH}/src DESTINATION ${CURRENT_PACKAGES_DIR}/include) file(RENAME ${CURRENT_PACKAGES_DIR}/include/src ${CURRENT_PACKAGES_DIR}/include/uwebsockets/) -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/uwebsockets) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/uwebsockets/LICENSE ${CURRENT_PACKAGES_DIR}/share/uwebsockets/copyright) - +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
\ No newline at end of file diff --git a/ports/vtk/CONTROL b/ports/vtk/CONTROL index 990e2aa32..f0731b24c 100644 --- a/ports/vtk/CONTROL +++ b/ports/vtk/CONTROL @@ -1,5 +1,5 @@ Source: vtk -Version: 8.2.0-9 +Version: 8.2.0-10 Description: Software system for 3D computer graphics, image processing, and visualization Homepage: https://github.com/Kitware/VTK Build-Depends: zlib, libpng, tiff, libxml2, jsoncpp, glew, freetype, expat, hdf5, libjpeg-turbo, proj4, lz4, libtheora, eigen3, double-conversion, pugixml, libharu, sqlite3, netcdf-c diff --git a/ports/vtk/fix-VTKConfig-cmake.patch b/ports/vtk/fix-VTKConfig-cmake.patch new file mode 100644 index 000000000..a507d22a8 --- /dev/null +++ b/ports/vtk/fix-VTKConfig-cmake.patch @@ -0,0 +1,29 @@ +diff --git a/CMake/VTKConfig.cmake.in b/CMake/VTKConfig.cmake.in +index 13e4db42..d28e0cc2 100644 +--- a/CMake/VTKConfig.cmake.in ++++ b/CMake/VTKConfig.cmake.in +@@ -66,19 +66,11 @@ set(VTK_USE_FILE "${VTK_CMAKE_DIR}/UseVTK.cmake") + # The rendering backend VTK was configured to use. + set(VTK_RENDERING_BACKEND "@VTK_RENDERING_BACKEND@") + +-if (__vtk_install_tree) +- if (WIN32) +- set (VTK_RUNTIME_DIRS "@CMAKE_INSTALL_PREFIX@/@VTK_INSTALL_RUNTIME_DIR@") +- else () +- set (VTK_RUNTIME_DIRS "@CMAKE_INSTALL_PREFIX@/@VTK_INSTALL_LIBRARY_DIR@") +- endif () +-else() +- if (WIN32) +- set (VTK_RUNTIME_DIRS "@CMAKE_BINARY_DIR@/bin") +- else () +- set (VTK_RUNTIME_DIRS "@CMAKE_BINARY_DIR@/lib") +- endif () +-endif() ++if (WIN32) ++ set (VTK_RUNTIME_DIRS "@CMAKE_INSTALL_PREFIX@/@VTK_INSTALL_RUNTIME_DIR@") ++else () ++ set (VTK_RUNTIME_DIRS "@CMAKE_INSTALL_PREFIX@/@VTK_INSTALL_LIBRARY_DIR@") ++endif () + + # Setup VTK-m if it was enabled + set(VTK_HAS_VTKM @VTK_HAS_VTKM@) diff --git a/ports/vtk/portfile.cmake b/ports/vtk/portfile.cmake index c2d12c498..4ddfb5334 100644 --- a/ports/vtk/portfile.cmake +++ b/ports/vtk/portfile.cmake @@ -34,6 +34,7 @@ vcpkg_from_github( hdf5_static.patch fix-find-lzma.patch fix-proj4.patch + fix-VTKConfig-cmake.patch ) # Remove the FindGLEW.cmake and FindPythonLibs.cmake that are distributed with VTK, diff --git a/ports/wil/CONTROL b/ports/wil/CONTROL index f58d9f014..44007f501 100644 --- a/ports/wil/CONTROL +++ b/ports/wil/CONTROL @@ -1,3 +1,3 @@ Source: wil
-Version: 2019-07-16
+Version: 2019-11-07
Description: The Windows Implementation Libraries (WIL) is a header-only C++ library created to make life easier for developers on Windows through readable type-safe C++ interfaces for common Windows coding patterns.
\ No newline at end of file diff --git a/ports/wil/portfile.cmake b/ports/wil/portfile.cmake index d9e50a16c..b3c74aa0d 100644 --- a/ports/wil/portfile.cmake +++ b/ports/wil/portfile.cmake @@ -4,8 +4,8 @@ include(vcpkg_common_functions) vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Microsoft/wil
- REF 7a6f0679be9cd625f54a21bb0ce06c39958b13a5
- SHA512 155b8ed9f3622e7d802b41d6086f2b5984e52a3c21d068157d5d428a2efe24f1960186412c61719bf32a4c12c313930defa590d07d7b05a6376fe0ae68a85b2e
+ REF fd6d99e737cc713dd3217663a502ab8c31d38820
+ SHA512 4b38fa803145b57349b3d68681fc4d0020665285f3fd94f71afe77466f39858e85127688856bc15f08d468e9f5cc8669ba65e7b024398edfb3b9320da61ea69d
HEAD_REF master
)
diff --git a/ports/wpilib/CONTROL b/ports/wpilib/CONTROL index b37784225..deef611ea 100644 --- a/ports/wpilib/CONTROL +++ b/ports/wpilib/CONTROL @@ -1,5 +1,6 @@ Source: wpilib
-Version: 2019.6.1
+Version: 2020.1.1
+Homepage: https://github.com/wpilibsuite/allwpilib
Build-Depends: eigen3, libuv
Description: WPILib is the software library package for the FIRST Robotics Competition. The core install includes wpiutil, a common utilies library, and ntcore, the base NetworkTables library.
diff --git a/ports/wpilib/portfile.cmake b/ports/wpilib/portfile.cmake index 4500400c7..15041d84b 100644 --- a/ports/wpilib/portfile.cmake +++ b/ports/wpilib/portfile.cmake @@ -1,10 +1,10 @@ -include(vcpkg_common_functions)
+vcpkg_fail_port_install(ON_TARGET "OSX")
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO wpilibsuite/allwpilib
- REF d10a1a797720014197c21dee38fdced73454dca4
- SHA512 a76e8652b6d6a921d466e08bcf162ee1b28c06af031b616b2333f8a9479ffd12d1c301182dac86e5d7d59909a21cbee4e551028393df80671336546c14ecf606
+ REF e874ba9313a8243aa18eefb13e1d88a3999dd80e
+ SHA512 9a2e7abb3739008ed59e716d241a4ec8f0848c655ae8bb7e5bd98090109d6d86115c97ef16ea8881cc28715b691d873ab7be77b515efed8c361cb1f47745697f
)
set(WITHOUT_JAVA ON)
diff --git a/ports/wt/0003-disable-boost-autolink.patch b/ports/wt/0003-disable-boost-autolink.patch index 910fbf800..9f7069b6e 100644 --- a/ports/wt/0003-disable-boost-autolink.patch +++ b/ports/wt/0003-disable-boost-autolink.patch @@ -1,22 +1,13 @@ -From 21dd691c8ac8d60f49cd051193402187f6912f92 Mon Sep 17 00:00:00 2001 -From: Robert Schumacher <roschuma@microsoft.com> -Date: Fri, 23 Feb 2018 03:29:09 -0800 -Subject: [PATCH 3/3] disable boost autolink - - -diff --git a/cmake/WtFindBoost-cmake.txt b/cmake/WtFindBoost-cmake.txt -index b708803..b0c2846 100644 ---- a/cmake/WtFindBoost-cmake.txt -+++ b/cmake/WtFindBoost-cmake.txt -@@ -89,7 +89,7 @@ IF (Boost_FOUND) - SET(BOOST_WTHTTP_MT_FOUND TRUE) - SET(BOOST_WTHTTP_FOUND TRUE) - -- IF(MSVC) -+ IF(MSVC AND 0) - # use autolink - SET(BOOST_WT_LIBRARIES "") - SET(BOOST_WTHTTP_LIBRARIES "") --- -2.16.2.windows.1 - +diff --git a/cmake/WtFindBoost.txt b/cmake/WtFindBoost.txt
+index e86fd7e..a017f6f 100644
+--- a/cmake/WtFindBoost.txt
++++ b/cmake/WtFindBoost.txt
+@@ -122,7 +122,7 @@ IF (Boost_FOUND)
+ SET(BOOST_WTHTTP_MT_FOUND TRUE)
+ SET(BOOST_WTHTTP_FOUND TRUE)
+
+- IF(MSVC AND Boost_MAJOR_VERSION EQUAL 1 AND Boost_MINOR_VERSION LESS 70)
++ IF(0)
+ # use autolink
+ SET(BOOST_WT_LIBRARIES "")
+ SET(BOOST_WTHTTP_LIBRARIES "")
diff --git a/ports/wt/0004-link-ssl.patch b/ports/wt/0004-link-ssl.patch index 8579223dc..c9efc480b 100644 --- a/ports/wt/0004-link-ssl.patch +++ b/ports/wt/0004-link-ssl.patch @@ -1,46 +1,30 @@ -diff --git a/cmake/WtFindSsl.txt b/cmake/WtFindSsl.txt -index c5f7bbc8..6e2c2f4d 100644 ---- a/cmake/WtFindSsl.txt -+++ b/cmake/WtFindSsl.txt -@@ -121,6 +121,16 @@ ELSEIF(APPLE) - /usr/local/lib - NO_DEFAULT_PATH - ) -+ FIND_LIBRARY(CRYPTO_LIB -+ NAMES -+ crypto -+ PATHS -+ ${SSL_PREFIX}/lib -+ ${SSL_PREFIX}/lib/VC -+ /usr/lib -+ /usr/local/lib -+ NO_DEFAULT_PATH -+ ) - ELSE (WIN32) - FIND_LIBRARY(SSL_LIB - NAMES -@@ -131,6 +141,15 @@ ELSE (WIN32) - /usr/lib - /usr/local/lib - ) -+ FIND_LIBRARY(CRYPTO_LIB -+ NAMES -+ crypto -+ PATHS -+ ${SSL_PREFIX}/lib -+ ${SSL_PREFIX}/lib/VC -+ /usr/lib -+ /usr/local/lib -+ ) - ENDIF (WIN32) +diff --git a/CMakeLists.txt b/CMakeLists.txt +index bd3b506..560ffb2 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -546,6 +546,12 @@ IF(ENABLE_HARU AND HARU_FOUND) + SET(WT_HAS_WPDFIMAGE true) + ENDIF(ENABLE_HARU AND HARU_FOUND) - IF(SSL_LIB -@@ -144,7 +163,7 @@ IF(SSL_LIB - ENDIF(SSL_TOO_LIB) - ELSE(WIN32) - SET(SSL_FOUND true) -- SET(SSL_LIBRARIES ${SSL_LIB} -lcrypto) -+ SET(SSL_LIBRARIES ${SSL_LIB} ${CRYPTO_LIB}) - ENDIF(WIN32) - ENDIF(SSL_LIB - AND SSL_INCLUDE_DIRS) ++if (WIN32) ++ add_definitions(-DWT_WIN32) ++endif() ++find_package(OpenSSL REQUIRED) ++set(OPENSSL_FOUND OpenSSL_FOUND) ++set(OPENSSL_LIBRARIES OpenSSL::SSL OpenSSL::Crypto) + IF(ENABLE_SSL AND OPENSSL_FOUND) + SET(HAVE_SSL ON) + SET(WT_WITH_SSL true) +diff --git a/src/isapi/IsapiRequest.h b/src/isapi/IsapiRequest.h +index 6c788e2..3f8d213 100644 +--- a/src/isapi/IsapiRequest.h ++++ b/src/isapi/IsapiRequest.h +@@ -1,5 +1,8 @@ + #include "WebRequest.h" + #include <sstream> ++#ifdef _WIN32 ++#include <winsock2.h> ++#endif + #include <httpext.h> + + namespace Wt { diff --git a/ports/wt/CONTROL b/ports/wt/CONTROL index b712ca738..d630e5157 100644 --- a/ports/wt/CONTROL +++ b/ports/wt/CONTROL @@ -1,5 +1,5 @@ Source: wt -Version: 4.0.5-1 +Version: 4.1.1 Homepage: https://github.com/emweb/wt Description: Wt is a C++ library for developing web applications Build-Depends: openssl, sqlite3, libpq, pango, glew, boost-date-time, boost-regex, boost-program-options, boost-signals, boost-system, boost-filesystem, boost-thread, boost-random, boost-multi-index, boost-signals2, boost-asio, boost-ublas, boost-conversion, boost-array, boost-smart-ptr, boost-tuple, boost-algorithm, boost-logic, boost-interprocess diff --git a/ports/wt/portfile.cmake b/ports/wt/portfile.cmake index bc39a7a64..3160b6af6 100644 --- a/ports/wt/portfile.cmake +++ b/ports/wt/portfile.cmake @@ -1,10 +1,8 @@ -include(vcpkg_common_functions) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO emweb/wt - REF 4.0.5 - SHA512 5513b428bfd3e778726c947606677f3e0774b38e640e61cd94906a2e0c75d204a68072b54ddeb3614a7ba08f5668e6eb3a96d9c8df3744b09dc36ad9be12d924 + REF 2441ac6dc7a208a33aaa06f62f065f8567bf94f3 # 4.1.1 + SHA512 5f5e4c58ecec842747fc65061e9bbb75b1d32878d3aceb92436e8f619845c0984e6bce30af4762b913256de863afbf99f83eb76496d8f5dc19e1665a6ba02ed1 HEAD_REF master PATCHES 0002-link-glew.patch @@ -51,5 +49,5 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/var) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/var) -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/wt RENAME copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) vcpkg_copy_pdbs() diff --git a/ports/wxchartdir/CMakeLists.txt b/ports/wxchartdir/CMakeLists.txt new file mode 100644 index 000000000..3ad438970 --- /dev/null +++ b/ports/wxchartdir/CMakeLists.txt @@ -0,0 +1,33 @@ +cmake_minimum_required(VERSION 3.13) +project(wxchartdir CXX) + +set(wxWidgets_EXCLUDE_COMMON_LIBRARIES TRUE) +find_package(wxWidgets REQUIRED COMPONENTS core base) +include(${wxWidgets_USE_FILE}) + +find_package(chartdir CONFIG REQUIRED) + +add_library(wxchartdir STATIC wxdemo/common/wxchartviewer.cpp) + +target_include_directories(wxchartdir PUBLIC + $<INSTALL_INTERFACE:include> +) + +target_link_libraries(wxchartdir + PRIVATE ${wxWidgets_LIBRARIES} + PRIVATE chartdir +) + +install(TARGETS wxchartdir EXPORT wxchartdir-config + RUNTIME DESTINATION bin + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib +) + +install(EXPORT wxchartdir-config DESTINATION share/cmake/wxchartdir) + +install(FILES wxdemo/common/mondrian.xpm DESTINATION include/wxchartdir) +install(FILES wxdemo/common/wxchartviewer.h DESTINATION include/wxchartdir) +install(FILES wxdemo/common/wxchartviewer_defs.h DESTINATION include/wxchartdir) +install(FILES wxdemo/common/wxchartviewer_version.h DESTINATION include/wxchartdir) +install(FILES wxdemo/common/wxchartviewer_version.rc DESTINATION include/wxchartdir) diff --git a/ports/wxchartdir/CONTROL b/ports/wxchartdir/CONTROL new file mode 100644 index 000000000..22a741956 --- /dev/null +++ b/ports/wxchartdir/CONTROL @@ -0,0 +1,5 @@ +Source: wxchartdir +Version: 1.0.0 +Build-Depends: chartdir, wxwidgets +Homepage: https://github.com/utelle/wxchartdir +Description: wxChartDir provides components for the integration and use of the commercial C++ library ChartDirector, a universal chart component developed by Advanced Software Engineering Ltd, in wxWidgets based applications. diff --git a/ports/wxchartdir/portfile.cmake b/ports/wxchartdir/portfile.cmake new file mode 100644 index 000000000..51506f112 --- /dev/null +++ b/ports/wxchartdir/portfile.cmake @@ -0,0 +1,48 @@ +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO utelle/wxchartdir + REF v1.0.0 + SHA512 018e588a4bcff594e0049c64597d55b680e58ae239822fcc20d415a1efd8a6b3c0c7c6c836969f01a378209307b9720b938e3826a31e18c843d52897b44b4818 + HEAD_REF master +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) + +vcpkg_from_github( + OUT_SOURCE_PATH VCPKG_WX_FIND_SOURCE_PATH + REPO CaeruleusAqua/vcpkg-wx-find + REF 17993e942f677799b488a06ca659a8e46ff272c9 + SHA512 0fe07d3669f115c9b6a761abd7743f87e67f24d1eae3f3abee4715fa4d6b76af0d1ea3a4bd82dbdbed430ae50295e1722615ce0ee7d46182125f5048185ee153 + HEAD_REF master +) + +file(COPY ${CMAKE_ROOT}/Modules/FindPackageHandleStandardArgs.cmake DESTINATION ${VCPKG_WX_FIND_SOURCE_PATH}) +file(COPY ${CMAKE_ROOT}/Modules/FindPackageMessage.cmake DESTINATION ${VCPKG_WX_FIND_SOURCE_PATH}) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DCMAKE_MODULE_PATH=${VCPKG_WX_FIND_SOURCE_PATH} +) + +vcpkg_install_cmake() +vcpkg_copy_pdbs() +vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/wxchartdir) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) + +configure_file(${SOURCE_PATH}/COPYING.txt ${CURRENT_PACKAGES_DIR}/share/wxchartdir/copyright COPYONLY) + +file(COPY ${SOURCE_PATH}/CHARTDIRECTOR-LICENSE.TXT DESTINATION ${CURRENT_PACKAGES_DIR}/share/wxchartdir) +file(COPY ${SOURCE_PATH}/CHARTDIRECTOR-README.TXT DESTINATION ${CURRENT_PACKAGES_DIR}/share/wxchartdir) +file(COPY ${SOURCE_PATH}/GPL-3.0.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/wxchartdir) +file(COPY ${SOURCE_PATH}/LGPL-3.0.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/wxchartdir) +file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/wxchartdir) +file(COPY ${SOURCE_PATH}/LICENSE.spdx DESTINATION ${CURRENT_PACKAGES_DIR}/share/wxchartdir) +file(COPY ${SOURCE_PATH}/WxWindows-exception-3.1.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/wxchartdir) diff --git a/ports/x264/CONTROL b/ports/x264/CONTROL index fe19e1b39..58dab0c35 100644 --- a/ports/x264/CONTROL +++ b/ports/x264/CONTROL @@ -1,4 +1,4 @@ Source: x264 -Version: 157-303c484ec828ed0-6 +Version: 157-303c484ec828ed0-7 Homepage: https://github.com/mirror/x264 -Description: x264 is a free software library and application for encoding video streams into the H.264/MPEG-4 AVC compression format +Description: x264 is a free software library and application for encoding video streams into the H.264/MPEG-4 AVC compression format
\ No newline at end of file diff --git a/ports/x264/portfile.cmake b/ports/x264/portfile.cmake index ea72b2ad2..d1ed982a5 100644 --- a/ports/x264/portfile.cmake +++ b/ports/x264/portfile.cmake @@ -1,10 +1,6 @@ -include(vcpkg_common_functions) - set(X264_VERSION 157) -if (NOT VCPKG_TARGET_IS_WINDOWS) - message(FATAL_ERROR "x264 only support windows.") -endif() +vcpkg_fail_port_install(ON_TARGET "Linux" "OSX") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH @@ -32,7 +28,7 @@ vcpkg_configure_make( vcpkg_install_make() -if(NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") +if(NOT VCPKG_TARGET_IS_UWP) file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/x264) file(RENAME ${CURRENT_PACKAGES_DIR}/bin/x264.exe ${CURRENT_PACKAGES_DIR}/tools/x264/x264.exe) endif() @@ -61,5 +57,4 @@ endif() vcpkg_copy_pdbs() -file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/x264) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/x264/COPYING ${CURRENT_PACKAGES_DIR}/share/x264/copyright) +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
\ No newline at end of file diff --git a/ports/xalan-c/CONTROL b/ports/xalan-c/CONTROL index b87743cc3..dcefa5172 100644 --- a/ports/xalan-c/CONTROL +++ b/ports/xalan-c/CONTROL @@ -1,5 +1,5 @@ Source: xalan-c -Version: 1.11-9 +Version: 1.11-11 Homepage: https://github.com/apache/xalan-c Description: Xalan is an XSLT processor for transforming XML documents into HTML, text, or other XML document types Build-Depends: xerces-c diff --git a/ports/xalan-c/fix-linux-no-bin.patch b/ports/xalan-c/fix-linux-no-bin.patch new file mode 100644 index 000000000..3d468a1c5 --- /dev/null +++ b/ports/xalan-c/fix-linux-no-bin.patch @@ -0,0 +1,20 @@ +diff --git a/src/xalanc/Utils/CMakeLists.txt b/src/xalanc/Utils/CMakeLists.txt +index 2d78685..72b611b 100644 +--- a/src/xalanc/Utils/CMakeLists.txt ++++ b/src/xalanc/Utils/CMakeLists.txt +@@ -41,11 +41,15 @@ add_custom_target(locale ALL) + set_target_properties(locale PROPERTIES FOLDER "Message Library") + + # workaround for case of missing xerces-c dll ++if(CMAKE_HOST_WIN32) + if(EXISTS ${XercesC_INCLUDE_DIR}/../bin) + set(MsgCreator_WD $<TARGET_FILE_DIR:XercesC::XercesC>/../bin) + else() + set(MsgCreator_WD "${XSL_NLS_GEN_DIR}") + endif() ++else() ++ set(MsgCreator_WD "${PROJECT_BINARY_DIR}") ++endif() + + if(msgloader STREQUAL "inmemory") + add_custom_command( diff --git a/ports/xalan-c/portfile.cmake b/ports/xalan-c/portfile.cmake index 0771f0783..78ae19cf2 100644 --- a/ports/xalan-c/portfile.cmake +++ b/ports/xalan-c/portfile.cmake @@ -8,11 +8,13 @@ vcpkg_from_github( PATCHES fix-win-deprecated-err.patch fix-missing-dll-error.patch + fix-linux-no-bin.patch ) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA + OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_ICU=ON ) vcpkg_install_cmake() diff --git a/ports/xeus/CONTROL b/ports/xeus/CONTROL index 931136ae4..aafd8c00b 100644 --- a/ports/xeus/CONTROL +++ b/ports/xeus/CONTROL @@ -1,4 +1,4 @@ Source: xeus
-Version: 0.20.0 +Version: 0.20.0-1 Description: C++ implementation of the Jupyter kernel protocol
Build-Depends: cppzmq, libuuid (linux), nlohmann-json, openssl, xtl, zeromq
diff --git a/ports/xeus/Fix-TypeConversion.patch b/ports/xeus/Fix-TypeConversion.patch new file mode 100644 index 000000000..72a8c484e --- /dev/null +++ b/ports/xeus/Fix-TypeConversion.patch @@ -0,0 +1,24 @@ +diff --git a/src/xkernel_configuration.cpp b/src/xkernel_configuration.cpp +index 681b45d..b5a68eb 100644 +--- a/src/xkernel_configuration.cpp ++++ b/src/xkernel_configuration.cpp +@@ -25,8 +25,8 @@ namespace xeus + ifs >> doc; + + xconfiguration res; +- res.m_transport = doc["transport"]; +- res.m_ip = doc["ip"]; ++ res.m_transport = doc["transport"].get<std::string>(); ++ res.m_ip = doc["ip"].get<std::string>(); + res.m_control_port = std::to_string(doc["control_port"].get<int>()); + res.m_shell_port = std::to_string(doc["shell_port"].get<int>()); + res.m_stdin_port = std::to_string(doc["stdin_port"].get<int>()); +@@ -35,7 +35,7 @@ namespace xeus + res.m_signature_scheme = doc.value("signature_scheme", ""); + if (res.m_signature_scheme != "") + { +- res.m_key = doc["key"]; ++ res.m_key = doc["key"].get<std::string>(); + } + else + { diff --git a/ports/xeus/portfile.cmake b/ports/xeus/portfile.cmake index 1e77a71cd..5dd646d7f 100644 --- a/ports/xeus/portfile.cmake +++ b/ports/xeus/portfile.cmake @@ -1,11 +1,10 @@ -include(vcpkg_common_functions)
-
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO QuantStack/xeus
REF 8408f237f33514610a59d19a5ff045ee70dfa02b SHA512 41282addbe5519b6d357e802c48483834cd951604bfeb8c99d96f02d03dec2fc66ea4c091f40ec09348bb60587e8a6efef5e6eb2bb950ba720fc8ceb7a107960
HEAD_REF master
+ PATCHES Fix-TypeConversion.patch
)
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC_LIBS)
@@ -45,10 +44,7 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL static) endif()
# Handle copyright
-configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY)
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
# Install usage
file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
-
-# CMake integration test
-vcpkg_test_cmake(PACKAGE_NAME ${PORT})
diff --git a/ports/xmlsec/CMakeLists.txt b/ports/xmlsec/CMakeLists.txt index 75b10f887..43664633a 100644 --- a/ports/xmlsec/CMakeLists.txt +++ b/ports/xmlsec/CMakeLists.txt @@ -146,7 +146,9 @@ if(INSTALL_HEADERS_TOOLS) if(BUILD_SHARED_LIBS) target_compile_definitions(xmlsec PRIVATE -DXMLSEC_CRYPTO_DYNAMIC_LOADING) else() + find_package(Threads REQUIRED) target_compile_definitions(xmlsec PRIVATE -DLIBXML_STATIC -DLIBXSLT_STATIC -DXMLSEC_STATIC) + target_link_libraries(xmlsec PUBLIC Threads::Threads) endif() install(TARGETS xmlsec DESTINATION tools/xmlsec) endif() diff --git a/ports/xmlsec/CONTROL b/ports/xmlsec/CONTROL index 6e0dbe9b3..a4512a967 100644 --- a/ports/xmlsec/CONTROL +++ b/ports/xmlsec/CONTROL @@ -1,5 +1,5 @@ Source: xmlsec -Version: 1.2.29 +Version: 1.2.29-1 Homepage: https://www.aleksey.com/xmlsec/ Description: XML Security Library is a C library based on LibXML2. The library supports major XML security standards. Build-Depends: libxml2, openssl diff --git a/ports/xmsh/CONTROL b/ports/xmsh/CONTROL index 7f53c582c..771abe76f 100644 --- a/ports/xmsh/CONTROL +++ b/ports/xmsh/CONTROL @@ -1,4 +1,4 @@ Source: xmsh -Version: 0.4.1 +Version: 0.5.2 Description: Reference Implementation of XMSH Library -Build-Depends: tl-expected +Build-Depends: tl-expected, nlohmann-json diff --git a/ports/xmsh/portfile.cmake b/ports/xmsh/portfile.cmake index 285205b61..615f8fa9a 100644 --- a/ports/xmsh/portfile.cmake +++ b/ports/xmsh/portfile.cmake @@ -2,11 +2,17 @@ include(vcpkg_common_functions) vcpkg_find_acquire_program(PYTHON3) +if (NOT VCPKG_TARGET_IS_WINDOWS) + message("Building with a gcc version less than 7.1.0 is not supported.") +else() + message(FATAL_ERROR "xmsh only support Linux/OSX.") +endif() + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libxmsh/xmsh - REF v0.4.1 - SHA512 7bd9fe9e565b33722fec37a7e3d9bd8b7b132692add5d26e31954367fb284b49a26a21532ddcb0e425af7f8208e755f21f2d8de81b33ed2a1149724f4ccd2c38 + REF e1900845b796ef977db70519b2ac08eebd788236 #v0.5.2 + SHA512 643c6c94956de9b6fae635b6528e8ba756f4a2bc38de71613c2dd8d47f4a043aee7b6e7fec1870b306be3bea9f5c0c81d1d343bfc27883b3fba986fbc5b15406 HEAD_REF master ) @@ -17,6 +23,10 @@ vcpkg_configure_cmake( -DPYTHON3_EXECUTABLE=${PYTHON3} ) +vcpkg_find_acquire_program(PYTHON3) +get_filename_component(PYPATH ${PYTHON3} PATH) +set(ENV{PATH} "$ENV{PATH};${PYPATH}") + vcpkg_install_cmake() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) @@ -26,4 +36,6 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL static) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) endif() +file(INSTALL ${SOURCE_PATH}/copyright.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/xmsh RENAME copyright) + vcpkg_copy_pdbs() diff --git a/ports/xsimd/CONTROL b/ports/xsimd/CONTROL index 4eb4115b8..ae2ef2249 100644 --- a/ports/xsimd/CONTROL +++ b/ports/xsimd/CONTROL @@ -1,7 +1,7 @@ Source: xsimd
-Version: 7.2.5
+Version: 7.4.5
Description: Modern, portable C++ wrappers for SIMD intrinsics
-Homepage: https://github.com/QuantStack/xsimd
+Homepage: https://github.com/xtensor-stack/xsimd
Feature: xcomplex
Description: xtl complex support
diff --git a/ports/xsimd/portfile.cmake b/ports/xsimd/portfile.cmake index b2eb8a251..46cf996cf 100644 --- a/ports/xsimd/portfile.cmake +++ b/ports/xsimd/portfile.cmake @@ -1,12 +1,10 @@ # header-only library
-include(vcpkg_common_functions)
-
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
- REPO QuantStack/xsimd
- REF 75702dd2772aebc6afaa1a86530170a5ef2e10cd - SHA512 2cf04dbf71818db571919f04a476cc8d45676ea56d88b7543b7f10c9ee5d6f718a6addc586c8a6a882ea0a34b09b83d6e20c3bf49e73d4ec1d14f3c1db47a55c
+ REPO xtensor-stack/xsimd
+ REF 90613ca516fa89e4db01fbc76b95b1d8e0abb416 # 7.4.5
+ SHA512 08d0662f2d9b3f73c1703e826012406860dbe632ed18a7bbdaa7d6de84c63d9fdae0ce574e0ec1d6e351ded801f84614867e2aad27fe942cb647cba9832ef027
HEAD_REF master
)
@@ -30,8 +28,4 @@ vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib)
-# Handle copyright
-configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY)
-
-# CMake integration test
-vcpkg_test_cmake(PACKAGE_NAME ${PORT})
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/xtensor-blas/CONTROL b/ports/xtensor-blas/CONTROL index 1779f1760..6020152fe 100644 --- a/ports/xtensor-blas/CONTROL +++ b/ports/xtensor-blas/CONTROL @@ -1,4 +1,5 @@ Source: xtensor-blas -Version: 0.16.1 +Version: 0.17.1 Description: BLAS extension to xtensor +Homepage: https://github.com/xtensor-stack/xtensor-blas Build-Depends: xtensor diff --git a/ports/xtensor-blas/portfile.cmake b/ports/xtensor-blas/portfile.cmake index 000a567a3..6db2e3876 100644 --- a/ports/xtensor-blas/portfile.cmake +++ b/ports/xtensor-blas/portfile.cmake @@ -1,12 +1,10 @@ # header-only library
-include(vcpkg_common_functions)
-
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
- REPO QuantStack/xtensor-blas
- REF 0.16.1
- SHA512 3bdbd48b74d7be0b9f4ad2d435789e266b3cc1e043bbe73739978678bd1ca81504a688cdd80c03667305d210d299127be9939333c9bd0ac27dff0423ccb4861d
+ REPO xtensor-stack/xtensor-blas
+ REF 0b23657413bb4380014b82c4dd45821f04a4adad # 0.17.1
+ SHA512 d155d9fdad2e2d1851657953544e9ef3e3c1b203a1cb4e092d0f5bab8bad27bcf3a21a0ae3be0c06a7b8a3fa8b41f244da45690d39ee6c9794ac4fcabc4de35f
HEAD_REF master
)
@@ -31,8 +29,4 @@ vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/xflens/cxxblas/netlib)
-# Handle copyright
-configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY)
-
-# CMake integration test
-vcpkg_test_cmake(PACKAGE_NAME ${PORT})
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/xtensor-fftw/CONTROL b/ports/xtensor-fftw/CONTROL new file mode 100644 index 000000000..c757db69b --- /dev/null +++ b/ports/xtensor-fftw/CONTROL @@ -0,0 +1,5 @@ +Source: xtensor-fftw
+Version: 2019-11-30
+Description: FFTW bindings for the xtensor C++14 multi-dimensional array library
+Homepage: https://github.com/xtensor-stack/xtensor-fftw
+Build-Depends: fftw3, xtensor
diff --git a/ports/xtensor-fftw/portfile.cmake b/ports/xtensor-fftw/portfile.cmake new file mode 100644 index 000000000..e22efc2e3 --- /dev/null +++ b/ports/xtensor-fftw/portfile.cmake @@ -0,0 +1,31 @@ +# header-only library
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO xtensor-stack/xtensor-fftw
+ REF 29f0442c98f1a219e970c96e99d7be8a42954a0b
+ SHA512 09b02fe6b906cde2a7f9071673a140c994316d50aaf639eb402706aaa52b66e73bc77fa1beb683d3740914ff5157283891634a806809c03f12c1def85b49595a
+ HEAD_REF master
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DCOMPILE_WARNINGS=OFF
+ -DBUILD_TESTS=OFF
+ -DDOWNLOAD_GTEST=OFF
+ -DBUILD_BENCHMARK=OFF
+ -DDOWNLOAD_GBENCHMARK=OFF
+ -DBENCHMARK_ENABLE_TESTING=OFF
+ -DDEFAULT_COLUMN_MAJOR=OFF
+ -DCOVERAGE=OFF
+)
+
+vcpkg_install_cmake()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT})
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/xtensor-io/CONTROL b/ports/xtensor-io/CONTROL index 734c0becf..20d92198d 100644 --- a/ports/xtensor-io/CONTROL +++ b/ports/xtensor-io/CONTROL @@ -1,5 +1,6 @@ Source: xtensor-io
-Version: 0.7.0
+Version: 0.9.0
Description: xtensor plugin to read and write images, audio files, numpy (compressed) npz and HDF5
+Homepage: https://github.com/xtensor-stack/xtensor-io
Build-Depends: xtensor, xtl
diff --git a/ports/xtensor-io/portfile.cmake b/ports/xtensor-io/portfile.cmake index d8cc89a09..d5b85978f 100644 --- a/ports/xtensor-io/portfile.cmake +++ b/ports/xtensor-io/portfile.cmake @@ -1,18 +1,17 @@ # header-only library
-include(vcpkg_common_functions)
-
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
- REPO QuantStack/xtensor-io
- REF 0.7.0
- SHA512 6c8416c595d022ed60cd802deec6d63128d205d6fd13962098b6242ace4fa9e61122e5b05837a1aab3b64bc042da7cbf2f72f2328155c342de3a6db741d4d4ee
+ REPO xtensor-stack/xtensor-io
+ REF 863dd7dad6010038568c169f20e3d3e87bd3b37a # 0.9.0
+ SHA512 f6190c5c2c487a8170e5af1ddfd2e921c414274762dac6c8f9519d579d5eb5dd3683678e7b4f589b7ced8a42f648742755acb42e2122960d6ca7fc1a82b0723e
HEAD_REF master
)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
+ DISABLE_PARALLEL_CONFIGURE
OPTIONS
-DBUILD_TESTS=OFF
-DDOWNLOAD_GTEST=OFF
@@ -25,7 +24,4 @@ vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib)
-# Handle copyright
-file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright)
-
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/xtensor/CONTROL b/ports/xtensor/CONTROL index 3f1a1d5fe..8f0e6fac5 100644 --- a/ports/xtensor/CONTROL +++ b/ports/xtensor/CONTROL @@ -1,7 +1,7 @@ Source: xtensor
-Version: 0.20.8
+Version: 0.21.2
Description: C++ tensors with broadcasting and lazy computing
-Homepage: https://quantstack.net/xtensor
+Homepage: https://github.com/xtensor-stack/xtensor
Build-Depends: nlohmann-json, xtl
Feature: xsimd
diff --git a/ports/xtensor/portfile.cmake b/ports/xtensor/portfile.cmake index b8c28727a..cdbc1f1e1 100644 --- a/ports/xtensor/portfile.cmake +++ b/ports/xtensor/portfile.cmake @@ -1,12 +1,10 @@ # header-only library
-include(vcpkg_common_functions)
-
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
- REPO QuantStack/xtensor
- REF b2d81961ac1b335bf2c362e6b7f792ebacb8abf8 - SHA512 cfa64ae8163ce5cf7be762d5e67f4b2b15721f7d83cebab78ebf4ff1d85825aa3065769644d0314dd583bfb8dce76659c1a5cb95ecd87d00bb2fb8309623d0ae
+ REPO xtensor-stack/xtensor
+ REF 8c77ea7fe479714a297efc0263c933a41fd2fc50 # 0.21.2
+ SHA512 f535e3a5d9325b73af31b64a2c20f504d754202f2d557f63bab280a0b2c7e67d357f9a5c281a2cf73cccf0af129b29e38e218c95ab421c5473a92fe28bd9b2d6
HEAD_REF master
)
@@ -36,8 +34,4 @@ vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib)
-# Handle copyright
-configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY)
-
-# CMake integration test
-vcpkg_test_cmake(PACKAGE_NAME ${PORT})
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/xtl/CONTROL b/ports/xtl/CONTROL index b0fbdd39c..600536d12 100644 --- a/ports/xtl/CONTROL +++ b/ports/xtl/CONTROL @@ -1,4 +1,5 @@ Source: xtl
-Version: 0.6.5 +Version: 0.6.10
Build-Depends: nlohmann-json
Description: The x template library.
+Homepage: https://github.com/xtensor-stack/xtl
diff --git a/ports/xtl/portfile.cmake b/ports/xtl/portfile.cmake index 74cbbbc03..1e09d5fc5 100644 --- a/ports/xtl/portfile.cmake +++ b/ports/xtl/portfile.cmake @@ -1,12 +1,10 @@ # header-only library
-include(vcpkg_common_functions)
-
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
- REPO QuantStack/xtl
- REF 0d1f896ba90664248279baaea0059699cff5ab9b - SHA512 8375dc3c64d49b1722bdb579b397f296ae28042fd41b2e0556b3ad53b8b3615c250096aa09f1997d964285f6969d599d49e3b9204b45877af858c9a463619ab2
+ REPO xtensor-stack/xtl
+ REF 557bbc914e91e4efa93b2ca8d09ab11b1e70b711 # 0.6.10
+ SHA512 bf02c90f17dcf46ca424fb4bb6bbda5a57f0f1258c35f0c9ddc3ff6f0bcdd1c5f485f786b986ee96b0044340b2a9e25f1750fbee1b32c76b0c68e8a04127fba5
HEAD_REF master
)
@@ -24,5 +22,4 @@ vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
-# Handle copyright
-configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY)
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/yara/CMakeLists.txt b/ports/yara/CMakeLists.txt index 8b9f66113..5b01e1c3b 100644 --- a/ports/yara/CMakeLists.txt +++ b/ports/yara/CMakeLists.txt @@ -101,6 +101,9 @@ set( ${JANSSON_LIBRARY} ) +IF(CMAKE_SYSTEM_NAME MATCHES "Windows") +list(APPEND libyara_dependencies Crypt32.lib Ws2_32.lib) +endif() if("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU") list(APPEND libyara_dependencies m) endif() diff --git a/ports/yara/CONTROL b/ports/yara/CONTROL index 209495ea7..15095947b 100644 --- a/ports/yara/CONTROL +++ b/ports/yara/CONTROL @@ -1,5 +1,5 @@ Source: yara
-Version: 3.10.0
+Version: 3.10.0-1
Homepage: https://github.com/VirusTotal/yara
Description: The pattern matching swiss knife
Build-Depends: openssl, jansson
diff --git a/ports/yas/CONTROL b/ports/yas/CONTROL new file mode 100644 index 000000000..46baf2fda --- /dev/null +++ b/ports/yas/CONTROL @@ -0,0 +1,4 @@ +Source: yas +Version: 7.0.4 +Homepage: https://github.com/niXman/yas +Description: Yet Another Serialization is a header only serialization library diff --git a/ports/yas/portfile.cmake b/ports/yas/portfile.cmake new file mode 100644 index 000000000..45ef71d74 --- /dev/null +++ b/ports/yas/portfile.cmake @@ -0,0 +1,11 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO niXman/yas + REF 572d6b4c405ce2c808c06a5bb88a66b0b98b85a5 + SHA512 3cc9df7b5d286c7c08350737677b71e255fdd60af52e56b975289ce8ad857cca374a907c5eea83da0240fbf2a92c960af26648df9fa11da7106ea630b8ddc10f + HEAD_REF master +) + +file(INSTALL ${SOURCE_PATH}/include/yas DESTINATION ${CURRENT_PACKAGES_DIR}/include) + +file(INSTALL ${SOURCE_PATH}/include/yas/version.hpp DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/z3/CONTROL b/ports/z3/CONTROL index 5a806da95..be11a9d7c 100644 --- a/ports/z3/CONTROL +++ b/ports/z3/CONTROL @@ -1,3 +1,4 @@ Source: z3 -Version: 4.8.5-1 -Description: An SMT solver +Version: 4.8.6 +Homepage: https://github.com/Z3Prover/z3 +Description: Z3 is a theorem prover from Microsoft Research.
\ No newline at end of file diff --git a/ports/z3/fix-install-path.patch b/ports/z3/fix-install-path.patch index 170ca085a..48ff2a8d8 100644 --- a/ports/z3/fix-install-path.patch +++ b/ports/z3/fix-install-path.patch @@ -1,39 +1,5 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 6e73daf63..c6bca7918 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -615,7 +615,7 @@ install(EXPORT - Z3_EXPORTED_TARGETS - FILE "Z3Targets.cmake" - NAMESPACE z3:: -- DESTINATION "${CMAKE_INSTALL_Z3_CMAKE_PACKAGE_DIR}" -+ DESTINATION share/z3 - ) - set(Z3_INSTALL_TREE_CMAKE_CONFIG_FILE "${PROJECT_BINARY_DIR}/cmake/Z3Config.cmake") - set(Z3_FIRST_PACKAGE_INCLUDE_DIR "${CMAKE_INSTALL_INCLUDEDIR}") -@@ -640,7 +640,7 @@ unset(CONFIG_FILE_TYPE) - # Add install rule to install ${Z3_INSTALL_TREE_CMAKE_CONFIG_FILE} - install( - FILES "${Z3_INSTALL_TREE_CMAKE_CONFIG_FILE}" -- DESTINATION "${CMAKE_INSTALL_Z3_CMAKE_PACKAGE_DIR}" -+ DESTINATION share/z3 - ) - - # TODO: Provide a `Z3Version.cmake` file so that clients can specify the version -diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt -index d5778add9..35b7e4c55 100644 ---- a/doc/CMakeLists.txt -+++ b/doc/CMakeLists.txt -@@ -88,6 +88,6 @@ set(CMAKE_INSTALL_API_BINDINGS_DOC - if (INSTALL_API_BINDINGS_DOCUMENTATION) - install( - DIRECTORY "${DOC_DEST_DIR}" -- DESTINATION "${CMAKE_INSTALL_API_BINDINGS_DOC}" -+ DESTINATION share/z3 - ) - endif() diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 9b6f00b62..8b47125d3 100644 +index 9b6f00b..8b47125 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -173,7 +173,8 @@ install(TARGETS libz3 @@ -46,34 +12,8 @@ index 9b6f00b62..8b47125d3 100644 PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" ) -diff --git a/src/api/java/CMakeLists.txt b/src/api/java/CMakeLists.txt -index f593d91a4..70682b721 100644 ---- a/src/api/java/CMakeLists.txt -+++ b/src/api/java/CMakeLists.txt -@@ -228,7 +228,7 @@ if (INSTALL_JAVA_BINDINGS) - PATH - "Directory to install Z3 Java JNI bridge library relative to install prefix" - ) -- install(TARGETS z3java DESTINATION "${Z3_JAVA_JNI_LIB_INSTALLDIR}") -+ install(TARGETS z3java DESTINATION share/z3) - # Note: Don't use ``DESTINATION`` here as the version of ``UseJava.cmake`` shipped - # with CMake 2.8.12.2 handles that incorrectly. - install_jar(z3JavaJar "${Z3_JAVA_JAR_INSTALLDIR}") -diff --git a/src/api/python/CMakeLists.txt b/src/api/python/CMakeLists.txt -index 6cabb779a..0b79861bf 100644 ---- a/src/api/python/CMakeLists.txt -+++ b/src/api/python/CMakeLists.txt -@@ -136,7 +136,7 @@ if (INSTALL_PYTHON_BINDINGS) - # Using DESTDIR still seems to work even if we use an absolute path - message(STATUS "Python bindings will be installed to \"${CMAKE_INSTALL_PYTHON_PKG_DIR}\"") - install(FILES ${build_z3_python_bindings_target_depends} -- DESTINATION "${CMAKE_INSTALL_PYTHON_PKG_DIR}/z3" -+ DESTINATION share/z3 - ) - else() - message(STATUS "Not emitting rules to install Z3 python bindings") diff --git a/src/shell/CMakeLists.txt b/src/shell/CMakeLists.txt -index 278246341..b6cd2f1c1 100644 +index 2782463..b6cd2f1 100644 --- a/src/shell/CMakeLists.txt +++ b/src/shell/CMakeLists.txt @@ -44,5 +44,5 @@ target_link_libraries(shell PRIVATE ${Z3_DEPENDENT_LIBS}) diff --git a/ports/z3/portfile.cmake b/ports/z3/portfile.cmake index e3adeabb0..b6c46ad01 100644 --- a/ports/z3/portfile.cmake +++ b/ports/z3/portfile.cmake @@ -1,12 +1,4 @@ -if (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") - message(FATAL_ERROR "Z3 doesn't currently support ARM64") -endif() - -if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - message(FATAL_ERROR "Z3 doesn't currently support UWP") -endif() - -include(vcpkg_common_functions) +vcpkg_fail_port_install(ON_TARGET "UWP" ON_ARCH "arm64") vcpkg_find_acquire_program(PYTHON2) get_filename_component(PYTHON2_DIR "${PYTHON2}" DIRECTORY) @@ -15,8 +7,8 @@ vcpkg_add_to_path("${PYTHON2_DIR}") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Z3Prover/z3 - REF Z3-4.8.5 - SHA512 ca36e1a0332bd473a64f41dfdb31656fb3486178473e4fd4934dccce109a84c9686c08f94998df74bacb588eb12ea5db25dc17a564ee76f82fd2559349697309 + REF 78ed71b8de7d4d089f2799bf2d06f411ac6b9062 # z3-4.8.6 + SHA512 3505a2e3c634ea5369456b857665d9de538be631f7ce9b2eb84ef318081bffb286186abc98f7bcbf615c0396081aebc65ebc5f20135cd2b97c5228452550ffa4 HEAD_REF master PATCHES fix-install-path.patch @@ -34,9 +26,9 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() -vcpkg_fixup_cmake_targets() +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/z3 TARGET_PATH share/Z3) vcpkg_copy_pdbs() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/z3 RENAME copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/zxing-cpp/CONTROL b/ports/zxing-cpp/CONTROL index 16343782d..fdf894097 100644 --- a/ports/zxing-cpp/CONTROL +++ b/ports/zxing-cpp/CONTROL @@ -1,4 +1,5 @@ Source: zxing-cpp Version: 3.3.3-6 +Homepage: https://github.com/glassechidna/zxing-cpp Build-Depends: opencv Description: Barcode detection and decoding library. diff --git a/scripts/bootstrap.ps1 b/scripts/bootstrap.ps1 index d2632e57b..3817fd691 100644 --- a/scripts/bootstrap.ps1 +++ b/scripts/bootstrap.ps1 @@ -412,6 +412,14 @@ if ($ec -ne 0) } Write-Host "`nBuilding vcpkg.exe... done.`n" +Write-Host @" +Telemetry +--------- +vcpkg collects usage data in order to help us improve your experience. The data collected by Microsoft is anonymous. You can opt-out of telemetry by re-running bootstrap-vcpkg.bat with -disableMetrics. +Read more about vcpkg telemetry at docs/about/privacy.md + +"@ + Write-Verbose "Placing vcpkg.exe in the correct location" Copy-Item "$vcpkgReleaseDir\vcpkg.exe" "$vcpkgRootDir\vcpkg.exe" diff --git a/scripts/bootstrap.sh b/scripts/bootstrap.sh index 55859d1f8..0af6b37ff 100644 --- a/scripts/bootstrap.sh +++ b/scripts/bootstrap.sh @@ -262,3 +262,9 @@ mkdir -p "$buildDir" rm -rf "$vcpkgRootDir/vcpkg" cp "$buildDir/vcpkg" "$vcpkgRootDir/" + +echo "Telemetry" +echo "---------" +echo "vcpkg collects usage data in order to help us improve your experience. The data collected by Microsoft is anonymous. You can opt-out of telemetry by re-running bootstrap-vcpkg.sh with -disableMetrics" +echo "Read more about vcpkg telemetry at docs/about/privacy.md" +echo ""
\ No newline at end of file diff --git a/scripts/buildsystems/vcpkg.cmake b/scripts/buildsystems/vcpkg.cmake index ed9bcbc69..e549f3fa1 100644 --- a/scripts/buildsystems/vcpkg.cmake +++ b/scripts/buildsystems/vcpkg.cmake @@ -1,6 +1,10 @@ # Mark variables as used so cmake doesn't complain about them mark_as_advanced(CMAKE_TOOLCHAIN_FILE) +# VCPKG toolchain options. +option(VCPKG_VERBOSE "Enables messages from the VCPKG toolchain for debugging purposes." OFF) +mark_as_advanced(VCPKG_VERBOSE) + # Determine whether the toolchain is loaded during a try-compile configuration get_property(_CMAKE_IN_TRY_COMPILE GLOBAL PROPERTY IN_TRY_COMPILE) @@ -22,6 +26,24 @@ if(VCPKG_TOOLCHAIN) return() endif() +if(DEFINED CMAKE_CONFIGURATION_TYPES) #Generating with a multi config generator + #If CMake does not have a mapping for MinSizeRel and RelWithDebInfo in imported targets + #it will map those configuration to the first valid configuration in CMAKE_CONFIGURATION_TYPES. + #By default this is the debug configuration which is wrong. + if(NOT DEFINED CMAKE_MAP_IMPORTED_CONFIG_MINSIZEREL) + set(CMAKE_MAP_IMPORTED_CONFIG_MINSIZEREL "MinSizeRel;Release;") + if(VCPKG_VERBOSE) + message(STATUS "VCPKG-Info: CMAKE_MAP_IMPORTED_CONFIG_MINSIZEREL set to MinSizeRel;Release;") + endif() + endif() + if(NOT DEFINED CMAKE_MAP_IMPORTED_CONFIG_RELWITHDEBINFO) + set(CMAKE_MAP_IMPORTED_CONFIG_RELWITHDEBINFO "RelWithDebInfo;Release;") + if(VCPKG_VERBOSE) + message(STATUS "VCPKG-Info: CMAKE_MAP_IMPORTED_CONFIG_RELWITHDEBINFO set to RelWithDebInfo;Release;") + endif() + endif() +endif() + if(VCPKG_TARGET_TRIPLET) elseif(CMAKE_GENERATOR_PLATFORM MATCHES "^[Ww][Ii][Nn]32$") set(_VCPKG_TARGET_TRIPLET_ARCH x86) @@ -283,7 +305,7 @@ if(NOT _CMAKE_IN_TRY_COMPILE) "set(_VCPKG_ROOT_DIR \"${_root_dir}\" CACHE STRING \"\")\n" ) else() - set(CMAKE_TRY_COMPILE_PLATFORM_VARIABLES + list(APPEND CMAKE_TRY_COMPILE_PLATFORM_VARIABLES VCPKG_TARGET_TRIPLET VCPKG_APPLOCAL_DEPS VCPKG_CHAINLOAD_TOOLCHAIN_FILE diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt new file mode 100644 index 000000000..64969ecb5 --- /dev/null +++ b/scripts/ci.baseline.txt @@ -0,0 +1,1831 @@ +###########################################################################
+## This file defines the current expected build state of ports in CI.
+##
+## States
+## pass - (default) the port builds in the CI system. If a port is
+## missing from this file then it is assumed to build.
+## fail - the port does not build in the CI system.
+## This is not necessarily the same as if a port is expected to build
+## on a developers machine because it may fail due to the machine
+## configuration. When set to fail the CI system will still attempt
+## to build the port and will report a CI failure until this file is updated.
+## skip - Do not build this port in the CI system.
+## This is added to ports that may be flaky or conflict with other
+## ports. Please comment for why a port is skipped so it can be
+## removed when the issue is resolved.
+## ignore - attempt to build the port, but do not fail the CI test if the
+## port does not build. Any ignored build failures will be reported
+## in the test summary.
+##
+##
+## CI tested triplets:
+## arm64-windows
+## arm-uwp
+## x64-linux
+## x64-osx
+## x64-uwp
+## x64-windows
+## x64-windows-static
+## x86-windows
+##
+
+
+# Add new items alphabetically
+
+3fd:arm64-windows=fail
+3fd:arm-uwp=fail
+3fd:x64-linux=fail
+3fd:x64-osx=fail
+3fd:x64-windows=fail
+3fd:x64-windows-static=fail
+3fd:x86-windows=ignore
+7zip:arm64-windows=fail
+7zip:arm-uwp=fail
+7zip:x64-linux=fail
+7zip:x64-osx=fail
+7zip:x64-uwp=fail
+abseil:arm-uwp=fail
+abseil:x64-uwp=fail
+ace:arm64-windows=fail
+ace:arm-uwp=fail
+ace:x64-osx=fail
+ace:x64-uwp=fail
+activemq-cpp:x64-windows-static=fail
+akali:x64-uwp=fail
+akali:arm-uwp=fail
+akali:arm64-windows=fail
+akali:x64-osx=fail
+alac:arm-uwp=fail
+alac:x64-uwp=fail
+alembic:x64-linux=fail
+alembic:x64-osx=fail
+alembic:x64-windows-static=fail
+ampl-mp:arm64-windows=fail
+ampl-mp:arm-uwp=fail
+ampl-mp:x64-uwp=fail
+angelscript:arm64-windows=fail
+angelscript:arm-uwp=fail
+
+# Conflicts with qt5-base and ms-angle
+angle:arm64-windows = skip
+angle:arm-uwp = skip
+angle:x64-uwp = skip
+angle:x64-windows = skip
+angle:x64-windows-static = skip
+angle:x86-windows = skip
+antlr4:arm64-windows=fail
+antlr4:arm-uwp=fail
+antlr4:x64-uwp=fail
+anyrpc:arm-uwp=ignore
+anyrpg:x64-uwp=ignore
+anyrpc:x64-windows-static=ignore
+apr:arm64-windows=fail
+apr:arm-uwp=fail
+apr:x64-linux=fail
+apr:x64-osx=fail
+apr:x64-uwp=fail
+argtable2:arm-uwp=fail
+argtable2:x64-uwp=fail
+arrow:arm64-windows=fail
+arrow:x64-linux=fail
+arrow:x86-windows=fail
+asmjit:arm64-windows=fail
+asmjit:arm-uwp=fail
+asmjit:x64-uwp=fail
+asyncplusplus:arm-uwp=fail
+asyncplusplus:x64-uwp=fail
+atk:x64-osx=fail
+atkmm:x64-linux=fail
+atlmfc:x64-linux=fail
+atlmfc:x64-osx=fail
+aubio:x64-linux=fail
+aubio:x64-osx=fail
+avro-c:arm-uwp=fail
+avro-c:x64-linux=fail
+avro-c:x64-osx=fail
+avro-c:x64-uwp=fail
+aws-c-common:arm64-windows=fail
+aws-c-common:arm-uwp=fail
+aws-c-common:x64-uwp=fail
+aws-checksums:arm64-windows=fail
+aws-lambda-cpp:arm64-windows=fail
+aws-lambda-cpp:arm-uwp=fail
+aws-lambda-cpp:x64-uwp=fail
+aws-lambda-cpp:x64-windows=fail
+aws-lambda-cpp:x64-windows-static=fail
+aws-lambda-cpp:x86-windows=fail
+aws-sdk-cpp:x64-linux=ignore
+azure-c-shared-utility:arm-uwp=fail
+azure-c-shared-utility:x64-uwp=fail
+basisu:x64-linux=ignore
+bde:arm64-windows=fail
+bde:arm-uwp=fail
+bde:x64-uwp=fail
+bde:x64-windows=fail
+bde:x64-windows-static=fail
+bde:x86-windows=fail
+benchmark:arm64-windows=fail
+benchmark:arm-uwp=fail
+benchmark:x64-uwp=fail
+berkeleydb:arm64-windows=fail
+berkeleydb:arm-uwp=fail
+berkeleydb:x64-linux=fail
+berkeleydb:x64-osx=fail
+berkeleydb:x64-uwp=fail
+blaze:x64-windows=fail
+blaze:x64-windows-static=fail
+blaze:x86-windows=fail
+blend2d:arm64-windows=fail
+blend2d:arm-uwp=fail
+blend2d:x64-uwp=fail
+blosc:arm64-windows=fail
+blosc:arm-uwp=fail
+blosc:x64-uwp=fail
+bond:arm-uwp=fail
+bond:x64-osx=fail
+bond:x64-uwp=fail
+boost-context:arm64-windows=fail
+boost-context:arm-uwp=fail
+boost-context:x64-uwp=fail
+boost-coroutine:arm-uwp=fail
+boost-coroutine:x64-uwp=fail
+boost-fiber:arm-uwp=fail
+boost-fiber:x64-osx=fail
+boost-fiber:x64-uwp=fail
+boost-fiber:x64-linux=ignore
+boost-filesystem:arm-uwp=fail
+boost-filesystem:x64-uwp=fail
+boost-iostreams:arm-uwp=fail
+boost-iostreams:x64-uwp=fail
+boost-locale:arm-uwp=fail
+boost-locale:x64-uwp=fail
+boost-log:arm-uwp=fail
+boost-log:x64-uwp=fail
+boost-python:x64-linux=ignore
+boost-mpi:x64-linux=fail
+boost-mpi:x64-osx=fail
+boost-stacktrace:arm-uwp=fail
+boost-stacktrace:x64-uwp=fail
+boost-test:arm-uwp=fail
+boost-test:x64-uwp=fail
+boost-wave:arm-uwp=fail
+boost-wave:x64-uwp=fail
+botan:arm64-windows=fail
+botan:arm-uwp=fail
+botan:x64-uwp=fail
+box2d:x64-uwp=fail
+box2d:arm-uwp=fail
+breakpad:arm64-windows=fail
+breakpad:x64-osx=fail
+brotli:arm-uwp=fail
+brotli:x64-uwp=fail
+bullet3:arm64-windows=fail
+bullet3:arm-uwp=fail
+bullet3:x64-uwp=fail
+butteraugli:x64-linux=ignore
+caf:arm-uwp=fail
+caf:arm64-windows=fail
+caf:x64-uwp=fail
+caf:x64-linux=ignore
+caffe2:x86-windows=fail
+cairomm:x64-linux=fail
+capnproto:arm64-windows=fail
+capnproto:arm-uwp=fail
+capnproto:x64-uwp=fail
+c-ares:arm-uwp=fail
+c-ares:x64-uwp=fail
+cartographer:x64-osx=fail
+casclib:arm-uwp=fail
+casclib:x64-uwp=fail
+catch-classic:arm64-windows = skip
+catch-classic:arm-uwp = skip
+catch-classic:x64-linux = skip
+catch-classic:x64-osx = skip
+catch-classic:x64-uwp = skip
+catch-classic:x64-windows = skip
+catch-classic:x64-windows-static = skip
+catch-classic:x86-windows = skip
+ccd:arm-uwp=fail
+ccd:x64-uwp=fail
+cello:arm-uwp=fail
+cello:x64-uwp=fail
+cfitsio:arm-uwp=fail
+cfitsio:x64-uwp=fail
+cgicc:arm-uwp=fail
+cgicc:x64-uwp=fail
+chakracore:arm64-windows=fail
+chakracore:arm-uwp=fail
+chakracore:x64-linux=fail
+chakracore:x64-osx=fail
+chakracore:x64-uwp=fail
+chakracore:x64-windows-static=fail
+chartdir:arm64-windows=fail
+chartdir:arm-uwp=fail
+chartdir:x64-uwp=fail
+chartdir:x64-windows-static=fail
+chipmunk:arm64-windows=fail
+chipmunk:arm-uwp=fail
+chipmunk:x64-linux=fail
+chipmunk:x64-osx=fail
+chipmunk:x64-uwp=fail
+chmlib:arm-uwp=fail
+chmlib:x64-uwp=fail
+civetweb:arm64-windows = skip
+civetweb:arm-uwp = skip
+civetweb:x64-linux = skip
+civetweb:x64-osx = skip
+civetweb:x64-uwp = skip
+civetweb:x64-windows = skip
+civetweb:x64-windows-static = skip
+civetweb:x86-windows = skip
+clapack:x64-uwp=fail
+clblast:x64-osx=ignore
+clblast:x64-linux=fail
+clblast:x64-windows-static=fail
+clockutils:x64-linux=fail
+clockutils:x64-osx=fail
+cmark:x64-windows-static=fail
+cmcstl2:arm64-windows = skip
+cmcstl2:arm-uwp = skip
+cmcstl2:x64-linux = skip
+cmcstl2:x64-osx = skip
+cmcstl2:x64-uwp = skip
+cmcstl2:x64-windows = skip
+cmcstl2:x64-windows-static = skip
+cmcstl2:x86-windows = skip
+collada-dom:x64-osx=fail
+collada-dom:x64-windows-static=fail
+coolprop:arm-uwp=fail
+coolprop:x64-linux=fail
+coolprop:x64-osx=fail
+coolprop:x64-uwp=fail
+coroutine:arm-uwp=fail
+coroutine:x64-linux=fail
+coroutine:x64-uwp=fail
+coroutine:x86-windows=fail
+corrade:arm64-windows=fail
+corrade:arm-uwp=fail
+corrade:x64-uwp=fail
+cppcms:x64-linux=fail
+cppcms:x64-osx=fail
+cppcms:x64-windows-static=fail
+cppfs:arm-uwp=fail
+cppfs:x64-uwp=fail
+cppgraphqlgen:arm-uwp=fail
+cppgraphqlgen:x64-uwp=ignore
+cppkafka:x64-linux=ignore
+cppmicroservices:x86-windows=fail
+cppmicroservices:x64-windows=fail
+cppmicroservices:arm64-windows=fail
+cppmicroservices:arm-uwp=fail
+cppmicroservices:x64-uwp=fail
+cpp-netlib:arm-uwp=fail
+cpp-netlib:x64-uwp=fail
+cpp-netlib:x64-linux=ignore
+cpprestsdk:arm-uwp=fail
+cpprestsdk:x64-uwp=fail
+cpp-taskflow:x64-osx=fail
+cppunit:arm64-windows=fail
+cppunit:arm-uwp=fail
+cppunit:x64-linux=fail
+cppunit:x64-osx=fail
+cppunit:x64-uwp=fail
+cpr:x64-linux=ignore
+cpuinfo:arm64-windows=ignore
+crfsuite:arm-uwp=fail
+crfsuite:x64-uwp=fail
+crossguid:x64-osx=fail
+cryptopp:arm64-windows=fail
+cryptopp:arm-uwp=fail
+cspice:arm-uwp=fail
+cspice:x64-uwp=fail
+ctemplate:arm64-windows=fail
+ctemplate:arm-uwp=fail
+ctemplate:x64-linux=fail
+ctemplate:x64-osx=fail
+cuda:x64-linux=fail
+cuda:x64-osx=fail
+cudnn:arm64-windows=fail
+cudnn:arm-uwp=fail
+cudnn:x64-uwp=fail
+cudnn:x64-windows-static=fail
+cudnn:x86-windows=fail
+cutelyst2:x64-osx=fail
+darknet:arm-uwp=fail
+darknet:x64-uwp=fail
+date:arm64-windows=fail
+dbow2:x64-osx=fail
+dcmtk:arm64-windows=fail
+dcmtk:arm-uwp=fail
+dcmtk:x64-uwp=fail
+detours:x64-linux=fail
+detours:x64-osx=fail
+devicenameresolver:arm-uwp=fail
+devicenameresolver:x64-linux=fail
+devicenameresolver:x64-osx=fail
+devicenameresolver:x64-uwp=fail
+devicenameresolver:x64-windows-static=fail
+dimcli:arm-uwp=fail
+dimcli:x64-osx=fail
+dimcli:x64-uwp=fail
+directxmesh:x64-linux=fail
+directxmesh:x64-osx=fail
+directxmesh:x64-windows-static=fail
+directxtex:x64-linux=fail
+directxtex:x64-osx=fail
+directxtex:x64-windows-static=fail
+directxtk:x64-linux=fail
+directxtk:x64-osx=fail
+directxtk:x64-windows-static=fail
+directxtk12:x64-linux=fail
+directxtk12:x64-osx=fail
+directxtk12:x64-windows-static=fail
+discord-rpc:arm-uwp=fail
+discord-rpc:x64-uwp=fail
+dlfcn-win32:arm-uwp=fail
+dlfcn-win32:x64-linux=fail
+dlfcn-win32:x64-osx=fail
+dlfcn-win32:x64-uwp=fail
+dmlc:arm-uwp=fail
+dmlc:x64-uwp=fail
+dmlc:x64-windows-static=ignore
+dmlc:x86-windows=ignore
+dpdk:arm64-windows=fail
+dpdk:arm-uwp=fail
+dpdk:x64-osx=fail
+dpdk:x64-uwp=fail
+dpdk:x64-windows=fail
+dpdk:x64-windows-static=fail
+dpdk:x86-windows=fail
+duckx:arm64-windows = skip
+duckx:arm-uwp = skip
+duckx:x64-linux = skip
+duckx:x64-osx = skip
+duckx:x64-uwp = skip
+duckx:x64-windows = skip
+duckx:x64-windows-static = skip
+duckx:x86-windows = skip
+duilib:arm-uwp=fail
+duilib:x64-linux=fail
+duilib:x64-osx=fail
+duilib:x64-uwp=fail
+dxut:arm64-windows=fail
+dxut:arm-uwp=fail
+dxut:x64-linux=fail
+dxut:x64-osx=fail
+dxut:x64-windows-static=fail
+eastl:arm64-windows=fail
+eastl:arm-uwp=fail
+easyhook:arm64-windows=fail
+easyhook:arm-uwp=fail
+easyhook:x64-linux=fail
+easyhook:x64-osx=fail
+easyhook:x64-uwp=fail
+easyhook:x64-windows-static=fail
+easyloggingpp:arm-uwp=fail
+easyloggingpp:x64-uwp=fail
+ebml:arm-uwp=fail
+ebml:x64-uwp=fail
+ecm:arm64-windows = skip
+ecm:arm-uwp = skip
+ecm:x64-linux = skip
+ecm:x64-osx = skip
+ecm:x64-uwp = skip
+ecm:x64-windows = skip
+ecm:x64-windows-static = skip
+ecm:x86-windows = skip
+ecsutil:arm64-windows=fail
+ecsutil:arm-uwp=fail
+ecsutil:x64-linux=fail
+ecsutil:x64-osx=fail
+ecsutil:x64-uwp=fail
+embree2:x64-linux=fail
+embree2:x64-osx=fail
+embree2:x64-windows-static=fail
+embree3:x64-osx=fail
+enet:arm-uwp=fail
+enet:x64-uwp=fail
+epsilon:arm-uwp=fail
+epsilon:x64-linux=fail
+epsilon:x64-osx=fail
+epsilon:x64-uwp=fail
+evpp:x64-osx=fail
+expat:arm-uwp=fail
+expat:x64-uwp=fail
+faad2:x64-linux=fail
+faad2:x64-osx=fail
+fann:arm-uwp=fail
+fann:x64-linux=fail
+fann:x64-osx=fail
+fann:x64-uwp=fail
+fann:x64-windows-static=fail
+fastcdr:x64-linux=fail
+fastrtps:arm-uwp=fail
+fastrtps:x64-linux=fail
+fastrtps:x64-osx=fail
+fastrtps:x64-uwp=fail
+fastrtps:x64-windows-static=fail
+fdk-aac:arm64-windows=fail
+fdk-aac:arm-uwp=fail
+fdk-aac:x64-uwp=fail
+fdlibm:arm-uwp=fail
+fdlibm:x64-uwp=fail
+fftw3:arm-uwp=fail
+fftw3:x64-uwp=fail
+field3d:x64-windows=fail
+field3d:x64-windows-static=fail
+field3d:x86-windows=fail
+fizz:x64-windows=fail
+fizz:x64-windows-static=fail
+flint:x64-linux=fail
+flint:x64-osx=fail
+fltk:arm-uwp=fail
+fltk:x64-linux=fail
+fltk:x64-osx=fail
+fltk:x64-uwp=fail
+fluidsynth:x64-linux=fail
+fluidsynth:x64-osx=fail
+fmem:arm-uwp=fail
+fmem:x64-uwp=fail
+fmi4cpp:arm-uwp=fail
+fmi4cpp:x64-uwp=fail
+fmilib:arm64-windows=fail
+fmilib:arm-uwp=fail
+fmilib:x64-linux=ignore
+fmilib:x64-uwp=fail
+fmilib:x64-windows=ignore
+fmilib:x64-windows-static=ignore
+fmilib:x86-windows=ignore
+# Folly fails due to a compiler bug in MSVC 19.22.27905, fixed in newer releases
+folly:x86-windows=fail
+folly:x64-windows=fail
+folly:x64-windows-static=fail
+foonathan-memory:arm64-windows=fail
+foonathan-memory:arm-uwp=fail
+foonathan-memory:x64-uwp=fail
+forge:x86-windows=fail
+freeglut:arm64-windows=fail
+freeglut:arm-uwp=fail
+freeglut:x64-uwp=fail
+freeglut:x64-osx=fail
+freeimage:x64-osx=fail
+freerdp:arm64-windows=fail
+freerdp:arm-uwp=fail
+freerdp:x64-osx=fail
+freerdp:x64-uwp=fail
+freetds:arm64-windows=fail
+freetds:arm-uwp=fail
+freetds:x64-linux=fail
+freetds:x64-osx=fail
+freetds:x64-uwp=fail
+freetype-gl:x64-uwp=fail
+freexl:arm-uwp=fail
+freexl:arm64-windows=ignore
+freexl:x64-uwp=fail
+freexl:x86-windows=ignore
+freexl:x64-windows=ignore
+freexl:x64-windows-static=ignore
+fribidi:arm64-windows=fail
+fribidi:arm-uwp=fail
+fribidi:x64-linux=fail
+fribidi:x64-osx=fail
+fribidi:x64-uwp=fail
+ftgl:x64-linux=fail
+ftgl:x64-osx=fail
+ftgl:x64-uwp=fail
+fuzzylite:arm-uwp=fail
+fuzzylite:x64-linux=fail
+fuzzylite:x64-osx=fail
+fuzzylite:x64-uwp=fail
+g3log:arm64-windows=fail
+g3log:arm-uwp=fail
+g3log:x64-uwp=fail
+gainput:arm-uwp=fail
+gainput:x64-linux=fail
+gainput:x64-uwp=fail
+gainput:x64-windows-static=fail
+gamma:x64-linux=fail
+gamma:x64-osx=fail
+gdcm:arm64-windows=fail
+gdcm:x64-linux = skip
+geographiclib:x64-linux=ignore
+geos:arm-uwp=fail
+geos:x64-uwp=fail
+getopt:arm-uwp=fail
+getopt:x64-uwp=fail
+getopt-win32:arm64-windows=fail
+getopt-win32:arm-uwp=fail
+getopt-win32:x64-linux=fail
+getopt-win32:x64-osx=fail
+getopt-win32:x64-uwp=fail
+getopt-win32:x64-windows-static=fail
+gflags:arm-uwp=fail
+gflags:x64-uwp=fail
+
+# Conflicts with libevent
+gherkin-c:arm64-windows = skip
+gherkin-c:arm-uwp = skip
+gherkin-c:x64-linux=fail
+gherkin-c:x64-osx=fail
+gherkin-c:x64-uwp = skip
+gherkin-c:x64-windows = skip
+gherkin-c:x64-windows-static = skip
+gherkin-c:x86-windows = skip
+gl3w:arm64-windows=fail
+gl3w:arm-uwp=fail
+glew:arm64-windows=fail
+glew:arm-uwp=fail
+glfw3:arm64-windows=fail
+glfw3:arm-uwp=fail
+glfw3:x64-uwp=fail
+glib:x64-uwp=fail
+glib:x64-windows-static=fail
+glib:x64-osx=fail
+globjects:x64-linux=ignore
+gmmlib:arm64-windows=fail
+gmmlib:arm-uwp=fail
+gmmlib:x64-osx=fail
+gmmlib:x64-uwp=fail
+gmmlib:x64-windows=fail
+gmmlib:x64-windows-static=fail
+gmmlib:x86-windows=fail
+googleapis:arm64-windows=fail
+googleapis:arm-uwp=fail
+googleapis:x64-uwp=fail
+google-cloud-cpp:x64-linux=ignore
+google-cloud-cpp-spanner:x86-windows=fail
+gppanel:x64-osx=fail
+graphicsmagick:arm64-windows=fail
+graphicsmagick:arm-uwp=fail
+graphicsmagick:x64-uwp=fail
+graphite2:arm-uwp=fail
+graphite2:x64-uwp=fail
+graphqlparser:arm-uwp=fail
+graphqlparser:x64-uwp=fail
+grpc:arm-uwp=fail
+grpc:x64-uwp=fail
+gsl:arm-uwp=fail
+gsl:x64-uwp=fail
+gsoap:arm-uwp=ignore
+gsoap:x64-linux=fail
+gsoap:x64-osx=fail
+gsoap:x86-windows=ignore
+gtk:x64-linux=fail
+gtk:x86-windows=ignore
+gts:x64-linux=fail
+gts:x64-osx=fail
+guetzli:x64-osx=fail
+halide:x64-windows-static=fail
+hdf5:arm64-windows=fail
+hdf5:arm-uwp=fail
+hdf5:x64-uwp=fail
+hidapi:arm64-windows=fail
+hidapi:arm-uwp=fail
+hidapi:x64-linux=fail
+hidapi:x64-osx=fail
+hidapi:x64-uwp=fail
+hiredis:arm-uwp=fail
+hiredis:x64-uwp=fail
+hpx:x64-windows-static=fail
+hunspell:x64-linux=fail
+hunspell:x64-osx=fail
+hwloc:arm64-windows=fail
+hwloc:arm-uwp=fail
+hwloc:x64-linux=fail
+hwloc:x64-osx=fail
+hwloc:x64-uwp=fail
+hyperscan:x64-linux=ignore
+hypre:x64-linux=fail
+hypre:x64-osx=fail
+icu:arm64-windows=fail
+icu:arm-uwp=fail
+icu:x64-uwp=fail
+ignition-msgs1:arm64-windows=fail
+ignition-msgs1:arm-uwp=fail
+ignition-msgs1:x64-uwp=fail
+imgui:arm-uwp=fail
+imgui:x64-uwp=fail
+imgui-sfml:x64-linux=ignore
+intel-ipsec:arm64-windows=fail
+intel-ipsec:arm-uwp=fail
+intel-ipsec:x64-osx=fail
+intel-ipsec:x64-uwp=fail
+intel-ipsec:x64-windows=fail
+intel-ipsec:x64-windows-static=fail
+intel-ipsec:x86-windows=fail
+intel-mkl:arm64-windows=fail
+intel-mkl:arm-uwp=fail
+intel-mkl:x64-linux=fail
+intel-mkl:x64-osx=fail
+intel-mkl:x64-uwp=fail
+intel-mkl:x64-windows=fail
+intel-mkl:x64-windows-static=fail
+intel-mkl:x86-windows=fail
+intelrdfpmathlib:arm-uwp=fail
+intelrdfpmathlib:x64-linux=fail
+intelrdfpmathlib:x64-uwp=fail
+io2d:x64-linux=fail
+irrlicht:arm64-windows=fail
+irrlicht:arm-uwp=fail
+irrlicht:x64-osx=fail
+irrlicht:x64-uwp=fail
+isal:arm64-windows=fail
+isal:arm-uwp=fail
+isal:x64-osx=fail
+isal:x64-uwp=fail
+isal:x64-windows=fail
+isal:x64-windows-static=fail
+isal:x86-windows=fail
+itk:x64-windows=fail
+itk:x64-windows-static=fail
+itk:x86-windows=fail
+ixwebsocket:x64-linux=ignore
+jack2:arm-uwp=fail
+jack2:x64-uwp=fail
+jbig2dec:arm-uwp=fail
+jbig2dec:x64-uwp=fail
+jemalloc:arm64-windows=fail
+jemalloc:arm-uwp=fail
+jemalloc:x64-linux=fail
+jemalloc:x64-osx=fail
+jemalloc:x64-uwp=fail
+jemalloc:x64-windows-static=fail
+jinja2cpplight:arm-uwp=fail
+jinja2cpplight:x64-uwp=fail
+jsonnet:x64-osx=fail
+kd-soap:x64-linux=fail
+kd-soap:x64-osx=fail
+kd-soap:x64-windows-static=fail
+keystone:arm64-windows=fail
+keystone:arm-uwp=fail
+keystone:x64-uwp=fail
+kinectsdk1:arm64-windows=fail
+kinectsdk1:arm-uwp=fail
+kinectsdk1:x64-linux=fail
+kinectsdk1:x64-osx=fail
+kinectsdk2:arm64-windows=fail
+kinectsdk2:arm-uwp=fail
+kinectsdk2:x64-linux=fail
+kinectsdk2:x64-osx=fail
+lastools:arm-uwp=fail
+lastools:x64-uwp=fail
+laszip:arm-uwp=fail
+laszip:x64-uwp=fail
+lcm:x64-linux=fail
+lcm:x64-osx=fail
+leptonica:x64-uwp=fail
+leptonica:arm-uwp=fail
+leveldb:arm-uwp=fail
+leveldb:x64-uwp=fail
+libaiff:x64-linux=fail
+libarchive:arm64-windows=fail
+libarchive:arm-uwp=fail
+libarchive:x64-uwp=fail
+libass:x64-windows-static=fail
+libb2:x86-windows=fail
+libb2:x64-windows=fail
+libb2:x64-windows-static=fail
+libb2:x64-uwp=fail
+libb2:arm64-windows=fail
+libb2:arm-uwp=fail
+libb2:x64-osx=fail
+libbf:arm64-windows=fail
+libbf:arm-uwp=fail
+libbf:x64-uwp=fail
+libbf:x64-windows=fail
+libbf:x64-windows-static=fail
+libbf:x86-windows=fail
+libbson:arm-uwp=fail
+libbson:x64-uwp=fail
+libcds:arm64-windows=fail
+libcds:arm-uwp=fail
+libcds:x64-uwp=fail
+libconfig:x64-osx=fail
+libcopp:arm64-windows=fail
+libcopp:arm-uwp=fail
+libcopp:x64-windows-static=fail
+libdatrie:x64-linux=fail
+libdatrie:x64-osx=fail
+libdisasm:arm-uwp=fail
+libdisasm:x64-uwp=fail
+libdshowcapture:arm64-windows=fail
+libdshowcapture:arm-uwp=fail
+libdshowcapture:x64-linux=fail
+libdshowcapture:x64-osx=fail
+libdshowcapture:x64-uwp=fail
+libepoxy:arm64-windows=fail
+libepoxy:arm-uwp=fail
+libepoxy:x64-osx=fail
+libepoxy:x64-uwp=fail
+libepoxy:x64-windows-static=fail
+libevent:arm-uwp=fail
+libevent:x64-uwp=fail
+libevhtp:x86-windows=fail
+libevhtp:x64-windows=fail
+libevhtp:x64-windows-static=fail
+libevhtp:x64-uwp=fail
+libevhtp:arm64-windows=fail
+libevhtp:arm-uwp=fail
+libexif:arm-uwp=fail
+libexif:x64-uwp=fail
+libfabric:arm-uwp=fail
+libfabric:x64-linux=fail
+libfabric:x64-osx=fail
+libfabric:x64-uwp=fail
+libfabric:x64-windows=ignore
+libffi:arm64-windows=fail
+libffi:arm-uwp=fail
+libfreenect2:arm64-windows=fail
+libgd:x64-linux=ignore
+libgit2:arm64-windows=fail
+libgit2:arm-uwp=fail
+libgit2:x64-uwp=fail
+libgo:x64-osx=fail
+libhydrogen:arm64-windows=fail
+libics:arm-uwp=fail
+libics:x64-uwp=fail
+libidn2:x64-linux=fail
+libidn2:x64-osx=fail
+libigl:arm64-windows=fail
+libigl:arm-uwp=fail
+libigl:x64-uwp=fail
+liblemon:arm-uwp=fail
+liblemon:x64-uwp=fail
+liblinear:arm-uwp=fail
+liblinear:x64-uwp=fail
+liblo:arm-uwp=fail
+liblo:x64-linux=fail
+liblo:x64-osx=fail
+liblo:x64-uwp=fail
+liblsl:arm64-windows=fail
+liblsl:arm-uwp=fail
+liblsl:x64-linux=fail
+liblsl:x64-osx=fail
+liblsl:x64-uwp=fail
+libmad:arm-uwp=fail
+libmad:x64-uwp=fail
+libmagic:x86-windows=fail
+libmagic:x64-windows=fail
+libmagic:x64-windows-static=fail
+libmagic:x64-uwp=fail
+libmagic:arm64-windows=fail
+libmagic:arm-uwp=fail
+libmariadb:arm64-windows = skip
+libmariadb:arm-uwp = skip
+libmariadb:x64-linux = skip
+libmariadb:x64-osx = skip
+libmariadb:x64-uwp = skip
+libmariadb:x64-windows = skip
+libmariadb:x64-windows-static = skip
+libmariadb:x86-windows = skip
+libmesh:arm64-windows=fail
+libmesh:arm-uwp=fail
+libmesh:x64-uwp=fail
+libmesh:x64-windows=fail
+libmesh:x64-windows-static=fail
+libmesh:x86-windows=fail
+libmicrohttpd:arm64-windows=fail
+libmicrohttpd:arm-uwp=fail
+libmicrohttpd:x64-linux=fail
+libmicrohttpd:x64-osx=fail
+libmicrohttpd:x64-uwp=fail
+libmodbus:arm-uwp=fail
+libmodbus:x64-uwp=fail
+libmodman:arm-uwp=fail
+libmodman:x64-uwp=fail
+libmodman:x64-windows-static=fail
+libmodplug:arm-uwp=fail
+libmodplug:x64-uwp=fail
+libmupdf:x64-linux=fail
+libmupdf:x64-osx=fail
+libmysql:x64-osx=fail
+libmysql:x86-windows=fail
+libnice:x64-linux=fail
+libnice:x64-osx=fail
+libodb-boost:x64-linux=ignore
+libodb-pgsql:x64-linux=ignore
+libodb-pgsql:x64-windows=ignore
+libopenmpt:x64-linux=fail
+libopenmpt:x64-osx=fail
+libopusenc:arm-uwp=fail
+libopusenc:x64-linux=fail
+libopusenc:x64-osx=fail
+libopusenc:x64-uwp=fail
+libosip2:arm64-windows=fail
+libosip2:arm-uwp=fail
+libosip2:x64-uwp=fail
+libosip2:x64-windows=fail
+libosip2:x64-windows-static=fail
+libosip2:x86-windows=fail
+libp7-baical:arm64-windows = skip
+libp7-baical:arm-uwp = skip
+libp7-baical:x64-linux = skip
+libp7-baical:x64-osx = skip
+libp7-baical:x64-uwp = skip
+libp7-baical:x64-windows = skip
+libp7-baical:x64-windows-static = skip
+libp7-baical:x86-windows = skip
+libp7client:arm64-windows=fail
+libp7client:arm-uwp=fail
+libp7client:x64-linux=fail
+libp7client:x64-osx=fail
+libp7client:x64-uwp=fail
+libpcap:arm64-windows=fail
+libpcap:arm-uwp=fail
+libpcap:x64-osx=fail
+libpcap:x64-uwp=fail
+libpcap:x64-windows=fail
+libpcap:x64-windows-static=fail
+libpcap:x86-windows=fail
+libpff:arm-uwp=fail
+libpff:x64-linux=fail
+libpff:x64-osx=fail
+libpff:x64-uwp=fail
+libpff:x64-windows-static=fail
+libplist:x64-windows-static=fail
+libpng-apng:arm64-windows = skip
+libpng-apng:arm-uwp = skip
+libpng-apng:x64-linux = skip
+libpng-apng:x64-osx = skip
+libpng-apng:x64-uwp = skip
+libpng-apng:x64-windows = skip
+libpng-apng:x64-windows-static = skip
+libpng-apng:x86-windows = skip
+libpq:arm-uwp=fail
+libpq:x64-uwp=fail
+librabbitmq:x64-linux=ignore
+libraqm:x64-windows-static=fail
+librdkafka:arm-uwp=fail
+librdkafka:x64-uwp=fail
+
+# Conflicts with openssl
+libressl:arm64-windows = skip
+libressl:arm-uwp = skip
+libressl:x64-linux = skip
+libressl:x64-osx = skip
+libressl:x64-uwp = skip
+libressl:x64-windows = skip
+libressl:x64-windows-static = skip
+libressl:x86-windows = skip
+librsync:arm-uwp=fail
+librsync:x64-uwp=fail
+libsamplerate:arm64-windows=fail
+libsamplerate:arm-uwp=fail
+libsamplerate:x64-osx=fail
+libsoundio:arm64-windows=fail
+libsoundio:arm-uwp=fail
+libsoundio:x64-uwp=fail
+libsrt:arm-uwp=fail
+libsrt:x64-uwp=fail
+libssh:arm64-windows=fail
+libssh:arm-uwp=fail
+libssh:x64-uwp=fail
+libstk:arm-uwp=fail
+libstk:x64-uwp=fail
+libtins:arm-uwp=fail
+libtins:x64-uwp=fail
+libtorrent:arm-uwp=fail
+libtorrent:x64-uwp=fail
+libudis86:arm-uwp=fail
+libudis86:x64-linux=fail
+libudis86:x64-osx=fail
+libudis86:x64-uwp=fail
+libudns:arm64-windows=fail
+libudns:arm-uwp=fail
+libudns:x64-uwp=fail
+libudns:x64-windows=fail
+libudns:x64-windows-static=fail
+libudns:x86-windows=fail
+libudns:x64-osx=fail
+libui:arm-uwp=fail
+libui:x64-linux=fail
+libui:x64-uwp=fail
+libusb:arm-uwp=fail
+libusb:x64-linux=fail
+libusb:x64-osx=fail
+libusb:x64-uwp=fail
+libusbmuxd:arm64-windows=fail
+libusbmuxd:arm-uwp=fail
+libusbmuxd:x64-uwp=fail
+libusbmuxd:x64-linux=fail
+libusbmuxd:x64-osx=fail
+libusb-win32:arm64-windows=fail
+libusb-win32:arm-uwp=fail
+libusb-win32:x64-linux=fail
+libusb-win32:x64-osx=fail
+libusb-win32:x64-uwp=fail
+libuuid:arm64-windows=fail
+libuuid:arm-uwp=fail
+
+# Causes build failures in vxl and podofo on osx
+# Conflicts with Darwin kernel sdk uuid.h (has missing definitions)
+libuuid:x64-osx = skip
+libuuid:x64-uwp=fail
+libuuid:x64-windows=fail
+libuuid:x64-windows-static=fail
+libuuid:x86-windows=fail
+libuv:arm64-windows=fail
+libuv:arm-uwp=fail
+libuv:x64-uwp=fail
+libvpx:arm64-windows=fail
+libvpx:arm-uwp=fail
+libvpx:x64-linux=fail
+libvpx:x64-osx=fail
+libwandio:x86-windows=fail
+libwandio:x64-windows=fail
+libwandio:x64-windows-static=fail
+libwandio:x64-uwp=fail
+libwandio:arm64-windows=fail
+libwandio:arm-uwp=fail
+libwebsockets:arm-uwp=fail
+libwebsockets:x64-uwp=fail
+libxmp-lite:x64-linux=fail
+libxmp-lite:x64-osx=fail
+libxslt:arm-uwp=fail
+libxslt:x64-osx=fail
+libxslt:x64-uwp=fail
+libyuv:arm-uwp=fail
+libyuv:x64-uwp=fail
+libzen:arm-uwp=fail
+libzen:x64-uwp=fail
+libzippp:x64-linux=ignore
+linenoise-ng:arm-uwp=fail
+linenoise-ng:x64-uwp=fail
+live555:arm64-windows=fail
+live555:arm-uwp=fail
+live555:x64-linux=fail
+live555:x64-osx=fail
+live555:x64-uwp=fail
+live555:x64-windows=fail
+live555:x64-windows-static=fail
+live555:x86-windows=fail
+llgl:arm-uwp=fail
+llgl:x64-uwp=fail
+llvm:arm64-windows=fail
+llvm:arm-uwp=fail
+llvm:x64-uwp=fail
+llvm:x64-linux=ignore
+# installing iconv makes building llvm fail; needs to be fixed
+llvm:x64-osx=ignore
+lmdb:arm64-windows=fail
+lmdb:arm-uwp=fail
+lmdb:x64-uwp=fail
+lodepng:x64-osx=fail
+log4cplus:arm-uwp=fail
+log4cplus:x64-uwp=fail
+log4cpp:arm-uwp=fail
+log4cpp:x64-uwp=fail
+lpeg:x64-linux=fail
+lpeg:x64-osx=fail
+lua:arm-uwp=fail
+lua:x64-uwp=fail
+luafilesystem:x64-linux=fail
+luafilesystem:x64-osx=fail
+luajit:arm64-windows = skip
+luajit:arm-uwp = skip
+luajit:x64-linux = skip
+luajit:x64-osx = skip
+luajit:x64-uwp = skip
+luajit:x64-windows = skip
+luajit:x64-windows-static = skip
+luajit:x86-windows = skip
+luasocket:x64-linux=fail
+luasocket:x64-osx=fail
+lzfse:arm-uwp=fail
+marl:arm-uwp=fail
+marl:x64-uwp=fail
+mathgl:x64-osx=fail
+mathgl:x64-uwp=fail
+mathgl:x64-linux=ignore
+matio:x64-linux=fail
+matio:x64-osx=fail
+mbedtls:arm-uwp=fail
+mbedtls:x64-uwp=fail
+mdnsresponder:arm64-windows=fail
+mdnsresponder:arm-uwp=fail
+mdnsresponder:x64-linux=fail
+mdnsresponder:x64-osx=fail
+mdnsresponder:x64-uwp=fail
+mecab:arm64-windows = skip
+mecab:arm-uwp = skip
+mecab:x64-linux = skip
+mecab:x64-uwp = skip
+mecab:x64-windows = skip
+mecab:x64-windows-static = skip
+mecab:x86-windows = skip
+meschach:arm-uwp=fail
+meschach:x64-linux=fail
+meschach:x64-osx=fail
+meschach:x64-uwp=fail
+metis:arm-uwp=fail
+metis:x64-uwp=fail
+mhook:arm64-windows=fail
+mhook:arm-uwp=fail
+mhook:x64-linux=fail
+mhook:x64-osx=fail
+mhook:x64-uwp=fail
+mhook:x64-windows=fail
+mhook:x64-windows-static=fail
+mhook:x86-windows=fail
+milerius-sfml-imgui:x64-osx=fail
+milerius-sfml-imgui:x64-windows-static=fail
+milerius-sfml-imgui:x64-linux=ignore
+minhook:arm64-windows=fail
+minhook:arm-uwp=fail
+minhook:x64-linux=fail
+minhook:x64-osx=fail
+minhook:x64-uwp=fail
+minifb:arm-uwp=fail
+minifb:x64-uwp=fail
+minisat-master-keying:arm-uwp=fail
+minisat-master-keying:x64-uwp=fail
+miniupnpc:arm-uwp=fail
+miniupnpc:x64-uwp=fail
+minizip:arm-uwp=fail
+minizip:x64-uwp=fail
+mlpack:x64-linux=ignore
+mman:x64-linux=fail
+mman:x64-osx=fail
+mmx:x64-windows=ignore
+mmx:x64-windows-static=ignore
+mmx:x86-windows=ignore
+mongo-c-driver:arm64-windows=fail
+mongo-c-driver:x64-osx=fail
+mongoose:arm-uwp=fail
+mongoose:x64-uwp=fail
+monkeys-audio:arm64-windows=fail
+monkeys-audio:arm-uwp=fail
+monkeys-audio:x64-linux=fail
+monkeys-audio:x64-osx=fail
+monkeys-audio:x64-uwp=fail
+monkeys-audio:x64-windows=fail
+monkeys-audio:x86-windows=fail
+moos-core:arm-uwp=fail
+moos-core:x64-uwp=fail
+moos-core:x64-windows=ignore
+moos-core:x64-windows-static=fail
+moos-core:x86-windows=ignore
+moos-essential:arm64-windows=fail
+moos-essential:x64-windows=fail
+moos-essential:x86-windows=fail
+moos-essential:x64-linux=ignore
+mosquitto:x64-windows-static=fail
+mozjpeg:arm64-windows = skip
+mozjpeg:arm-uwp = skip
+mozjpeg:x64-linux = skip
+mozjpeg:x64-osx = skip
+mozjpeg:x64-uwp = skip
+mozjpeg:x64-windows = skip
+mozjpeg:x64-windows-static = skip
+mozjpeg:x86-windows = skip
+mpg123:arm-uwp=fail
+mpg123:x64-uwp=fail
+mpir:arm64-windows=fail
+mpir:arm-uwp=fail
+mpir:x64-uwp=fail
+
+#Conflicts with angle and qt-5base
+ms-angle:arm64-windows = skip
+ms-angle:arm-uwp = skip
+ms-angle:x64-linux = fail
+ms-angle:x64-osx = fail
+ms-angle:x64-uwp = skip
+ms-angle:x64-windows = skip
+ms-angle:x64-windows-static = skip
+ms-angle:x86-windows = skip
+msix:x64-linux=fail
+msix:x64-osx=fail
+msix:x64-windows-static=fail
+msmpi:arm64-windows=fail
+msmpi:arm-uwp=fail
+msmpi:x64-linux=fail
+msmpi:x64-osx=fail
+msmpi:x64-uwp=fail
+muparser:arm-uwp=fail
+muparser:x64-uwp=fail
+nana:arm-uwp=fail
+nana:x64-linux=fail
+nana:x64-osx=fail
+nana:x64-uwp=fail
+nanodbc:arm-uwp=fail
+nanodbc:x64-linux=fail
+nanodbc:x64-osx=fail
+nanodbc:x64-uwp=fail
+nanorange:arm64-windows=fail
+nanorange:arm-uwp=fail
+nanorange:x64-linux=fail
+nanorange:x64-osx=fail
+nanorange:x64-uwp=fail
+nanorange:x64-windows=fail
+nanorange:x64-windows-static=fail
+nanorange:x86-windows=fail
+nanovg:arm-uwp=fail
+nanovg:arm64-windows=ignore
+nanovg:x64-uwp=fail
+nanovg:x64-linux=ignore
+nanovg:x64-windows=ignore
+nanovg:x64-windows-static=ignore
+nanovg:x86-windows=ignore
+nativefiledialog:arm-uwp=fail
+nativefiledialog:x64-uwp=fail
+netcdf-cxx4:x64-linux=ignore
+nethost:x64-uwp=fail
+nethost:arm-uwp=fail
+networkdirect-sdk:arm64-windows=fail
+networkdirect-sdk:arm-uwp=fail
+networkdirect-sdk:x64-linux=fail
+networkdirect-sdk:x64-osx=fail
+networkdirect-sdk:x64-uwp=fail
+networkdirect-sdk:x86-windows=fail
+nlopt:arm-uwp=fail
+nlopt:x64-uwp=fail
+nmslib:arm64-windows=fail
+nmslib:arm-uwp=fail
+nmslib:x64-uwp=fail
+nng:arm-uwp=fail
+nng:x64-uwp=fail
+nrf-ble-driver:arm-uwp=fail
+nrf-ble-driver:x64-uwp=fail
+nrf-ble-driver:x64-linux=ignore
+numactl:arm64-windows=fail
+numactl:arm-uwp=fail
+numactl:x64-osx=fail
+numactl:x64-uwp=fail
+numactl:x64-windows=fail
+numactl:x64-windows-static=fail
+numactl:x86-windows=fail
+nvtt:arm64-windows=fail
+nvtt:arm-uwp=fail
+nvtt:x64-uwp=fail
+octomap:arm-uwp=fail
+octomap:x64-uwp=fail
+ode:arm64-windows=fail
+ode:arm-uwp=fail
+ode:x64-uwp=fail
+ode:x64-linux=ignore
+offscale-libetcd-cpp:arm64-windows=fail
+offscale-libetcd-cpp:arm-uwp=fail
+offscale-libetcd-cpp:x64-uwp=fail
+ogdf:arm64-windows = skip
+ogdf:arm-uwp = skip
+ogdf:x64-osx=fail
+ogdf:x64-uwp = skip
+ogdf:x64-windows = skip
+ogdf:x64-windows-static = skip
+ogdf:x86-windows = skip
+# Conflicts with ogre
+ogre-next:arm64-windows = skip
+ogre-next:arm-uwp = skip
+ogre-next:x64-osx = skip
+ogre-next:x64-linux = skip
+ogre-next:x64-uwp = skip
+ogre-next:x64-windows = skip
+ogre-next:x64-windows-static = skip
+ogre-next:x86-windows = skip
+ois:arm64-windows=fail
+ois:arm-uwp=fail
+ois:x64-uwp=fail
+ompl:x64-osx=fail
+ompl:x64-linux=ignore
+open62541:arm-uwp=fail
+open62541:x64-uwp=fail
+open62541:x64-osx=fail
+openal-soft:arm-uwp=fail
+openal-soft:x64-uwp=fail
+openblas:arm64-windows=fail
+openblas:arm-uwp=fail
+opencensus-cpp:arm64-windows=fail
+opencensus-cpp:x64-windows=fail
+opencensus-cpp:x64-windows-static=fail
+opencensus-cpp:x86-windows=fail
+opencl:arm64-windows=fail
+opencl:arm-uwp=fail
+opencl:x64-uwp=fail
+opencolorio:x64-linux=ignore
+opencsg:x64-uwp=fail
+opencv3:arm64-windows = skip
+opencv3:arm-uwp = skip
+opencv3:x64-linux = skip
+opencv3:x64-osx = skip
+opencv3:x64-uwp = skip
+opencv3:x64-windows = skip
+opencv3:x64-windows-static = skip
+opencv3:x86-windows = skip
+opendnp3:x64-uwp=fail
+opendnp3:arm-uwp=fail
+openexr:arm64-windows=fail
+openexr:arm-uwp=fail
+openexr:x64-uwp=fail
+opengl:arm64-windows=fail
+opengl:arm-uwp=fail
+openimageio:x64-linux=ignore
+openmama:x64-windows=ignore
+openmama:x86-windows=ignore
+openmesh:arm64-windows=fail
+openmesh:arm-uwp=fail
+openmesh:x64-uwp=fail
+openmpi:arm64-windows=fail
+openmpi:arm-uwp=fail
+openmpi:x64-uwp=fail
+openmpi:x64-windows=fail
+openmpi:x64-windows-static=fail
+openmpi:x86-windows=fail
+openmvg:x64-linux=ignore
+openmvs:x64-linux=fail
+openni2:x64-uwp=fail
+openni2:x64-windows-static=fail
+openscap:x64-linux=fail
+openssl-unix:arm64-windows=fail
+openssl-unix:arm-uwp=fail
+openssl-unix:x64-uwp=fail
+openssl-unix:x64-windows=fail
+openssl-unix:x64-windows-static=fail
+openssl-unix:x86-windows=fail
+openssl-uwp:arm64-windows=fail
+openssl-uwp:x64-linux=fail
+openssl-uwp:x64-osx=fail
+openssl-uwp:x64-windows=fail
+openssl-uwp:x64-windows-static=fail
+openssl-uwp:x86-windows=fail
+openssl-windows:arm-uwp=fail
+openssl-windows:x64-linux=fail
+openssl-windows:x64-osx=fail
+openssl-windows:x64-uwp=fail
+opentracing:arm-uwp=fail
+opentracing:x64-uwp=fail
+openvdb:x64-linux=ignore
+openvdb:x64-osx=fail
+openvdb:x64-windows-static=fail
+openvpn3:x64-osx=fail
+openvr:arm64-windows=fail
+openvr:arm-uwp=fail
+openvr:x64-linux=fail
+openvr:x64-osx=fail
+openvr:x64-uwp=fail
+openxr-loader:arm64-windows=fail
+openxr-loader:arm-uwp=fail
+openxr-loader:x64-osx=fail
+openxr-loader:x64-uwp=fail
+optional-bare:arm64-windows = skip
+optional-bare:arm-uwp = skip
+optional-bare:x64-linux = skip
+optional-bare:x64-osx = skip
+optional-bare:x64-uwp = skip
+optional-bare:x64-windows = skip
+optional-bare:x64-windows-static = skip
+optional-bare:x86-windows = skip
+opusfile:arm-uwp=fail
+opusfile:x64-uwp=fail
+orc:x64-linux=ignore
+orocos-kdl:arm-uwp=fail
+orocos-kdl:x64-uwp=fail
+osg:x64-linux=fail
+osg:x64-osx=fail
+osg:x64-windows-static=fail
+otl:x64-windows=ignore
+otl:x64-windows-static=ignore
+otl:x64-uwp=ignore
+otl:x64-linux=ignore
+otl:x86-windows=ignore
+paho-mqtt:arm-uwp=fail
+paho-mqtt:x64-uwp=fail
+pangolin:x64-linux=fail
+pangolin:x64-osx=fail
+pangolin:x64-uwp=fail
+pangolin:x64-windows-static=fail
+pangomm:x64-osx=fail
+pangomm:x64-windows=ignore
+pangomm:x86-windows=ignore
+parmetis:x64-linux=fail
+parmetis:x64-osx=fail
+pcre2:arm-uwp=fail
+pdal:x64-linux=fail
+pdal:x64-osx=fail
+pdal-c:x64-windows-static=fail
+pdcurses:arm-uwp=fail
+pdcurses:x64-linux=fail
+pdcurses:x64-osx=fail
+pdcurses:x64-uwp=fail
+pdcurses:x64-windows-static=fail
+pfring:arm64-windows=fail
+pfring:arm-uwp=fail
+pfring:x64-uwp=fail
+pfring:x64-windows=fail
+pfring:x64-windows-static=fail
+pfring:x86-windows=fail
+pfring:x64-osx=fail
+physfs:arm64-windows=fail
+physx:arm64-windows=fail
+physx:x64-linux=fail
+physx:x64-osx=fail
+piex:x64-osx=fail
+pistache:arm64-windows=fail
+pistache:arm-uwp=fail
+pistache:x64-osx=fail
+pistache:x64-uwp=fail
+pistache:x64-windows=fail
+pistache:x64-windows-static=fail
+pistache:x86-windows=fail
+pixel:x64-uwp=fail
+pixel:x64-windows=fail
+pixel:x64-windows-static=fail
+pixel:x86-windows=fail
+pixel:x64-linux=ignore
+platform-folders:arm-uwp=fail
+platform-folders:x64-uwp=fail
+plib:arm-uwp=fail
+plib:x64-osx=fail
+plib:x64-uwp=fail
+plibsys:arm-uwp=fail
+plibsys:x64-linux=fail
+plibsys:x64-osx=fail
+plibsys:x64-uwp=fail
+plplot:arm64-windows=fail
+plplot:arm-uwp=fail
+plplot:x64-uwp=fail
+pmdk:arm64-windows=fail
+pmdk:arm-uwp=fail
+pmdk:x64-linux=fail
+pmdk:x64-osx=fail
+pmdk:x64-uwp=fail
+pmdk:x64-windows-static=fail
+pmdk:x86-windows=fail
+pngwriter:arm-uwp=fail
+pngwriter:x64-uwp=fail
+pngwriter:x64-linux=ignore
+polyhook2:arm64-windows=fail
+polyhook2:arm-uwp=fail
+polyhook2:x64-linux=fail
+polyhook2:x64-uwp=fail
+polyhook2:x64-osx=fail
+portable-snippets:arm-uwp=fail
+portaudio:arm64-windows=fail
+portaudio:arm-uwp=fail
+portaudio:x64-uwp=fail
+portmidi:arm64-windows=fail
+portmidi:arm-uwp=fail
+portmidi:x64-linux=fail
+portmidi:x64-osx=fail
+portmidi:x64-uwp=fail
+ppconsul:arm-uwp=fail
+ppconsul:x64-uwp=fail
+ppconsul:x64-linux=ignore
+pqp:arm-uwp=fail
+pqp:x64-uwp=fail
+proj4:arm64-windows=fail
+proj4:arm-uwp=fail
+proj4:x64-uwp=fail
+protobuf-c:x86-windows=fail
+protobuf-c:x64-windows=fail
+protobuf-c:x64-windows-static=fail
+protobuf-c:x64-uwp=fail
+protobuf-c:arm64-windows=fail
+protobuf-c:arm-uwp=fail
+ptex:arm-uwp=fail
+ptex:x64-linux=fail
+ptex:x64-osx=fail
+ptex:x64-uwp=fail
+pthreads:arm64-windows=fail
+pthreads:arm-uwp=fail
+pthreads:x64-uwp=fail
+python2:arm64-windows=fail
+python2:arm-uwp=fail
+python2:x64-linux=fail
+python2:x64-osx=fail
+python2:x64-uwp=fail
+python3:arm64-windows=fail
+python3:arm-uwp=fail
+python3:x64-osx=fail
+python3:x64-uwp=fail
+qca:x64-linux=fail
+qca:x64-osx=fail
+qca:x64-windows-static=fail
+qcustomplot:x64-osx=fail
+qhull:arm-uwp=ignore
+qhull:x64-windows-static=ignore
+qhull:x64-uwp=ignore
+qpid-proton:arm-uwp=fail
+qpid-proton:x64-uwp=fail
+qpid-proton:x64-windows-static=fail
+qscintilla:x64-linux=fail
+qscintilla:x64-osx=fail
+qt5-activeqt:x64-linux=fail
+qt5-activeqt:x64-osx=fail
+qt5-macextras:x64-linux=fail
+qt5-macextras:x64-windows=fail
+qt5-macextras:x64-windows-static=fail
+qt5-macextras:x86-windows=fail
+qt5-winextras:x64-linux=fail
+qt5-winextras:x64-osx=fail
+quantlib:x64-osx=fail
+quickfast:x64-linux=ignore
+quickfix:x64-linux=ignore
+quickfix:x64-windows=ignore
+quickfix:x64-windows-static=ignore
+quickfix:x86-windows=ignore
+quickfix:x64-uwp=fail
+quickfix:arm-uwp=fail
+quirc:arm64-windows = skip
+quirc:arm-uwp = skip
+quirc:x64-linux = skip
+quirc:x64-osx = skip
+quirc:x64-uwp = skip
+quirc:x64-windows = skip
+quirc:x64-windows-static = skip
+quirc:x86-windows = skip
+qwt:x64-osx=ignore
+rabit:x64-osx=fail
+rabit:x64-linux=ignore
+ragel:arm-uwp=fail
+ragel:x64-uwp=fail
+range-v3-vs2015:arm64-windows = skip
+range-v3-vs2015:arm-uwp = skip
+range-v3-vs2015:x64-linux = skip
+range-v3-vs2015:x64-osx = skip
+range-v3-vs2015:x64-uwp = skip
+range-v3-vs2015:x64-windows = skip
+range-v3-vs2015:x64-windows-static = skip
+range-v3-vs2015:x86-windows = skip
+rapidstring:arm64-windows=fail
+rapidstring:arm-uwp=fail
+rapidstring:x64-linux=fail
+rapidstring:x64-uwp=fail
+rapidstring:x64-windows=fail
+rapidstring:x64-windows-static=fail
+rapidstring:x86-windows=fail
+raylib:arm64-windows=fail
+raylib:arm-uwp=fail
+raylib:x64-uwp=fail
+readline:arm-uwp=fail
+readline:x64-uwp=fail
+readline-win32:arm64-windows=fail
+readline-win32:arm-uwp=fail
+readline-win32:x64-linux=fail
+readline-win32:x64-osx=fail
+readline-win32:x64-uwp=fail
+readosm:x64-linux=fail
+readosm:x64-osx=fail
+realsense2:arm64-windows=fail
+realsense2:arm-uwp=fail
+realsense2:x64-linux=fail
+realsense2:x64-uwp=fail
+redis-plus-plus:x86-windows=fail
+redis-plus-plus:x64-windows=fail
+redis-plus-plus:x64-windows-static=fail
+redis-plus-plus:arm64-windows=fail
+reproc:arm-uwp=fail
+reproc:x64-uwp=fail
+restbed:arm-uwp=fail
+restbed:x64-uwp=fail
+rhash:arm64-windows=fail
+rhash:arm-uwp=fail
+rhash:x64-uwp=fail
+rocksdb:arm-uwp=fail
+rocksdb:x64-uwp=fail
+rocksdb:x64-linux=ignore
+rpclib:arm64-windows=fail
+rpclib:arm-uwp=fail
+rpclib:x64-uwp=fail
+rpclib:x64-windows=ignore
+rpclib:x86-windows=ignore
+rpclib:x64-windows-static=ignore
+rttr:arm-uwp=fail
+rttr:x64-uwp=fail
+scintilla:arm64-windows=fail
+scintilla:arm-uwp=fail
+scintilla:x64-linux=fail
+scintilla:x64-osx=fail
+scintilla:x64-uwp=fail
+scintilla:x64-windows-static=fail
+sciter:arm64-windows=fail
+sciter:arm-uwp=fail
+sciter:x64-uwp=fail
+sciter:x64-windows-static=fail
+scnlib:arm-uwp=fail
+scnlib:x64-uwp=fail
+scnlib:x86-windows=fail
+scylla-wrapper:arm64-windows=fail
+scylla-wrapper:arm-uwp=fail
+scylla-wrapper:x64-linux=fail
+scylla-wrapper:x64-osx=fail
+scylla-wrapper:x64-uwp=fail
+scylla-wrapper:x64-windows-static=fail
+sdformat6:arm64-windows=fail
+sdformat6:arm-uwp=fail
+sdformat6:x64-uwp=fail
+sdformat6:x64-linux=ignore
+sdl1:arm-uwp=fail
+sdl1:x64-uwp=fail
+sdl1:x64-osx=fail
+sdl2-gfx:arm64-windows=fail
+sdl2-gfx:x64-linux=fail
+sdl2-gfx:x64-osx=fail
+sdl2-image:arm-uwp=fail
+sdl2-image:x64-uwp=fail
+sdl2-mixer:arm-uwp=fail
+sdl2-mixer:x64-uwp=fail
+sdl2-net:arm-uwp=fail
+sdl2-net:x64-uwp=fail
+secp256k1:x64-linux=fail
+secp256k1:x64-osx=fail
+selene:x64-linux=ignore
+sentencepiece:arm64-windows=fail
+sentencepiece:arm-uwp=fail
+sentencepiece:x64-uwp=fail
+sentencepiece:x64-windows=fail
+sentencepiece:x86-windows=fail
+septag-sx:arm64-windows=fail
+septag-sx:arm-uwp=fail
+septag-sx:x64-uwp=fail
+sfgui:x64-linux=ignore
+sfml:arm64-windows=fail
+shapelib:arm-uwp=fail
+shapelib:x64-uwp=fail
+shiva:x64-windows=fail
+shiva:x64-windows-static=fail
+shiva-sfml:x64-linux=fail
+shiva-sfml:x64-osx=fail
+shiva-sfml:x86-windows=fail
+shogun:arm64-windows = skip
+shogun:arm-uwp = skip
+shogun:x64-osx=fail
+shogun:x64-uwp = skip
+shogun:x64-windows = skip
+shogun:x64-windows-static = skip
+shogun:x86-windows = skip
+simdjson:arm64-windows=fail
+simdjson:arm-uwp=fail
+simdjson:x86-windows=fail
+slikenet:arm-uwp=fail
+slikenet:x64-uwp=fail
+smpeg2:arm-uwp=fail
+smpeg2:x64-linux=fail
+smpeg2:x64-uwp=fail
+soci:arm-uwp=fail
+soci:x64-uwp=fail
+soil:arm-uwp=fail
+soil:x64-uwp=fail
+soil2:arm-uwp=fail
+soil2:x64-uwp=fail
+sophus:x64-linux=fail
+soundtouch:arm-uwp=fail
+soundtouch:x64-linux=ignore
+soundtouch:x64-uwp=fail
+soundtouch:x64-windows-static=fail
+spaceland:arm64-windows=fail
+spaceland:arm-uwp=fail
+spaceland:x64-uwp=fail
+spaceland:x64-linux=ignore
+spdk:x64-linux=fail
+spdk-dpdk:arm64-windows=fail
+spdk-dpdk:arm-uwp=fail
+spdk-dpdk:x64-osx=fail
+spdk-dpdk:x64-uwp=fail
+spdk-dpdk:x64-windows=fail
+spdk-dpdk:x64-windows-static=fail
+spdk-dpdk:x86-windows=fail
+spdk-ipsec:arm64-windows=fail
+spdk-ipsec:arm-uwp=fail
+spdk-ipsec:x64-osx=fail
+spdk-ipsec:x64-uwp=fail
+spdk-ipsec:x64-windows=fail
+spdk-ipsec:x64-windows-static=fail
+spdk-ipsec:x86-windows=fail
+spdk-isal:arm64-windows=fail
+spdk-isal:arm-uwp=fail
+spdk-isal:x64-osx=fail
+spdk-isal:x64-uwp=fail
+spdk-isal:x64-windows=fail
+spdk-isal:x64-windows-static=fail
+spdk-isal:x86-windows=fail
+speex:x64-linux=fail
+speex:x64-osx=fail
+speexdsp:x64-linux=fail
+speexdsp:x64-osx=fail
+spirv-tools:arm-uwp=fail
+spirv-tools:x64-uwp=fail
+stormlib:arm-uwp=fail
+stormlib:x64-uwp=fail
+string-theory:arm-uwp=fail
+string-theory:x64-uwp=fail
+string-theory:x64-windows=ignore
+stxxl:arm-uwp=fail
+stxxl:x64-uwp=fail
+systemc:arm64-windows=fail
+systemc:arm-uwp=fail
+systemc:x64-uwp=fail
+taglib:x64-linux=ignore
+tbb:arm64-windows=fail
+tbb:arm-uwp=fail
+tbb:x64-uwp=fail
+tcl:arm-uwp=ignore
+tcl:arm64-windows=ignore
+tcl:x64-uwp=ignore
+tcl:x64-linux=ignore
+tcl:x64-osx=ignore
+telnetpp:arm-uwp=fail
+telnetpp:x64-uwp=fail
+tensorflow-cc:arm64-windows=fail
+tensorflow-cc:x64-linux = skip
+tensorflow-cc:x64-osx=fail
+tensorflow-cc:x64-windows=fail
+tensorflow-cc:x64-windows-static=fail
+tensorflow-cc:x86-windows=fail
+tesseract:x64-windows=ignore
+tesseract:x64-windows-static=ignore
+tesseract:x86-windows=ignore
+tfhe:x86-windows=fail
+tfhe:x64-windows=fail
+tfhe:x64-windows-static=fail
+tfhe:x64-uwp=fail
+tfhe:arm64-windows=fail
+tfhe:arm-uwp=fail
+theia:arm64-windows = skip
+theia:arm-uwp = skip
+theia:x64-uwp = skip
+theia:x64-windows = skip
+theia:x64-windows-static = skip
+theia:x86-windows = skip
+thor:x64-linux=fail
+thor:x64-osx=fail
+thrift:x64-osx=fail
+tidy-html5:arm-uwp=fail
+tidy-html5:x64-linux=fail
+tidy-html5:x64-osx=fail
+tidy-html5:x64-uwp=fail
+tinkerforge:arm-uwp=fail
+tinkerforge:x64-uwp=fail
+tinyexif:arm-uwp=fail
+tinyexif:x64-uwp=fail
+tinyfiledialogs:arm64-windows=fail
+tinyfiledialogs:arm-uwp=fail
+tinyfiledialogs:x64-linux=fail
+tinyfiledialogs:x64-uwp=fail
+tinyfiledialogs:x64-windows=fail
+tinyfiledialogs:x64-windows-static=fail
+tinyfiledialogs:x86-windows=fail
+tinyfiledialogs:x64-osx=fail
+tinynpy:x64-linux=ignore
+tiny-process-library:arm-uwp=fail
+tiny-process-library:x64-uwp=fail
+tinyutf8:arm64-windows=fail
+tinyutf8:arm-uwp=fail
+tinyutf8:x64-uwp=fail
+
+#Flaky on windows only due to error PRI210: 0x80070020 - File move failed
+tmx:arm64-windows = skip
+tmx:arm-uwp = skip
+tmx:x64-uwp = skip
+tmx:x64-windows = skip
+tmx:x64-windows-static = skip
+tmx:x86-windows = skip
+tmxlite:arm-uwp=fail
+tmxlite:x64-uwp=fail
+tmxparser:arm64-windows=fail
+tmxparser:arm-uwp=fail
+tmxparser:x64-uwp=fail
+tmxparser:x64-windows=fail
+tmxparser:x64-windows-static=fail
+tmxparser:x86-windows=fail
+torch-th:arm64-windows=fail
+torch-th:arm-uwp=fail
+torch-th:x64-uwp=fail
+torch-th:x64-windows-static=fail
+tre:x64-osx=fail
+treehopper:x64-windows-static=fail
+unicorn:arm64-windows=fail
+unicorn:arm-uwp=fail
+unicorn:x64-linux=fail
+unicorn:x64-osx=fail
+unicorn:x64-uwp=fail
+unicorn-lib:x64-uwp=fail
+unittest-cpp:arm64-windows=fail
+unittest-cpp:arm-uwp=fail
+unittest-cpp:x64-uwp=fail
+unrar:arm64-windows=fail
+unrar:arm-uwp=fail
+unrar:x64-linux=fail
+unrar:x64-osx=fail
+unrar:x64-uwp=fail
+unrar:x64-windows-static=fail
+upb:arm64-windows=fail
+upb:arm-uwp=fail
+upb:x64-uwp=fail
+upb:x64-windows=fail
+upb:x64-windows-static=fail
+upb:x86-windows=fail
+urdfdom:x64-windows-static=fail
+usd:x64-linux=ignore
+usd:x86-windows=fail
+usrsctp:arm-uwp=fail
+usrsctp:x64-uwp=fail
+uvatlas:arm64-windows=fail
+uvatlas:arm-uwp=fail
+uvatlas:x64-linux=fail
+uvatlas:x64-osx=fail
+uvatlas:x64-windows-static=fail
+vectorclass:arm64-windows=fail
+vectorclass:arm-uwp=fail
+vlpp:arm64-windows=fail
+vlpp:arm-uwp=fail
+vlpp:x64-osx=fail
+vlpp:x64-uwp=fail
+vulkan:arm64-windows=fail
+vulkan:arm-uwp=fail
+vulkan:x64-linux=fail
+vulkan:x64-osx=fail
+vulkan:x64-uwp=fail
+vulkan:x64-windows=fail
+vulkan:x64-windows-static=fail
+vulkan:x86-windows=fail
+# Conflicts with latest openjpeg port (vxl ships with an old version of openjpeg)
+# conflicts with qt5-location
+vxl:arm64-windows = skip
+vxl:arm-uwp = skip
+vxl:x64-linux = skip
+vxl:x64-osx = skip
+vxl:x64-uwp = skip
+vxl:x64-windows = skip
+vxl:x64-windows-static = skip
+vxl:x86-windows = skip
+wampcc:x64-linux=ignore
+wangle:x64-linux=ignore
+wavpack:arm64-windows=fail
+wavpack:x64-linux=fail
+wavpack:x64-osx=fail
+wepoll:arm-uwp=ignore
+wepoll:x64-uwp=ignore
+wepoll:x64-linux=ignore
+wepoll:x64-osx=ignore
+wildmidi:x64-osx=fail
+wincrypt:x64-linux=fail
+wincrypt:x64-osx=fail
+winpcap:arm64-windows = skip
+winpcap:arm-uwp = skip
+winpcap:x64-linux=fail
+winpcap:x64-osx=fail
+winpcap:x64-uwp = skip
+winpcap:x64-windows = skip
+winpcap:x64-windows-static = skip
+winpcap:x86-windows = skip
+winsock2:x64-linux=fail
+winsock2:x64-osx=fail
+wintoast:arm-uwp=fail
+wintoast:x64-linux=fail
+wintoast:x64-osx=fail
+wintoast:x64-uwp=fail
+woff2:x64-linux=fail
+woff2:x64-osx=fail
+woff2:x64-windows-static=fail
+wpilib:x64-osx=fail
+wxchartdir:x64-osx=fail
+wxwidgets:x64-linux=fail
+x264:arm64-windows=fail
+x264:arm-uwp=fail
+x264:x64-uwp=ignore
+x264:x64-linux=fail
+x264:x64-osx=fail
+x264:x86-windows=ignore
+x264:x64-windows=ignore
+x264:x64-windows-static=ignore
+x265:arm64-windows=fail
+x265:arm-uwp=fail
+x265:x64-uwp=fail
+xalan-c:x64-windows-static=fail
+xerces-c:arm64-windows=fail
+xerces-c:arm-uwp=fail
+xerces-c:x64-uwp=fail
+xeus:x64-linux=ignore
+xmlsec:arm-uwp=fail
+xmlsec:x64-uwp=fail
+xmsh:arm64-windows=fail
+xmsh:arm-uwp=fail
+xmsh:x64-uwp=fail
+xmsh:x64-windows=fail
+xmsh:x64-windows-static=fail
+xmsh:x86-windows=fail
+xmsh:x64-linux=ignore
+xtensor-io:x64-uwp=ignore
+x-plane:arm64-windows=fail
+x-plane:arm-uwp=fail
+x-plane:x64-linux=fail
+x-plane:x86-windows=fail
+yajl:arm-uwp=fail
+yajl:x64-uwp=fail
+yara:arm64-windows=fail
+yara:arm-uwp=fail
+yara:x64-uwp=fail
+yasm:arm64-windows=fail
+yasm:arm-uwp=fail
+yasm:x64-linux=fail
+yasm:x64-osx=fail
+yasm:x64-uwp=fail
+yato:arm64-windows=fail
+yato:arm-uwp=fail
+yato:x64-uwp=fail
+z3:arm64-windows=fail
+z3:arm-uwp=fail
+z3:x64-uwp=fail
+zeromq:arm64-windows=fail
+zeromq:arm-uwp=fail
+zeromq:x64-uwp=fail
diff --git a/scripts/cmake/vcpkg_add_to_path.cmake b/scripts/cmake/vcpkg_add_to_path.cmake index 7ab08c88e..05763b2ef 100644 --- a/scripts/cmake/vcpkg_add_to_path.cmake +++ b/scripts/cmake/vcpkg_add_to_path.cmake @@ -29,19 +29,11 @@ function(vcpkg_add_to_path) if(NOT "${ARGC}" STREQUAL "2")
message(FATAL_ERROR "Expected second argument.")
endif()
- if(CMAKE_HOST_WIN32)
- set(ENV{PATH} "${ARGV1};$ENV{PATH}")
- else()
- set(ENV{PATH} "${ARGV1}:$ENV{PATH}")
- endif()
+ set(ENV{PATH} "${ARGV1}${VCPKG_HOST_PATH_SEPARATOR}$ENV{PATH}")
else()
if(NOT "${ARGC}" STREQUAL "1")
message(FATAL_ERROR "Unexpected second argument: ${ARGV1}")
endif()
- if(CMAKE_HOST_WIN32)
- set(ENV{PATH} "$ENV{PATH};${ARGV0}")
- else()
- set(ENV{PATH} "$ENV{PATH}:${ARGV0}")
- endif()
+ set(ENV{PATH} "$ENV{PATH}${VCPKG_HOST_PATH_SEPARATOR}${ARGV0}")
endif()
endfunction()
\ No newline at end of file diff --git a/scripts/cmake/vcpkg_build_cmake.cmake b/scripts/cmake/vcpkg_build_cmake.cmake index b110d2cc9..d049c907b 100644 --- a/scripts/cmake/vcpkg_build_cmake.cmake +++ b/scripts/cmake/vcpkg_build_cmake.cmake @@ -74,15 +74,10 @@ function(vcpkg_build_cmake) if(_bc_ADD_BIN_TO_PATH) set(_BACKUP_ENV_PATH "$ENV{PATH}") - if(CMAKE_HOST_WIN32) - set(_PATHSEP ";") - else() - set(_PATHSEP ":") - endif() if(BUILDTYPE STREQUAL "debug") - set(ENV{PATH} "${CURRENT_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/bin${_PATHSEP}$ENV{PATH}") + vcpkg_add_to_path(PREPEND "${CURRENT_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/bin") else() - set(ENV{PATH} "${CURRENT_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/bin${_PATHSEP}$ENV{PATH}") + vcpkg_add_to_path(PREPEND "${CURRENT_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/bin") endif() endif() diff --git a/scripts/cmake/vcpkg_build_make.cmake b/scripts/cmake/vcpkg_build_make.cmake index d928a9287..202ef33f4 100644 --- a/scripts/cmake/vcpkg_build_make.cmake +++ b/scripts/cmake/vcpkg_build_make.cmake @@ -142,37 +142,39 @@ function(vcpkg_build_make) if (_bc_ENABLE_INSTALL)
foreach(BUILDTYPE "debug" "release")
- if(BUILDTYPE STREQUAL "debug")
- # Skip debug generate
- if (_VCPKG_NO_DEBUG)
- continue()
- endif()
- set(SHORT_BUILDTYPE "-dbg")
- else()
- # In NO_DEBUG mode, we only use ${TARGET_TRIPLET} directory.
- if (_VCPKG_NO_DEBUG)
- set(SHORT_BUILDTYPE "")
+ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL BUILDTYPE)
+ if(BUILDTYPE STREQUAL "debug")
+ # Skip debug generate
+ if (_VCPKG_NO_DEBUG)
+ continue()
+ endif()
+ set(SHORT_BUILDTYPE "-dbg")
else()
- set(SHORT_BUILDTYPE "-rel")
+ # In NO_DEBUG mode, we only use ${TARGET_TRIPLET} directory.
+ if (_VCPKG_NO_DEBUG)
+ set(SHORT_BUILDTYPE "")
+ else()
+ set(SHORT_BUILDTYPE "-rel")
+ endif()
endif()
- endif()
- message(STATUS "Installing ${TARGET_TRIPLET}${SHORT_BUILDTYPE}")
- if (CMAKE_HOST_WIN32)
- # In windows we can remotely call make
- set(WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}${SHORT_BUILDTYPE})
- vcpkg_execute_build_process(
- COMMAND "${MAKE} ${INSTALL_OPTS}"
- WORKING_DIRECTORY ${WORKING_DIRECTORY}
- LOGNAME "install-${TARGET_TRIPLET}${SHORT_BUILDTYPE}"
- )
- else()
- set(WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}${SHORT_BUILDTYPE}${_VCPKG_PROJECT_SUBPATH})
- vcpkg_execute_build_process(
- COMMAND "${MAKE};${INSTALL_OPTS}"
- WORKING_DIRECTORY ${WORKING_DIRECTORY}
- LOGNAME "install-${TARGET_TRIPLET}${SHORT_BUILDTYPE}"
- )
+ message(STATUS "Installing ${TARGET_TRIPLET}${SHORT_BUILDTYPE}")
+ if (CMAKE_HOST_WIN32)
+ # In windows we can remotely call make
+ set(WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}${SHORT_BUILDTYPE})
+ vcpkg_execute_build_process(
+ COMMAND "${MAKE} ${INSTALL_OPTS}"
+ WORKING_DIRECTORY ${WORKING_DIRECTORY}
+ LOGNAME "install-${TARGET_TRIPLET}${SHORT_BUILDTYPE}"
+ )
+ else()
+ set(WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}${SHORT_BUILDTYPE}${_VCPKG_PROJECT_SUBPATH})
+ vcpkg_execute_build_process(
+ COMMAND "${MAKE};${INSTALL_OPTS}"
+ WORKING_DIRECTORY ${WORKING_DIRECTORY}
+ LOGNAME "install-${TARGET_TRIPLET}${SHORT_BUILDTYPE}"
+ )
+ endif()
endif()
endforeach()
endif()
diff --git a/scripts/cmake/vcpkg_build_nmake.cmake b/scripts/cmake/vcpkg_build_nmake.cmake index 33f1e9d1e..8cf074739 100644 --- a/scripts/cmake/vcpkg_build_nmake.cmake +++ b/scripts/cmake/vcpkg_build_nmake.cmake @@ -178,7 +178,7 @@ function(vcpkg_build_nmake) endforeach()
if (_bn_PRERUN_SHELL)
- message("Prerunning ${CURRENT_TRIPLET_NAME}")
+ message(STATUS "Prerunning ${CURRENT_TRIPLET_NAME}")
vcpkg_execute_required_process(
COMMAND ${_bn_PRERUN_SHELL}
WORKING_DIRECTORY ${OBJ_DIR}${_bn_PROJECT_SUBPATH}
@@ -186,7 +186,7 @@ function(vcpkg_build_nmake) )
endif()
if (BUILDTYPE STREQUAL "debug" AND _bn_PRERUN_SHELL_DEBUG)
- message("Prerunning ${CURRENT_TRIPLET_NAME}")
+ message(STATUS "Prerunning ${CURRENT_TRIPLET_NAME}")
vcpkg_execute_required_process(
COMMAND "${_bn_PRERUN_SHELL_DEBUG}"
WORKING_DIRECTORY ${OBJ_DIR}${_bn_PROJECT_SUBPATH}
@@ -194,11 +194,11 @@ function(vcpkg_build_nmake) )
endif()
if (BUILDTYPE STREQUAL "release" AND _bn_PRERUN_SHELL_RELEASE)
- message("Prerunning ${CURRENT_TRIPLET_NAME}")
+ message(STATUS "Prerunning ${CURRENT_TRIPLET_NAME}")
vcpkg_execute_required_process(
COMMAND ${_bn_PRERUN_SHELL_RELEASE}
WORKING_DIRECTORY ${OBJ_DIR}${_bn_PROJECT_SUBPATH}
- LOGNAME "prerun-${CURRENT_TRIPLET_NAME}-dbg"
+ LOGNAME "prerun-${CURRENT_TRIPLET_NAME}-rel"
)
endif()
diff --git a/scripts/cmake/vcpkg_build_qmake.cmake b/scripts/cmake/vcpkg_build_qmake.cmake index 03c468463..ef6fb30f3 100644 --- a/scripts/cmake/vcpkg_build_qmake.cmake +++ b/scripts/cmake/vcpkg_build_qmake.cmake @@ -65,6 +65,7 @@ function(vcpkg_build_qmake) run_jom(qmake_all makefiles ${_short_name_${_buildname}}) endif() run_jom("${_csc_${_buildname}_TARGETS}" ${_csc_BUILD_LOGNAME} ${_short_name_${_buildname}}) + unset(_BUILD_PREFIX) endforeach() # Restore the original value of ENV{PATH} diff --git a/scripts/cmake/vcpkg_common_definitions.cmake b/scripts/cmake/vcpkg_common_definitions.cmake index 60afeaf36..14cf460af 100644 --- a/scripts/cmake/vcpkg_common_definitions.cmake +++ b/scripts/cmake/vcpkg_common_definitions.cmake @@ -5,6 +5,7 @@ ## ## The following variables are available: ## ```cmake ## VCPKG_TARGET_IS_<target> with <target> being one of the following: WINDOWS, UWP, LINUX, OSX, ANDROID, FREEBSD. only defined if <target> +## VCPKG_HOST_PATH_SEPARATOR Host specific path separator (USAGE: "<something>${VCPKG_HOST_PATH_SEPARATOR}<something>"; only use and pass variables with VCPKG_HOST_PATH_SEPARATOR within "") ## VCPKG_HOST_EXECUTABLE_SUFFIX executable suffix of the host ## VCPKG_TARGET_EXECUTABLE_SUFFIX executable suffix of the target ## VCPKG_TARGET_STATIC_LIBRARY_PREFIX static library prefix for target (same as CMAKE_STATIC_LIBRARY_PREFIX) @@ -38,6 +39,13 @@ elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") set(VCPKG_TARGET_IS_FREEBSD 1) endif() +#Helper variable to identify the host path separator. +if(CMAKE_HOST_WIN32) + set(VCPKG_HOST_PATH_SEPARATOR ";") +elseif(CMAKE_HOST_UNIX) + set(VCPKG_HOST_PATH_SEPARATOR ":") +endif() + #Helper variables to identify executables on host/target if(CMAKE_HOST_WIN32) set(VCPKG_HOST_EXECUTABLE_SUFFIX ".exe") diff --git a/scripts/cmake/vcpkg_common_functions.cmake b/scripts/cmake/vcpkg_common_functions.cmake index 4aa115f47..564ac9421 100644 --- a/scripts/cmake/vcpkg_common_functions.cmake +++ b/scripts/cmake/vcpkg_common_functions.cmake @@ -26,6 +26,7 @@ include(vcpkg_install_meson) include(vcpkg_install_msbuild) include(vcpkg_install_make) include(vcpkg_install_nmake) +include(vcpkg_install_qmake) include(vcpkg_configure_cmake) include(vcpkg_configure_meson) include(vcpkg_configure_qmake) diff --git a/scripts/cmake/vcpkg_configure_cmake.cmake b/scripts/cmake/vcpkg_configure_cmake.cmake index 1c3a26a74..c31955fb2 100644 --- a/scripts/cmake/vcpkg_configure_cmake.cmake +++ b/scripts/cmake/vcpkg_configure_cmake.cmake @@ -72,14 +72,11 @@ function(vcpkg_configure_cmake) endif() if(CMAKE_HOST_WIN32) - set(_PATHSEP ";") if(DEFINED ENV{PROCESSOR_ARCHITEW6432}) set(_csc_HOST_ARCHITECTURE $ENV{PROCESSOR_ARCHITEW6432}) else() set(_csc_HOST_ARCHITECTURE $ENV{PROCESSOR_ARCHITECTURE}) endif() - else() - set(_PATHSEP ":") endif() set(NINJA_CAN_BE_USED ON) # Ninja as generator @@ -154,7 +151,7 @@ function(vcpkg_configure_cmake) if(GENERATOR STREQUAL "Ninja") vcpkg_find_acquire_program(NINJA) get_filename_component(NINJA_PATH ${NINJA} DIRECTORY) - set(ENV{PATH} "$ENV{PATH}${_PATHSEP}${NINJA_PATH}") + vcpkg_add_to_path("${NINJA_PATH}") list(APPEND _csc_OPTIONS "-DCMAKE_MAKE_PROGRAM=${NINJA}") endif() @@ -265,7 +262,7 @@ function(vcpkg_configure_cmake) vcpkg_find_acquire_program(NINJA) get_filename_component(NINJA_PATH ${NINJA} DIRECTORY) - set(ENV{PATH} "$ENV{PATH}${_PATHSEP}${NINJA_PATH}") + vcpkg_add_to_path("${NINJA_PATH}") #parallelize the configure step set(_contents diff --git a/scripts/cmake/vcpkg_configure_qmake.cmake b/scripts/cmake/vcpkg_configure_qmake.cmake index a04a4c8f6..44230a79e 100644 --- a/scripts/cmake/vcpkg_configure_qmake.cmake +++ b/scripts/cmake/vcpkg_configure_qmake.cmake @@ -20,13 +20,17 @@ function(vcpkg_configure_qmake) # Find qmake executable set(_triplet_hostbindir ${CURRENT_INSTALLED_DIR}/tools/qt5/bin) - find_program(QMAKE_COMMAND NAMES qmake PATHS ${VCPKG_QT_HOST_TOOLS_ROOT_DIR}/bin ${_triplet_hostbindir}) + if(DEFINED VCPKG_QT_HOST_TOOLS_ROOT_DIR) + find_program(QMAKE_COMMAND NAMES qmake PATHS ${VCPKG_QT_HOST_TOOLS_ROOT_DIR}/bin ${_triplet_hostbindir} NO_DEFAULT_PATH) + else() + find_program(QMAKE_COMMAND NAMES qmake PATHS ${_triplet_hostbindir} NO_DEFAULT_PATH) + endif() if(NOT QMAKE_COMMAND) message(FATAL_ERROR "vcpkg_configure_qmake: unable to find qmake.") endif() - if(${VCPKG_LIBRARY_LINKAGE} STREQUAL "static") + if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") list(APPEND _csc_OPTIONS "CONFIG-=shared") list(APPEND _csc_OPTIONS "CONFIG*=static") else() @@ -35,10 +39,10 @@ function(vcpkg_configure_qmake) list(APPEND _csc_OPTIONS_DEBUG "CONFIG*=separate_debug_info") endif() - if(VCPKG_TARGET_IS_WINDOWS AND ${VCPKG_CRT_LINKAGE} STREQUAL "static") + if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_CRT_LINKAGE STREQUAL "static") list(APPEND _csc_OPTIONS "CONFIG*=static-runtime") endif() - + # Cleanup build directories file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg) @@ -55,9 +59,9 @@ function(vcpkg_configure_qmake) set(BUILD_OPT -- ${_csc_BUILD_OPTIONS} ${_csc_BUILD_OPTIONS_RELEASE}) endif() vcpkg_execute_required_process( - COMMAND ${QMAKE_COMMAND} CONFIG-=debug CONFIG+=release - ${_csc_OPTIONS} ${_csc_OPTIONS_RELEASE} ${_csc_SOURCE_PATH} - -qtconf "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/qt.conf" + COMMAND ${QMAKE_COMMAND} CONFIG-=debug CONFIG+=release + ${_csc_OPTIONS} ${_csc_OPTIONS_RELEASE} ${_csc_SOURCE_PATH} + -qtconf "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/qt.conf" ${BUILD_OPT} WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel LOGNAME config-${TARGET_TRIPLET}-rel @@ -74,8 +78,8 @@ function(vcpkg_configure_qmake) set(BUILD_OPT -- ${_csc_BUILD_OPTIONS} ${_csc_BUILD_OPTIONS_DEBUG}) endif() vcpkg_execute_required_process( - COMMAND ${QMAKE_COMMAND} CONFIG-=release CONFIG+=debug - ${_csc_OPTIONS} ${_csc_OPTIONS_DEBUG} ${_csc_SOURCE_PATH} + COMMAND ${QMAKE_COMMAND} CONFIG-=release CONFIG+=debug + ${_csc_OPTIONS} ${_csc_OPTIONS_DEBUG} ${_csc_SOURCE_PATH} -qtconf "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/qt.conf" ${BUILD_OPT} WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg diff --git a/scripts/cmake/vcpkg_find_acquire_program.cmake b/scripts/cmake/vcpkg_find_acquire_program.cmake index b4672a245..6511cb150 100644 --- a/scripts/cmake/vcpkg_find_acquire_program.cmake +++ b/scripts/cmake/vcpkg_find_acquire_program.cmake @@ -75,6 +75,8 @@ function(vcpkg_find_acquire_program VAR) set(PROGNAME yasm) set(SUBDIR 1.3.0.6) set(PATHS ${DOWNLOADS}/tools/yasm/${SUBDIR}) + set(BREW_PACKAGE_NAME "yasm") + set(APT_PACKAGE_NAME "yasm") set(URL "https://www.tortall.net/projects/yasm/snapshots/v1.3.0.6.g1962/yasm-1.3.0.6.g1962.exe") set(ARCHIVE "yasm-1.3.0.6.g1962.exe") set(_vfa_RENAME "yasm.exe") @@ -214,12 +216,14 @@ function(vcpkg_find_acquire_program VAR) elseif(VAR MATCHES "GASPREPROCESSOR") set(NOEXTRACT true) set(PROGNAME gas-preprocessor) + set(SUBDIR "b5ea3a50") set(REQUIRED_INTERPRETER PERL) set(SCRIPTNAME "gas-preprocessor.pl") - set(PATHS ${DOWNLOADS}/tools/gas-preprocessor) - set(URL "https://raw.githubusercontent.com/FFmpeg/gas-preprocessor/cbe88474ec196370161032a3863ec65050f70ba4/gas-preprocessor.pl") - set(ARCHIVE "gas-preprocessor.pl") - set(HASH f6965875608bf2a3ee337e00c3f16e06cd9b5d10013da600d2a70887e47a7b4668af87b3524acf73dd122475712af831495a613a2128c1adb5fe0b4a11d96cd3) + set(PATHS ${DOWNLOADS}/tools/gas-preprocessor/${SUBDIR}) + set(_vfa_RENAME "gas-preprocessor.pl") + set(URL "https://raw.githubusercontent.com/FFmpeg/gas-preprocessor/b5ea3a50ed991e6a3218e89402a8162c73f59cb2/gas-preprocessor.pl") + set(ARCHIVE "gas-preprocessor-${SUBDIR}.pl") + set(HASH 3a42a90dee09f3c8653d043d848057287f7460806a08f9471131d0c546ba541bdfa4efa3019e7ffc57a6c20538f1034f7a53b30ecaad9db5add7c71d8de35db9) elseif(VAR MATCHES "DARK") set(PROGNAME dark) set(SUBDIR "wix311-binaries") @@ -301,9 +305,9 @@ function(vcpkg_find_acquire_program VAR) file(MAKE_DIRECTORY ${PROG_PATH_SUBDIR}) if(DEFINED NOEXTRACT) if(DEFINED _vfa_RENAME) - file(INSTALL ${ARCHIVE_PATH} DESTINATION ${PROG_PATH_SUBDIR} RENAME ${_vfa_RENAME} PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) + file(INSTALL ${ARCHIVE_PATH} DESTINATION ${PROG_PATH_SUBDIR} RENAME ${_vfa_RENAME} FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) else() - file(COPY ${ARCHIVE_PATH} DESTINATION ${PROG_PATH_SUBDIR} PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) + file(COPY ${ARCHIVE_PATH} DESTINATION ${PROG_PATH_SUBDIR} FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) endif() else() get_filename_component(ARCHIVE_EXTENSION ${ARCHIVE} EXT) diff --git a/scripts/cmake/vcpkg_fixup_cmake_targets.cmake b/scripts/cmake/vcpkg_fixup_cmake_targets.cmake index c383fcb56..a042d9124 100644 --- a/scripts/cmake/vcpkg_fixup_cmake_targets.cmake +++ b/scripts/cmake/vcpkg_fixup_cmake_targets.cmake @@ -179,4 +179,4 @@ function(vcpkg_fixup_cmake_targets) endforeach() endfunction() - + diff --git a/scripts/cmake/vcpkg_from_github.cmake b/scripts/cmake/vcpkg_from_github.cmake index a822ee40e..c8710998b 100644 --- a/scripts/cmake/vcpkg_from_github.cmake +++ b/scripts/cmake/vcpkg_from_github.cmake @@ -11,6 +11,8 @@ ## [SHA512 <45d0d7f8cc350...>] ## [HEAD_REF <master>] ## [PATCHES <patch1.patch> <patch2.patch>...] +## [GITHUB_HOST <https://github.com>] +## [AUTHORIZATION_TOKEN <${SECRET_FROM_FILE}>] ## ) ## ``` ## @@ -45,6 +47,14 @@ ## ## Relative paths are based on the port directory. ## +## ### GITHUB_HOST +## A replacement host for enterprise GitHub instances. +## +## This field should contain the scheme, host, and port of the desired URL without a trailing slash. +## +## ### AUTHORIZATION_TOKEN +## A token to be passed via the Authorization HTTP header as "token ${AUTHORIZATION_TOKEN}". +## ## ## Notes: ## At least one of `REF` and `HEAD_REF` must be specified, however it is preferable for both to be present. ## @@ -56,7 +66,7 @@ ## * [ms-gsl](https://github.com/Microsoft/vcpkg/blob/master/ports/ms-gsl/portfile.cmake) ## * [beast](https://github.com/Microsoft/vcpkg/blob/master/ports/beast/portfile.cmake) function(vcpkg_from_github) - set(oneValueArgs OUT_SOURCE_PATH REPO REF SHA512 HEAD_REF) + set(oneValueArgs OUT_SOURCE_PATH REPO REF SHA512 HEAD_REF GITHUB_HOST AUTHORIZATION_TOKEN) set(multipleValuesArgs PATCHES) cmake_parse_arguments(_vdud "" "${oneValueArgs}" "${multipleValuesArgs}" ${ARGN}) @@ -76,6 +86,20 @@ function(vcpkg_from_github) message(FATAL_ERROR "At least one of REF and HEAD_REF must be specified.") endif() + if(NOT DEFINED _vdud_GITHUB_HOST) + set(GITHUB_HOST https://github.com) + set(GITHUB_API_URL https://api.github.com) + else() + set(GITHUB_HOST ${_vdud_GITHUB_HOST}) + set(GITHUB_API_URL ${_vdud_GITHUB_HOST}/api/v3) + endif() + + if(DEFINED _vdud_AUTHORIZATION_TOKEN) + set(HEADERS "HEADERS" "Authorization: token ${_vdud_AUTHORIZATION_TOKEN}") + else() + set(HEADERS) + endif() + string(REGEX REPLACE ".*/" "" REPO_NAME ${_vdud_REPO}) string(REGEX REPLACE "/.*" "" ORG_NAME ${_vdud_REPO}) @@ -106,9 +130,10 @@ function(vcpkg_from_github) string(REPLACE "/" "-" SANITIZED_REF "${_vdud_REF}") vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/${ORG_NAME}/${REPO_NAME}/archive/${_vdud_REF}.tar.gz" + URLS "${GITHUB_HOST}/${ORG_NAME}/${REPO_NAME}/archive/${_vdud_REF}.tar.gz" SHA512 "${_vdud_SHA512}" FILENAME "${ORG_NAME}-${REPO_NAME}-${SANITIZED_REF}.tar.gz" + ${HEADERS} ) vcpkg_extract_source_archive_ex( @@ -123,7 +148,7 @@ function(vcpkg_from_github) endif() # The following is for --head scenarios - set(URL "https://github.com/${ORG_NAME}/${REPO_NAME}/archive/${_vdud_HEAD_REF}.tar.gz") + set(URL "${GITHUB_HOST}/${ORG_NAME}/${REPO_NAME}/archive/${_vdud_HEAD_REF}.tar.gz") string(REPLACE "/" "-" SANITIZED_HEAD_REF "${_vdud_HEAD_REF}") set(downloaded_file_name "${ORG_NAME}-${REPO_NAME}-${SANITIZED_HEAD_REF}.tar.gz") set(downloaded_file_path "${DOWNLOADS}/${downloaded_file_name}") @@ -147,15 +172,17 @@ function(vcpkg_from_github) # Try to download the file and version information from github. vcpkg_download_distfile(ARCHIVE_VERSION - URLS "https://api.github.com/repos/${ORG_NAME}/${REPO_NAME}/git/refs/heads/${_vdud_HEAD_REF}" + URLS "${GITHUB_API_URL}/repos/${ORG_NAME}/${REPO_NAME}/git/refs/heads/${_vdud_HEAD_REF}" FILENAME ${downloaded_file_name}.version SKIP_SHA512 + ${HEADERS} ) vcpkg_download_distfile(ARCHIVE URLS ${URL} FILENAME ${downloaded_file_name} SKIP_SHA512 + ${HEADERS} ) endif() diff --git a/scripts/cmake/vcpkg_install_msbuild.cmake b/scripts/cmake/vcpkg_install_msbuild.cmake index 7c2fdd836..db2874a9f 100644 --- a/scripts/cmake/vcpkg_install_msbuild.cmake +++ b/scripts/cmake/vcpkg_install_msbuild.cmake @@ -113,6 +113,8 @@ function(vcpkg_install_msbuild) set(_csc_PLATFORM Win32) elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL ARM) set(_csc_PLATFORM ARM) + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL arm64) + set(_csc_PLATFORM arm64) else() message(FATAL_ERROR "Unsupported target architecture") endif() diff --git a/scripts/cmake/vcpkg_install_qmake.cmake b/scripts/cmake/vcpkg_install_qmake.cmake new file mode 100644 index 000000000..571b55a68 --- /dev/null +++ b/scripts/cmake/vcpkg_install_qmake.cmake @@ -0,0 +1,64 @@ +## # vcpkg_install_qmake
+##
+## Build and install a qmake project.
+##
+## ## Usage:
+## ```cmake
+## vcpkg_install_qmake(...)
+## ```
+##
+## ## Parameters:
+## See [`vcpkg_build_qmake()`](vcpkg_build_qmake.md).
+##
+## ## Notes:
+## This command transparently forwards to [`vcpkg_build_qmake()`](vcpkg_build_qmake.md).
+##
+## Additionally, this command will copy produced .libs/.dlls/.as/.dylibs/.sos to the appropriate
+## staging directories.
+##
+## ## Examples
+##
+## * [libqglviewer](https://github.com/Microsoft/vcpkg/blob/master/ports/libqglviewer/portfile.cmake)
+
+function(vcpkg_install_qmake)
+ vcpkg_build_qmake(${ARGN})
+ file(GLOB_RECURSE RELEASE_LIBS
+ ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/*.lib
+ ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/*.a
+ ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/*.so
+ ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/*.so.*
+ ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/*.dylib
+ )
+ file(GLOB_RECURSE RELEASE_BINS
+ ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/*.dll
+ )
+ file(GLOB_RECURSE DEBUG_LIBS
+ ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/*.lib
+ ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/*.a
+ ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/*.so
+ ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/*.so.*
+ ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/*.dylib
+ )
+ file(GLOB_RECURSE DEBUG_BINS
+ ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/*.dll
+ )
+ if(NOT RELEASE_LIBS AND NOT DEBUG_LIBS)
+ message(FATAL_ERROR "Build did not appear to produce any libraries. If this is intended, use `vcpkg_build_qmake()` directly.")
+ endif()
+ if(RELEASE_LIBS)
+ file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/lib)
+ file(COPY ${RELEASE_LIBS} DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
+ endif()
+ if(DEBUG_LIBS)
+ file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/lib)
+ file(COPY ${DEBUG_LIBS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
+ endif()
+ if(RELEASE_BINS)
+ file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/bin)
+ file(COPY ${RELEASE_BINS} DESTINATION ${CURRENT_PACKAGES_DIR}/bin)
+ endif()
+ if(DEBUG_BINS)
+ file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/bin)
+ file(COPY ${DEBUG_BINS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
+ endif()
+endfunction()
diff --git a/scripts/ports.cmake b/scripts/ports.cmake index cdc0bdd99..1aea1ffa3 100644 --- a/scripts/ports.cmake +++ b/scripts/ports.cmake @@ -100,6 +100,9 @@ if(CMD MATCHES "^BUILD$") if (DEFINED VCPKG_POLICY_DLLS_WITHOUT_LIBS) file(APPEND ${BUILD_INFO_FILE_PATH} "PolicyDLLsWithoutLIBs: ${VCPKG_POLICY_DLLS_WITHOUT_LIBS}\n") endif() + if (DEFINED VCPKG_POLICY_DLLS_WITHOUT_EXPORTS) + file(APPEND ${BUILD_INFO_FILE_PATH} "PolicyDLLsWithoutExports: ${VCPKG_POLICY_DLLS_WITHOUT_EXPORTS}\n") + endif() if (DEFINED VCPKG_POLICY_EMPTY_PACKAGE) file(APPEND ${BUILD_INFO_FILE_PATH} "PolicyEmptyPackage: ${VCPKG_POLICY_EMPTY_PACKAGE}\n") endif() diff --git a/toolsrc/CMakeLists.txt b/toolsrc/CMakeLists.txt index bbecb8f30..9106204b2 100644 --- a/toolsrc/CMakeLists.txt +++ b/toolsrc/CMakeLists.txt @@ -38,6 +38,10 @@ If you would like to try anyway, pass --allowAppleClang to bootstrap.sh.") endif()
elseif(CMAKE_CXX_COMPILER_ID MATCHES "[Cc]lang")
set(CLANG 1)
+ if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "9.0.0")
+ set(NO_LIBCXXFS 1)
+ add_compile_definitions(_LIBCPP_NO_EXPERIMENTAL_DEPRECATION_WARNING_FILESYSTEM=1)
+ endif()
elseif(NOT MSVC)
message(FATAL_ERROR "Unknown compiler: ${CMAKE_CXX_COMPILER_ID}")
endif()
diff --git a/toolsrc/include/vcpkg/base/util.h b/toolsrc/include/vcpkg/base/util.h index 3d32e3aa8..ad628e071 100644 --- a/toolsrc/include/vcpkg/base/util.h +++ b/toolsrc/include/vcpkg/base/util.h @@ -11,14 +11,6 @@ namespace vcpkg::Util { - template<class T> - constexpr std::add_const_t<T>& as_const(T& t) noexcept - { - return t; - } - template<class T> - void as_const(const T&&) = delete; - template<class Container> using ElementT = std::remove_reference_t<decltype(*std::declval<typename std::remove_reference_t<Container>::iterator>())>; diff --git a/toolsrc/include/vcpkg/build.h b/toolsrc/include/vcpkg/build.h index b535698dc..be5424296 100644 --- a/toolsrc/include/vcpkg/build.h +++ b/toolsrc/include/vcpkg/build.h @@ -219,6 +219,7 @@ namespace vcpkg::Build { EMPTY_PACKAGE, DLLS_WITHOUT_LIBS, + DLLS_WITHOUT_EXPORTS, ONLY_RELEASE_CRT, EMPTY_INCLUDE_FOLDER, ALLOW_OBSOLETE_MSVCRT, @@ -229,6 +230,7 @@ namespace vcpkg::Build constexpr std::array<BuildPolicy, size_t(BuildPolicy::COUNT)> G_ALL_POLICIES = { BuildPolicy::EMPTY_PACKAGE, BuildPolicy::DLLS_WITHOUT_LIBS, + BuildPolicy::DLLS_WITHOUT_EXPORTS, BuildPolicy::ONLY_RELEASE_CRT, BuildPolicy::EMPTY_INCLUDE_FOLDER, BuildPolicy::ALLOW_OBSOLETE_MSVCRT, diff --git a/toolsrc/include/vcpkg/export.chocolatey.h b/toolsrc/include/vcpkg/export.chocolatey.h new file mode 100644 index 000000000..7804108fd --- /dev/null +++ b/toolsrc/include/vcpkg/export.chocolatey.h @@ -0,0 +1,19 @@ +#pragma once
+
+#include <vcpkg/dependencies.h>
+#include <vcpkg/vcpkgpaths.h>
+
+#include <vector>
+
+namespace vcpkg::Export::Chocolatey
+{
+ struct Options
+ {
+ Optional<std::string> maybe_maintainer;
+ Optional<std::string> maybe_version_suffix;
+ };
+
+ void do_export(const std::vector<Dependencies::ExportPlanAction>& export_plan,
+ const VcpkgPaths& paths,
+ const Options& chocolatey_options);
+}
diff --git a/toolsrc/src/vcpkg.cpp b/toolsrc/src/vcpkg.cpp index 9cd0ddf19..c336d2f63 100644 --- a/toolsrc/src/vcpkg.cpp +++ b/toolsrc/src/vcpkg.cpp @@ -304,7 +304,6 @@ int main(const int argc, const char* const* const argv) SetConsoleCP(CP_UTF8); SetConsoleOutputCP(CP_UTF8); - const std::string trimmed_command_line = trim_path_from_command_line(Strings::to_utf8(GetCommandLineW())); #endif Checks::register_global_shutdown_handler([]() { @@ -335,9 +334,6 @@ int main(const int argc, const char* const* const argv) { auto locked_metrics = Metrics::g_metrics.lock(); locked_metrics->track_property("version", Commands::Version::version()); -#if defined(_WIN32) - locked_metrics->track_property("cmdline", trimmed_command_line); -#endif } System::register_console_ctrl_handler(); diff --git a/toolsrc/src/vcpkg/base/system.cpp b/toolsrc/src/vcpkg/base/system.cpp index d9c6349be..c84b7f8be 100644 --- a/toolsrc/src/vcpkg/base/system.cpp +++ b/toolsrc/src/vcpkg/base/system.cpp @@ -157,11 +157,24 @@ namespace vcpkg std::vector<CPUArchitecture> supported_architectures; supported_architectures.push_back(get_host_processor()); - // AMD64 machines support to run x86 applications + // AMD64 machines support running x86 applications and ARM64 machines support running ARM applications if (supported_architectures.back() == CPUArchitecture::X64) { supported_architectures.push_back(CPUArchitecture::X86); } + else if (supported_architectures.back() == CPUArchitecture::ARM64) + { + supported_architectures.push_back(CPUArchitecture::ARM); + } + +#if defined(_WIN32) + // On ARM32/64 Windows we can rely on x86 emulation + if (supported_architectures.front() == CPUArchitecture::ARM || + supported_architectures.front() == CPUArchitecture::ARM64) + { + supported_architectures.push_back(CPUArchitecture::X86); + } +#endif return supported_architectures; } diff --git a/toolsrc/src/vcpkg/build.cpp b/toolsrc/src/vcpkg/build.cpp index 618e4126b..f13dd2a25 100644 --- a/toolsrc/src/vcpkg/build.cpp +++ b/toolsrc/src/vcpkg/build.cpp @@ -129,6 +129,7 @@ namespace vcpkg::Build {
static const std::string NAME_EMPTY_PACKAGE = "PolicyEmptyPackage";
static const std::string NAME_DLLS_WITHOUT_LIBS = "PolicyDLLsWithoutLIBs";
+ static const std::string NAME_DLLS_WITHOUT_EXPORTS = "PolicyDLLsWithoutExports";
static const std::string NAME_ONLY_RELEASE_CRT = "PolicyOnlyReleaseCRT";
static const std::string NAME_EMPTY_INCLUDE_FOLDER = "PolicyEmptyIncludeFolder";
static const std::string NAME_ALLOW_OBSOLETE_MSVCRT = "PolicyAllowObsoleteMsvcrt";
@@ -139,6 +140,7 @@ namespace vcpkg::Build {
case BuildPolicy::EMPTY_PACKAGE: return NAME_EMPTY_PACKAGE;
case BuildPolicy::DLLS_WITHOUT_LIBS: return NAME_DLLS_WITHOUT_LIBS;
+ case BuildPolicy::DLLS_WITHOUT_EXPORTS: return NAME_DLLS_WITHOUT_EXPORTS;
case BuildPolicy::ONLY_RELEASE_CRT: return NAME_ONLY_RELEASE_CRT;
case BuildPolicy::EMPTY_INCLUDE_FOLDER: return NAME_EMPTY_INCLUDE_FOLDER;
case BuildPolicy::ALLOW_OBSOLETE_MSVCRT: return NAME_ALLOW_OBSOLETE_MSVCRT;
@@ -152,6 +154,7 @@ namespace vcpkg::Build {
case BuildPolicy::EMPTY_PACKAGE: return "VCPKG_POLICY_EMPTY_PACKAGE";
case BuildPolicy::DLLS_WITHOUT_LIBS: return "VCPKG_POLICY_DLLS_WITHOUT_LIBS";
+ case BuildPolicy::DLLS_WITHOUT_EXPORTS: return "VCPKG_POLICY_DLLS_WITHOUT_EXPORTS";
case BuildPolicy::ONLY_RELEASE_CRT: return "VCPKG_POLICY_ONLY_RELEASE_CRT";
case BuildPolicy::EMPTY_INCLUDE_FOLDER: return "VCPKG_POLICY_EMPTY_INCLUDE_FOLDER";
case BuildPolicy::ALLOW_OBSOLETE_MSVCRT: return "VCPKG_POLICY_ALLOW_OBSOLETE_MSVCRT";
@@ -580,7 +583,15 @@ namespace vcpkg::Build {
auto locked_metrics = Metrics::g_metrics.lock();
- locked_metrics->track_buildtime(spec.to_string() + ":[" + Strings::join(",", config.feature_list) + "]",
+
+ locked_metrics->track_buildtime(Hash::get_string_hash(spec.to_string(), Hash::Algorithm::Sha256) + ":[" +
+ Strings::join(",",
+ config.feature_list,
+ [](const std::string& feature) {
+ return Hash::get_string_hash(feature,
+ Hash::Algorithm::Sha256);
+ }) +
+ "]",
buildtimeus);
if (return_code != 0)
{
@@ -654,7 +665,7 @@ namespace vcpkg::Build std::vector<AbiEntry> abi_tag_entries(dependency_abis.begin(), dependency_abis.end());
// Sorted here as the order of dependency_abis is the only
- // non-deterministicly ordered set of AbiEntries
+ // non-deterministically ordered set of AbiEntries
Util::sort(abi_tag_entries);
// If there is an unusually large number of files in the port then
diff --git a/toolsrc/src/vcpkg/export.chocolatey.cpp b/toolsrc/src/vcpkg/export.chocolatey.cpp new file mode 100644 index 000000000..492e5d371 --- /dev/null +++ b/toolsrc/src/vcpkg/export.chocolatey.cpp @@ -0,0 +1,230 @@ +#include "pch.h"
+
+#include <vcpkg/base/system.print.h>
+#include <vcpkg/base/system.process.h>
+#include <vcpkg/commands.h>
+#include <vcpkg/export.chocolatey.h>
+#include <vcpkg/export.h>
+#include <vcpkg/install.h>
+
+namespace vcpkg::Export::Chocolatey
+{
+ using Dependencies::ExportPlanAction;
+ using Dependencies::ExportPlanType;
+ using Install::InstallDir;
+
+ static std::string create_nuspec_dependencies(const BinaryParagraph& binary_paragraph,
+ const std::map<std::string, std::string>& packages_version)
+ {
+ static constexpr auto CONTENT_TEMPLATE = R"(<dependency id="@PACKAGE_ID@" version="[@PACKAGE_VERSION@]" />)";
+
+ std::string nuspec_dependencies;
+ for (const std::string& depend : binary_paragraph.depends)
+ {
+ auto found = packages_version.find(depend);
+ if (found == packages_version.end())
+ {
+ Checks::exit_with_message(VCPKG_LINE_INFO, "Cannot find desired dependency version.");
+ }
+ std::string nuspec_dependency = Strings::replace_all(CONTENT_TEMPLATE, "@PACKAGE_ID@", depend);
+ nuspec_dependency = Strings::replace_all(std::move(nuspec_dependency), "@PACKAGE_VERSION@", found->second);
+ nuspec_dependencies += nuspec_dependency;
+ }
+ return nuspec_dependencies;
+ }
+
+ static std::string create_nuspec_file_contents(const std::string& exported_root_dir,
+ const BinaryParagraph& binary_paragraph,
+ const std::map<std::string, std::string>& packages_version,
+ const Options& chocolatey_options)
+ {
+ static constexpr auto CONTENT_TEMPLATE = R"(<?xml version="1.0" encoding="utf-8"?>
+<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
+ <metadata>
+ <id>@PACKAGE_ID@</id>
+ <version>@PACKAGE_VERSION@</version>
+ <authors>@PACKAGE_MAINTAINER@</authors>
+ <description><![CDATA[
+ @PACKAGE_DESCRIPTION@
+ ]]></description>
+ <dependencies>
+ @PACKAGE_DEPENDENCIES@
+ </dependencies>
+ </metadata>
+ <files>
+ <file src="@EXPORTED_ROOT_DIR@\installed\**" target="installed" />
+ <file src="@EXPORTED_ROOT_DIR@\tools\**" target="tools" />
+ </files>
+</package>
+)";
+ auto package_version = packages_version.find(binary_paragraph.spec.name());
+ if (package_version == packages_version.end())
+ {
+ Checks::exit_with_message(VCPKG_LINE_INFO, "Cannot find desired package version.");
+ }
+ std::string nuspec_file_content =
+ Strings::replace_all(CONTENT_TEMPLATE, "@PACKAGE_ID@", binary_paragraph.spec.name());
+ nuspec_file_content =
+ Strings::replace_all(std::move(nuspec_file_content), "@PACKAGE_VERSION@", package_version->second);
+ nuspec_file_content = Strings::replace_all(
+ std::move(nuspec_file_content), "@PACKAGE_MAINTAINER@", chocolatey_options.maybe_maintainer.value_or(""));
+ nuspec_file_content =
+ Strings::replace_all(std::move(nuspec_file_content), "@PACKAGE_DESCRIPTION@", binary_paragraph.description);
+ nuspec_file_content =
+ Strings::replace_all(std::move(nuspec_file_content), "@EXPORTED_ROOT_DIR@", exported_root_dir);
+ nuspec_file_content = Strings::replace_all(std::move(nuspec_file_content),
+ "@PACKAGE_DEPENDENCIES@",
+ create_nuspec_dependencies(binary_paragraph, packages_version));
+ return nuspec_file_content;
+ }
+
+ static std::string create_chocolatey_install_contents()
+ {
+ static constexpr auto CONTENT_TEMPLATE = R"###(
+$ErrorActionPreference = 'Stop';
+
+$packageName= $env:ChocolateyPackageName
+$toolsDir = "$(Split-Path -parent $MyInvocation.MyCommand.Definition)"
+$rootDir = "$(Split-Path -parent $toolsDir)"
+$installedDir = Join-Path $rootDir 'installed'
+
+$whereToInstall = (pwd).path
+$whereToInstallCache = Join-Path $rootDir 'install.txt'
+Set-Content -Path $whereToInstallCache -Value $whereToInstall
+Copy-Item $installedDir -destination $whereToInstall -recurse -force
+)###";
+ return CONTENT_TEMPLATE;
+ }
+
+ static std::string create_chocolatey_uninstall_contents(const BinaryParagraph& binary_paragraph)
+ {
+ static constexpr auto CONTENT_TEMPLATE = R"###(
+$ErrorActionPreference = 'Stop';
+
+$packageName= $env:ChocolateyPackageName
+$toolsDir = "$(Split-Path -parent $MyInvocation.MyCommand.Definition)"
+$rootDir = "$(Split-Path -parent $toolsDir)"
+$listFile = Join-Path $rootDir 'installed\vcpkg\info\@PACKAGE_FULLSTEM@.list'
+
+$whereToInstall = $null
+$whereToInstallCache = Join-Path $rootDir 'install.txt'
+Get-Content $whereToInstallCache | Foreach-Object {
+ $whereToInstall = $_
+}
+
+$installedDir = Join-Path $whereToInstall 'installed'
+Get-Content $listFile | Foreach-Object {
+ $fileToRemove = Join-Path $installedDir $_
+ if (Test-Path $fileToRemove -PathType Leaf) {
+ Remove-Item $fileToRemove
+ }
+}
+
+Get-Content $listFile | Foreach-Object {
+ $fileToRemove = Join-Path $installedDir $_
+ if (Test-Path $fileToRemove -PathType Container) {
+ $folderToDelete = Join-Path $fileToRemove *
+ if (-Not (Test-Path $folderToDelete))
+ {
+ Remove-Item $fileToRemove
+ }
+ }
+}
+
+$listFileToRemove = Join-Path $whereToInstall 'installed\vcpkg\info\@PACKAGE_FULLSTEM@.list'
+Remove-Item $listFileToRemove
+
+if (Test-Path $installedDir)
+{
+ while (
+ $empties = Get-ChildItem $installedDir -recurse -Directory | Where-Object {
+ $_.GetFiles().Count -eq 0 -and $_.GetDirectories().Count -eq 0
+ }
+ ) { $empties | Remove-Item }
+}
+)###";
+ std::string chocolatey_uninstall_content =
+ Strings::replace_all(CONTENT_TEMPLATE, "@PACKAGE_FULLSTEM@", binary_paragraph.fullstem());
+ return chocolatey_uninstall_content;
+ }
+
+ void do_export(const std::vector<ExportPlanAction>& export_plan,
+ const VcpkgPaths& paths,
+ const Options& chocolatey_options)
+ {
+ Checks::check_exit(
+ VCPKG_LINE_INFO, chocolatey_options.maybe_maintainer.has_value(), "--x-maintainer option is required.");
+
+ Files::Filesystem& fs = paths.get_filesystem();
+ const fs::path vcpkg_root_path = paths.root;
+ const fs::path raw_exported_dir_path = vcpkg_root_path / "chocolatey";
+ const fs::path exported_dir_path = vcpkg_root_path / "chocolatey_exports";
+ const fs::path& nuget_exe = paths.get_tool_exe(Tools::NUGET);
+
+ std::error_code ec;
+ fs.remove_all(raw_exported_dir_path, VCPKG_LINE_INFO);
+ fs.create_directory(raw_exported_dir_path, ec);
+ fs.remove_all(exported_dir_path, VCPKG_LINE_INFO);
+ fs.create_directory(exported_dir_path, ec);
+
+ // execute the plan
+ std::map<std::string, std::string> packages_version;
+ for (const ExportPlanAction& action : export_plan)
+ {
+ if (action.plan_type != ExportPlanType::ALREADY_BUILT)
+ {
+ Checks::unreachable(VCPKG_LINE_INFO);
+ }
+
+ const BinaryParagraph& binary_paragraph = action.core_paragraph().value_or_exit(VCPKG_LINE_INFO);
+ auto norm_version = binary_paragraph.version;
+
+ // normalize the version string to be separated by dots to be compliant with Nusepc.
+ norm_version = Strings::replace_all(std::move(norm_version), "-", ".");
+ norm_version = Strings::replace_all(std::move(norm_version), "_", ".");
+ norm_version = norm_version + chocolatey_options.maybe_version_suffix.value_or("");
+ packages_version.insert(std::make_pair(binary_paragraph.spec.name(), norm_version));
+ }
+
+ for (const ExportPlanAction& action : export_plan)
+ {
+ const std::string display_name = action.spec.to_string();
+ System::print2("Exporting package ", display_name, "...\n");
+
+ const fs::path per_package_dir_path = raw_exported_dir_path / action.spec.name();
+
+ const BinaryParagraph& binary_paragraph = action.core_paragraph().value_or_exit(VCPKG_LINE_INFO);
+
+ const InstallDir dirs = InstallDir::from_destination_root(
+ per_package_dir_path / "installed",
+ action.spec.triplet().to_string(),
+ per_package_dir_path / "installed" / "vcpkg" / "info" / (binary_paragraph.fullstem() + ".list"));
+
+ Install::install_files_and_write_listfile(paths.get_filesystem(), paths.package_dir(action.spec), dirs);
+
+ const std::string nuspec_file_content = create_nuspec_file_contents(
+ per_package_dir_path.string(), binary_paragraph, packages_version, chocolatey_options);
+ const fs::path nuspec_file_path =
+ per_package_dir_path / Strings::concat(binary_paragraph.spec.name(), ".nuspec");
+ fs.write_contents(nuspec_file_path, nuspec_file_content, VCPKG_LINE_INFO);
+
+ fs.create_directory(per_package_dir_path / "tools", ec);
+
+ const std::string chocolatey_install_content = create_chocolatey_install_contents();
+ const fs::path chocolatey_install_file_path = per_package_dir_path / "tools" / "chocolateyInstall.ps1";
+ fs.write_contents(chocolatey_install_file_path, chocolatey_install_content, VCPKG_LINE_INFO);
+
+ const std::string chocolatey_uninstall_content = create_chocolatey_uninstall_contents(binary_paragraph);
+ const fs::path chocolatey_uninstall_file_path = per_package_dir_path / "tools" / "chocolateyUninstall.ps1";
+ fs.write_contents(chocolatey_uninstall_file_path, chocolatey_uninstall_content, VCPKG_LINE_INFO);
+
+ const auto cmd_line = Strings::format(R"("%s" pack -OutputDirectory "%s" "%s" -NoDefaultExcludes > nul)",
+ nuget_exe.u8string(),
+ exported_dir_path.u8string(),
+ nuspec_file_path.u8string());
+
+ const int exit_code = System::cmd_execute_clean(cmd_line);
+ Checks::check_exit(VCPKG_LINE_INFO, exit_code == 0, "Error: NuGet package creation failed");
+ }
+ }
+}
diff --git a/toolsrc/src/vcpkg/export.cpp b/toolsrc/src/vcpkg/export.cpp index 349d9aefd..34f9053ea 100644 --- a/toolsrc/src/vcpkg/export.cpp +++ b/toolsrc/src/vcpkg/export.cpp @@ -4,6 +4,7 @@ #include <vcpkg/dependencies.h> #include <vcpkg/export.h> #include <vcpkg/export.ifw.h> +#include <vcpkg/export.chocolatey.h> #include <vcpkg/help.h> #include <vcpkg/input.h> #include <vcpkg/install.h> @@ -257,6 +258,7 @@ namespace vcpkg::Export bool ifw = false; bool zip = false; bool seven_zip = false; + bool chocolatey = false; Optional<std::string> maybe_output; @@ -264,6 +266,7 @@ namespace vcpkg::Export Optional<std::string> maybe_nuget_version; IFW::Options ifw_options; + Chocolatey::Options chocolatey_options; std::vector<PackageSpec> specs; }; @@ -281,17 +284,21 @@ namespace vcpkg::Export static constexpr StringLiteral OPTION_IFW_REPOSITORY_DIR_PATH = "--ifw-repository-directory-path"; static constexpr StringLiteral OPTION_IFW_CONFIG_FILE_PATH = "--ifw-configuration-file-path"; static constexpr StringLiteral OPTION_IFW_INSTALLER_FILE_PATH = "--ifw-installer-file-path"; + static constexpr StringLiteral OPTION_CHOCOLATEY = "--x-chocolatey"; + static constexpr StringLiteral OPTION_CHOCOLATEY_MAINTAINER = "--x-maintainer"; + static constexpr StringLiteral OPTION_CHOCOLATEY_VERSION_SUFFIX = "--x-version-suffix"; - static constexpr std::array<CommandSwitch, 6> EXPORT_SWITCHES = {{ + static constexpr std::array<CommandSwitch, 7> EXPORT_SWITCHES = {{ {OPTION_DRY_RUN, "Do not actually export"}, {OPTION_RAW, "Export to an uncompressed directory"}, {OPTION_NUGET, "Export a NuGet package"}, {OPTION_IFW, "Export to an IFW-based installer"}, {OPTION_ZIP, "Export to a zip file"}, {OPTION_SEVEN_ZIP, "Export to a 7zip (.7z) file"}, + {OPTION_CHOCOLATEY, "Export a Chocolatey package (experimental feature)"}, }}; - static constexpr std::array<CommandSetting, 8> EXPORT_SETTINGS = {{ + static constexpr std::array<CommandSetting, 10> EXPORT_SETTINGS = {{ {OPTION_OUTPUT, "Specify the output name (used to construct filename)"}, {OPTION_NUGET_ID, "Specify the id for the exported NuGet package (overrides --output)"}, {OPTION_NUGET_VERSION, "Specify the version for the exported NuGet package"}, @@ -300,6 +307,8 @@ namespace vcpkg::Export {OPTION_IFW_REPOSITORY_DIR_PATH, "Specify the directory path for the exported repository"}, {OPTION_IFW_CONFIG_FILE_PATH, "Specify the temporary file path for the installer configuration"}, {OPTION_IFW_INSTALLER_FILE_PATH, "Specify the file path for the exported installer"}, + {OPTION_CHOCOLATEY_MAINTAINER, "Specify the maintainer for the exported Chocolatey package (experimental feature)"}, + {OPTION_CHOCOLATEY_VERSION_SUFFIX, "Specify the version suffix to add for the exported Chocolatey package (experimental feature)"}, }}; const CommandStructure COMMAND_STRUCTURE = { @@ -327,13 +336,14 @@ namespace vcpkg::Export ret.ifw = options.switches.find(OPTION_IFW) != options.switches.cend(); ret.zip = options.switches.find(OPTION_ZIP) != options.switches.cend(); ret.seven_zip = options.switches.find(OPTION_SEVEN_ZIP) != options.switches.cend(); + ret.chocolatey = options.switches.find(OPTION_CHOCOLATEY) != options.switches.cend(); ret.maybe_output = maybe_lookup(options.settings, OPTION_OUTPUT); - if (!ret.raw && !ret.nuget && !ret.ifw && !ret.zip && !ret.seven_zip && !ret.dry_run) + if (!ret.raw && !ret.nuget && !ret.ifw && !ret.zip && !ret.seven_zip && !ret.dry_run && !ret.chocolatey) { System::print2(System::Color::error, - "Must provide at least one export type: --raw --nuget --ifw --zip --7zip\n"); + "Must provide at least one export type: --raw --nuget --ifw --zip --7zip --chocolatey\n"); System::print2(COMMAND_STRUCTURE.example_text); Checks::exit_fail(VCPKG_LINE_INFO); } @@ -384,6 +394,14 @@ namespace vcpkg::Export {OPTION_IFW_CONFIG_FILE_PATH, ret.ifw_options.maybe_config_file_path}, {OPTION_IFW_INSTALLER_FILE_PATH, ret.ifw_options.maybe_installer_file_path}, }); + + options_implies(OPTION_CHOCOLATEY, + ret.chocolatey, + { + {OPTION_CHOCOLATEY_MAINTAINER, ret.chocolatey_options.maybe_maintainer}, + {OPTION_CHOCOLATEY_VERSION_SUFFIX, ret.chocolatey_options.maybe_version_suffix}, + }); + #if defined(_MSC_VER) && _MSC_VER <= 1900 #pragma warning(pop) #endif @@ -560,6 +578,11 @@ With a project open, go to Tools->NuGet Package Manager->Package Manager Console print_next_step_info("@RootDir@/src/vcpkg"); } + if (opts.chocolatey) + { + Chocolatey::do_export(export_plan, paths, opts.chocolatey_options); + } + Checks::exit_success(VCPKG_LINE_INFO); } } diff --git a/toolsrc/src/vcpkg/help.cpp b/toolsrc/src/vcpkg/help.cpp index 0c53536fb..a4908e02e 100644 --- a/toolsrc/src/vcpkg/help.cpp +++ b/toolsrc/src/vcpkg/help.cpp @@ -105,7 +105,7 @@ namespace vcpkg::Help " vcpkg create <pkg> <url>\n" " [archivename] Create a new package\n" " vcpkg owns <pat> Search for files in installed packages\n" - " vcpkg depend-info [pkg]... Display a list of dependencies for packages\n" + " vcpkg depend-info <pkg>... Display a list of dependencies for packages\n" " vcpkg env Creates a clean shell environment for development or " "compiling.\n" " vcpkg version Display version information\n" diff --git a/toolsrc/src/vcpkg/install.cpp b/toolsrc/src/vcpkg/install.cpp index 21be2d7b0..a082f1b95 100644 --- a/toolsrc/src/vcpkg/install.cpp +++ b/toolsrc/src/vcpkg/install.cpp @@ -1,6 +1,7 @@ #include "pch.h" #include <vcpkg/base/files.h> +#include <vcpkg/base/hash.h> #include <vcpkg/base/system.print.h> #include <vcpkg/base/util.h> #include <vcpkg/build.h> @@ -690,13 +691,13 @@ namespace vcpkg::Install // log the plan const std::string specs_string = Strings::join(",", action_plan, [](const AnyAction& action) { if (auto iaction = action.install_action.get()) - return iaction->spec.to_string(); + return Hash::get_string_hash(iaction->spec.to_string(), Hash::Algorithm::Sha256); else if (auto raction = action.remove_action.get()) - return "R$" + raction->spec.to_string(); + return "R$" + Hash::get_string_hash(raction->spec.to_string(), Hash::Algorithm::Sha256); Checks::unreachable(VCPKG_LINE_INFO); }); - Metrics::g_metrics.lock()->track_property("installplan", specs_string); + Metrics::g_metrics.lock()->track_property("installplan_1", specs_string); Dependencies::print_plan(action_plan, is_recursive, paths.ports); diff --git a/toolsrc/src/vcpkg/metrics.cpp b/toolsrc/src/vcpkg/metrics.cpp index b8c55919e..b971d96da 100644 --- a/toolsrc/src/vcpkg/metrics.cpp +++ b/toolsrc/src/vcpkg/metrics.cpp @@ -184,7 +184,7 @@ namespace vcpkg::Metrics if (buildtime_names.size() > 0) { if (props_plus_buildtimes.size() > 0) props_plus_buildtimes.push_back(','); - props_plus_buildtimes.append(Strings::format(R"("buildnames": [%s], "buildtimes": [%s])", + props_plus_buildtimes.append(Strings::format(R"("buildnames_1": [%s], "buildtimes": [%s])", Strings::join(",", buildtime_names, to_json_string), Strings::join(",", buildtime_times))); } diff --git a/toolsrc/src/vcpkg/postbuildlint.cpp b/toolsrc/src/vcpkg/postbuildlint.cpp index a85d879fe..2a13d2786 100644 --- a/toolsrc/src/vcpkg/postbuildlint.cpp +++ b/toolsrc/src/vcpkg/postbuildlint.cpp @@ -295,8 +295,10 @@ namespace vcpkg::PostBuildLint return LintStatus::SUCCESS; } - static LintStatus check_exports_of_dlls(const std::vector<fs::path>& dlls, const fs::path& dumpbin_exe) + static LintStatus check_exports_of_dlls(const Build::BuildPolicies& policies, const std::vector<fs::path>& dlls, const fs::path& dumpbin_exe) { + if (policies.is_enabled(BuildPolicy::DLLS_WITHOUT_EXPORTS)) return LintStatus::SUCCESS; + std::vector<fs::path> dlls_with_no_exports; for (const fs::path& dll : dlls) { @@ -316,6 +318,10 @@ namespace vcpkg::PostBuildLint System::print2(System::Color::warning, "The following DLLs have no exports:\n"); Files::print_paths(dlls_with_no_exports); System::print2(System::Color::warning, "DLLs without any exports are likely a bug in the build script.\n"); + System::printf(System::Color::warning, + "If this is intended, add the following line in the portfile:\n" + " SET(%s enabled)\n", + to_cmake_variable(BuildPolicy::DLLS_WITHOUT_EXPORTS)); return LintStatus::ERROR_DETECTED; } @@ -809,7 +815,7 @@ namespace vcpkg::PostBuildLint if (!toolset.dumpbin.empty()) { - error_count += check_exports_of_dlls(dlls, toolset.dumpbin); + error_count += check_exports_of_dlls(build_info.policies, dlls, toolset.dumpbin); error_count += check_uwp_bit_of_dlls(pre_build_info.cmake_system_name, dlls, toolset.dumpbin); error_count += check_outdated_crt_linkage_of_dlls(dlls, toolset.dumpbin, build_info, pre_build_info); diff --git a/toolsrc/vcpkglib/vcpkglib.vcxproj b/toolsrc/vcpkglib/vcpkglib.vcxproj index ebbac85a6..92f115a70 100644 --- a/toolsrc/vcpkglib/vcpkglib.vcxproj +++ b/toolsrc/vcpkglib/vcpkglib.vcxproj @@ -246,6 +246,7 @@ <ClCompile Include="..\src\vcpkg\commands.xvsinstances.cpp" />
<ClCompile Include="..\src\vcpkg\dependencies.cpp" />
<ClCompile Include="..\src\vcpkg\export.cpp" />
+ <ClCompile Include="..\src\vcpkg\export.chocolatey.cpp" />
<ClCompile Include="..\src\vcpkg\globalstate.cpp" />
<ClCompile Include="..\src\vcpkg\help.cpp" />
<ClCompile Include="..\src\vcpkg\input.cpp" />
diff --git a/toolsrc/vcpkglib/vcpkglib.vcxproj.filters b/toolsrc/vcpkglib/vcpkglib.vcxproj.filters index beefedd78..54366e7a6 100644 --- a/toolsrc/vcpkglib/vcpkglib.vcxproj.filters +++ b/toolsrc/vcpkglib/vcpkglib.vcxproj.filters @@ -96,6 +96,9 @@ <ClCompile Include="..\src\vcpkg\export.cpp">
<Filter>Source Files\vcpkg</Filter>
</ClCompile>
+ <ClCompile Include="..\src\vcpkg\export.chocolatey.cpp">
+ <Filter>Source Files\vcpkg</Filter>
+ </ClCompile>
<ClCompile Include="..\src\vcpkg\globalstate.cpp">
<Filter>Source Files\vcpkg</Filter>
</ClCompile>
|
